diff --git a/config/routes/index.ts b/config/routes/index.ts index 0d8dfac..31b490e 100644 --- a/config/routes/index.ts +++ b/config/routes/index.ts @@ -9,6 +9,7 @@ const routes = [ { path: '/initialSystem', name: '初装系统', component: '@/pages/InitialSystem', layout: false }, { path: '/coreSystemEntrance', name: '核心管理系统', component: '@/pages/CoreSystemEntrance', layout: false }, + // ------------------------------GLQ远程维护---------------------------------- // 建立远程链接 { path: '/teamViewer/paramsSetting', name: '参数设置', component: '@/pages/GLQ/TeamViewer/ParamsSetting' }, diff --git a/src/assets/images/bk_img.png b/src/assets/images/bk_img.png new file mode 100644 index 0000000..266eb89 Binary files /dev/null and b/src/assets/images/bk_img.png differ diff --git a/src/pages/CoreSystemEntrance/index.less b/src/pages/CoreSystemEntrance/index.less index cbfe95e..2f60bb4 100644 --- a/src/pages/CoreSystemEntrance/index.less +++ b/src/pages/CoreSystemEntrance/index.less @@ -1,7 +1,8 @@ .entrance { width: 100vw; min-height: 100vh; - background: #E8F7FF; + background: url('../../assets/images/bk_img.png') no-repeat center; + background-size: 100% 100%; .text_warp { width: 80vw; @@ -43,8 +44,8 @@ align-items: center; .imges { - width: 100px; - height: 120px; + width: 81px; + height: 81px; margin-right: 20px; background-color: saddlebrown; } diff --git a/src/pages/CoreSystemEntrance/index.tsx b/src/pages/CoreSystemEntrance/index.tsx index af71eeb..a335637 100644 --- a/src/pages/CoreSystemEntrance/index.tsx +++ b/src/pages/CoreSystemEntrance/index.tsx @@ -33,6 +33,17 @@ const CoreSystemEntrance: FC = ({ }) => { setPin('') } + const submit = () => { + if (key == '一') { + setKey('二'); + setPin('') + } else { + initData() + // 登录成功进入系统 + history.push('/teamViewer/paramsSetting') + } + } + return (
@@ -57,25 +68,16 @@ const CoreSystemEntrance: FC = ({ }) => {
-
-
请输入PIN码
- setPin(e.target.value)}/> +
+
请输入PIN码
+ setPin(e.target.value)} onPressEnter={() => submit()} />
提示信息:请插入第{key}个钥匙并输入PIN码
- { - if( key == '一') { - setKey('二'); - setPin('') - }else { - initData() - // 登录成功进入系统 - history.push('/teamViewer/paramsSetting') - } - }} /> + submit()} /> initData()} />
diff --git a/src/pages/InitialSystem/DeviceInstall/index.less b/src/pages/InitialSystem/DeviceInstall/index.less new file mode 100644 index 0000000..992ce60 --- /dev/null +++ b/src/pages/InitialSystem/DeviceInstall/index.less @@ -0,0 +1,32 @@ +.con_warp { + width: calc(100% - 40px); + height: calc(100% - 40px); + background-color: #fff; + font-size: 14px; + margin: 20px; + + .title1 { + font-size: 18px; + font-weight: 600; + color: #191919; + } + + .title2 { + font-size: 14px; + font-weight: 600; + color: #333333; + margin: 20px 0 30px 0; + } + + .flex { + display: flex; + align-items: center; + margin-bottom: 20px; + + div:nth-child(1) { + width: 80px; + text-align: right; + margin-right: 16px; + } + } +} \ No newline at end of file diff --git a/src/pages/InitialSystem/DeviceInstall/index.tsx b/src/pages/InitialSystem/DeviceInstall/index.tsx new file mode 100644 index 0000000..7888c7e --- /dev/null +++ b/src/pages/InitialSystem/DeviceInstall/index.tsx @@ -0,0 +1,45 @@ +import { FC, useEffect, useState } from 'react'; +import styles from './index.less'; +import { Input } from 'antd'; +import ButtonComp from '@/components/ButtonComp'; + +interface PageProps { +} + +const DeviceInstall: FC = ({ }) => { + + return ( +
+
+
操作说明
+
请选取初装数据文件夹下的任一文件进行数据加载。点击“数据安装”对密码机进行初装。
+
+
初装密钥
+ +
+
+
算法参数
+ +
+
+
参数自检码
+ +
+ +
+ {}} /> + {}} /> +
+ +
出装盘信息
+
设备名称:{'--'}
+
+
初装盘号:{'--'}
+
版本号:{'--'}
+
+
+
+ ) +} + +export default DeviceInstall \ No newline at end of file diff --git a/src/pages/InitialSystem/PowerOnAuth/index.less b/src/pages/InitialSystem/PowerOnAuth/index.less new file mode 100644 index 0000000..29a2c3e --- /dev/null +++ b/src/pages/InitialSystem/PowerOnAuth/index.less @@ -0,0 +1,32 @@ +.con_warp { + width: calc(100% - 40px); + height: calc(100% - 40px); + background-color: #fff; + font-size: 14px; + margin: 20px; + + .title1 { + font-size: 18px; + font-weight: 600; + color: #191919; + } + + .title2 { + font-size: 14px; + font-weight: 600; + color: #333333; + margin: 20px 0 30px 0; + } + + .flex { + display: flex; + align-items: center; + margin-top: 30px; + + div:nth-child(1) { + width: 80px; + text-align: left; + margin-right: 50px; + } + } +} \ No newline at end of file diff --git a/src/pages/InitialSystem/PowerOnAuth/index.tsx b/src/pages/InitialSystem/PowerOnAuth/index.tsx new file mode 100644 index 0000000..752dc0f --- /dev/null +++ b/src/pages/InitialSystem/PowerOnAuth/index.tsx @@ -0,0 +1,57 @@ +import { FC, useEffect, useState } from 'react'; +import styles from './index.less'; + +interface PageProps { +} + +const PowerOnAuth: FC = ({ }) => { + + return ( +
+
+
设备状态
+
本机编号:{'--'}
+
+
开机状态:{'--'}
+
初装盘号:{'--'}
+
+
+
固件版本:{'--'}
+
初装时间:{'--'}
+
+ +
密钥状态
+
+
系统间通信
+
+
第一区{'--'}
+
第二区{'--'}
+
+
+
+
VPN间通信
+
+
第一区{'--'}
+
第二区{'--'}
+
+
+
+
与专核设备
+
+
第一区{'--'}
+
第二区{'--'}
+
+
+
+
与普密设备
+
+
第一区{'--'}
+
第二区{'--'}
+
+
+
+
+ ) +} + +export default PowerOnAuth \ No newline at end of file diff --git a/src/pages/InitialSystem/index.less b/src/pages/InitialSystem/index.less index e69de29..f853613 100644 --- a/src/pages/InitialSystem/index.less +++ b/src/pages/InitialSystem/index.less @@ -0,0 +1,119 @@ +.initial_warp { + width: 100vw; + min-height: 100vh; + + .header_warp { + height: 56px; + background: linear-gradient(180deg, #6DCFEA 0%, #3BA1CF 100%); + box-shadow: inset 0px 2px 3px 0px rgba(255, 255, 255, 0.5); + + display: flex; + align-items: center; + justify-content: space-between; + + font-size: 16px; + font-weight: 600; + color: #FFFFFF; + + letter-spacing: 1px; + } + + .main_warp { + width: 100%; + height: calc(100vh - 58px); + min-height: 600px; + display: flex; + } + + .nav_title { + height: 32px; + background: #3EA4D1; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + color: #FFFFFF; + } + + .left_menu { + width: 260px; + height: 100%; + min-height: calc(100vh - 58px); + background: #fff; + border-right: 1px solid #D8D8D8; + overflow: hidden; + overflow-y: auto; + user-select: none; + } + + .right_warp { + height: calc(100vh - 58px); + min-height: 600px; + min-width: calc(1440px - 261px); + width: calc(100vw - 261px); + background: #F1F1F1; + overflow: hidden; + overflow-y: auto; + padding: 0; + } + +} + +.start_warp { + position: relative; + width: calc(100% - 40px); + height: calc(100% - 40px); + background-color: #fff; + margin: 20px; + + display: flex; + align-items: center; + justify-content: center; + + .start_title { + font-size: 48px; + font-weight: 600; + color: #191919; + margin-bottom: 60px; + letter-spacing: 1px; + } + + .introduce { + position: absolute; + right: 40px; + bottom: 40px; + font-size: 16px; + font-weight: 500; + color: #333333; + line-height: 26px; + + div:nth-child(2) { + margin: 10px 0; + } + } +} + + +.item1 { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + margin: 20px 0; + cursor: pointer; +} + +.item1_img { + width: 60px; + height: 60px; + background-color: saddlebrown; +} + +.item1_name { + width: 100%; + text-align: center; + font-size: 14px; + font-weight: 400; + color: #1A374A; + margin-top: 6px; +} \ No newline at end of file diff --git a/src/pages/InitialSystem/index.tsx b/src/pages/InitialSystem/index.tsx index 573d965..e7ad65a 100644 --- a/src/pages/InitialSystem/index.tsx +++ b/src/pages/InitialSystem/index.tsx @@ -1,14 +1,89 @@ import { FC, useEffect, useState } from 'react'; -import { history, useLocation } from "umi"; +import { history, useLocation } from 'umi'; import styles from './index.less'; +import DeviceInstall from './DeviceInstall'; +import PowerOnAuth from './PowerOnAuth'; -interface PageProps {} +interface PageProps { } -const InitialSystem: FC = ({}) => { +const InitialSystem: FC = ({ }) => { + const [activeItem, setActiveItem] = useState(null) + const location = useLocation(); + const queryParams = new URLSearchParams(location.search); + const type = queryParams.get('type'); + const count = queryParams.get('count'); + + const MenuList: any = { + 'admin': [ + { name: '算法加载', dom:
暂无内容
, img: '' }, + { name: '设备初装', dom: , img: '' }, + { name: '开机认证', dom: , img: '' }, + { name: '状态查询', dom:
暂无内容
, img: '' }, + { name: '安全销毁', dom:
暂无内容
, img: '' }, + ], + 'test': [ + { name: '硬件检测', dom:
暂无内容
, img: '' }, + { name: '传输加解密', dom:
暂无内容
, img: '' }, + { name: '存储加解密', dom:
暂无内容
, img: '' }, + { name: '认证/验证', dom:
暂无内容
, img: '' }, + { name: '非对称算法', dom:
暂无内容
, img: '' }, + ] + } + + useEffect(() => { + if (type && count) { + setActiveItem(MenuList[type][count]) + } + }, []) + + const itemDom = (type: string, item: any, index: number) => { + return ( +
{ + setActiveItem(item) + history.push(`/initialSystem?type=${type}&count=${index}`) + }}> +
+
+ {item.name} +
+
+ ) + } return ( -
- 初装系统 +
+ {/* 头部 */} +
+
专用核心密码机管理软件
+
+
+ {/* 底部 */} +
+ {/* 左侧菜单 */} +
+ +
密码机管理
+ {MenuList['admin'].map((item: any, index: number) => itemDom('admin', item, index))} + +
密码机测试
+ {MenuList['test'].map((item: any, index: number) => itemDom('test', item, index))} + +
+ {/* 右侧内容 */} +
+ { + activeItem ? activeItem.dom : +
+
全军一体化对称密码管理系统
+
+
专用核心密码机管理系统
+
软件当前版本:2.0.3
+
总参谋第XXX研究所研制
+
+
+ } +
+
) } diff --git a/src/pages/index.less b/src/pages/index.less index 61bc6c1..2a93d37 100644 --- a/src/pages/index.less +++ b/src/pages/index.less @@ -4,6 +4,7 @@ display: flex; align-items: center; justify-content: center; + background: #E8F7FF; } .item_warp { diff --git a/src/utils/menu.ts b/src/utils/menu.ts index e274189..9b0a499 100644 --- a/src/utils/menu.ts +++ b/src/utils/menu.ts @@ -190,7 +190,7 @@ export const MenuType: any = { { name: '多算法安装配置', url: '/configManage/sfMultiInstallConfig', img: '' }, { name: '多算法更换配置', url: '/configManage/sfMultiChangeConfig', img: '' }, ] - },{ + }, { name: '算法参数配置', check: true, data: [ @@ -208,11 +208,11 @@ export const MenuType: any = { '算法托收管理': [], '算法邮箱管理': [], '注册管理': [ - { - name: '设备注册', - check: true, + { + name: '设备注册', + check: true, isTree: true, - data: [] + data: [] }, { name: '注册信息管理', @@ -234,12 +234,12 @@ export const MenuType: any = { ], '位置管理': [ { name: '单位位置管理', check: true, data: [] }, - { - name: '注册信息管理', - check: true, + { + name: '注册信息管理', + check: true, data: [ { name: '地域编辑', url: '/registerManage/regionalEdit', img: '' }, - ] + ] }, ] } \ No newline at end of file