master
鲁誉程 10 months ago
parent f2659e1bf5
commit c94ff285b8

@ -8,7 +8,7 @@ const routes = [
// ------------------------------流程------------------------------
{ path: '/installExe/:fileType', name: '01MMD049安装.exe', component: '@/pages/InstallExe', layout: false },
{ path: '/initialSystem/:fileType', name: '初装系统', component: '@/pages/InitialSystem', layout: false },
{ path: '/coreSystemEntrance', name: '核心管理系统', component: '@/pages/CoreSystemEntrance', layout: false },
{ path: '/coreSystemEntrance/:fileType', name: '核心管理系统', component: '@/pages/CoreSystemEntrance', layout: false },
// ------------------------------GLQ远程维护----------------------------------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@ -51,12 +51,4 @@
margin-right: 20px;
background-color: saddlebrown;
}
}
.goback {
position: absolute;
left: 20px;
top: 20px;
font-size: 18px;
cursor: pointer;
}

@ -13,6 +13,11 @@ const CoreSystemEntrance: FC<PageProps> = ({ }) => {
const [pin, setPin] = useState<any>('');
useEffect(() => {
let installExe: any = localStorage.getItem('installExe')
let data = JSON.parse(installExe);
console.log("1",data);
function handleKeyPress(e: any) {
if (e.key === 'Enter') {
setVisibility(true)
@ -35,10 +40,10 @@ const CoreSystemEntrance: FC<PageProps> = ({ }) => {
}
const submit = () => {
if (key == '一' && pin == '123123') {
if (key == '一' && pin == 'admin') {
setKey('二');
setPin('')
} else if (key == '二' && pin == '123123') {
} else if (key == '二' && pin == 'test') {
initData()
// 登录成功进入系统
history.push('/teamViewer/paramsSetting')
@ -49,7 +54,6 @@ const CoreSystemEntrance: FC<PageProps> = ({ }) => {
return (
<div className={styles.entrance}>
<div className={styles.goback} onClick={() => history.push('/')}><LeftOutlined /></div>
<div className={styles.text_warp}>
<div></div>
<div></div>
@ -60,7 +64,7 @@ const CoreSystemEntrance: FC<PageProps> = ({ }) => {
{/* 登录弹窗 */}
<Modal
title="用户登录pin码123123"
title="用户登录"
open={visibility}
centered
width={550}

@ -24,20 +24,27 @@ const PowerOnAuth: FC<PageProps> = ({ }) => {
"fileName": null,
"dataInstalled": ""
});
const [isDeviceInit, setIsDeviceInit] = useState<boolean>(false);
useEffect(() => {
college_table_query({}).then((res) => {
if (res?.result == "success" && res?.data.length > 0) {
let layoutInfo: any = localStorage.getItem('powerOn');
if (!JSON.parse(layoutInfo)) {
setVisibility(true);
localStorage.setItem('powerOn', JSON.stringify({ powerOn: true }));
let deviceInit = localStorage.getItem('deviceInit');
if (deviceInit) {
setIsDeviceInit(true);
college_table_query({}).then((res) => {
if (res?.result == "success" && res?.data.length > 0) {
let layoutInfo: any = localStorage.getItem('powerOn');
if (!JSON.parse(layoutInfo)) {
setVisibility(true);
localStorage.setItem('powerOn', JSON.stringify({ powerOn: true }));
}
setDeviceInfo(res?.data[0]);
} else {
message.error(res?.errorMsg);
}
setDeviceInfo(res?.data[0]);
} else {
message.error(res?.errorMsg);
}
})
})
}else {
setVisibility(true);
}
}, [])
return (
@ -97,7 +104,7 @@ const PowerOnAuth: FC<PageProps> = ({ }) => {
maskClosable={false}
>
<div style={{ fontSize: 16 }}>
!
{isDeviceInit ? '开机认证成功!' :'开机认证失败,请先完成设备初装!'}
</div>
<div className='flex_jE mt20'>

@ -22,8 +22,8 @@ const InitialSystem: FC<PageProps> = ({ }) => {
const MenuList: any = {
'admin': [
{ name: '算法加载', dom: <div></div>, img: '' },
{ name: '设备初装', dom: <DeviceInstall/>, img: '' },
{ name: '开机认证', dom: <PowerOnAuth/>, img: '' },
{ name: '设备初装', dom: <DeviceInstall />, img: '' },
{ name: '开机认证', dom: <PowerOnAuth />, img: '' },
{ name: '状态查询', dom: <div></div>, img: '' },
{ name: '安全销毁', dom: <div></div>, img: '' },
],
@ -38,8 +38,8 @@ const InitialSystem: FC<PageProps> = ({ }) => {
useEffect(() => {
if (type && count) {
setActiveItem(MenuList[type][count])
}else {
setActiveItem(MenuList[type][count])
} else {
setActiveItem(null)
}
}, [location.search])
@ -47,7 +47,7 @@ const InitialSystem: FC<PageProps> = ({ }) => {
const itemDom = (type: string, item: any, index: number) => {
return (
<div className={styles.item1} key={item.name} onClick={() => {
setActiveItem(item)
setActiveItem(item)
history.push(`/initialSystem/${urlParams?.fileType}?type=${type}&count=${index}`)
}}>
<div className={styles.item1_img}></div>
@ -61,40 +61,40 @@ const InitialSystem: FC<PageProps> = ({ }) => {
return (
<div className={styles.initial_warp}>
{info[14].select ? <>
{/* 头部 */}
<div className={styles.header_warp}>
<div className='ml20'></div>
<div className='mr20'></div>
</div>
{/* 底部 */}
<div className={styles.main_warp}>
{/* 左侧菜单 */}
<div className={styles.left_menu}>
{/* 头部 */}
<div className={styles.header_warp}>
<div className='ml20'></div>
<div className='mr20'></div>
</div>
{/* 底部 */}
<div className={styles.main_warp}>
{/* 左侧菜单 */}
<div className={styles.left_menu}>
<div className={styles.nav_title}></div>
{MenuList['admin'].map((item: any, index: number) => itemDom('admin', item, index))}
<div className={styles.nav_title}></div>
{MenuList['admin'].map((item: any, index: number) => itemDom('admin', item, index))}
<div className={styles.nav_title}></div>
{MenuList['test'].map((item: any, index: number) => itemDom('test', item, index))}
<div className={styles.nav_title}></div>
{MenuList['test'].map((item: any, index: number) => itemDom('test', item, index))}
</div>
{/* 右侧内容 */}
<div className={styles.right_warp}>
{
activeItem ? activeItem.dom :
<div className={styles.start_warp}>
<div className={styles.start_title}></div>
<div className={styles.introduce}>
<div></div>
<div>2.0.3</div>
<div>XXX</div>
</div>
</div>
}
</div>
</div>
{/* 右侧内容 */}
<div className={styles.right_warp}>
{
activeItem ? activeItem.dom :
<div className={styles.start_warp}>
<div className={styles.start_title}></div>
<div className={styles.introduce}>
<div></div>
<div>2.0.3</div>
<div>XXX</div>
</div>
</div>
}
</div>
</div>
</> :<Modal
title={'提示'}
</> : <Modal
title={'系统提示'}
open={visibility}
centered
width={500}
@ -102,15 +102,14 @@ const InitialSystem: FC<PageProps> = ({ }) => {
footer={null}
maskClosable={false}
>
<div >
<div style={{padding: '20px 0'}}>
</div>
</Modal>
}
</div>
)
}

@ -1,9 +1,6 @@
import React, { FC, useEffect, useState } from 'react';
import styles from './index.less';
import { Input, Progress, message } from 'antd';
import { countType } from '@/utils';
import { useParams } from 'umi';
interface PageProps {
open: boolean;
onCancel: () => void;
@ -16,8 +13,6 @@ const CodeDriver: FC<PageProps> = ({
const [active, setActive] = useState(1);
const [percentVal, setPercentVal] = useState(0);
const urlParams = useParams();
// 监听是否到安装进度条步骤
useEffect(() => {
if (active == 3) {
@ -39,7 +34,7 @@ const CodeDriver: FC<PageProps> = ({
return () => clearInterval(interval);
}
}, [active])
// 设置安装步骤进度
const setValue = () => {
setActive((e) => { return e + 1 })
@ -54,33 +49,31 @@ const CodeDriver: FC<PageProps> = ({
}
return <>
{
// open && <div>
// </div>
}
{
open &&
<div className={styles.modalOverlay}>
<div className={styles.modal} style={{width: 500, height: 460}}>
<div className={styles.modal} style={{ width: 500, height: 460 }}>
<img src={require(`../../../assets/images/codemanage/${active}.png`)} width={500} height={460} />
{[1,2].includes(active)&&<div className={styles.title}> </div>}
{![1,2].includes(active)&&<div className={styles.title1}> </div>}
{active==1&&<div className={styles.pic1}></div>}
{[1, 2].includes(active) && <div className={styles.title}> </div>}
{![1, 2].includes(active) && <div className={styles.title1}> </div>}
{active == 1 && <div className={styles.pic1}></div>}
{active == 2 && <div className={styles.pic1} style={{ top: 166, left: 85}}></div>}
{active == 4 && <div className={styles.pic1} style={{ top: 123, left: 85}}></div>}
{[1,2].includes(active) && <div
className={styles.net}
{[1, 2].includes(active) && <div
className={styles.net}
onClick={() => setValue()}>
</div>}
{active == 3 && <div className={styles.progress} style={{background: '#fff', height: 15, width: 375, bottom: 222, left: 33,}}>
{active == 3 && <div className={styles.progress} style={{ background: '#fff', height: 15, width: 375, bottom: 222, left: 33, }}>
<Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>}
{active == 4 && <div
className={styles.net}
style={{bottom: 17, right: 27}}
{active == 4 && <div
className={styles.net}
style={{ bottom: 17, right: 27 }}
onClick={() => installSuccess()}>
</div>}
</div>

@ -3,6 +3,7 @@ import styles from './index.less';
import { Input, Progress, message } from 'antd';
import { countType } from '@/utils';
import { useParams } from 'umi';
import DEV from '@/utils/env/dev';
interface PageProps {
open: boolean;
@ -39,68 +40,65 @@ const CodeManage: FC<PageProps> = ({
return () => clearInterval(interval);
}
}, [active])
// 设置安装步骤进度
const setValue = () => {
setActive((e) => { return e + 1 })
}
// 在指定的目录下安装快捷方式
const installSuccess = async () => {
try {
const response = await fetch('http://localhost:3000/createShortcut', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
mode: "cors",
body: JSON.stringify({
folderPath: `c:/Users/向明星/Desktop/${countType[urlParams?.fileType]}`,
shortcutName: '专用核心密码综合管理系统',
shortcutURL: `http://localhost:8000/initialSystem/${urlParams?.fileType}`
}),
});
const data = await response.text();
message.success(data)
// 储存信息
let installExe: any = localStorage.getItem('installExe')
let obj = JSON.parse(installExe);
obj[13].select = true;
localStorage.setItem('installExe', JSON.stringify(obj));
onCancel()
} catch (error) {
message.error(error); // 处理请求错误
}
// 在指定的目录下安装快捷方式
const installSuccess = async () => {
try {
const response = await fetch('http://localhost:3000/createShortcut', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
mode: "cors",
body: JSON.stringify({
folderPath: `${DEV.FILE_URL}/${countType[urlParams?.fileType]}`,
shortcutName: '专用核心密码综合管理系统',
shortcutURL: `${DEV.LOCAL_URL}/initialSystem/${urlParams?.fileType}`
}),
});
const data = await response.text();
message.success(data)
// 储存信息
let installExe: any = localStorage.getItem('installExe')
let obj = JSON.parse(installExe);
obj[13].select = true;
localStorage.setItem('installExe', JSON.stringify(obj));
onCancel()
} catch (error) {
message.error(error); // 处理请求错误
}
}
return <>
{
// open && <div>
// </div>
}
{
open &&
<div className={styles.modalOverlay}>
<div className={styles.modal} style={{width: 500, height: 460}}>
<div className={styles.modal} style={{ width: 500, height: 460 }}>
<img src={require(`../../../assets/images/codemanage/${active}.png`)} width={500} height={460} />
{[1,2].includes(active)&&<div className={styles.title}> </div>}
{![1,2].includes(active)&&<div className={styles.title1}> </div>}
{active==1&&<div className={styles.pic1}></div>}
{[1, 2].includes(active) && <div className={styles.title}> </div>}
{![1, 2].includes(active) && <div className={styles.title1}> </div>}
{active == 1 && <div className={styles.pic1}></div>}
{active == 2 && <div className={styles.pic1} style={{ top: 166, left: 85 }}></div>}
{active == 4 && <div className={styles.pic1} style={{ top: 123, left: 85 }}></div>}
{[1,2].includes(active) && <div
className={styles.net}
{[1, 2].includes(active) && <div
className={styles.net}
onClick={() => setValue()}>
</div>}
{active == 3 && <div className={styles.progress} style={{background: '#fff', height: 15, width: 375, bottom: 222, left: 33,}}>
{active == 3 && <div className={styles.progress} style={{ background: '#fff', height: 15, width: 375, bottom: 222, left: 33, }}>
<Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>}
{active == 4 && <div
className={styles.net}
style={{bottom: 17, right: 27}}
{active == 4 && <div
className={styles.net}
style={{ bottom: 17, right: 27 }}
onClick={() => installSuccess()}>
</div>}
</div>

@ -1,8 +1,9 @@
import React, { FC, useEffect, useState } from 'react';
import styles from './index.less';
import { Input, Progress, message } from 'antd';
import { countType } from '@/utils';
import { countType, sysType } from '@/utils';
import { useParams } from 'umi';
import DEV from '@/utils/env/dev';
interface PageProps {
open: boolean;
@ -15,12 +16,18 @@ const CoreArea: FC<PageProps> = ({
}) => {
const [active, setActive] = useState(1);
const [percentVal, setPercentVal] = useState(0);
const [userName, setUserName] = useState('root');
const [password, setPassword] = useState('');
const [serverIp, setServerIp] = useState('127.0.0.1');
const [serverPort, setServerPort] = useState('2222');
const [localPort, setLocalPort] = useState('11110');
const urlParams = useParams();
// 监听是否到安装进度条步骤
useEffect(() => {
if (active == 3) {
if (active == 4) {
const interval = setInterval(() => {
setPercentVal((val) => {
const randomStep = Math.round(Math.random() * (100 / 10));
@ -39,68 +46,109 @@ const CoreArea: FC<PageProps> = ({
return () => clearInterval(interval);
}
}, [active])
// 设置安装步骤进度
const setValue = () => {
setActive((e) => { return e + 1 })
}
// 在指定的目录下安装快捷方式
const installSuccess = async () => {
try {
// const response = await fetch('http://localhost:3000/createShortcut', {
// method: 'POST',
// headers: { 'Content-Type': 'application/json' },
// mode: "cors",
// body: JSON.stringify({
// folderPath: `C:/Users/lyc/Desktop/${countType[urlParams?.fileType]}`,
// shortcutName: '专用核心密码综合管理系统',
// shortcutURL: `http://localhost:8000/initialSystem/${urlParams?.fileType}`
// }),
// });
// const data = await response.text();
// message.success(data)
// // 储存信息
// let installExe: any = localStorage.getItem('installExe')
// let obj = JSON.parse(installExe);
// obj[9].select = true;
// localStorage.setItem('installExe', JSON.stringify(obj));
onCancel()
} catch (error) {
message.error(error); // 处理请求错误
}
// 在指定的目录下安装快捷方式
const installSuccess = async () => {
try {
const response = await fetch('http://localhost:3000/createShortcut', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
mode: "cors",
body: JSON.stringify({
folderPath: `${DEV.FILE_URL}/${countType[urlParams?.fileType]}`,
shortcutName: '核心区客户端',
shortcutURL: `${DEV.LOCAL_URL}/coreSystemEntrance/${urlParams?.fileType}?sysType=${sysType[urlParams?.fileType] + '核心区勤区'}`
}),
});
const data = await response.text();
message.success(data)
// 储存信息
let installExe: any = localStorage.getItem('installExe')
let obj = JSON.parse(installExe);
obj[10].select = true;
localStorage.setItem('installExe', JSON.stringify(obj));
onCancel()
} catch (error) {
message.error(error); // 处理请求错误
}
}
return <>
{
// open && <div>
const verifyPassword = () => {
if (userName.trim().length == 0) {
message.error('请输入用户名!')
return true;
}
// </div>
if (password.trim().length == 0) {
message.error('请输入密码!');
return true;
}
if (false) {
message.error('用户名或密码错误!');
return true;
}
}
return <>
{
open &&
<div className={styles.modalOverlay}>
<div className={styles.modal} style={{width: 500, height: 460}}>
<div className={styles.modal} style={{ width: 500, height: 460 }}>
<img src={require(`../../../assets/images/coreArea/${active}.png`)} width={500} height={460} />
<div className={styles.title}> </div>
<div></div>
{[1,2].includes(active) && <div
className={styles.net}
onClick={() => setValue()}>
{[1, 2, 3].includes(active) && <div className={styles.title}> </div>}
{![1, 2, 3].includes(active) && <div className={styles.title1}> </div>}
{active == 1 && <div className={styles.pic1}></div>}
{active == 2 && <>
<div className={styles.pic1} style={{left: 10}}>GBase</div>
<div className={styles.pic1} style={{fontSize: 12, top: 130, left: 16}}></div>
<div className={styles.pic1} style={{fontSize: 12, top: 180, left: 27}}></div>
<Input value={userName} onChange={(e) => { setUserName(e.target.value) }} className={styles.input1} style={{top: 121, left: 59, width: 325}}/>
<Input value={password} onChange={(e) => { setPassword(e.target.value) }} className={styles.input2} style={{top: 171, left: 59, width: 325}}/>
</>}
{active == 3 && <div className={styles.pic1} style={{ top: 166, left: 85 }}></div>}
{active == 5 && <div className={styles.pic1} style={{ top: 123, left: 85 }}></div>}
{active == 6 && <>
<div className={styles.pic1} style={{left: 15, top: 45}}>GBase</div>
<div className={styles.pic1} style={{fontSize: 12, top: 130, left: 16}}>ip</div>
<div className={styles.pic1} style={{fontSize: 12, top: 180, left: 39}}></div>
<div className={styles.pic1} style={{fontSize: 12, top: 230, left: 50}}></div>
<Input value={serverIp} onChange={(e) => { setServerIp(e.target.value) }} className={styles.input1} style={{top: 121, left: 109, width: 325}}/>
<Input disabled value={serverPort} onChange={(e) => { setServerPort(e.target.value) }} className={styles.input2} style={{top: 171, left: 109, width: 325}}/>
<Input disabled value={localPort} onChange={(e) => { setLocalPort(e.target.value) }} className={styles.input2} style={{top: 221, left: 109, width: 325}}/>
<div className={styles.pic1} style={{fontSize: 12, top: 427, left: 265}}></div>
<div className={styles.pic1} style={{fontSize: 12, top: 427, left: 343}}></div>
<div className={styles.pic1} style={{fontSize: 12, top: 427, left: 420}}></div>
</>}
{[1, 2, 3].includes(active) && <div
className={styles.net}
onClick={() => {
if (active == 2 && verifyPassword()) return
setValue()
}}>
</div>}
{active == 3 && <div className={styles.progress} style={{background: '#fff', height: 15, width: 375, bottom: 222, left: 33,}}>
{active == 4 && <div className={styles.progress} style={{ background: '#fff', height: 15, width: 375, bottom: 222, left: 33, }}>
<Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>}
{active == 4 && <div
className={styles.net}
style={{bottom: 17, right: 27}}
onClick={() => installSuccess()}>
{[5, 6].includes(active) && <div
className={styles.net}
style={{ bottom: 17, right: active == 5 ? 27 : 187}}
onClick={() => {
active == 5 ? setValue() : installSuccess()
}}>
</div>}
</div>
</div>

@ -0,0 +1,86 @@
import React, { FC, useEffect, useState } from 'react';
import styles from './index.less';
import { Input, Progress, message } from 'antd';
interface PageProps {
open: boolean;
onCancel: () => void;
}
const CodeDriver: FC<PageProps> = ({
open = false,
onCancel
}) => {
const [active, setActive] = useState(1);
const [percentVal, setPercentVal] = useState(0);
// 监听是否到安装进度条步骤
useEffect(() => {
if (active == 3) {
const interval = setInterval(() => {
setPercentVal((val) => {
const randomStep = Math.round(Math.random() * (100 / 10));
const newPercent = val + randomStep;
if (newPercent >= 100) {
clearInterval(interval);
setValue()
return 100;
}
return newPercent;
});
}, 500);
return () => clearInterval(interval);
}
}, [active])
// 设置安装步骤进度
const setValue = () => {
setActive((e) => { return e + 1 })
}
const installSuccess = () => {
let installExe: any = localStorage.getItem('installExe')
let data = JSON.parse(installExe);
data[12].select = true;
localStorage.setItem('installExe', JSON.stringify(data));
message.success('密码资源输入输出设备驱动安装成功!')
onCancel()
}
return <>
{
open &&
<div className={styles.modalOverlay}>
<div className={styles.modal} style={{ width: 500, height: 460 }}>
<img src={require(`../../../assets/images/codemanage/${active}.png`)} width={500} height={460} />
{[1, 2].includes(active) && <div className={styles.title}> </div>}
{![1, 2].includes(active) && <div className={styles.title1}> </div>}
{active == 1 && <div className={styles.pic1}></div>}
{active == 2 && <div className={styles.pic1} style={{ top: 166, left: 85}}></div>}
{active == 4 && <div className={styles.pic1} style={{ top: 123, left: 85}}></div>}
{[1, 2].includes(active) && <div
className={styles.net}
onClick={() => setValue()}>
</div>}
{active == 3 && <div className={styles.progress} style={{ background: '#fff', height: 15, width: 375, bottom: 222, left: 33, }}>
<Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>}
{active == 4 && <div
className={styles.net}
style={{ bottom: 17, right: 27 }}
onClick={() => installSuccess()}>
</div>}
</div>
</div>
}
</>
};
export default CodeDriver;

@ -1,8 +1,9 @@
import React, { FC, useEffect, useState } from 'react';
import styles from './index.less';
import { Input, Progress, message } from 'antd';
import { countType } from '@/utils';
import { countType, sysType } from '@/utils';
import { useParams } from 'umi';
import DEV from '@/utils/env/dev';
interface PageProps {
open: boolean;
@ -15,12 +16,18 @@ const DutyArea: FC<PageProps> = ({
}) => {
const [active, setActive] = useState(1);
const [percentVal, setPercentVal] = useState(0);
const [userName, setUserName] = useState('root');
const [password, setPassword] = useState('');
const [serverIp, setServerIp] = useState('127.0.0.1');
const [serverPort, setServerPort] = useState('2222');
const [localPort, setLocalPort] = useState('11110');
const urlParams = useParams();
// 监听是否到安装进度条步骤
useEffect(() => {
if (active == 3) {
if (active == 4) {
const interval = setInterval(() => {
setPercentVal((val) => {
const randomStep = Math.round(Math.random() * (100 / 10));
@ -39,60 +46,109 @@ const DutyArea: FC<PageProps> = ({
return () => clearInterval(interval);
}
}, [active])
// 设置安装步骤进度
const setValue = () => {
setActive((e) => { return e + 1 })
}
// 在指定的目录下安装快捷方式
const installSuccess = async () => {
try {
const response = await fetch('http://localhost:3000/createShortcut', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
mode: "cors",
body: JSON.stringify({
folderPath: `C:/Users/lyc/Desktop/${countType[urlParams?.fileType]}`,
shortcutName: '专用核心密码综合管理系统',
shortcutURL: `http://localhost:8000/initialSystem/${urlParams?.fileType}`
}),
});
const data = await response.text();
message.success(data)
// 储存信息
// let installExe: any = localStorage.getItem('installExe')
// let obj = JSON.parse(installExe);
// obj[10].select = true;
// localStorage.setItem('installExe', JSON.stringify(obj));
onCancel()
} catch (error) {
message.error(error); // 处理请求错误
}
// 在指定的目录下安装快捷方式
const installSuccess = async () => {
try {
const response = await fetch('http://localhost:3000/createShortcut', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
mode: "cors",
body: JSON.stringify({
folderPath: `${DEV.FILE_URL}/${countType[urlParams?.fileType]}`,
shortcutName: '执勤区客户端',
shortcutURL: `${DEV.LOCAL_URL}/coreSystemEntrance/${urlParams?.fileType}?sysType=${sysType[urlParams?.fileType] + '执勤区'}`
}),
});
const data = await response.text();
message.success(data)
// 储存信息
let installExe: any = localStorage.getItem('installExe')
let obj = JSON.parse(installExe);
obj[10].select = true;
localStorage.setItem('installExe', JSON.stringify(obj));
onCancel()
} catch (error) {
message.error(error); // 处理请求错误
}
}
const verifyPassword = () => {
if (userName.trim().length == 0) {
message.error('请输入用户名!')
return true;
}
if (password.trim().length == 0) {
message.error('请输入密码!');
return true;
}
if (false) {
message.error('用户名或密码错误!');
return true;
}
}
return <>
{
open &&
<div className={styles.modalOverlay}>
<div className={styles.modal} style={{width: 500, height: 460}}>
<div className={styles.modal} style={{ width: 500, height: 460 }}>
<img src={require(`../../../assets/images/coreArea/${active}.png`)} width={500} height={460} />
{[1,2].includes(active) && <div
className={styles.net}
onClick={() => setValue()}>
{[1, 2, 3].includes(active) && <div className={styles.title}> </div>}
{![1, 2, 3].includes(active) && <div className={styles.title1}> </div>}
{active == 1 && <div className={styles.pic1}></div>}
{active == 2 && <>
<div className={styles.pic1} style={{left: 10}}>GBase</div>
<div className={styles.pic1} style={{fontSize: 12, top: 130, left: 16}}></div>
<div className={styles.pic1} style={{fontSize: 12, top: 180, left: 27}}></div>
<Input value={userName} onChange={(e) => { setUserName(e.target.value) }} className={styles.input1} style={{top: 121, left: 59, width: 325}}/>
<Input value={password} onChange={(e) => { setPassword(e.target.value) }} className={styles.input2} style={{top: 171, left: 59, width: 325}}/>
</>}
{active == 3 && <div className={styles.pic1} style={{ top: 166, left: 85 }}></div>}
{active == 5 && <div className={styles.pic1} style={{ top: 123, left: 85 }}></div>}
{active == 6 && <>
<div className={styles.pic1} style={{left: 15, top: 45}}>GBase</div>
<div className={styles.pic1} style={{fontSize: 12, top: 130, left: 16}}>ip</div>
<div className={styles.pic1} style={{fontSize: 12, top: 180, left: 39}}></div>
<div className={styles.pic1} style={{fontSize: 12, top: 230, left: 50}}></div>
<Input value={serverIp} onChange={(e) => { setServerIp(e.target.value) }} className={styles.input1} style={{top: 121, left: 109, width: 325}}/>
<Input disabled value={serverPort} onChange={(e) => { setServerPort(e.target.value) }} className={styles.input2} style={{top: 171, left: 109, width: 325}}/>
<Input disabled value={localPort} onChange={(e) => { setLocalPort(e.target.value) }} className={styles.input2} style={{top: 221, left: 109, width: 325}}/>
<div className={styles.pic1} style={{fontSize: 12, top: 427, left: 265}}></div>
<div className={styles.pic1} style={{fontSize: 12, top: 427, left: 343}}></div>
<div className={styles.pic1} style={{fontSize: 12, top: 427, left: 420}}></div>
</>}
{[1, 2, 3].includes(active) && <div
className={styles.net}
onClick={() => {
if (active == 2 && verifyPassword()) return
setValue()
}}>
</div>}
{active == 3 && <div className={styles.progress} style={{background: '#fff', height: 15, width: 375, bottom: 222, left: 33,}}>
{active == 4 && <div className={styles.progress} style={{ background: '#fff', height: 15, width: 375, bottom: 222, left: 33, }}>
<Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>}
{active == 4 && <div
className={styles.net}
style={{bottom: 17, right: 27}}
onClick={() => installSuccess()}>
{[5, 6].includes(active) && <div
className={styles.net}
style={{ bottom: 17, right: active == 5 ? 27 : 187}}
onClick={() => {
active == 5 ? setValue() : installSuccess()
}}>
</div>}
</div>
</div>

@ -54,7 +54,7 @@ const GBase: FC<PageProps> = ({
const verifyPassword = () => {
if (password.trim().length == 0 || confirmPassword.trim().length == 0) {
message.info('请输入密码!')
message.error('请输入密码!')
return true;
}

@ -158,20 +158,24 @@
}
.title{
position: absolute;
top: 5px;
top: 8px;
left: 25px;
color: #fff;
font-size: 12px;
font-weight: bold;
}
.title1{
position: absolute;
top: 8px;
top: 10px;
left: 25px;
color: #fff;
font-size: 12px;
font-weight: bold;
}
.pic1{
position: absolute;
top: 41px;
left: 70px;
font-size: 13px;
font-weight: 800;
font-weight: bold;
}

@ -14,6 +14,7 @@ import CoreArea from './exeDialog/CoreArea';
import DutyArea from './exeDialog/DutyArea';
import CodeManage from './exeDialog/CodeManage';
import CodeDriver from './exeDialog/CodeDriver';
import DeviceDriver from './exeDialog/DeviceDriver';
const typeData = [
// 依赖程序
@ -51,7 +52,8 @@ const InstallExe: FC<PageProps> = ({ }) => {
const [open6, setOpen6] = useState(false); // NET 2.0 SP1
const [open7, setOpen7] = useState(false); // 核心区安装程序
const [open8, setOpen8] = useState(false); // 核心区安装程序
const [open8, setOpen8] = useState(false); // 执勤区安装程序
const [open9, setOpen9] = useState(false); // 密码资源输入输出设备驱动
const [open11, setOpen11] = useState(false); // 一体化密码机管理软件
const [open12, setOpen12] = useState(false); // 一体化密码机驱动安装程序
@ -91,10 +93,10 @@ const InstallExe: FC<PageProps> = ({ }) => {
if (data.select || notRequireds.includes(item.name)) return data;
// 依赖程序必安装的完成后才能点就右侧2块的内容专用核心密码管理分系统、一体化密码机、JJP903C密码钥匙)
// if (key > 8 && needArr) {
// message.info('请将需要的依赖程序安装完成!');
// return data
// }
if (key > 8 && needArr) {
message.info('请将需要的依赖程序安装完成!');
return data
}
openDialog(item.name);
return { ...data, select: !data.select };
@ -139,11 +141,10 @@ const InstallExe: FC<PageProps> = ({ }) => {
setOpen7(true)
break;
case '执勤区安装程序':
// setOpen8(true)
let data: any = localStorage.getItem('installExe')
let obj = JSON.parse(data);
obj[9].select = false;
localStorage.setItem('installExe', JSON.stringify(obj));
setOpen8(true)
break;
case '密码资源输入输出设备驱动':
setOpen9(true)
break;
case '一体化密码机管理软件':
setOpen11(true)
@ -180,7 +181,7 @@ const InstallExe: FC<PageProps> = ({ }) => {
</div>
</div>
<div className='flex_jE' style={{ marginTop: '3vh', paddingRight: '4.5vh' }}>
<ButtonComp text={'退出'} onClick={() => history.push('/index')} />
<ButtonComp text={'退出'} onClick={() =>{}} />
</div>
{/* 依赖程序安装--弹窗 */}
@ -194,6 +195,8 @@ const InstallExe: FC<PageProps> = ({ }) => {
{/* 专用核心密码管理分系统--弹窗 */}
<CoreArea open={open7} onCancel={() => setOpen7(false)} />
<DutyArea open={open8} onCancel={() => setOpen8(false)} />
<DeviceDriver open={open9} onCancel={() => setOpen9(false)} />
{/* 一体化密码机--弹窗 */}
<CodeManage open={open11} onCancel={() => setOpen11(false)} />
<CodeDriver open={open12} onCancel={() => setOpen12(false)} />

@ -11,7 +11,7 @@ import ClearInfoDialog from '@/components/ClearInfoDialog';
// 首页(目前无用了)
export default function IndexPage() {
// 是否认证通过
const [isAuth, setIsAuth] = useState(false);
const [isAuth, setIsAuth] = useState(true);
const [visibility, setVisibility] = useState<boolean>(true);
const [form] = Form.useForm();
const [loading, setLoading] = useState(false);
@ -20,7 +20,7 @@ export default function IndexPage() {
const list = [
{ name: '01MMD049安装.exe', img: '', url: '/installExe' },
{ name: '初装系统', img: '', url: '/initialSystem' },
{ name: '核心管理系统', img: '', url: '/coreSystemEntrance' },
{ name: '核心管理系统', img: '', url: '/coreSystemEntrance/hx1' },
{ name: '需要导出的文件', img: '', url: null },
{ name: '生成导出的文件', img: '', url: null },
]

@ -1,6 +1,8 @@
export const DEV = {
PROXY_SERVER: 'http://localhost:8088',
// PROXY_SERVER: 'http://127.0.0.1:8088',
LOCAL_URL: 'http://localhost:8000',
FILE_URL: 'C:/Users/lyc/Desktop' // 快捷方式储存的路径
};
export default DEV;

@ -5,6 +5,13 @@ export const countType = {
'zq2': '执勤区二'
}
export const sysType = {
'hx1': '上级',
'hx2': '下级',
'zq1': '上级',
'zq2': '下级'
}
export const rowClassName = (record:any, index: any) => {
return index % 2 === 0 ? 'even-row' : 'odd-row';
};
Loading…
Cancel
Save