From fc68f6006949a91fced69951778a7c88859cbb6c Mon Sep 17 00:00:00 2001
From: Mr Ke <kelq@hugeinfo.com.cn>
Date: Wed, 06 May 2020 10:49:07 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/huge/frontEnd/hugeOA

---
 src/components/common/MenuView/index.jsx          |    4 
 src/components/page/logManage/Rawler/index.scss   |   14 
 src/components/page/logManage/browseLog/index.jsx |   41 +
 src/index.js                                      |    3 
 src/components/page/logManage/Rawler/index.jsx    |  240 +++++++++++++
 report.20200430.142209.12268.0.001.json           |  638 +++++++++++++++++++++++++++++++++++
 src/menu/menu.data.js                             |    8 
 src/pages/login/login.scss                        |   10 
 src/components/page/logManage/operLog/index.jsx   |   34 +
 src/pages/login/login.jsx                         |    6 
 src/pages/logManage/Rawler.jsx                    |   34 +
 11 files changed, 1,008 insertions(+), 24 deletions(-)

diff --git a/report.20200430.142209.12268.0.001.json b/report.20200430.142209.12268.0.001.json
new file mode 100644
index 0000000..f28c926
--- /dev/null
+++ b/report.20200430.142209.12268.0.001.json
@@ -0,0 +1,638 @@
+
+{
+  "header": {
+    "reportVersion": 1,
+    "event": "Allocation failed - JavaScript heap out of memory",
+    "trigger": "FatalError",
+    "filename": "report.20200430.142209.12268.0.001.json",
+    "dumpEventTime": "2020-04-30T14:22:09Z",
+    "dumpEventTimeStamp": "1588227729407",
+    "processId": 12268,
+    "cwd": "C:\\Users\\31208\\Desktop\\OA系统\\hugeOA",
+    "commandLine": [
+      "node",
+      "C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\node_modules\\_react-app-rewired@2.1.5@react-app-rewired\\scripts\\start.js"
+    ],
+    "nodejsVersion": "v12.16.1",
+    "wordSize": 64,
+    "arch": "x64",
+    "platform": "win32",
+    "componentVersions": {
+      "node": "12.16.1",
+      "v8": "7.8.279.23-node.31",
+      "uv": "1.34.0",
+      "zlib": "1.2.11",
+      "brotli": "1.0.7",
+      "ares": "1.15.0",
+      "modules": "72",
+      "nghttp2": "1.40.0",
+      "napi": "5",
+      "llhttp": "2.0.4",
+      "http_parser": "2.9.3",
+      "openssl": "1.1.1d",
+      "cldr": "35.1",
+      "icu": "64.2",
+      "tz": "2019c",
+      "unicode": "12.1"
+    },
+    "release": {
+      "name": "node",
+      "lts": "Erbium",
+      "headersUrl": "https://nodejs.org/download/release/v12.16.1/node-v12.16.1-headers.tar.gz",
+      "sourceUrl": "https://nodejs.org/download/release/v12.16.1/node-v12.16.1.tar.gz",
+      "libUrl": "https://nodejs.org/download/release/v12.16.1/win-x64/node.lib"
+    },
+    "osName": "Windows_NT",
+    "osRelease": "10.0.18362",
+    "osVersion": "Windows 10 Home China",
+    "osMachine": "x86_64",
+    "cpus": [
+      {
+        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
+        "speed": 1800,
+        "user": 9048078,
+        "nice": 0,
+        "sys": 13516265,
+        "idle": 183495984,
+        "irq": 5877468
+      },
+      {
+        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
+        "speed": 1800,
+        "user": 4246593,
+        "nice": 0,
+        "sys": 3249671,
+        "idle": 198563437,
+        "irq": 297359
+      },
+      {
+        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
+        "speed": 1800,
+        "user": 15028234,
+        "nice": 0,
+        "sys": 6677046,
+        "idle": 184354421,
+        "irq": 125187
+      },
+      {
+        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
+        "speed": 1800,
+        "user": 5804343,
+        "nice": 0,
+        "sys": 2473093,
+        "idle": 197782265,
+        "irq": 50890
+      },
+      {
+        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
+        "speed": 1800,
+        "user": 12651687,
+        "nice": 0,
+        "sys": 5315218,
+        "idle": 188092796,
+        "irq": 107531
+      },
+      {
+        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
+        "speed": 1800,
+        "user": 5635984,
+        "nice": 0,
+        "sys": 3603453,
+        "idle": 196820265,
+        "irq": 54156
+      },
+      {
+        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
+        "speed": 1800,
+        "user": 9591375,
+        "nice": 0,
+        "sys": 5498265,
+        "idle": 190970062,
+        "irq": 94703
+      },
+      {
+        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
+        "speed": 1800,
+        "user": 7499328,
+        "nice": 0,
+        "sys": 4336812,
+        "idle": 194223546,
+        "irq": 52875
+      }
+    ],
+    "networkInterfaces": [
+      {
+        "name": "WLAN",
+        "internal": false,
+        "mac": "10:63:c8:6c:42:5d",
+        "address": "fe80::f097:53c0:9f1e:8049",
+        "netmask": "ffff:ffff:ffff:ffff::",
+        "family": "IPv6",
+        "scopeid": 17
+      },
+      {
+        "name": "WLAN",
+        "internal": false,
+        "mac": "10:63:c8:6c:42:5d",
+        "address": "192.168.0.119",
+        "netmask": "255.255.255.0",
+        "family": "IPv4"
+      },
+      {
+        "name": "Loopback Pseudo-Interface 1",
+        "internal": true,
+        "mac": "00:00:00:00:00:00",
+        "address": "::1",
+        "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
+        "family": "IPv6",
+        "scopeid": 0
+      },
+      {
+        "name": "Loopback Pseudo-Interface 1",
+        "internal": true,
+        "mac": "00:00:00:00:00:00",
+        "address": "127.0.0.1",
+        "netmask": "255.0.0.0",
+        "family": "IPv4"
+      }
+    ],
+    "host": "LAPTOP-F2POFSFG"
+  },
+  "javascriptStack": {
+    "message": "No stack.",
+    "stack": [
+      "Unavailable."
+    ]
+  },
+  "nativeStack": [
+    {
+      "pc": "0x00007ff7117619f9",
+      "symbol": "std::basic_ostream<char,std::char_traits<char> >::operator<<+10873"
+    },
+    {
+      "pc": "0x00007ff711765e1c",
+      "symbol": "std::basic_ostream<char,std::char_traits<char> >::operator<<+28316"
+    },
+    {
+      "pc": "0x00007ff711764dd8",
+      "symbol": "std::basic_ostream<char,std::char_traits<char> >::operator<<+24152"
+    },
+    {
+      "pc": "0x00007ff7118634cb",
+      "symbol": "v8::base::CPU::has_sse+38363"
+    },
+    {
+      "pc": "0x00007ff712079f4e",
+      "symbol": "v8::Isolate::ReportExternalAllocationLimitReached+94"
+    },
+    {
+      "pc": "0x00007ff712062021",
+      "symbol": "v8::SharedArrayBuffer::Externalize+833"
+    },
+    {
+      "pc": "0x00007ff711f2e57c",
+      "symbol": "v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436"
+    },
+    {
+      "pc": "0x00007ff711f397d0",
+      "symbol": "v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312"
+    },
+    {
+      "pc": "0x00007ff711f362f4",
+      "symbol": "v8::internal::Heap::PageFlagsAreConsistent+3204"
+    },
+    {
+      "pc": "0x00007ff711f2bb13",
+      "symbol": "v8::internal::Heap::CollectGarbage+1283"
+    },
+    {
+      "pc": "0x00007ff711f2a184",
+      "symbol": "v8::internal::Heap::AddRetainedMap+2452"
+    },
+    {
+      "pc": "0x00007ff711f51e1f",
+      "symbol": "v8::internal::Factory::NewRawTwoByteString+95"
+    },
+    {
+      "pc": "0x00007ff711f49c23",
+      "symbol": "v8::internal::Factory::NewConsString+755"
+    },
+    {
+      "pc": "0x00007ff711c74cd5",
+      "symbol": "v8::internal::StubCache::value_reference+6053"
+    },
+    {
+      "pc": "0x00007ff7124c4ddd",
+      "symbol": "v8::internal::SetupIsolateDelegate::SetupHeap+546637"
+    },
+    {
+      "pc": "0x00007ff7124c603c",
+      "symbol": "v8::internal::SetupIsolateDelegate::SetupHeap+551340"
+    },
+    {
+      "pc": "0x00000202f4b33289",
+      "symbol": ""
+    }
+  ],
+  "javascriptHeap": {
+    "totalMemory": 2165256192,
+    "totalCommittedMemory": 2165256192,
+    "usedMemory": 1996833296,
+    "availableMemory": 101749672,
+    "memoryLimit": 2197815296,
+    "heapSpaces": {
+      "read_only_space": {
+        "memorySize": 262144,
+        "committedMemory": 262144,
+        "capacity": 32808,
+        "used": 32808,
+        "available": 0
+      },
+      "new_space": {
+        "memorySize": 33554432,
+        "committedMemory": 33554432,
+        "capacity": 16759296,
+        "used": 2713248,
+        "available": 14046048
+      },
+      "old_space": {
+        "memorySize": 2033074176,
+        "committedMemory": 2033074176,
+        "capacity": 1941080144,
+        "used": 1902694920,
+        "available": 38385224
+      },
+      "code_space": {
+        "memorySize": 2527232,
+        "committedMemory": 2527232,
+        "capacity": 2233920,
+        "used": 2233920,
+        "available": 0
+      },
+      "map_space": {
+        "memorySize": 9703424,
+        "committedMemory": 9703424,
+        "capacity": 3228080,
+        "used": 3228080,
+        "available": 0
+      },
+      "large_object_space": {
+        "memorySize": 85512192,
+        "committedMemory": 85512192,
+        "capacity": 85386032,
+        "used": 85386032,
+        "available": 0
+      },
+      "code_large_object_space": {
+        "memorySize": 622592,
+        "committedMemory": 622592,
+        "capacity": 544288,
+        "used": 544288,
+        "available": 0
+      },
+      "new_large_object_space": {
+        "memorySize": 0,
+        "committedMemory": 0,
+        "capacity": 16759296,
+        "used": 0,
+        "available": 16759296
+      }
+    }
+  },
+  "resourceUsage": {
+    "userCpuSeconds": 206.171,
+    "kernelCpuSeconds": 196.609,
+    "cpuConsumptionPercent": 294,
+    "maxRss": 2815991808,
+    "pageFaults": {
+      "IORequired": 1457834,
+      "IONotRequired": 0
+    },
+    "fsActivity": {
+      "reads": 9772,
+      "writes": 79
+    }
+  },
+  "libuv": [
+  ],
+  "environmentVariables": {
+    "ACLOCAL_PATH": "C:\\Program Files\\Git\\mingw64\\share\\aclocal;C:\\Program Files\\Git\\usr\\share\\aclocal",
+    "ALLUSERSPROFILE": "C:\\ProgramData",
+    "APPDATA": "C:\\Users\\31208\\AppData\\Roaming",
+    "APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL": "true",
+    "BABEL_ENV": "development",
+    "COLORTERM": "truecolor",
+    "CommonProgramFiles": "C:\\Program Files\\Common Files",
+    "CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files",
+    "CommonProgramW6432": "C:\\Program Files\\Common Files",
+    "COMPUTERNAME": "LAPTOP-F2POFSFG",
+    "ComSpec": "C:\\windows\\system32\\cmd.exe",
+    "CONFIG_SITE": "C:/Program Files/Git/mingw64/etc/config.site",
+    "DISPLAY": "needs-to-be-defined",
+    "dp0": "C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\node_modules\\.bin\\",
+    "DriverData": "C:\\Windows\\System32\\Drivers\\DriverData",
+    "EXEPATH": "C:\\Program Files\\Git",
+    "HOME": "C:\\Users\\31208",
+    "HOMEDRIVE": "C:",
+    "HOMEPATH": "\\Users\\31208",
+    "HOSTNAME": "LAPTOP-F2POFSFG",
+    "INFOPATH": "C:\\Program Files\\Git\\usr\\local\\info;C:\\Program Files\\Git\\usr\\share\\info;C:\\Program Files\\Git\\usr\\info;C:\\Program Files\\Git\\share\\info",
+    "INIT_CWD": "C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\src",
+    "IOJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/iojs",
+    "LANG": "zh_CN.UTF-8",
+    "LOCALAPPDATA": "C:\\Users\\31208\\AppData\\Local",
+    "LOGONSERVER": "\\\\LAPTOP-F2POFSFG",
+    "MANPATH": "C:\\Program Files\\Git\\mingw64\\local\\man;C:\\Program Files\\Git\\mingw64\\share\\man;C:\\Program Files\\Git\\usr\\local\\man;C:\\Program Files\\Git\\usr\\share\\man;C:\\Program Files\\Git\\usr\\man;C:\\Program Files\\Git\\share\\man",
+    "MINGW_CHOST": "x86_64-w64-mingw32",
+    "MINGW_PACKAGE_PREFIX": "mingw-w64-x86_64",
+    "MINGW_PREFIX": "C:/Program Files/Git/mingw64",
+    "MSYSTEM": "MINGW64",
+    "MSYSTEM_CARCH": "x86_64",
+    "MSYSTEM_CHOST": "x86_64-w64-mingw32",
+    "MSYSTEM_PREFIX": "C:/Program Files/Git/mingw64",
+    "NODE": "C:\\Program Files\\nodejs\\node.exe",
+    "NODEJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/node",
+    "NODE_ENV": "development",
+    "NODE_EXE": "C:\\Program Files\\nodejs\\\\node.exe",
+    "NODE_PATH": "",
+    "NODIST_IOJS_MIRROR": "https://npm.taobao.org/mirrors/iojs",
+    "NODIST_NODE_MIRROR": "https://npm.taobao.org/mirrors/node",
+    "NPM_CLI_JS": "C:\\Program Files\\nodejs\\\\node_modules\\npm\\bin\\npm-cli.js",
+    "npm_config_access": "",
+    "npm_config_allow_same_version": "",
+    "npm_config_also": "",
+    "npm_config_always_auth": "",
+    "npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"start\"],\"original\":[\"run\",\"start\"]}",
+    "npm_config_audit": "true",
+    "npm_config_audit_level": "low",
+    "npm_config_auth_type": "legacy",
+    "npm_config_before": "",
+    "npm_config_bin_links": "true",
+    "npm_config_browser": "",
+    "npm_config_ca": "",
+    "npm_config_cache": "C:\\Users\\31208\\AppData\\Roaming\\npm-cache",
+    "npm_config_cache_lock_retries": "10",
+    "npm_config_cache_lock_stale": "60000",
+    "npm_config_cache_lock_wait": "10000",
+    "npm_config_cache_max": "Infinity",
+    "npm_config_cache_min": "10",
+    "npm_config_cafile": "",
+    "npm_config_cert": "",
+    "npm_config_cidr": "",
+    "npm_config_color": "true",
+    "npm_config_commit_hooks": "true",
+    "npm_config_depth": "Infinity",
+    "npm_config_description": "true",
+    "npm_config_dev": "",
+    "npm_config_dry_run": "",
+    "npm_config_editor": "notepad.exe",
+    "npm_config_engine_strict": "",
+    "npm_config_fetch_retries": "2",
+    "npm_config_fetch_retry_factor": "10",
+    "npm_config_fetch_retry_maxtimeout": "60000",
+    "npm_config_fetch_retry_mintimeout": "10000",
+    "npm_config_force": "",
+    "npm_config_format_package_lock": "true",
+    "npm_config_fund": "true",
+    "npm_config_git": "git",
+    "npm_config_git_tag_version": "true",
+    "npm_config_global": "",
+    "npm_config_globalconfig": "C:\\Users\\31208\\AppData\\Roaming\\npm\\etc\\npmrc",
+    "npm_config_globalignorefile": "C:\\Users\\31208\\AppData\\Roaming\\npm\\etc\\npmignore",
+    "npm_config_global_style": "",
+    "npm_config_group": "",
+    "npm_config_ham_it_up": "",
+    "npm_config_heading": "npm",
+    "npm_config_https_proxy": "",
+    "npm_config_if_present": "",
+    "npm_config_ignore_prepublish": "",
+    "npm_config_ignore_scripts": "",
+    "npm_config_init_author_email": "",
+    "npm_config_init_author_name": "",
+    "npm_config_init_author_url": "",
+    "npm_config_init_license": "ISC",
+    "npm_config_init_module": "C:\\Users\\31208\\.npm-init.js",
+    "npm_config_init_version": "1.0.0",
+    "npm_config_json": "",
+    "npm_config_key": "",
+    "npm_config_legacy_bundling": "",
+    "npm_config_link": "",
+    "npm_config_local_address": "",
+    "npm_config_loglevel": "notice",
+    "npm_config_logs_max": "10",
+    "npm_config_long": "",
+    "npm_config_maxsockets": "50",
+    "npm_config_message": "%s",
+    "npm_config_metrics_registry": "https://registry.npmjs.org/",
+    "npm_config_node_gyp": "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js",
+    "npm_config_node_options": "",
+    "npm_config_node_version": "12.16.1",
+    "npm_config_noproxy": "",
+    "npm_config_offline": "",
+    "npm_config_onload_script": "",
+    "npm_config_only": "",
+    "npm_config_optional": "true",
+    "npm_config_otp": "",
+    "npm_config_package_lock": "true",
+    "npm_config_package_lock_only": "",
+    "npm_config_parseable": "",
+    "npm_config_prefer_offline": "",
+    "npm_config_prefer_online": "",
+    "npm_config_prefix": "C:\\Users\\31208\\AppData\\Roaming\\npm",
+    "npm_config_preid": "",
+    "npm_config_production": "",
+    "npm_config_progress": "true",
+    "npm_config_proxy": "",
+    "npm_config_read_only": "",
+    "npm_config_rebuild_bundle": "true",
+    "npm_config_registry": "https://registry.npmjs.org/",
+    "npm_config_rollback": "true",
+    "npm_config_save": "true",
+    "npm_config_save_bundle": "",
+    "npm_config_save_dev": "",
+    "npm_config_save_exact": "",
+    "npm_config_save_optional": "",
+    "npm_config_save_prefix": "^",
+    "npm_config_save_prod": "",
+    "npm_config_scope": "",
+    "npm_config_scripts_prepend_node_path": "warn-only",
+    "npm_config_script_shell": "",
+    "npm_config_searchexclude": "",
+    "npm_config_searchlimit": "20",
+    "npm_config_searchopts": "",
+    "npm_config_searchstaleness": "900",
+    "npm_config_send_metrics": "",
+    "npm_config_shell": "C:\\windows\\system32\\cmd.exe",
+    "npm_config_shrinkwrap": "true",
+    "npm_config_sign_git_commit": "",
+    "npm_config_sign_git_tag": "",
+    "npm_config_sso_poll_frequency": "500",
+    "npm_config_sso_type": "oauth",
+    "npm_config_strict_ssl": "true",
+    "npm_config_tag": "latest",
+    "npm_config_tag_version_prefix": "v",
+    "npm_config_timing": "",
+    "npm_config_tmp": "C:\\Users\\31208\\AppData\\Local\\Temp",
+    "npm_config_umask": "0000",
+    "npm_config_unicode": "",
+    "npm_config_unsafe_perm": "true",
+    "npm_config_update_notifier": "true",
+    "npm_config_usage": "",
+    "npm_config_user": "",
+    "npm_config_userconfig": "C:\\Users\\31208\\.npmrc",
+    "npm_config_user_agent": "npm/6.13.4 node/v12.16.1 win32 x64",
+    "npm_config_version": "",
+    "npm_config_versions": "",
+    "npm_config_viewer": "browser",
+    "npm_execpath": "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js",
+    "npm_lifecycle_event": "start",
+    "npm_lifecycle_script": "react-app-rewired start",
+    "npm_node_execpath": "C:\\Program Files\\nodejs\\node.exe",
+    "npm_package_browserslist_development_0": "ie 8",
+    "npm_package_browserslist_development_1": "last 1 chrome version",
+    "npm_package_browserslist_development_2": "last 1 firefox version",
+    "npm_package_browserslist_development_3": "last 1 safari version",
+    "npm_package_browserslist_production_0": ">0.2%",
+    "npm_package_browserslist_production_1": "not dead",
+    "npm_package_browserslist_production_2": "not op_mini all",
+    "npm_package_dependencies_antd": "^3.26.11",
+    "npm_package_dependencies_axios": "^0.19.2",
+    "npm_package_dependencies_braft_editor": "^2.3.9",
+    "npm_package_dependencies_mocker_api": "^1.9.0",
+    "npm_package_dependencies_node_sass": "^4.13.1",
+    "npm_package_dependencies_react": "^16.12.0",
+    "npm_package_dependencies_react_app_polyfill": "^1.0.6",
+    "npm_package_dependencies_react_dom": "^16.12.0",
+    "npm_package_dependencies_react_router_dom": "^5.1.2",
+    "npm_package_dependencies_react_scripts": "3.4.0",
+    "npm_package_dependencies_sass_loader": "^8.0.2",
+    "npm_package_dependencies_wangeditor": "^3.1.1",
+    "npm_package_dependencies__testing_library_jest_dom": "^4.2.4",
+    "npm_package_dependencies__testing_library_react": "^9.3.2",
+    "npm_package_dependencies__testing_library_user_event": "^7.1.2",
+    "npm_package_description": "This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).",
+    "npm_package_devDependencies_babel_plugin_import": "^1.13.0",
+    "npm_package_devDependencies_customize_cra": "^0.9.1",
+    "npm_package_devDependencies_es6_promise": "^4.2.8",
+    "npm_package_devDependencies_less": "^3.11.1",
+    "npm_package_devDependencies_less_loader": "^5.0.0",
+    "npm_package_devDependencies_mockjs": "^1.0.1-beta3",
+    "npm_package_devDependencies_moment": "^2.24.0",
+    "npm_package_devDependencies_react_app_rewired": "^2.1.5",
+    "npm_package_devDependencies__babel_plugin_proposal_class_properties": "^7.8.3",
+    "npm_package_eslintConfig_extends": "react-app",
+    "npm_package_gitHead": "2ea56ed08b58386f0612635101b1acd51cd4a44c",
+    "npm_package_homepage": "http://.",
+    "npm_package_name": "my-app",
+    "npm_package_private": "true",
+    "npm_package_readmeFilename": "README.md",
+    "npm_package_scripts_build": "react-app-rewired build",
+    "npm_package_scripts_eject": "react-app-rewired eject",
+    "npm_package_scripts_mock": "mocker ./mock",
+    "npm_package_scripts_page": "node .pjcode/page",
+    "npm_package_scripts_start": "react-app-rewired start",
+    "npm_package_scripts_test": "react-app-rewired test",
+    "npm_package_scripts_view": "node .pjcode/view",
+    "npm_package_version": "0.1.0",
+    "NPM_PREFIX_NPM_CLI_JS": "C:\\Users\\31208\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js",
+    "NUMBER_OF_PROCESSORS": "8",
+    "NVMW_IOJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/iojs",
+    "NVMW_NODEJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/node",
+    "NVMW_NPM_MIRROR": "https://npm.taobao.org/mirrors/npm",
+    "NVM_IOJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/iojs",
+    "NVM_NODEJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/node",
+    "OneDrive": "C:\\Users\\31208\\OneDrive",
+    "OneDriveConsumer": "C:\\Users\\31208\\OneDrive",
+    "ORIGINAL_PATH": "C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Users\\31208\\bin;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0;C:\\windows\\System32\\OpenSSH;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files\\Git\\cmd;C:\\Program Files\\nodejs;C:\\Users\\31208\\AppData\\Local\\Microsoft\\WindowsApps;D:\\Microsoft VS Code\\bin;C:\\Users\\31208\\AppData\\Roaming\\npm",
+    "ORIGINAL_TEMP": "C:/Users/31208/AppData/Local/Temp",
+    "ORIGINAL_TMP": "C:/Users/31208/AppData/Local/Temp",
+    "OS": "Windows_NT",
+    "Path": "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\npm-lifecycle\\node-gyp-bin;C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\node_modules\\.bin;C:\\Users\\31208\\bin;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\local\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Users\\31208\\bin;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0;C:\\windows\\System32\\OpenSSH;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files\\Git\\cmd;C:\\Program Files\\nodejs;C:\\Users\\31208\\AppData\\Local\\Microsoft\\WindowsApps;D:\\Microsoft VS Code\\bin;C:\\Users\\31208\\AppData\\Roaming\\npm;C:\\Program Files\\Git\\usr\\bin\\vendor_perl;C:\\Program Files\\Git\\usr\\bin\\core_perl",
+    "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JSE;.WSF;.WSH;.MSC;.CPL",
+    "PKG_CONFIG_PATH": "C:\\Program Files\\Git\\mingw64\\lib\\pkgconfig;C:\\Program Files\\Git\\mingw64\\share\\pkgconfig",
+    "PLINK_PROTOCOL": "ssh",
+    "PROCESSOR_ARCHITECTURE": "AMD64",
+    "PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 142 Stepping 12, GenuineIntel",
+    "PROCESSOR_LEVEL": "6",
+    "PROCESSOR_REVISION": "8e0c",
+    "ProgramData": "C:\\ProgramData",
+    "ProgramFiles": "C:\\Program Files",
+    "ProgramFiles(x86)": "C:\\Program Files (x86)",
+    "ProgramW6432": "C:\\Program Files",
+    "PROMPT": "$P$G",
+    "PSModulePath": "C:\\Users\\31208\\Documents\\WindowsPowerShell\\Modules;C:\\Program Files\\WindowsPowerShell\\Modules;C:\\windows\\system32\\WindowsPowerShell\\v1.0\\Modules",
+    "PUBLIC": "C:\\Users\\Public",
+    "PWD": "C:/Users/31208/Desktop/OA系统/hugeOA",
+    "REACT_APP_CODER": "liuwh",
+    "REACT_APP_EMAIL": "",
+    "SESSIONNAME": "Console",
+    "SHELL": "C:\\Program Files\\Git\\usr\\bin\\bash.exe",
+    "SHLVL": "2",
+    "SSH_ASKPASS": "C:/Program Files/Git/mingw64/libexec/git-core/git-gui--askpass",
+    "SystemDrive": "C:",
+    "SystemRoot": "C:\\windows",
+    "TEMP": "C:\\Users\\31208\\AppData\\Local\\Temp",
+    "TERM": "xterm",
+    "TERM_PROGRAM": "vscode",
+    "TERM_PROGRAM_VERSION": "1.44.2",
+    "TMP": "C:\\Users\\31208\\AppData\\Local\\Temp",
+    "TMPDIR": "C:\\Users\\31208\\AppData\\Local\\Temp",
+    "USERDOMAIN": "LAPTOP-F2POFSFG",
+    "USERDOMAIN_ROAMINGPROFILE": "LAPTOP-F2POFSFG",
+    "USERNAME": "31208",
+    "USERPROFILE": "C:\\Users\\31208",
+    "WEBPACK_DEV_SERVER": "true",
+    "windir": "C:\\windows",
+    "_": "D:/Microsoft VS Code/Code.exe",
+    "_prog": "node"
+  },
+  "sharedObjects": [
+    "C:\\Program Files\\nodejs\\node.exe",
+    "C:\\windows\\SYSTEM32\\ntdll.dll",
+    "C:\\windows\\System32\\KERNEL32.DLL",
+    "C:\\windows\\System32\\KERNELBASE.dll",
+    "C:\\windows\\System32\\WS2_32.dll",
+    "C:\\windows\\System32\\RPCRT4.dll",
+    "C:\\windows\\SYSTEM32\\dbghelp.dll",
+    "C:\\windows\\System32\\PSAPI.DLL",
+    "C:\\windows\\System32\\ADVAPI32.dll",
+    "C:\\windows\\System32\\ucrtbase.dll",
+    "C:\\windows\\System32\\msvcrt.dll",
+    "C:\\windows\\System32\\sechost.dll",
+    "C:\\windows\\SYSTEM32\\USERENV.dll",
+    "C:\\windows\\SYSTEM32\\IPHLPAPI.DLL",
+    "C:\\windows\\System32\\USER32.dll",
+    "C:\\windows\\System32\\profapi.dll",
+    "C:\\windows\\System32\\win32u.dll",
+    "C:\\windows\\System32\\GDI32.dll",
+    "C:\\windows\\System32\\gdi32full.dll",
+    "C:\\windows\\System32\\msvcp_win.dll",
+    "C:\\windows\\System32\\CRYPT32.dll",
+    "C:\\windows\\System32\\MSASN1.dll",
+    "C:\\windows\\System32\\bcrypt.dll",
+    "C:\\windows\\SYSTEM32\\WINMM.dll",
+    "C:\\windows\\SYSTEM32\\WINMMBASE.dll",
+    "C:\\windows\\System32\\cfgmgr32.dll",
+    "C:\\windows\\System32\\bcryptPrimitives.dll",
+    "C:\\windows\\System32\\IMM32.DLL",
+    "C:\\windows\\System32\\powrprof.dll",
+    "C:\\windows\\System32\\UMPDC.dll",
+    "C:\\windows\\SYSTEM32\\CRYPTBASE.DLL",
+    "C:\\windows\\system32\\uxtheme.dll",
+    "C:\\windows\\System32\\combase.dll",
+    "C:\\windows\\system32\\mswsock.dll",
+    "C:\\windows\\System32\\kernel.appcore.dll",
+    "C:\\windows\\System32\\NSI.dll",
+    "C:\\windows\\SYSTEM32\\dhcpcsvc6.DLL",
+    "C:\\windows\\SYSTEM32\\dhcpcsvc.DLL",
+    "C:\\windows\\SYSTEM32\\DNSAPI.dll",
+    "C:\\windows\\system32\\napinsp.dll",
+    "C:\\windows\\system32\\pnrpnsp.dll",
+    "C:\\windows\\System32\\winrnr.dll",
+    "C:\\windows\\system32\\NLAapi.dll",
+    "C:\\windows\\system32\\wshbth.dll",
+    "C:\\Windows\\System32\\rasadhlp.dll",
+    "C:\\windows\\System32\\fwpuclnt.dll",
+    "\\\\?\\C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\node_modules\\_node-sass@4.13.1@node-sass\\vendor\\win32-x64-72\\binding.node"
+  ]
+}
\ No newline at end of file
diff --git a/src/components/common/MenuView/index.jsx b/src/components/common/MenuView/index.jsx
index 19202f3..77c8892 100644
--- a/src/components/common/MenuView/index.jsx
+++ b/src/components/common/MenuView/index.jsx
@@ -25,9 +25,9 @@
     if (name) {
         const index = name.indexOf(' - ');
         if (index > -1) {
-            document.title = `${name.substr(index)}`;
+            document.title = `恒巨信息OA-${name.substr(index)}`;
         } else {
-            document.title = `${name}`;
+            document.title = `恒巨信息OA-${name}`;
         }
     } else {
         document.title = `恒巨信息`;
diff --git a/src/components/page/logManage/Rawler/index.jsx b/src/components/page/logManage/Rawler/index.jsx
new file mode 100644
index 0000000..edaf1f8
--- /dev/null
+++ b/src/components/page/logManage/Rawler/index.jsx
@@ -0,0 +1,240 @@
+/* eslint-disable */
+/**liuwh
+ * 4/30/2020, 2:39:21 PM
+ * doc comment for the file goes here
+ */
+
+/** 爬虫词条管理 */
+import React, { ReactNode, ReactEventHandler, Component } from 'react';
+import { Badge, Button, Divider, Popconfirm, Modal, Row, Col, Input, message } from 'antd';
+import TableView from '../../../common/TableView';
+import SearchFormView from '../../../common/SearchFormView';
+import './index.scss';
+import moment from 'moment';
+import './index.scss';
+import fetch from '../../../../api/request';
+
+export default class Rawler extends Component {
+  constructor(props) {
+    super(props);
+    this.config = {
+    };
+    this.state = {
+      formData: {
+        __key: Date.now(),
+        page: 1,
+        size: 10,
+      },
+      visible: false,
+      btnLoading: false,
+      data: {}
+    };
+  }
+
+  componentDidMount() { }
+
+  onAdd = () => {
+    this.setState({
+      visible: true
+    })
+  }
+
+
+  setFormData = data => {
+    console.log('form', data);
+    this.setState({
+      formData: data,
+    });
+  }
+
+  renderColumns = () => {
+    return [
+      { title: '序号', dataIndex: 'index' },
+      { title: '关键词', dataIndex: 'keyword' },
+      {
+        title: '创建时间', dataIndex: 'createTime', render: (cur, item) => {
+          return cur ? moment(cur).format("YYYY-MM-DD HH:mm") : ""
+        }
+      },
+      {
+        title: '操作',
+        key: 'operation',
+        render: (text, record) => {
+          return (
+            <React.Fragment>
+              <a onClick={() => this.linkDetail(record)}>修改</a>
+              <Divider type="vertical" />
+              <Popconfirm title="确定删除吗?" onConfirm={() => this.handleDelete(record.id, 0)}>
+                <a>删除</a>
+              </Popconfirm>
+              <Divider type="vertical" />
+              {
+                record.status == '1' ?
+                  <Popconfirm title="确定停用吗?" onConfirm={() => this.handleDelete(record.id, '99')}>
+                    <a>停用</a>
+                  </Popconfirm> :
+                  <Popconfirm title="确定启用吗?" onConfirm={() => this.handleDelete(record.id, '1')}>
+                    <a style={{ color: 'gray' }}>启用</a>
+                  </Popconfirm>
+              }
+              
+            </React.Fragment>
+          );
+        },
+      },
+
+    ];
+  }
+
+  //修改
+  linkDetail = record => {
+    this.setState({
+      data: record,
+      visible: true
+    })
+  }
+
+  onCancel = () => {
+    this.setState({
+      visible: false
+    })
+  }
+
+  onSave = () => {
+    let _this = this;
+    const { data } = _this.state;
+    _this.setState({
+      btnLoading: true
+    })
+    fetch({
+      url: `api/param/saveSpiderParam`,
+      method: 'POST',
+      data: {
+        ...data
+      }
+    }).then(res => {
+      console.log(res)
+      _this.setState({
+        btnLoading: false,
+      });
+      message.success("更新成功!");
+      _this.setState({
+        formData: {
+          ..._this.state.formData,
+          __key: Date.now(),
+        },
+        visible: false,
+        data: {}
+      })
+    })
+  }
+
+  //停用或者启用关键词
+  handleDelete = (id, status) => {
+    const that = this;
+    if (status == 0) {
+      fetch({
+        url: `api/param/deleteParam`,
+        params: {
+          id
+        }
+      }).then(res => {
+        that.setState({
+          formData: {
+            ...that.state.formData,
+            __key: Date.now(),
+          },
+        })
+      })
+
+    } else {
+      fetch({
+        url: `api/param/deleteOrStartParam`,
+        params: {
+          id,
+          status
+        }
+      }).then(res => {
+        that.setState({
+          formData: {
+            ...that.state.formData,
+            __key: Date.now(),
+          },
+        })
+      })
+    }
+  }
+
+  inputChange = ({ target: { value, name } }) => {
+    this.setState(({ data }) => ({
+      data: {
+        ...data,
+        [name]: value
+      }
+    }))
+  }
+
+  render() {
+    const { formData, visible, data, btnLoading } = this.state;
+    let tableParams = {
+      url: `api/param/queryParam`,
+      formData,
+      key: formData.__key,
+      columns: this.renderColumns(),
+      extraFromData: {
+        logType: '2',
+      },
+      setFormData: this.setFormData
+    }
+    const formItemLayout = {
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 },
+      },
+    };
+    return (
+      <div className="rawler-main">
+        <Button type="primary" danger onClick={this.onAdd} >新增关键词</Button>
+        <Divider />
+        <TableView {...tableParams} />
+        <Modal
+          destroyOnClose
+          title="新增关键词"
+          visible={visible}
+          footer={null}
+          onCancel={this.onCancel}>
+          <Row
+            type="flex"
+            gutter={20}
+            style={{ margin: '20px 0 0 20px', alignItems: 'center ' }}>
+            <Col>
+              关键词:
+            </Col>
+            <Col style={{ flex: '1' }}>
+              <Input value={data.keyword || ''} name='keyword' onChange={this.inputChange} placeholder="请输入关键词" />
+            </Col>
+          </Row>
+          <Row
+            type="flex"
+            gutter={20}
+            justify="end"
+            style={{ marginTop: '20px' }}>
+            <Col>
+              <Button onClick={this.onCancel}>取消</Button>
+            </Col>
+            <Col>
+              <Button type="primary" htmlType="submit" onClick={this.onSave} loading={btnLoading}>
+                确定
+                </Button>
+            </Col>
+          </Row>
+
+        </Modal>
+      </div>
+    )
+  }
+}
diff --git a/src/components/page/logManage/Rawler/index.scss b/src/components/page/logManage/Rawler/index.scss
new file mode 100644
index 0000000..ef4070c
--- /dev/null
+++ b/src/components/page/logManage/Rawler/index.scss
@@ -0,0 +1,14 @@
+/* eslint-disable */
+/**liuwh
+ * 4/30/2020, 2:39:21 PM
+ * doc comment for the file goes here
+ */
+
+/** Happy Coding */
+.rawler {
+  &-main {
+    background: #fff;
+    margin: 20px;
+    padding: 20px;
+  }
+}
diff --git a/src/components/page/logManage/browseLog/index.jsx b/src/components/page/logManage/browseLog/index.jsx
index f556d93..d7c38c3 100644
--- a/src/components/page/logManage/browseLog/index.jsx
+++ b/src/components/page/logManage/browseLog/index.jsx
@@ -6,7 +6,7 @@
 
 /** 浏览日志 */
 import React, { ReactNode, ReactEventHandler, Component } from 'react';
-import { Badge } from 'antd';
+import { Badge, Tooltip } from 'antd';
 import TableView from '../../../common/TableView';
 import SearchFormView from '../../../common/SearchFormView';
 import './index.scss';
@@ -41,26 +41,51 @@
       { title: '序号', dataIndex: 'index' },
       { title: '浏览者', dataIndex: 'userName' },
       { title: '浏览模块', dataIndex: 'moduleName' },
-      { title: '浏览功能', dataIndex: 'functionName' },
-      { title: '浏览描述', dataIndex: 'operDesc' },
+      {
+        title: '浏览功能', dataIndex: 'functionName',
+        render: (cur, item) => {
+          return <Tooltip title={cur}><span>{this.fontNumber(cur||'')}</span></Tooltip>
+        }
+      },
+      {
+        title: '浏览描述', dataIndex: 'operDesc',
+        render: (cur, item) => {
+          return <Tooltip title={cur}><span>{this.fontNumber(cur||'')}</span></Tooltip>
+        }
+      },
       {
         title: '浏览日期', dataIndex: 'createTime', render: (cur, item) => {
-          return cur ? moment(cur).format("YYYY-MM-DD HH:mm") : ""
+          return cur ? moment(cur).format("YYYY-MM-DD HH:mm:ss") : ""
         }
       },
       { title: 'IP地址', dataIndex: 'operIp' },
       { title: '访问终端', dataIndex: 'operTerminal' },
       { title: '访问浏览器', dataIndex: 'operBrowser' },
-      { title: '状态', dataIndex: 'operStatus', render: (cur, item)=> {
-        return this.operStatus(cur)
-      }}
+      {
+        title: '状态', dataIndex: 'operStatus', render: (cur, item) => {
+          return cur == '1' ? <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }} /> : <Badge count={'失败'} />
+
+        }
+      }
     ];
+  }
+
+
+  fontNumber(date) {
+    const length = date.length
+    if (length > 16) {
+      var str = ''
+      str = date.substring(0, 16) + '......'
+      return str
+    } else {
+      return date
+    }
   }
 
   operStatus = (status) => {
     switch (status) {
       case '1':
-        return <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }}/>
+        return <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }} />
       case '99':
         return <Badge count={'失败'} />
     }
diff --git a/src/components/page/logManage/operLog/index.jsx b/src/components/page/logManage/operLog/index.jsx
index 0018315..8b18db2 100644
--- a/src/components/page/logManage/operLog/index.jsx
+++ b/src/components/page/logManage/operLog/index.jsx
@@ -6,7 +6,7 @@
 
 /** 操作日志 */
 import React, { ReactNode, ReactEventHandler, Component } from 'react';
-import { Badge } from 'antd';
+import { Badge, Tooltip } from 'antd';
 import TableView from '../../../common/TableView';
 import SearchFormView from '../../../common/SearchFormView';
 import './index.scss';
@@ -43,11 +43,22 @@
       { title: '序号', dataIndex: 'index' },
       { title: '操作者', dataIndex: 'userName' },
       { title: '操作模块', dataIndex: 'moduleName' },
-      { title: '操作功能', dataIndex: 'functionName' },
-      { title: '操作描述', dataIndex: 'operDesc' },
+      {
+        title: '操作功能',
+        dataIndex: 'functionName',
+        render: (cur, item) => {
+          return <Tooltip title={cur}><span>{this.fontNumber(cur || '')}</span></Tooltip>
+        }
+      },
+      {
+        title: '操作描述', dataIndex: 'operDesc',
+        render: (cur, item) => {
+          return <Tooltip title={cur}><span>{this.fontNumber(cur || '')}</span></Tooltip>
+        }
+      },
       {
         title: '操作日期', dataIndex: 'createTime', render: (cur, item) => {
-          return cur ? moment(cur).format("YYYY-MM-DD HH:mm") : ""
+          return cur ? moment(cur).format("YYYY-MM-DD HH:mm:ss") : ""
         }
       },
       { title: 'IP地址', dataIndex: 'operIp' },
@@ -55,16 +66,27 @@
       { title: '访问浏览器', dataIndex: 'operBrowser' },
       {
         title: '状态', dataIndex: 'operStatus', render: (cur, item) => {
-          return this.operStatus(cur)
+          return cur == '1' ? <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }} /> : <Badge count={'失败'} />
         }
       }
     ];
   }
 
+  fontNumber(date) {
+    const length = date.length
+    if (length > 16) {
+      var str = ''
+      str = date.substring(0, 16) + '......'
+      return str
+    } else {
+      return date
+    }
+  }
+
   operStatus = (status) => {
     switch (status) {
       case '1':
-        return <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }}/>
+        return <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }} />
       case '99':
         return <Badge count={'失败'} />
     }
diff --git a/src/index.js b/src/index.js
index 5f3f604..e9f3628 100644
--- a/src/index.js
+++ b/src/index.js
@@ -28,6 +28,7 @@
 import DocumentDetail from './pages/document/DocumentDetail';//文档详情
 import BrowseLog from './pages/logManage/browseLog';//浏览日志
 import OperLog from './pages/logManage/operLog';//操作日志
+import Rawler from './pages/logManage/Rawler';//爬虫词条管理
 import Information from './pages/personal/information';//个人信息
 
 const { Content } = Layout;
@@ -64,6 +65,8 @@
               <Route path="/logManage/browseLog" component={BrowseLog} />
               {/* 操作日志 */}
               <Route path="/logManage/operLog" component={OperLog} />
+              {/* 爬虫词条管理 */}
+              <Route path="/logManage/rawler" component={Rawler} />
               {/* 个人信息 */}
               <Route path="/personal/information" component={Information} />
 
diff --git a/src/menu/menu.data.js b/src/menu/menu.data.js
index f8afa87..13aef07 100644
--- a/src/menu/menu.data.js
+++ b/src/menu/menu.data.js
@@ -96,6 +96,14 @@
         parentKey: '/logManage',
         children: [],
       },
+      {
+        key: '/logManage/rawler',
+        name: "爬虫词条管理",
+        path: "/logManage/rawler",
+        permKey: '/logManage/rawler',
+        parentKey: '/logManage',
+        children: [],
+      },
     ],
   },
   {
diff --git a/src/pages/logManage/Rawler.jsx b/src/pages/logManage/Rawler.jsx
new file mode 100644
index 0000000..4f26819
--- /dev/null
+++ b/src/pages/logManage/Rawler.jsx
@@ -0,0 +1,34 @@
+/* eslint-disable */
+/**liuwh
+ * 4/30/2020, 2:37:29 PM
+ * doc comment for the file goes here
+ */
+
+/** 爬虫词条管理 */
+import React, { ReactNode, ReactEventHandler, Component } from 'react';
+import RawlerPage from '../../components/page/logManage/Rawler'
+
+
+export default class Rawler extends Component {
+  constructor(props) {
+    super(props);
+    this.config = {
+    };
+    this.state = {
+    };
+  }
+
+  componentWillMount() { }
+
+  componentDidMount() { }
+
+  componentDidShow() { }
+
+  render() {
+    return (
+      <div className="rawler-main">
+        <RawlerPage />
+      </div>
+    )
+  }
+}
diff --git a/src/pages/login/login.jsx b/src/pages/login/login.jsx
index b5b4827..3d77cf0 100644
--- a/src/pages/login/login.jsx
+++ b/src/pages/login/login.jsx
@@ -24,7 +24,7 @@
     };
   }
   componentWillMount() {
-    document.title = '用户登录'
+    document.title = '恒巨信息OA-用户登录'
   }
 
   handleSubmit = e => {
@@ -90,7 +90,7 @@
                     rules: [{ required: true, message: '请输入账号!' }],
                   })(
                     <Input
-                      style={{ width: '32vh', height: '5vh', margin: '12px' }}
+                      style={{ width: '300px', height: '48px', margin: '12px' }}
                       prefix={<Icon type="user" style={{ color: 'rgba(0,0,0,.25)' }} />}
                       placeholder="请输入账号"
                     />,
@@ -102,7 +102,7 @@
                     initialValue: 'admin'
                   })(
                     <Input
-                      style={{ width: '32vh', height: '5vh', margin: '12px' }}
+                      style={{ width: '300px', height: '48px', margin: '12px' }}
                       prefix={<Icon type="lock" style={{ color: 'rgba(0,0,0,.25)' }} />}
                       type="password"
                       placeholder="请输入密码"
diff --git a/src/pages/login/login.scss b/src/pages/login/login.scss
index 8d27685..e1b6744 100644
--- a/src/pages/login/login.scss
+++ b/src/pages/login/login.scss
@@ -12,8 +12,8 @@
   float: right;
 }
 .login-main .login-form-button {
-  width: 32vh;
-  height: 5vh;
+  width: 300px;
+  height: 48px;
 }
 
 .login-div-top-img {
@@ -58,11 +58,11 @@
 }
 
 .login-div-content-div{
-  width: 40.8vh;
+  width: 382px;
   background: #fff;
-  height: 44.8vh;
+  height: 420px;
   position: absolute;
-  right: 19vh;
+  right: 108px;
   border-radius: 8px;
   margin-top: 10vh;
 }

--
Gitblit v1.8.0