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: '/installExe/:fileType', name: '01MMD049安装.exe', component: '@/pages/InstallExe', layout: false },
{ path: '/initialSystem/:fileType', name: '初装系统', component: '@/pages/InitialSystem', 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远程维护---------------------------------- // ------------------------------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

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

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

@ -22,8 +22,8 @@ const InitialSystem: FC<PageProps> = ({ }) => {
const MenuList: any = { const MenuList: any = {
'admin': [ 'admin': [
{ name: '算法加载', dom: <div></div>, img: '' }, { name: '算法加载', dom: <div></div>, img: '' },
{ name: '设备初装', dom: <DeviceInstall/>, img: '' }, { name: '设备初装', dom: <DeviceInstall />, img: '' },
{ name: '开机认证', dom: <PowerOnAuth/>, img: '' }, { name: '开机认证', dom: <PowerOnAuth />, img: '' },
{ name: '状态查询', dom: <div></div>, img: '' }, { name: '状态查询', dom: <div></div>, img: '' },
{ name: '安全销毁', dom: <div></div>, img: '' }, { name: '安全销毁', dom: <div></div>, img: '' },
], ],
@ -39,7 +39,7 @@ const InitialSystem: FC<PageProps> = ({ }) => {
useEffect(() => { useEffect(() => {
if (type && count) { if (type && count) {
setActiveItem(MenuList[type][count]) setActiveItem(MenuList[type][count])
}else { } else {
setActiveItem(null) setActiveItem(null)
} }
}, [location.search]) }, [location.search])
@ -93,8 +93,8 @@ const InitialSystem: FC<PageProps> = ({ }) => {
} }
</div> </div>
</div> </div>
</> :<Modal </> : <Modal
title={'提示'} title={'系统提示'}
open={visibility} open={visibility}
centered centered
width={500} width={500}
@ -102,9 +102,8 @@ const InitialSystem: FC<PageProps> = ({ }) => {
footer={null} footer={null}
maskClosable={false} maskClosable={false}
> >
<div style={{padding: '20px 0'}}>
<div >
</div> </div>
</Modal> </Modal>

@ -1,9 +1,6 @@
import React, { FC, useEffect, useState } from 'react'; import React, { FC, useEffect, useState } from 'react';
import styles from './index.less'; import styles from './index.less';
import { Input, Progress, message } from 'antd'; import { Input, Progress, message } from 'antd';
import { countType } from '@/utils';
import { useParams } from 'umi';
interface PageProps { interface PageProps {
open: boolean; open: boolean;
onCancel: () => void; onCancel: () => void;
@ -16,8 +13,6 @@ const CodeDriver: FC<PageProps> = ({
const [active, setActive] = useState(1); const [active, setActive] = useState(1);
const [percentVal, setPercentVal] = useState(0); const [percentVal, setPercentVal] = useState(0);
const urlParams = useParams();
// 监听是否到安装进度条步骤 // 监听是否到安装进度条步骤
useEffect(() => { useEffect(() => {
if (active == 3) { if (active == 3) {
@ -54,33 +49,31 @@ const CodeDriver: FC<PageProps> = ({
} }
return <> return <>
{
// open && <div>
// </div>
}
{ {
open && open &&
<div className={styles.modalOverlay}> <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} /> <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.title}> </div>}
{![1,2].includes(active)&&<div className={styles.title1}> </div>} {![1, 2].includes(active) && <div className={styles.title1}> </div>}
{active==1&&<div className={styles.pic1}></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 {[1, 2].includes(active) && <div
className={styles.net} className={styles.net}
onClick={() => setValue()}> onClick={() => setValue()}>
</div>} </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} /> <Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>} </div>}
{active == 4 && <div {active == 4 && <div
className={styles.net} className={styles.net}
style={{bottom: 17, right: 27}} style={{ bottom: 17, right: 27 }}
onClick={() => installSuccess()}> onClick={() => installSuccess()}>
</div>} </div>}
</div> </div>

@ -3,6 +3,7 @@ import styles from './index.less';
import { Input, Progress, message } from 'antd'; import { Input, Progress, message } from 'antd';
import { countType } from '@/utils'; import { countType } from '@/utils';
import { useParams } from 'umi'; import { useParams } from 'umi';
import DEV from '@/utils/env/dev';
interface PageProps { interface PageProps {
open: boolean; open: boolean;
@ -53,9 +54,9 @@ const CodeManage: FC<PageProps> = ({
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
mode: "cors", mode: "cors",
body: JSON.stringify({ body: JSON.stringify({
folderPath: `c:/Users/向明星/Desktop/${countType[urlParams?.fileType]}`, folderPath: `${DEV.FILE_URL}/${countType[urlParams?.fileType]}`,
shortcutName: '专用核心密码综合管理系统', shortcutName: '专用核心密码综合管理系统',
shortcutURL: `http://localhost:8000/initialSystem/${urlParams?.fileType}` shortcutURL: `${DEV.LOCAL_URL}/initialSystem/${urlParams?.fileType}`
}), }),
}); });
const data = await response.text(); const data = await response.text();
@ -74,33 +75,30 @@ const CodeManage: FC<PageProps> = ({
} }
return <> return <>
{
// open && <div>
// </div>
}
{ {
open && open &&
<div className={styles.modalOverlay}> <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} /> <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.title}> </div>}
{![1,2].includes(active)&&<div className={styles.title1}> </div>} {![1, 2].includes(active) && <div className={styles.title1}> </div>}
{active==1&&<div className={styles.pic1}></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 {[1, 2].includes(active) && <div
className={styles.net} className={styles.net}
onClick={() => setValue()}> onClick={() => setValue()}>
</div>} </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} /> <Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>} </div>}
{active == 4 && <div {active == 4 && <div
className={styles.net} className={styles.net}
style={{bottom: 17, right: 27}} style={{ bottom: 17, right: 27 }}
onClick={() => installSuccess()}> onClick={() => installSuccess()}>
</div>} </div>}
</div> </div>

@ -1,8 +1,9 @@
import React, { FC, useEffect, useState } from 'react'; import React, { FC, useEffect, useState } from 'react';
import styles from './index.less'; import styles from './index.less';
import { Input, Progress, message } from 'antd'; import { Input, Progress, message } from 'antd';
import { countType } from '@/utils'; import { countType, sysType } from '@/utils';
import { useParams } from 'umi'; import { useParams } from 'umi';
import DEV from '@/utils/env/dev';
interface PageProps { interface PageProps {
open: boolean; open: boolean;
@ -15,12 +16,18 @@ const CoreArea: FC<PageProps> = ({
}) => { }) => {
const [active, setActive] = useState(1); const [active, setActive] = useState(1);
const [percentVal, setPercentVal] = useState(0); 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(); const urlParams = useParams();
// 监听是否到安装进度条步骤 // 监听是否到安装进度条步骤
useEffect(() => { useEffect(() => {
if (active == 3) { if (active == 4) {
const interval = setInterval(() => { const interval = setInterval(() => {
setPercentVal((val) => { setPercentVal((val) => {
const randomStep = Math.round(Math.random() * (100 / 10)); const randomStep = Math.round(Math.random() * (100 / 10));
@ -48,24 +55,24 @@ const CoreArea: FC<PageProps> = ({
// 在指定的目录下安装快捷方式 // 在指定的目录下安装快捷方式
const installSuccess = async () => { const installSuccess = async () => {
try { try {
// const response = await fetch('http://localhost:3000/createShortcut', { const response = await fetch('http://localhost:3000/createShortcut', {
// method: 'POST', method: 'POST',
// headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
// mode: "cors", mode: "cors",
// body: JSON.stringify({ body: JSON.stringify({
// folderPath: `C:/Users/lyc/Desktop/${countType[urlParams?.fileType]}`, folderPath: `${DEV.FILE_URL}/${countType[urlParams?.fileType]}`,
// shortcutName: '专用核心密码综合管理系统', shortcutName: '核心区客户端',
// shortcutURL: `http://localhost:8000/initialSystem/${urlParams?.fileType}` shortcutURL: `${DEV.LOCAL_URL}/coreSystemEntrance/${urlParams?.fileType}?sysType=${sysType[urlParams?.fileType] + '核心区勤区'}`
// }), }),
// }); });
// const data = await response.text(); const data = await response.text();
// message.success(data) message.success(data)
// // 储存信息 // 储存信息
// let installExe: any = localStorage.getItem('installExe') let installExe: any = localStorage.getItem('installExe')
// let obj = JSON.parse(installExe); let obj = JSON.parse(installExe);
// obj[9].select = true; obj[10].select = true;
// localStorage.setItem('installExe', JSON.stringify(obj)); localStorage.setItem('installExe', JSON.stringify(obj));
onCancel() onCancel()
} catch (error) { } catch (error) {
@ -73,34 +80,75 @@ const CoreArea: FC<PageProps> = ({
} }
} }
return <> const verifyPassword = () => {
{ if (userName.trim().length == 0) {
// open && <div> message.error('请输入用户名!')
return true;
}
// </div> if (password.trim().length == 0) {
message.error('请输入密码!');
return true;
} }
if (false) {
message.error('用户名或密码错误!');
return true;
}
}
return <>
{ {
open && open &&
<div className={styles.modalOverlay}> <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} /> <img src={require(`../../../assets/images/coreArea/${active}.png`)} width={500} height={460} />
<div className={styles.title}> </div> {[1, 2, 3].includes(active) && <div className={styles.title}> </div>}
<div></div> {![1, 2, 3].includes(active) && <div className={styles.title1}> </div>}
{[1,2].includes(active) && <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} className={styles.net}
onClick={() => setValue()}> onClick={() => {
if (active == 2 && verifyPassword()) return
setValue()
}}>
</div>} </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} /> <Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>} </div>}
{active == 4 && <div {[5, 6].includes(active) && <div
className={styles.net} className={styles.net}
style={{bottom: 17, right: 27}} style={{ bottom: 17, right: active == 5 ? 27 : 187}}
onClick={() => installSuccess()}> onClick={() => {
active == 5 ? setValue() : installSuccess()
}}>
</div>} </div>}
</div> </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 React, { FC, useEffect, useState } from 'react';
import styles from './index.less'; import styles from './index.less';
import { Input, Progress, message } from 'antd'; import { Input, Progress, message } from 'antd';
import { countType } from '@/utils'; import { countType, sysType } from '@/utils';
import { useParams } from 'umi'; import { useParams } from 'umi';
import DEV from '@/utils/env/dev';
interface PageProps { interface PageProps {
open: boolean; open: boolean;
@ -15,12 +16,18 @@ const DutyArea: FC<PageProps> = ({
}) => { }) => {
const [active, setActive] = useState(1); const [active, setActive] = useState(1);
const [percentVal, setPercentVal] = useState(0); 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(); const urlParams = useParams();
// 监听是否到安装进度条步骤 // 监听是否到安装进度条步骤
useEffect(() => { useEffect(() => {
if (active == 3) { if (active == 4) {
const interval = setInterval(() => { const interval = setInterval(() => {
setPercentVal((val) => { setPercentVal((val) => {
const randomStep = Math.round(Math.random() * (100 / 10)); const randomStep = Math.round(Math.random() * (100 / 10));
@ -53,19 +60,19 @@ const DutyArea: FC<PageProps> = ({
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
mode: "cors", mode: "cors",
body: JSON.stringify({ body: JSON.stringify({
folderPath: `C:/Users/lyc/Desktop/${countType[urlParams?.fileType]}`, folderPath: `${DEV.FILE_URL}/${countType[urlParams?.fileType]}`,
shortcutName: '专用核心密码综合管理系统', shortcutName: '执勤区客户端',
shortcutURL: `http://localhost:8000/initialSystem/${urlParams?.fileType}` shortcutURL: `${DEV.LOCAL_URL}/coreSystemEntrance/${urlParams?.fileType}?sysType=${sysType[urlParams?.fileType] + '执勤区'}`
}), }),
}); });
const data = await response.text(); const data = await response.text();
message.success(data) message.success(data)
// 储存信息 // 储存信息
// let installExe: any = localStorage.getItem('installExe') let installExe: any = localStorage.getItem('installExe')
// let obj = JSON.parse(installExe); let obj = JSON.parse(installExe);
// obj[10].select = true; obj[10].select = true;
// localStorage.setItem('installExe', JSON.stringify(obj)); localStorage.setItem('installExe', JSON.stringify(obj));
onCancel() onCancel()
} catch (error) { } catch (error) {
@ -73,26 +80,75 @@ const DutyArea: FC<PageProps> = ({
} }
} }
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 <> return <>
{ {
open && open &&
<div className={styles.modalOverlay}> <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} /> <img src={require(`../../../assets/images/coreArea/${active}.png`)} width={500} height={460} />
{[1,2].includes(active) && <div {[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} className={styles.net}
onClick={() => setValue()}> onClick={() => {
if (active == 2 && verifyPassword()) return
setValue()
}}>
</div>} </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} /> <Progress percent={percentVal} steps={42} size={[7, 14]} strokeColor={'rgb(56, 158, 13)'} trailColor={'rgba(0,0,0,0)'} showInfo={false} />
</div>} </div>}
{active == 4 && <div {[5, 6].includes(active) && <div
className={styles.net} className={styles.net}
style={{bottom: 17, right: 27}} style={{ bottom: 17, right: active == 5 ? 27 : 187}}
onClick={() => installSuccess()}> onClick={() => {
active == 5 ? setValue() : installSuccess()
}}>
</div>} </div>}
</div> </div>
</div> </div>

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

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

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

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

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

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