Browse Source

1

yantai_master
dai 3 years ago
parent
commit
f97f4eac18
  1. 580
      report.20221017.102821.29368.0.001.json
  2. 580
      report.20221026.142822.38864.0.001.json
  3. BIN
      src/assets/img/common/map-poi.png
  4. BIN
      src/assets/img/yantai/index/bg.png
  5. BIN
      src/assets/img/yantai/index/db.png
  6. BIN
      src/assets/img/yantai/index/guanli.png
  7. BIN
      src/assets/img/yantai/index/shuju.png
  8. BIN
      src/assets/img/yantai/index/you.png
  9. BIN
      src/assets/img/yantai/index/yuanhu-you.png
  10. BIN
      src/assets/img/yantai/index/yuanhu-zuo.png
  11. BIN
      src/assets/img/yantai/index/zuo.png
  12. BIN
      src/assets/img/yantai/login/bg.jpg
  13. BIN
      src/assets/img/yantai/login/bg.png
  14. 185
      src/assets/scss/pages/yantai-index.scss
  15. 210
      src/assets/scss/pages/yantai-login.scss
  16. 388
      src/utils/dai-map.js
  17. 259
      src/utils/dai-map备份.js
  18. 5
      src/utils/tdt-wp-zw.js
  19. 7
      src/utils/tdt-wp.js
  20. 17
      src/utils/yantai-transit.js
  21. 378
      src/views/modules/workSys/operAuth.vue
  22. 209
      src/views/pages/yantai-index.vue
  23. 93
      src/views/pages/yantai-login-transit.vue
  24. 435
      src/views/pages/yantai-login.vue

580
report.20221017.102821.29368.0.001.json

@ -0,0 +1,580 @@
{
"header": {
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20221017.102821.29368.0.001.json",
"dumpEventTime": "2022-10-17T10:28:21Z",
"processId": 29368,
"cwd": "D:\\Project\\Web\\epmet-oper-gov",
"commandLine": [
"node",
"D:\\Project\\Web\\epmet-oper-gov\\node_modules\\.bin\\\\..\\_@vue_cli-service@3.12.1@@vue\\cli-service\\bin\\vue-cli-service.js",
"serve"
],
"nodejsVersion": "v11.15.0",
"wordSize": 64,
"arch": "x64",
"platform": "win32",
"componentVersions": {
"node": "11.15.0",
"v8": "7.0.276.38-node.19",
"uv": "1.27.0",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "67",
"nghttp2": "1.37.0",
"napi": "4",
"llhttp": "1.1.1",
"http_parser": "2.8.0",
"openssl": "1.1.1b",
"cldr": "34.0",
"icu": "63.1",
"tz": "2018e",
"unicode": "11.0"
},
"release": {
"name": "node",
"headersUrl": "https://nodejs.org/download/release/v11.15.0/node-v11.15.0-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v11.15.0/node-v11.15.0.tar.gz",
"libUrl": "https://nodejs.org/download/release/v11.15.0/win-x64/node.lib"
},
"osName": "Windows_NT",
"osRelease": "10.0.22621",
"osVersion": "Windows 10 Home China",
"osMachine": "x86_64",
"host": "DESKTOP-KD168PS"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x00007ff7ab21d24e",
"symbol": "std::basic_ios<char,std::char_traits<char> >::fill+16366"
},
{
"pc": "0x00007ff7ab21c0f9",
"symbol": "std::basic_ios<char,std::char_traits<char> >::fill+11929"
},
{
"pc": "0x00007ff7ab21b923",
"symbol": "std::basic_ios<char,std::char_traits<char> >::fill+9923"
},
{
"pc": "0x00007ff7ab30dc22",
"symbol": "uv_loop_fork+89362"
},
{
"pc": "0x00007ff7ab73609e",
"symbol": "v8::internal::FatalProcessOutOfMemory+798"
},
{
"pc": "0x00007ff7ab735fd7",
"symbol": "v8::internal::FatalProcessOutOfMemory+599"
},
{
"pc": "0x00007ff7ab7e9a14",
"symbol": "v8::internal::Heap::RootIsImmortalImmovable+14068"
},
{
"pc": "0x00007ff7ab7df822",
"symbol": "v8::internal::Heap::CollectGarbage+7234"
},
{
"pc": "0x00007ff7ab7de038",
"symbol": "v8::internal::Heap::CollectGarbage+1112"
},
{
"pc": "0x00007ff7ab7e7967",
"symbol": "v8::internal::Heap::RootIsImmortalImmovable+5703"
},
{
"pc": "0x00007ff7ab7e79e6",
"symbol": "v8::internal::Heap::RootIsImmortalImmovable+5830"
},
{
"pc": "0x00007ff7ab91f8b1",
"symbol": "v8::internal::Factory::NewFillerObject+49"
},
{
"pc": "0x00007ff7ab9d9786",
"symbol": "v8::internal::StoreBuffer::StoreBufferOverflow+27190"
},
{
"pc": "0x00000104951d0481",
"symbol": ""
}
],
"javascriptHeap": {
"totalMemory": 1501376512,
"totalCommittedMemory": 1501376512,
"usedMemory": 1346924536,
"availableMemory": 39500640,
"memoryLimit": 1526909922,
"heapSpaces": {
"read_only_space": {
"memorySize": 524288,
"committedMemory": 524288,
"capacity": 515584,
"used": 33520,
"available": 482064
},
"new_space": {
"memorySize": 33554432,
"committedMemory": 33554432,
"capacity": 16498688,
"used": 1868816,
"available": 14629872
},
"old_space": {
"memorySize": 1206063104,
"committedMemory": 1206063104,
"capacity": 1114694856,
"used": 1113755240,
"available": 939616
},
"code_space": {
"memorySize": 11534336,
"committedMemory": 11534336,
"capacity": 9093152,
"used": 9093152,
"available": 0
},
"map_space": {
"memorySize": 31993856,
"committedMemory": 31993856,
"capacity": 6363360,
"used": 6363360,
"available": 0
},
"large_object_space": {
"memorySize": 217706496,
"committedMemory": 217706496,
"capacity": 239259536,
"used": 215810448,
"available": 23449088
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 0,
"used": 0,
"available": 0
}
}
},
"resourceUsage": {
"userCpuSeconds": 2690.61,
"kernelCpuSeconds": 179.828,
"cpuConsumptionPercent": 0.692249,
"maxRss": 1829195776,
"pageFaults": {
"IORequired": 48054699,
"IONotRequired": 0
},
"fsActivity": {
"reads": 145756,
"writes": 5834
}
},
"libuv": [
],
"environmentVariables": {
"=C:": "C:\\",
"=D:": "D:\\Project\\Web\\epmet-oper-gov",
"add_path": "D:\\APP\\cmder",
"add_to_path": "D:\\APP\\cmder",
"aliases": "D:\\APP\\cmder\\config\\user_aliases.cmd",
"ALLUSERSPROFILE": "C:\\ProgramData",
"ANSICON": "90x1000 (90x24)",
"ANSICON_DEF": "7",
"APPDATA": "C:\\Users\\lenovo\\AppData\\Roaming",
"architecture_bits": "64",
"BABEL_ENV": "development",
"ccall": "call \"D:\\APP\\cmder\\vendor\\bin\\cexec.cmd\"",
"cexec": "\"D:\\APP\\cmder\\vendor\\bin\\cexec.cmd\"",
"clink_architecture": "x64",
"CMDER_ALIASES": "1",
"CMDER_CLINK": "1",
"CMDER_CONFIGURED": "1",
"CMDER_INIT_END": "10:45:24.68",
"CMDER_INIT_START": "10:45:22.18",
"CMDER_ROOT": "D:\\APP\\cmder",
"CMDER_SHELL": "cmd",
"CMDER_USER_FLAGS": " ",
"COLUMNS": "90",
"CommonProgramFiles": "C:\\Program Files\\Common Files",
"CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files",
"CommonProgramW6432": "C:\\Program Files\\Common Files",
"COMPUTERNAME": "DESKTOP-KD168PS",
"ComSpec": "C:\\WINDOWS\\system32\\cmd.exe",
"ConEmuANSI": "ON",
"ConEmuAnsiLog": "",
"ConEmuArgs": "/Icon \"D:\\APP\\cmder\\icons\\cmder.ico\" /Title Cmder /dir \"D:\\Project\\Web\\epmet-oper-gov\"",
"ConEmuArgs2": "",
"ConEmuBackHWND": "0x00020E34",
"ConEmuBaseDir": "D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu",
"ConEmuBaseDirShort": "D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu",
"ConEmuBuild": "210912",
"ConEmuCfgDir": "D:\\APP\\cmder\\vendor\\conemu-maximus5",
"ConEmuConfig": "",
"ConEmuDir": "D:\\APP\\cmder\\vendor\\conemu-maximus5",
"ConEmuDrawHWND": "0x00020E38",
"ConEmuDrive": "D:",
"ConEmuHooks": "Enabled",
"ConEmuHWND": "0x00390A98",
"ConEmuPalette": "Monokai",
"ConEmuPID": "24844",
"ConEmuServerPID": "14680",
"ConEmuTask": "{cmd::Cmder}",
"ConEmuWorkDir": "D:\\Project\\Web\\epmet-oper-gov",
"ConEmuWorkDrive": "D:",
"currenArgu": "/setpath",
"debug_output": "0",
"depth": "1",
"dp0": "D:\\Project\\Web\\epmet-oper-gov\\node_modules\\.bin\\",
"DriverData": "C:\\Windows\\System32\\Drivers\\DriverData",
"fast_init": "0",
"feFlagName": " ",
"feNot": "false",
"find_query": "D:\\\\APP\\\\cmder",
"found": "1",
"git_executable": "D:\\APP\\Git\\cmd\\git.exe",
"GIT_INSTALL_ROOT": "D:\\APP\\Git",
"git_locale": "\"D:\\APP\\Git\\usr\\bin\\locale.exe\"",
"GIT_VERSION_USER": "2.31.1.windows.1",
"HOME": "C:\\Users\\lenovo",
"HOMEDRIVE": "C:",
"HOMEPATH": "\\Users\\lenovo",
"INIT_CWD": "D:\\Project\\Web\\epmet-oper-gov",
"LANG": "zh_CN.UTF-8",
"lib_base": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_base.cmd\"",
"lib_console": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_console.cmd\"",
"lib_git": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_git.cmd\"",
"lib_path": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_path.cmd\"",
"lib_profile": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_profile.cmd\"",
"LINES": "24",
"LOCALAPPDATA": "C:\\Users\\lenovo\\AppData\\Local",
"LOGONSERVER": "\\\\DESKTOP-KD168PS",
"max_depth": "1",
"nix_tools": "1",
"NODE": "D:\\APP\\nodejs\\node.exe",
"NODE_ENV": "development",
"NODE_EXE": "D:\\APP\\nodejs\\\\node.exe",
"NPM_CLI_JS": "D:\\APP\\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\",\"dev\"],\"original\":[\"run\",\"dev\"]}",
"npm_config_audit": "true",
"npm_config_audit_level": "low",
"npm_config_auth_type": "legacy",
"npm_config_bin_links": "true",
"npm_config_browser": "",
"npm_config_ca": "",
"npm_config_cache": "C:\\Users\\lenovo\\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_git": "git",
"npm_config_git_tag_version": "true",
"npm_config_global": "",
"npm_config_globalconfig": "C:\\Users\\lenovo\\AppData\\Roaming\\npm\\etc\\npmrc",
"npm_config_globalignorefile": "C:\\Users\\lenovo\\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\\lenovo\\.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": "D:\\APP\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js",
"npm_config_node_options": "",
"npm_config_node_version": "11.15.0",
"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\\lenovo\\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\\lenovo\\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\\lenovo\\.npmrc",
"npm_config_user_agent": "npm/6.7.0 node/v11.15.0 win32 x64",
"npm_config_version": "",
"npm_config_versions": "",
"npm_config_viewer": "browser",
"npm_execpath": "D:\\APP\\nodejs\\node_modules\\npm\\bin\\npm-cli.js",
"npm_lifecycle_event": "dev",
"npm_lifecycle_script": "vue-cli-service serve",
"npm_node_execpath": "D:\\APP\\nodejs\\node.exe",
"npm_package_browserslist_0": "> 1%",
"npm_package_browserslist_1": "last 2 versions",
"npm_package_browserslist_2=not ie <": " 10",
"npm_package_dependencies_async_validator": "^4.2.5",
"npm_package_dependencies_axios": "^0.19.0",
"npm_package_dependencies_babel_eslint": "^8.0.1",
"npm_package_dependencies_babel_plugin_component": "^1.1.1",
"npm_package_dependencies_echarts": "^5.2.2",
"npm_package_dependencies_echarts_gl": "^2.0.9",
"npm_package_dependencies_element_theme": "^2.0.1",
"npm_package_dependencies_element_ui": "^2.13.0",
"npm_package_dependencies_file_saver": "^2.0.5",
"npm_package_dependencies_gulp_autoprefixer": "^6.1.0",
"npm_package_dependencies_gulp_clean_css": "^4.2.0",
"npm_package_dependencies_gulp_load_plugins": "^2.0.0",
"npm_package_dependencies_gulp_rename": "^1.4.0",
"npm_package_dependencies_gulp_sass": "^4.0.2",
"npm_package_dependencies_jsencrypt": "^3.0.3",
"npm_package_dependencies_js_cookie": "^2.2.0",
"npm_package_dependencies_lodash": "^4.17.15",
"npm_package_dependencies_mint_ui": "^2.2.13",
"npm_package_dependencies_node_sass": "^4.12.0",
"npm_package_dependencies_ol": "^6.9.0",
"npm_package_dependencies_portfinder": "^1.0.21",
"npm_package_dependencies_qs": "^6.7.0",
"npm_package_dependencies_quill": "^1.3.6",
"npm_package_dependencies_sass_loader": "^7.1.0",
"npm_package_dependencies_screenfull": "^4.2.1",
"npm_package_dependencies_sortablejs": "^1.12.0",
"npm_package_dependencies_svg_sprite_loader": "^4.1.6",
"npm_package_dependencies_throttle_debounce": "^3.0.1",
"npm_package_dependencies_vue": "^2.6.11",
"npm_package_dependencies_vuex": "^3.1.1",
"npm_package_dependencies_vue_baidu_map": "^0.21.22",
"npm_package_dependencies_vue_i18n": "^8.12.0",
"npm_package_dependencies_vue_quill_editor": "^3.0.6",
"npm_package_dependencies_vue_router": "^3.0.7",
"npm_package_dependencies_v_distpicker": "^1.2.2",
"npm_package_dependencies_xlsx": "^0.17.1",
"npm_package_dependencies__antv_l7": "2.9.14",
"npm_package_dependencies__antv_l7_draw": "3.0.5",
"npm_package_dependencies__antv_l7_maps": "2.9.14",
"npm_package_dependencies__riophae_vue_treeselect": "^0.4.0",
"npm_package_dependencies__tinymce_tinymce_vue": "^3.2.8",
"npm_package_description": "## Project setup ``` npm install ```",
"npm_package_devDependencies_dai_js": "^0.0.12",
"npm_package_devDependencies_element_theme_chalk": "^2.13.0",
"npm_package_devDependencies_natives": "^1.1.6",
"npm_package_devDependencies_ol": "^6.9.0",
"npm_package_devDependencies_script_loader": "^0.7.2",
"npm_package_devDependencies_tinymce": "^5.8.2",
"npm_package_devDependencies_vue_template_compiler": "^2.6.11",
"npm_package_devDependencies__antv_f2": "^3.8.10-beta.1",
"npm_package_devDependencies__tinymce_tinymce_vue": "^3.2.8",
"npm_package_devDependencies__vue_cli_plugin_babel": "^3.10.0",
"npm_package_devDependencies__vue_cli_plugin_eslint": "^3.10.0",
"npm_package_devDependencies__vue_cli_service": "^3.10.0",
"npm_package_devDependencies__vue_eslint_config_standard": "^4.0.0",
"npm_package_element_theme_browsers_0": "> 1%",
"npm_package_element_theme_browsers_1": "last 2 versions",
"npm_package_element_theme_browsers_2=not ie <": " 10",
"npm_package_element_theme_config": "./src/element-ui/theme-variables.scss",
"npm_package_element_theme_minimize": "true",
"npm_package_element_theme_out": "./src/element-ui/theme",
"npm_package_engines_node=>": " 8.11.1",
"npm_package_engines_npm=>": " 5.6.0",
"npm_package_eslintConfig_env_node": "true",
"npm_package_eslintConfig_extends_0": "plugin:vue/essential",
"npm_package_eslintConfig_extends_1": "@vue/standard",
"npm_package_eslintConfig_parserOptions_parser": "babel-eslint",
"npm_package_eslintConfig_root": "true",
"npm_package_gitHead": "c3dee098d64cf40debbc5455d165b478a335f317",
"npm_package_name": "epmet-oper-web",
"npm_package_private": "true",
"npm_package_readmeFilename": "README.md",
"npm_package_scripts_build": "vue-cli-service build",
"npm_package_scripts_build_prod": "vue-cli-service build --mode production",
"npm_package_scripts_build_shibei_prod": "vue-cli-service build --mode shibei_production",
"npm_package_scripts_build_sit": "vue-cli-service build --mode production.sit",
"npm_package_scripts_build_uat": "vue-cli-service build --mode production.uat",
"npm_package_scripts_dev": "vue-cli-service serve",
"npm_package_scripts_et": "et",
"npm_package_scripts_et_init": "et -i",
"npm_package_scripts_et_list": "gulp themes",
"npm_package_scripts_lint": "vue-cli-service lint",
"npm_package_scripts_serve": "vue-cli-service serve",
"npm_package_version": "2.0.0",
"NPM_PREFIX_NPM_CLI_JS": "C:\\Users\\lenovo\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js",
"NUMBER_OF_PROCESSORS": "8",
"OLD_PATH": "D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu\\Scripts;D:\\APP\\cmder\\vendor\\conemu-maximus5;D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;D:\\APP\\cmder;D:\\APP\\Git\\cmd;D:\\APP\\微信web开发者工具\\dll;D:\\APP\\nodejs\\;D:\\APP\\python\\Scripts\\;D:\\APP\\python\\;C:\\Users\\lenovo\\AppData\\Local\\Microsoft\\WindowsApps;D:\\APP\\Microsoft VS Code\\bin;C:\\Users\\lenovo\\AppData\\Roaming\\npm;D:\\APP\\Git\\mingw64\\bin;D:\\APP\\Git\\usr\\bin;D:\\APP\\cmder\\vendor\\bin",
"OneDrive": "C:\\Users\\lenovo\\OneDrive",
"OS": "Windows_NT",
"Path": "D:\\APP\\nodejs\\node_modules\\npm\\node_modules\\npm-lifecycle\\node-gyp-bin;D:\\Project\\Web\\epmet-oper-gov\\node_modules\\.bin;D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu\\Scripts;D:\\APP\\cmder\\vendor\\conemu-maximus5;D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;D:\\APP\\cmder;D:\\APP\\Git\\cmd;D:\\APP\\微信web开发者工具\\dll;D:\\APP\\nodejs\\;D:\\APP\\python\\Scripts\\;D:\\APP\\python\\;C:\\Users\\lenovo\\AppData\\Local\\Microsoft\\WindowsApps;D:\\APP\\Microsoft VS Code\\bin;C:\\Users\\lenovo\\AppData\\Roaming\\npm;D:\\APP\\Git\\mingw64\\bin;D:\\APP\\Git\\usr\\bin;D:\\APP\\cmder\\vendor\\bin",
"PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JSE;.WSF;.WSH;.MSC",
"path_position": "append",
"PLINK_PROTOCOL": "ssh",
"position": "append",
"print_debug": "if 0 gtr 0 call \"D:\\APP\\cmder\\vendor\\lib\\lib_console.cmd\" debug_output",
"print_error": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_console.cmd\" show_error",
"print_verbose": "if 0 gtr 0 call \"D:\\APP\\cmder\\vendor\\lib\\lib_console.cmd\" verbose_output",
"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": "C\bL\bI\bN\bK\b \b$P$G",
"PSModulePath": "C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules",
"PUBLIC": "C:\\Users\\Public",
"SESSIONNAME": "Console",
"SVN_SSH": "D:\\\\APP\\\\Git\\\\bin\\\\ssh.exe",
"SystemDrive": "C:",
"SystemRoot": "C:\\WINDOWS",
"TEMP": "C:\\Users\\lenovo\\AppData\\Local\\Temp",
"TERM": "cygwin",
"time_init": "0",
"TMP": "C:\\Users\\lenovo\\AppData\\Local\\Temp",
"USERDOMAIN": "DESKTOP-KD168PS",
"USERDOMAIN_ROAMINGPROFILE": "DESKTOP-KD168PS",
"USERNAME": "lenovo",
"USERPROFILE": "C:\\Users\\lenovo",
"user_aliases": "D:\\APP\\cmder\\config\\user_aliases.cmd",
"USER_BUILD": "windows.1",
"USER_MAJOR": "2",
"USER_MINOR": "31",
"USER_PATCH": "1",
"verbose_output": "0",
"VUE_APP_API_SERVER": "http://192.168.1.140/api",
"VUE_APP_NODE_ENV": "dev",
"VUE_APP_PUBLIC_PATH": "epmet-oper",
"VUE_CLI_ENTRY_FILES": "[\"D:\\\\Project\\\\Web\\\\epmet-oper-gov\\\\src\\\\main.js\"]",
"WEBPACK_DEV_SERVER": "true",
"windir": "C:\\WINDOWS",
"ZES_ENABLE_SYSMAN": "1",
"_prog": "node"
},
"sharedObjects": [
"D:\\APP\\nodejs\\node.exe",
"C:\\WINDOWS\\SYSTEM32\\ntdll.dll",
"C:\\WINDOWS\\System32\\KERNEL32.DLL",
"C:\\WINDOWS\\System32\\KERNELBASE.dll",
"C:\\WINDOWS\\System32\\PSAPI.DLL",
"C:\\WINDOWS\\System32\\WS2_32.dll",
"C:\\WINDOWS\\System32\\RPCRT4.dll",
"C:\\WINDOWS\\System32\\ADVAPI32.dll",
"C:\\WINDOWS\\System32\\msvcrt.dll",
"C:\\WINDOWS\\System32\\sechost.dll",
"C:\\WINDOWS\\System32\\USER32.dll",
"C:\\WINDOWS\\System32\\win32u.dll",
"C:\\WINDOWS\\System32\\GDI32.dll",
"C:\\WINDOWS\\System32\\gdi32full.dll",
"C:\\WINDOWS\\SYSTEM32\\dbghelp.dll",
"C:\\WINDOWS\\System32\\msvcp_win.dll",
"C:\\WINDOWS\\System32\\ucrtbase.dll",
"C:\\WINDOWS\\System32\\combase.dll",
"C:\\WINDOWS\\System32\\CRYPT32.dll",
"C:\\WINDOWS\\System32\\OLEAUT32.dll",
"C:\\WINDOWS\\SYSTEM32\\IPHLPAPI.DLL",
"C:\\WINDOWS\\SYSTEM32\\bcrypt.dll",
"C:\\WINDOWS\\SYSTEM32\\USERENV.dll",
"C:\\WINDOWS\\SYSTEM32\\WINMM.dll",
"C:\\WINDOWS\\System32\\IMM32.DLL",
"D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu\\ConEmuHk64.dll",
"C:\\WINDOWS\\SYSTEM32\\powrprof.dll",
"C:\\WINDOWS\\SYSTEM32\\UMPDC.dll",
"C:\\WINDOWS\\system32\\uxtheme.dll",
"C:\\WINDOWS\\system32\\mswsock.dll",
"C:\\WINDOWS\\SYSTEM32\\kernel.appcore.dll",
"C:\\WINDOWS\\System32\\bcryptprimitives.dll",
"C:\\WINDOWS\\system32\\napinsp.dll",
"C:\\WINDOWS\\system32\\pnrpnsp.dll",
"C:\\WINDOWS\\SYSTEM32\\DNSAPI.dll",
"C:\\WINDOWS\\System32\\NSI.dll",
"C:\\WINDOWS\\System32\\winrnr.dll",
"C:\\WINDOWS\\system32\\wshbth.dll",
"C:\\WINDOWS\\system32\\nlansp_c.dll",
"C:\\WINDOWS\\SYSTEM32\\dhcpcsvc6.DLL",
"C:\\WINDOWS\\SYSTEM32\\dhcpcsvc.DLL",
"C:\\WINDOWS\\SYSTEM32\\CRYPTBASE.DLL",
"\\\\?\\D:\\Project\\Web\\epmet-oper-gov\\node_modules\\_node-sass@4.14.1@node-sass\\vendor\\win32-x64-67\\binding.node"
]
}

580
report.20221026.142822.38864.0.001.json

@ -0,0 +1,580 @@
{
"header": {
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20221026.142822.38864.0.001.json",
"dumpEventTime": "2022-10-26T14:28:22Z",
"processId": 38864,
"cwd": "D:\\Project\\Web\\epmet-oper-gov",
"commandLine": [
"node",
"D:\\Project\\Web\\epmet-oper-gov\\node_modules\\.bin\\\\..\\_@vue_cli-service@3.12.1@@vue\\cli-service\\bin\\vue-cli-service.js",
"serve"
],
"nodejsVersion": "v11.15.0",
"wordSize": 64,
"arch": "x64",
"platform": "win32",
"componentVersions": {
"node": "11.15.0",
"v8": "7.0.276.38-node.19",
"uv": "1.27.0",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "67",
"nghttp2": "1.37.0",
"napi": "4",
"llhttp": "1.1.1",
"http_parser": "2.8.0",
"openssl": "1.1.1b",
"cldr": "34.0",
"icu": "63.1",
"tz": "2018e",
"unicode": "11.0"
},
"release": {
"name": "node",
"headersUrl": "https://nodejs.org/download/release/v11.15.0/node-v11.15.0-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v11.15.0/node-v11.15.0.tar.gz",
"libUrl": "https://nodejs.org/download/release/v11.15.0/win-x64/node.lib"
},
"osName": "Windows_NT",
"osRelease": "10.0.22621",
"osVersion": "Windows 10 Home China",
"osMachine": "x86_64",
"host": "DESKTOP-KD168PS"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x00007ff793c6d24e",
"symbol": "std::basic_ios<char,std::char_traits<char> >::fill+16366"
},
{
"pc": "0x00007ff793c6c0f9",
"symbol": "std::basic_ios<char,std::char_traits<char> >::fill+11929"
},
{
"pc": "0x00007ff793c6b923",
"symbol": "std::basic_ios<char,std::char_traits<char> >::fill+9923"
},
{
"pc": "0x00007ff793d5dc22",
"symbol": "uv_loop_fork+89362"
},
{
"pc": "0x00007ff79418609e",
"symbol": "v8::internal::FatalProcessOutOfMemory+798"
},
{
"pc": "0x00007ff794185fd7",
"symbol": "v8::internal::FatalProcessOutOfMemory+599"
},
{
"pc": "0x00007ff794239a14",
"symbol": "v8::internal::Heap::RootIsImmortalImmovable+14068"
},
{
"pc": "0x00007ff79422f822",
"symbol": "v8::internal::Heap::CollectGarbage+7234"
},
{
"pc": "0x00007ff79422e038",
"symbol": "v8::internal::Heap::CollectGarbage+1112"
},
{
"pc": "0x00007ff794237967",
"symbol": "v8::internal::Heap::RootIsImmortalImmovable+5703"
},
{
"pc": "0x00007ff7942379e6",
"symbol": "v8::internal::Heap::RootIsImmortalImmovable+5830"
},
{
"pc": "0x00007ff79436f8b1",
"symbol": "v8::internal::Factory::NewFillerObject+49"
},
{
"pc": "0x00007ff794429786",
"symbol": "v8::internal::StoreBuffer::StoreBufferOverflow+27190"
},
{
"pc": "0x0000020868150481",
"symbol": ""
}
],
"javascriptHeap": {
"totalMemory": 1475153920,
"totalCommittedMemory": 1475153920,
"usedMemory": 1325429824,
"availableMemory": 52170184,
"memoryLimit": 1526909922,
"heapSpaces": {
"read_only_space": {
"memorySize": 524288,
"committedMemory": 524288,
"capacity": 515584,
"used": 33520,
"available": 482064
},
"new_space": {
"memorySize": 2097152,
"committedMemory": 2097152,
"capacity": 1031168,
"used": 19408,
"available": 1011760
},
"old_space": {
"memorySize": 1254297600,
"committedMemory": 1254297600,
"capacity": 1130026960,
"used": 1128870728,
"available": 1156232
},
"code_space": {
"memorySize": 9437184,
"committedMemory": 9437184,
"capacity": 7747264,
"used": 7747264,
"available": 0
},
"map_space": {
"memorySize": 24653824,
"committedMemory": 24653824,
"capacity": 6556000,
"used": 6556000,
"available": 0
},
"large_object_space": {
"memorySize": 184143872,
"committedMemory": 184143872,
"capacity": 231723032,
"used": 182202904,
"available": 49520128
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 0,
"used": 0,
"available": 0
}
}
},
"resourceUsage": {
"userCpuSeconds": 540.296,
"kernelCpuSeconds": 32.078,
"cpuConsumptionPercent": 4.59775,
"maxRss": 1920303104,
"pageFaults": {
"IORequired": 4598933,
"IONotRequired": 0
},
"fsActivity": {
"reads": 43082,
"writes": 5808
}
},
"libuv": [
],
"environmentVariables": {
"=C:": "C:\\",
"=D:": "D:\\Project\\Web\\epmet-oper-gov",
"add_path": "D:\\APP\\cmder",
"add_to_path": "D:\\APP\\cmder",
"aliases": "D:\\APP\\cmder\\config\\user_aliases.cmd",
"ALLUSERSPROFILE": "C:\\ProgramData",
"ANSICON": "90x1000 (90x24)",
"ANSICON_DEF": "7",
"APPDATA": "C:\\Users\\lenovo\\AppData\\Roaming",
"architecture_bits": "64",
"BABEL_ENV": "development",
"ccall": "call \"D:\\APP\\cmder\\vendor\\bin\\cexec.cmd\"",
"cexec": "\"D:\\APP\\cmder\\vendor\\bin\\cexec.cmd\"",
"clink_architecture": "x64",
"CMDER_ALIASES": "1",
"CMDER_CLINK": "1",
"CMDER_CONFIGURED": "1",
"CMDER_INIT_END": "10:41:53.98",
"CMDER_INIT_START": "10:41:46.93",
"CMDER_ROOT": "D:\\APP\\cmder",
"CMDER_SHELL": "cmd",
"CMDER_USER_FLAGS": " ",
"COLUMNS": "90",
"CommonProgramFiles": "C:\\Program Files\\Common Files",
"CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files",
"CommonProgramW6432": "C:\\Program Files\\Common Files",
"COMPUTERNAME": "DESKTOP-KD168PS",
"ComSpec": "C:\\WINDOWS\\system32\\cmd.exe",
"ConEmuANSI": "ON",
"ConEmuAnsiLog": "",
"ConEmuArgs": "/Icon \"D:\\APP\\cmder\\icons\\cmder.ico\" /Title Cmder /dir \"D:\\Project\\Web\\epmet-oper-gov\"",
"ConEmuArgs2": "",
"ConEmuBackHWND": "0x001009E8",
"ConEmuBaseDir": "D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu",
"ConEmuBaseDirShort": "D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu",
"ConEmuBuild": "210912",
"ConEmuCfgDir": "D:\\APP\\cmder\\vendor\\conemu-maximus5",
"ConEmuConfig": "",
"ConEmuDir": "D:\\APP\\cmder\\vendor\\conemu-maximus5",
"ConEmuDrawHWND": "0x00080A82",
"ConEmuDrive": "D:",
"ConEmuHooks": "Enabled",
"ConEmuHWND": "0x00380A8C",
"ConEmuPalette": "Monokai",
"ConEmuPID": "41292",
"ConEmuServerPID": "33484",
"ConEmuTask": "{cmd::Cmder}",
"ConEmuWorkDir": "D:\\Project\\Web\\epmet-oper-gov",
"ConEmuWorkDrive": "D:",
"currenArgu": "/setpath",
"debug_output": "0",
"depth": "1",
"dp0": "D:\\Project\\Web\\epmet-oper-gov\\node_modules\\.bin\\",
"DriverData": "C:\\Windows\\System32\\Drivers\\DriverData",
"fast_init": "0",
"feFlagName": " ",
"feNot": "false",
"find_query": "D:\\\\APP\\\\cmder",
"found": "1",
"git_executable": "D:\\APP\\Git\\cmd\\git.exe",
"GIT_INSTALL_ROOT": "D:\\APP\\Git",
"git_locale": "\"D:\\APP\\Git\\usr\\bin\\locale.exe\"",
"GIT_VERSION_USER": "2.31.1.windows.1",
"HOME": "C:\\Users\\lenovo",
"HOMEDRIVE": "C:",
"HOMEPATH": "\\Users\\lenovo",
"INIT_CWD": "D:\\Project\\Web\\epmet-oper-gov",
"LANG": "zh_CN.UTF-8",
"lib_base": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_base.cmd\"",
"lib_console": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_console.cmd\"",
"lib_git": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_git.cmd\"",
"lib_path": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_path.cmd\"",
"lib_profile": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_profile.cmd\"",
"LINES": "24",
"LOCALAPPDATA": "C:\\Users\\lenovo\\AppData\\Local",
"LOGONSERVER": "\\\\DESKTOP-KD168PS",
"max_depth": "1",
"nix_tools": "1",
"NODE": "D:\\APP\\nodejs\\node.exe",
"NODE_ENV": "development",
"NODE_EXE": "D:\\APP\\nodejs\\\\node.exe",
"NPM_CLI_JS": "D:\\APP\\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\",\"dev\"],\"original\":[\"run\",\"dev\"]}",
"npm_config_audit": "true",
"npm_config_audit_level": "low",
"npm_config_auth_type": "legacy",
"npm_config_bin_links": "true",
"npm_config_browser": "",
"npm_config_ca": "",
"npm_config_cache": "C:\\Users\\lenovo\\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_git": "git",
"npm_config_git_tag_version": "true",
"npm_config_global": "",
"npm_config_globalconfig": "C:\\Users\\lenovo\\AppData\\Roaming\\npm\\etc\\npmrc",
"npm_config_globalignorefile": "C:\\Users\\lenovo\\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\\lenovo\\.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": "D:\\APP\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js",
"npm_config_node_options": "",
"npm_config_node_version": "11.15.0",
"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\\lenovo\\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\\lenovo\\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\\lenovo\\.npmrc",
"npm_config_user_agent": "npm/6.7.0 node/v11.15.0 win32 x64",
"npm_config_version": "",
"npm_config_versions": "",
"npm_config_viewer": "browser",
"npm_execpath": "D:\\APP\\nodejs\\node_modules\\npm\\bin\\npm-cli.js",
"npm_lifecycle_event": "dev",
"npm_lifecycle_script": "vue-cli-service serve",
"npm_node_execpath": "D:\\APP\\nodejs\\node.exe",
"npm_package_browserslist_0": "> 1%",
"npm_package_browserslist_1": "last 2 versions",
"npm_package_browserslist_2=not ie <": " 10",
"npm_package_dependencies_async_validator": "^4.2.5",
"npm_package_dependencies_axios": "^0.19.0",
"npm_package_dependencies_babel_eslint": "^8.0.1",
"npm_package_dependencies_babel_plugin_component": "^1.1.1",
"npm_package_dependencies_echarts": "^5.2.2",
"npm_package_dependencies_echarts_gl": "^2.0.9",
"npm_package_dependencies_element_theme": "^2.0.1",
"npm_package_dependencies_element_ui": "^2.13.0",
"npm_package_dependencies_file_saver": "^2.0.5",
"npm_package_dependencies_gulp_autoprefixer": "^6.1.0",
"npm_package_dependencies_gulp_clean_css": "^4.2.0",
"npm_package_dependencies_gulp_load_plugins": "^2.0.0",
"npm_package_dependencies_gulp_rename": "^1.4.0",
"npm_package_dependencies_gulp_sass": "^4.0.2",
"npm_package_dependencies_jsencrypt": "^3.0.3",
"npm_package_dependencies_js_cookie": "^2.2.0",
"npm_package_dependencies_lodash": "^4.17.15",
"npm_package_dependencies_mint_ui": "^2.2.13",
"npm_package_dependencies_node_sass": "^4.12.0",
"npm_package_dependencies_ol": "^6.9.0",
"npm_package_dependencies_portfinder": "^1.0.21",
"npm_package_dependencies_qs": "^6.7.0",
"npm_package_dependencies_quill": "^1.3.6",
"npm_package_dependencies_screenfull": "^4.2.1",
"npm_package_dependencies_sortablejs": "^1.12.0",
"npm_package_dependencies_svg_sprite_loader": "^4.1.6",
"npm_package_dependencies_throttle_debounce": "^3.0.1",
"npm_package_dependencies_vue": "^2.6.11",
"npm_package_dependencies_vuex": "^3.1.1",
"npm_package_dependencies_vue_baidu_map": "^0.21.22",
"npm_package_dependencies_vue_i18n": "^8.12.0",
"npm_package_dependencies_vue_quill_editor": "^3.0.6",
"npm_package_dependencies_vue_router": "^3.0.7",
"npm_package_dependencies_v_distpicker": "^1.2.2",
"npm_package_dependencies_xlsx": "^0.17.1",
"npm_package_dependencies__antv_l7": "2.9.14",
"npm_package_dependencies__antv_l7_draw": "3.0.5",
"npm_package_dependencies__antv_l7_maps": "2.9.14",
"npm_package_dependencies__riophae_vue_treeselect": "^0.4.0",
"npm_package_dependencies__tinymce_tinymce_vue": "^3.2.8",
"npm_package_description": "## Project setup ``` npm install ```",
"npm_package_devDependencies_dai_js": "^0.0.12",
"npm_package_devDependencies_element_theme_chalk": "^2.13.0",
"npm_package_devDependencies_natives": "^1.1.6",
"npm_package_devDependencies_ol": "^6.9.0",
"npm_package_devDependencies_sass_loader": "^7.3.1",
"npm_package_devDependencies_script_loader": "^0.7.2",
"npm_package_devDependencies_tinymce": "5.8.2",
"npm_package_devDependencies_vue_template_compiler": "^2.6.11",
"npm_package_devDependencies__antv_f2": "^3.8.10-beta.1",
"npm_package_devDependencies__tinymce_tinymce_vue": "3.2.8",
"npm_package_devDependencies__vue_cli_plugin_babel": "^3.10.0",
"npm_package_devDependencies__vue_cli_plugin_eslint": "^3.10.0",
"npm_package_devDependencies__vue_cli_service": "^3.10.0",
"npm_package_devDependencies__vue_eslint_config_standard": "^4.0.0",
"npm_package_element_theme_browsers_0": "> 1%",
"npm_package_element_theme_browsers_1": "last 2 versions",
"npm_package_element_theme_browsers_2=not ie <": " 10",
"npm_package_element_theme_config": "./src/element-ui/theme-variables.scss",
"npm_package_element_theme_minimize": "true",
"npm_package_element_theme_out": "./src/element-ui/theme",
"npm_package_engines_node=>": " 8.11.1",
"npm_package_engines_npm=>": " 5.6.0",
"npm_package_eslintConfig_env_node": "true",
"npm_package_eslintConfig_extends_0": "plugin:vue/essential",
"npm_package_eslintConfig_extends_1": "@vue/standard",
"npm_package_eslintConfig_parserOptions_parser": "babel-eslint",
"npm_package_eslintConfig_root": "true",
"npm_package_gitHead": "28c653677ab76d5cd430a42ccb76a3fb6afedccb",
"npm_package_name": "epmet-oper-web",
"npm_package_private": "true",
"npm_package_readmeFilename": "README.md",
"npm_package_scripts_build": "vue-cli-service build",
"npm_package_scripts_build_prod": "vue-cli-service build --mode production",
"npm_package_scripts_build_shibei_prod": "vue-cli-service build --mode shibei_production",
"npm_package_scripts_build_sit": "vue-cli-service build --mode production.sit",
"npm_package_scripts_build_uat": "vue-cli-service build --mode production.uat",
"npm_package_scripts_dev": "vue-cli-service serve",
"npm_package_scripts_et": "et",
"npm_package_scripts_et_init": "et -i",
"npm_package_scripts_et_list": "gulp themes",
"npm_package_scripts_lint": "vue-cli-service lint",
"npm_package_scripts_serve": "vue-cli-service serve",
"npm_package_version": "2.0.0",
"NPM_PREFIX_NPM_CLI_JS": "C:\\Users\\lenovo\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js",
"NUMBER_OF_PROCESSORS": "8",
"OLD_PATH": "D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu\\Scripts;D:\\APP\\cmder\\vendor\\conemu-maximus5;D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;D:\\APP\\cmder;D:\\APP\\Git\\cmd;D:\\APP\\微信web开发者工具\\dll;D:\\APP\\nodejs\\;D:\\APP\\python\\Scripts\\;D:\\APP\\python\\;C:\\Users\\lenovo\\AppData\\Local\\Microsoft\\WindowsApps;D:\\APP\\Microsoft VS Code\\bin;C:\\Users\\lenovo\\AppData\\Roaming\\npm;D:\\APP\\Git\\mingw64\\bin;D:\\APP\\Git\\usr\\bin;D:\\APP\\cmder\\vendor\\bin",
"OneDrive": "C:\\Users\\lenovo\\OneDrive",
"OS": "Windows_NT",
"Path": "D:\\APP\\nodejs\\node_modules\\npm\\node_modules\\npm-lifecycle\\node-gyp-bin;D:\\Project\\Web\\epmet-oper-gov\\node_modules\\.bin;D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu\\Scripts;D:\\APP\\cmder\\vendor\\conemu-maximus5;D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;D:\\APP\\cmder;D:\\APP\\Git\\cmd;D:\\APP\\微信web开发者工具\\dll;D:\\APP\\nodejs\\;D:\\APP\\python\\Scripts\\;D:\\APP\\python\\;C:\\Users\\lenovo\\AppData\\Local\\Microsoft\\WindowsApps;D:\\APP\\Microsoft VS Code\\bin;C:\\Users\\lenovo\\AppData\\Roaming\\npm;D:\\APP\\Git\\mingw64\\bin;D:\\APP\\Git\\usr\\bin;D:\\APP\\cmder\\vendor\\bin",
"PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JSE;.WSF;.WSH;.MSC",
"path_position": "append",
"PLINK_PROTOCOL": "ssh",
"position": "append",
"print_debug": "if 0 gtr 0 call \"D:\\APP\\cmder\\vendor\\lib\\lib_console.cmd\" debug_output",
"print_error": "call \"D:\\APP\\cmder\\vendor\\lib\\lib_console.cmd\" show_error",
"print_verbose": "if 0 gtr 0 call \"D:\\APP\\cmder\\vendor\\lib\\lib_console.cmd\" verbose_output",
"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": "C\bL\bI\bN\bK\b \b$P$G",
"PSModulePath": "C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules",
"PUBLIC": "C:\\Users\\Public",
"SESSIONNAME": "Console",
"SVN_SSH": "D:\\\\APP\\\\Git\\\\bin\\\\ssh.exe",
"SystemDrive": "C:",
"SystemRoot": "C:\\WINDOWS",
"TEMP": "C:\\Users\\lenovo\\AppData\\Local\\Temp",
"TERM": "cygwin",
"time_init": "0",
"TMP": "C:\\Users\\lenovo\\AppData\\Local\\Temp",
"USERDOMAIN": "DESKTOP-KD168PS",
"USERDOMAIN_ROAMINGPROFILE": "DESKTOP-KD168PS",
"USERNAME": "lenovo",
"USERPROFILE": "C:\\Users\\lenovo",
"user_aliases": "D:\\APP\\cmder\\config\\user_aliases.cmd",
"USER_BUILD": "windows.1",
"USER_MAJOR": "2",
"USER_MINOR": "31",
"USER_PATCH": "1",
"verbose_output": "0",
"VUE_APP_API_SERVER": "http://192.168.1.140/api",
"VUE_APP_NODE_ENV": "dev",
"VUE_APP_PUBLIC_PATH": "epmet-oper",
"VUE_CLI_ENTRY_FILES": "[\"D:\\\\Project\\\\Web\\\\epmet-oper-gov\\\\src\\\\main.js\"]",
"WEBPACK_DEV_SERVER": "true",
"windir": "C:\\WINDOWS",
"ZES_ENABLE_SYSMAN": "1",
"_prog": "node"
},
"sharedObjects": [
"D:\\APP\\nodejs\\node.exe",
"C:\\WINDOWS\\SYSTEM32\\ntdll.dll",
"C:\\WINDOWS\\System32\\KERNEL32.DLL",
"C:\\WINDOWS\\System32\\KERNELBASE.dll",
"C:\\WINDOWS\\System32\\PSAPI.DLL",
"C:\\WINDOWS\\System32\\WS2_32.dll",
"C:\\WINDOWS\\System32\\RPCRT4.dll",
"C:\\WINDOWS\\System32\\ADVAPI32.dll",
"C:\\WINDOWS\\System32\\msvcrt.dll",
"C:\\WINDOWS\\System32\\sechost.dll",
"C:\\WINDOWS\\System32\\USER32.dll",
"C:\\WINDOWS\\System32\\win32u.dll",
"C:\\WINDOWS\\System32\\GDI32.dll",
"C:\\WINDOWS\\SYSTEM32\\dbghelp.dll",
"C:\\WINDOWS\\System32\\gdi32full.dll",
"C:\\WINDOWS\\System32\\ucrtbase.dll",
"C:\\WINDOWS\\System32\\msvcp_win.dll",
"C:\\WINDOWS\\System32\\combase.dll",
"C:\\WINDOWS\\System32\\CRYPT32.dll",
"C:\\WINDOWS\\System32\\OLEAUT32.dll",
"C:\\WINDOWS\\SYSTEM32\\IPHLPAPI.DLL",
"C:\\WINDOWS\\SYSTEM32\\USERENV.dll",
"C:\\WINDOWS\\SYSTEM32\\bcrypt.dll",
"C:\\WINDOWS\\SYSTEM32\\WINMM.dll",
"C:\\WINDOWS\\System32\\IMM32.DLL",
"D:\\APP\\cmder\\vendor\\conemu-maximus5\\ConEmu\\ConEmuHk64.dll",
"C:\\WINDOWS\\SYSTEM32\\powrprof.dll",
"C:\\WINDOWS\\SYSTEM32\\UMPDC.dll",
"C:\\WINDOWS\\system32\\uxtheme.dll",
"C:\\WINDOWS\\system32\\mswsock.dll",
"C:\\WINDOWS\\SYSTEM32\\kernel.appcore.dll",
"C:\\WINDOWS\\System32\\bcryptprimitives.dll",
"C:\\WINDOWS\\system32\\napinsp.dll",
"C:\\WINDOWS\\system32\\pnrpnsp.dll",
"C:\\WINDOWS\\SYSTEM32\\DNSAPI.dll",
"C:\\WINDOWS\\System32\\NSI.dll",
"C:\\WINDOWS\\System32\\winrnr.dll",
"C:\\WINDOWS\\system32\\wshbth.dll",
"C:\\WINDOWS\\system32\\nlansp_c.dll",
"C:\\WINDOWS\\SYSTEM32\\dhcpcsvc6.DLL",
"C:\\WINDOWS\\SYSTEM32\\dhcpcsvc.DLL",
"C:\\WINDOWS\\SYSTEM32\\CRYPTBASE.DLL",
"\\\\?\\D:\\Project\\Web\\epmet-oper-gov\\node_modules\\_node-sass@4.14.1@node-sass\\vendor\\win32-x64-67\\binding.node"
]
}

BIN
src/assets/img/common/map-poi.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/img/yantai/index/bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
src/assets/img/yantai/index/db.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

BIN
src/assets/img/yantai/index/guanli.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

BIN
src/assets/img/yantai/index/shuju.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
src/assets/img/yantai/index/you.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/img/yantai/index/yuanhu-you.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

BIN
src/assets/img/yantai/index/yuanhu-zuo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

BIN
src/assets/img/yantai/index/zuo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/assets/img/yantai/login/bg.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

BIN
src/assets/img/yantai/login/bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

185
src/assets/scss/pages/yantai-index.scss

@ -0,0 +1,185 @@
@import "~@/assets/scss/c/config.scss";
@import "~@/assets/scss/c/function.scss";
.g-cnt {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url(~@/assets/img/yantai/index/bg.png);
background-size: cover;
background-position: center;
}
.m-top {
position: absolute;
top: 0;
width: 1920px;
left: -1000px;
right: -1000px;
margin: 0 auto;
.name {
position: absolute;
top: 0;
left: 0;
text-align: center;
width: 100%;
line-height: 90px;
font-size: 42px;
font-weight: bold;
color: #fff;
background-image: -webkit-linear-gradient(bottom, rgb(23, 222, 238), rgb(23, 222, 238), #fff, #fff);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.m-list {
position: absolute;
top: 50%;
left: 0;
right: 0;
margin: auto;
transform: translateY(-50%);
.list {
display: flex;
justify-content: space-around;
align-items: center;
width: 100%;
margin: 0 auto;
.menu {
position: relative;
.menu-list {
position: absolute;
top: 50px;
width: 100%;
left: 0;
.menu-item {
position: relative;
margin-bottom: 40px;
width: 150px;
height: 70px;
line-height: 70px;
color: rgba(#fff, 0.6);
font-size: 20px;
border-radius: 60px;
text-align: center;
transition: all 0.2s ease;
cursor: pointer;
&.z-zuo {
left: 60px;
background: linear-gradient(to left, rgba(rgb(67, 67, 210), 0.3), rgba(#00a, 0));
box-shadow: -4px 4px 6px 0 inset rgba(#fff, 0.2);
&:nth-child(2),
&:nth-child(6) {
margin-left: 20px;
}
&:nth-child(3),
&:nth-child(5) {
margin-left: 20px * 2;
}
&:nth-child(4) {
margin-left: 20px * 2 + 1px;
}
}
&.z-you {
left: 70px;
background: linear-gradient(to right, rgba(rgb(67, 67, 210), 0.3), rgba(#00a, 0));
box-shadow: 4px 4px 6px 0 inset rgba(#fff, 0.2);
&:nth-child(2),
&:nth-child(6) {
margin-left: -20px;
}
&:nth-child(3),
&:nth-child(5) {
margin-left: -20px * 2;
}
&:nth-child(4) {
margin-left: -20px * 2 - 1px;
}
}
&:hover,
&.z-on {
transform: scale(1.15);
color: rgba(#fff, 0.95);
}
}
}
}
.arrow {
width: 60px;
margin: 0 20px;
}
.item {
position: relative;
margin: 0 50px;
width: 420px;
.item-wrap {
text-align: center;
cursor: pointer;
transition: all 0.2s ease;
&:hover {
transform: scale(1.1);
}
}
&.z-on {
.name {
color: #ffffff;
background-color: transparent;
border-color: #ffffff;
&::before {
background-color: #ffffff;
}
}
}
.logo {
width: 100%;
}
.name {
position: absolute;
top: 12%;
left: 0;
width: 100%;
font-size: 36px;
line-height: 40px;
color: #fff;
}
}
}
}
.m-footer {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 20px;
color: rgba(255, 255, 255, 0.6);
text-align: center;
p {
margin: 10px 0;
}
a {
padding: 0 5px;
color: rgba(255, 255, 255, 0.6);
&:focus,
&:hover {
color: #fff;
}
}
}

210
src/assets/scss/pages/yantai-login.scss

@ -0,0 +1,210 @@
@import "~@/assets/scss/c/config.scss";
@import "~@/assets/scss/c/function.scss";
.g-bd {
&::before,
&::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
content: "";
}
&::before {
background-image: url(~@/assets/img/yantai/login/bg.jpg);
background-size: cover;
}
&::after {
// background-color: rgba(38, 50, 56, 0.1);
}
}
.m-snow-box {
position: absolute;
top: 20vh;
width: 35vw;
height: 50vh;
left: 13vw;
border-radius: 40%;
// overflow: hidden;
}
.m-fm {
position: absolute;
top: 0;
bottom: 0;
right: 13%;
margin: auto;
width: 484px;
height: 429px;
background: rgba(#fff, 1);
box-shadow: 0px 0px 20px 2px rgba(150, 150, 200, 0.6);
border-radius: 12px 12px 12px 12px;
&:hover {
opacity: 1;
background: rgba(#fff, 1);
}
.wrap {
padding-top: 5px;
.title {
margin: 0 auto;
width: 400px;
line-height: 80px;
border-bottom: 1px solid #d4d4d4;
font-size: 34px;
font-family: PingFang SC;
font-weight: bold;
color: #000000;
text-align: center;
}
.fm {
padding: 15px 30px;
.fm-item {
box-sizing: border-box;
margin: 0 auto;
margin-top: 16px;
width: 400px;
height: 46px;
line-height: 46px;
border: 1px solid #c6c6c6;
border-radius: 4px;
display: flex;
align-items: center;
.input {
width: 85%;
input {
display: block;
padding-left: 15px;
line-height: 44px;
height: 44px;
width: 100%;
border: none;
}
}
.ico {
position: relative;
width: 35px;
height: 46px;
img {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
}
}
.fm-captcha {
box-sizing: border-box;
margin: 0 auto;
margin-top: 16px;
width: 400px;
display: flex;
align-items: center;
.fm-item {
margin: 0;
width: 200px;
}
.captcha {
position: relative;
margin-left: auto;
width: 180px;
height: 46px;
img {
display: block;
width: 100%;
height: 100%;
background-color: #eee;
border: none;
}
}
}
.fm-btn {
box-sizing: border-box;
margin: 0 auto;
margin-top: 40px;
width: 400px;
height: 56px;
line-height: 56px;
background: linear-gradient(90deg, #1a5afd, #26c4ff);
border-radius: 4px;
font-size: 23px;
font-family: PingFang SC;
font-weight: 500;
color: #ffffff;
text-align: center;
cursor: pointer;
}
}
.hint {
display: none;
padding-left: 40px;
color: rgb(255, 80, 80);
}
}
}
.m-footer {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 20px;
color: rgba(255, 255, 255, 0.6);
text-align: center;
p {
margin: 10px 0;
}
a {
padding: 0 5px;
color: rgba(255, 255, 255, 0.6);
&:focus,
&:hover {
color: #fff;
}
}
}
.m-pop {
height: auto;
.div_row {
height: 50px;
text-align: center;
line-height: 50px;
&:hover {
color: rgb(2, 119, 173);
font-weight: bold;
text-decoration: underline;
}
.i_icon {
width: 15px;
height: 15px;
margin-right: 10px;
float: left;
}
.span_name {
font-size: 18px;
cursor: pointer;
/* color: rgb(37, 156, 235); */
}
}
}

388
src/utils/dai-map.js

@ -0,0 +1,388 @@
import nextTick from "dai-js/tools/nextTick";
import { requestGet } from "@/js/dai/request";
export const mapType =
typeof window.TMap !== "undefined"
? "qq"
: typeof window.T !== "undefined"
? "td"
: "tdzw";
export const QQMap = window.TMap;
export const TDMap = window.T;
export function searchNearby(map, keyword) {
if (mapType == "qq") {
return new Promise((reslove) => {
const search = new QQMap.service.Search(map, { pageSize: 10 });
search
.searchNearby({
keyword,
radius: 1000,
autoExtend: true,
center: map.getCenter(),
})
.then((result) => {
let { data } = result;
if (Array.isArray(data) && data.length > 0) {
const {
location: { lat, lng, address },
} = data[0];
reslove({
msg: "success",
data: {
lng,
lat,
address,
resultList: data,
},
});
} else {
reslove({
msg: "failed",
error: "未检索到相关位置坐标",
});
}
})
.catch((error) => {
reslove({
msg: "failed",
error,
});
});
});
} else if (mapType == "td") {
return new Promise(async (reslove) => {
const search = new TDMap.LocalSearch(map, { pageCapacity: 10 });
search.setQueryType(1);
search.searchNearby(keyword, map.getCenter(), 1000000000);
await nextTick(1000);
const result = search.getResults();
const data = result ? result.getPois() : null;
console.log("检索结果", data);
if (Array.isArray(data) && data.length > 0) {
const { lonlat, address, name } = data[0];
const lng = lonlat.split(" ")[0];
const lat = lonlat.split(" ")[1];
reslove({
msg: "success",
data: {
lng,
lat,
address: address + name,
resultList: data,
},
});
} else {
reslove({
msg: "failed",
error: "未检索到相关位置坐标",
});
}
});
} else if (mapType == "tdzw") {
return new Promise(async (reslove) => {
const center = map.getCenter();
const url = "https://service.sdmap.gov.cn/search";
const { status, result } = await requestGet(url, {
area: `CIRCLE(${center.lon} ${center.lat} 1000000)`,
words: keyword,
city: "全国",
st: "LocalSearch",
tk: "e758167d5b90c351b70a979c0820840c",
});
if (
status == "ok" &&
result &&
Array.isArray(result.features) &&
result.features.length > 0
) {
const { lng, lat, address, name } = result.features[0];
reslove({
msg: "success",
data: {
lng,
lat,
address: address + name,
resultList: result.features,
},
});
} else {
reslove({
msg: "failed",
error: "未检索到相关位置坐标",
});
}
});
}
}
// 封装了地图相关函数,兼容天地图、腾讯地图常用api
export default function init(ele, position, params) {
this.mapType = mapType;
this.map = null;
this.marker = null;
this.markers = null;
this.getCenter = function () {
return {
lat: 0,
lng: 0,
};
};
this.setCenter = function (lat, lng) {};
this.setMarker = function (lat, lng, title) {};
this.getAddress = async function (lat, lng) {};
this.on = function (eventType, fn) {};
let { latitude, longitude } = position;
if (!latitude || latitude == "" || latitude == "0") {
latitude = 39.9088810666821;
longitude = 116.39743841556731;
}
if (mapType != "qq") {
if (typeof ele == "string") {
ele = document.getElementById("app");
}
let width = ele.offsetWidth;
let height = ele.offsetHeight;
if (height == 0) {
ele.style.height = width * 0.5 + "px";
}
}
if (mapType == "qq") {
let center = new QQMap.LatLng(latitude, longitude);
this.map = new QQMap.Map(ele, {
center,
...params,
});
this.markers = new QQMap.MultiMarker({
map: this.map,
geometries: [],
});
this.getCenter = function () {
const center = this.map.getCenter();
const lat = center.getLat();
const lng = center.getLng();
return { lat, lng };
};
this.setCenter = function (lat, lng) {
this.map.setCenter(new QQMap.LatLng(lat, lng));
};
this.setMarker = function (lat, lng, title = "位置") {
this.markers.setGeometries([]);
this.markers.add([
{
id: "4",
styleId: "marker",
position: new QQMap.LatLng(lat, lng),
properties: {
title,
},
},
]);
};
this.geocoder = new QQMap.service.Geocoder(); // 新建一个正逆地址解析类
this.getAddress = async function (lat, lng) {
return new Promise((reslove) => {
this.geocoder
.getAddress({ location: new QQMap.LatLng(lat, lng) }) // 将给定的坐标位置转换为地址
.then((result) => {
reslove({
msg: "success",
data: {
address: result.result.address,
},
});
})
.catch((error) => {
reslove({
msg: "failed",
error,
});
});
});
};
this.on = function (eventType, fn) {
if (eventType == "dragend") {
this.map.on("moveend", (e) => {
console.log("dragend", e);
if (e && e.originalEvent) {
fn(e);
}
});
} else {
this.map.on(eventType, fn);
}
};
} else if (mapType == "td") {
let center = new TDMap.LngLat(longitude, latitude);
this.map = new TDMap.Map(ele, {
center,
...params,
});
this.getCenter = function () {
const center = this.map.getCenter();
const lat = center.getLat();
const lng = center.getLng();
return { lat, lng };
};
this.setCenter = function (lat, lng) {
this.map.panTo(new TDMap.LngLat(lng, lat));
};
this.setMarker = function (lat, lng, title = "位置") {
let lnglat = new TDMap.LngLat(lng, lat);
if (!this.marker) {
this.marker = new TDMap.Marker(lnglat, {
title,
});
this.map.addOverLay(this.marker);
} else {
this.marker.setLngLat(lnglat);
}
};
this.geocoder = new TDMap.Geocoder(); // 新建一个正逆地址解析类
this.getAddress = async function (lat, lng) {
return new Promise((reslove) => {
this.geocoder.getLocation(new TDMap.LngLat(lng, lat), (result) => {
if (result) {
console.log("this.geocoder.getLocation", result);
let status = result.getStatus();
reslove({
msg: "success",
data: {
address: result.getAddress(),
},
});
} else {
reslove({
msg: "failed",
error: "解析失败",
});
}
});
});
};
this.on = function (eventType, fn) {
if (eventType == "dragend") {
this.map.on("dragend", (e) => {
console.log("dragend", e);
fn(e);
});
} else {
this.map.on(eventType, fn);
}
};
} else if (mapType == "tdzw") {
this.map = new OpenLayers.Map(ele, {
allOverlays: true,
numZoomLevels: 19,
displayProjection: "EPSG:4490",
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.ArgParser(),
new OpenLayers.Control.Attribution(),
],
});
this.map.addLayer(new SDTDTLayer());
this.getCenter = function () {
const center = this.map.getCenter();
const lat = center.lat;
const lng = center.lon;
return { lat, lng };
};
this.setCenter = function (lat, lng) {
this.map.setCenter(new OpenLayers.LonLat(lng, lat), 16);
};
this.setCenter(latitude, longitude);
this.setMarker = function (lat, lng, title = "位置") {
if (!this.marker) {
//创建矢量图层
var graphicLayer = new OpenLayers.Layer.Vector("graphicLayer", {
style: OpenLayers.Util.extend(
{},
OpenLayers.Feature.Vector.style["default"]
),
});
this.map.addLayer(graphicLayer);
let pt = new OpenLayers.Geometry.Point(lng, lat);
var style = {
externalGraphic: require("@/assets/img/common/map-poi.png"),
graphicWidth: 32,
graphicHeight: 32,
};
var feature = new OpenLayers.Feature.Vector(pt, null, style);
graphicLayer.addFeatures([feature]);
this.marker = feature;
this.markerLayer = graphicLayer;
} else {
this.marker.geometry.x = lng;
this.marker.geometry.y = lat;
this.markerLayer.redraw();
}
};
this.getAddress = async function (lat, lng) {
return new Promise(async (reslove) => {
const url = "https://service.sdmap.gov.cn/geodecode";
const { status, result } = await requestGet(url, {
point: lng + "," + lat,
type: "11",
tk: "e758167d5b90c351b70a979c0820840c",
});
if (status == "ok" && result.address) {
reslove({
msg: "success",
data: {
address: result.address,
},
});
} else {
reslove({
msg: "failed",
error: "解析失败",
});
}
});
};
this.on = function (eventType, fn) {
if (eventType == "dragend") {
this.map.events.register("moveend", null, (e) => {
console.log("dragend", e);
fn(e);
});
} else {
this.map.events.register(eventType, null, moveendHandler);
}
};
}
this.searchNearby = async function (keyword) {
const ret = await searchNearby(this.map, keyword);
return ret;
};
return this;
}

259
src/utils/dai-map备份.js

@ -0,0 +1,259 @@
import nextTick from "dai-js/tools/nextTick";
export const mapType = typeof window.TMap !== "undefined" ? "qq" : "td";
export const QQMap = window.TMap;
export const TDMap = window.T;
export function searchNearby(map, keyword) {
if (mapType == "qq") {
return new Promise((reslove) => {
const search = new QQMap.service.Search(map, { pageSize: 10 });
search
.searchNearby({
keyword,
radius: 1000,
autoExtend: true,
center: map.getCenter(),
})
.then((result) => {
let { data } = result;
if (Array.isArray(data) && data.length > 0) {
const {
location: { lat, lng, address },
} = data[0];
reslove({
msg: "success",
data: {
lng,
lat,
address,
resultList: data,
},
});
} else {
reslove({
msg: "failed",
error: "未检索到相关位置坐标",
});
}
})
.catch((error) => {
reslove({
msg: "failed",
error,
});
});
});
} else {
return new Promise(async (reslove) => {
const search = new TDMap.LocalSearch(map, { pageCapacity: 10 });
search.setQueryType(1);
search.searchNearby(keyword, map.getCenter(), 1000000000);
await nextTick(1000);
const result = search.getResults();
const data = result ? result.getPois() : null;
console.log("检索结果", data);
if (Array.isArray(data) && data.length > 0) {
const { lonlat, address, name } = data[0];
const lng = lonlat.split(" ")[0];
const lat = lonlat.split(" ")[1];
reslove({
msg: "success",
data: {
lng,
lat,
address: address + name,
resultList: data,
},
});
} else {
reslove({
msg: "failed",
error: "未检索到相关位置坐标",
});
}
});
}
}
// 封装了地图相关函数,兼容天地图、腾讯地图常用api
export default function init(ele, position, params) {
this.mapType = mapType;
this.map = null;
this.marker = null;
this.markers = null;
this.getCenter = function () {
return {
lat: 0,
lng: 0,
};
};
this.setCenter = function (lat, lng) {};
this.setMarker = function (lat, lng, title) {};
this.getAddress = async function (lat, lng) {};
this.on = function (eventType, fn) {};
let { latitude, longitude } = position;
if (!latitude || latitude == "" || latitude == "0") {
latitude = 39.9088810666821;
longitude = 116.39743841556731;
}
if (mapType == "qq") {
let center = new QQMap.LatLng(latitude, longitude);
this.map = new QQMap.Map(ele, {
center,
...params,
});
this.markers = new QQMap.MultiMarker({
map: this.map,
geometries: [],
});
this.getCenter = function () {
const center = this.map.getCenter();
const lat = center.getLat();
const lng = center.getLng();
return { lat, lng };
};
this.setCenter = function (lat, lng) {
this.map.setCenter(new QQMap.LatLng(lat, lng));
};
this.setMarker = function (lat, lng, title = "位置") {
this.markers.setGeometries([]);
this.markers.add([
{
id: "4",
styleId: "marker",
position: new QQMap.LatLng(lat, lng),
properties: {
title,
},
},
]);
};
this.geocoder = new QQMap.service.Geocoder(); // 新建一个正逆地址解析类
this.getAddress = async function (lat, lng) {
return new Promise((reslove) => {
this.geocoder
.getAddress({ location: new QQMap.LatLng(lat, lng) }) // 将给定的坐标位置转换为地址
.then((result) => {
reslove({
msg: "success",
data: {
address: result.result.address,
},
});
})
.catch((error) => {
reslove({
msg: "failed",
error,
});
});
});
};
this.on = function (eventType, fn) {
if (eventType == "dragend") {
this.map.on("moveend", (e) => {
console.log("dragend", e);
if (e && e.originalEvent) {
fn(e);
}
});
} else {
this.map.on(eventType, fn);
}
};
} else {
if (typeof ele == "string") {
ele = document.getElementById("app");
}
let width = ele.offsetWidth;
let height = ele.offsetHeight;
if (height == 0) {
ele.style.height = width * 0.5 + "px";
}
let center = new TDMap.LngLat(longitude, latitude);
this.map = new TDMap.Map(ele, {
center,
...params,
});
this.getCenter = function () {
const center = this.map.getCenter();
const lat = center.getLat();
const lng = center.getLng();
return { lat, lng };
};
this.setCenter = function (lat, lng) {
this.map.panTo(new TDMap.LngLat(lng, lat));
};
this.setMarker = function (lat, lng, title = "位置") {
let lnglat = new TDMap.LngLat(lng, lat);
if (!this.marker) {
this.marker = new TDMap.Marker(lnglat, {
title,
});
this.map.addOverLay(this.marker);
} else {
this.marker.setLngLat(lnglat);
}
};
this.geocoder = new TDMap.Geocoder(); // 新建一个正逆地址解析类
this.getAddress = async function (lat, lng) {
return new Promise((reslove) => {
this.geocoder.getLocation(new TDMap.LngLat(lng, lat), (result) => {
if (result) {
console.log("this.geocoder.getLocation", result);
let status = result.getStatus();
reslove({
msg: "success",
data: {
address: result.getAddress(),
},
});
} else {
reslove({
msg: "failed",
error: "解析失败",
});
}
});
});
};
this.on = function (eventType, fn) {
if (eventType == "dragend") {
this.map.on("dragend", (e) => {
console.log("dragend", e);
fn(e);
});
} else {
this.map.on(eventType, fn);
}
};
}
this.searchNearby = async function (keyword) {
const ret = await searchNearby(this.map, keyword);
return ret;
};
return this;
}

5
src/utils/tdt-wp-zw.js

@ -0,0 +1,5 @@
export const baseUrl = "http://59.206.203.34/tileservice/SDPubMap";
export default {
vec: "http://59.206.203.34/tileservice/SDPubMap?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=sdvec&STYLE=default&TILEMATRIXSET=c&TILEMATRIX={z}&TILEROW={row}&TILECOL={col}&FORMAT=image%2Fpng",
// vec: "http://service.sdmap.gov.cn/tileservice/sdpubmap?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=sdvec&STYLE=default&TILEMATRIXSET=c&TILEMATRIX={z}&TILEROW={x}&TILECOL={y}&FORMAT=image%2Fpng&tk=e758167d5b90c351b70a979c0820840c",
};

7
src/utils/tdt-wp.js

@ -0,0 +1,7 @@
export const baseUrl = "http://t7.tianditu.com/DataServer";
export default {
vec_w:
"http://t7.tianditu.com/DataServer?T=vec_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}",
cva_w:
"http://t7.tianditu.com/DataServer?T=cva_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}",
};

17
src/utils/yantai-transit.js

@ -0,0 +1,17 @@
export function logout() {
let uriComponent = "http://172.20.46.177/epmet-oper-gov/#/login/";
let redirect_url = encodeURIComponent(uriComponent);
let url =
"http://172.20.46.155:8080/sso/logout?client_id=1000009&redirect_url=" +
redirect_url;
window.open(url, "_self");
}
export function toLoginPage() {
let uriComponent = "http://172.20.46.177/epmet-oper-gov/#/login/";
let redirect_url = encodeURIComponent(uriComponent);
let url =
"http://172.20.46.155:8080/sso/login?client_id=1000009&redirect_url=" +
redirect_url;
window.open(url, "_self");
}

378
src/views/modules/workSys/operAuth.vue

@ -0,0 +1,378 @@
<template>
<div class="div_main">
<div class="div_search">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'110px'">
<div>
<el-form-item label="操作时间"
label-width="110px"
prop="startTime">
<el-date-picker v-model="timeRange"
size="small"
type="datetimerange"
@change="handleTimeChange"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="姓名"
prop="operatorName">
<el-input v-model="formData.operatorName"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名">
</el-input>
</el-form-item>
<el-form-item label="手机"
prop="operatorMobile">
<el-input v-model="formData.operatorMobile"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入手机号">
</el-input>
</el-form-item>
<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@click="handleSearch">查询</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--reset"
@click="resetSearch">重置</el-button>
</div>
</el-form>
</div>
<div class="div_table">
<div class="div_btn">
<el-button v-if="false"
style="float:left;margin-left:10px"
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
</div>
<el-table class="table"
ref="ref_table"
:data="tableData"
border
:height="tableHeight"
v-loading="tableLoading"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
style="width: 100%">
<el-table-column label="序号"
header-align="center"
align="center"
type="index"
width="50"></el-table-column>
<el-table-column prop="operatorName"
header-align="center"
align="center"
label="姓名"
min-width="100">
</el-table-column>
<el-table-column prop="operatorMobile"
header-align="center"
align="center"
label="手机号"
min-width="110">
</el-table-column>
<el-table-column prop="content"
header-align="center"
align="center"
label="操作事项"
min-width="230">
</el-table-column>
<el-table-column prop="operateTime"
header-align="center"
align="center"
show-overflow-tooltip
label="操作时间"
min-width="150">
</el-table-column>
<!-- <el-table-column label="操作"
fixed="right"
width="140"
header-align="center"
align="center"
class="operate">
<template slot-scope="scope">
<el-button type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column> -->
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
let loading //
export default {
data () {
return {
loading: false,
total: 0,
pageSize: 20,
pageNo: 0,
tableLoading: false,
agencyId: '',
timeRange: [],
formData: {
category: 'data_tm',
operatorName: '',//
operatorMobile: '',//
startTime: '',//yyyy-MM-dd HH:mm
endTime: '',//yyyy-MM-dd HH:mm
},
tableData: [],
}
},
components: {
},
async created () {
},
async mounted () {
//
const { user } = this.$store.state
this.agencyId = user.agencyId
await this.loadTable()
},
activated () {
this.$refs['ref_table'].doLayout()
},
methods: {
async handleSearch () {
await this.loadTable()
this.$nextTick(() => {
this.$refs.ref_table.doLayout() //
})
},
async loadTable () {
this.tableLoading = true
const url = "/sys/log/operation/page"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/natlist"
let params = {
pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.total = data.total
this.tableData = data.list
this.tableData.forEach(item => {
item.isResiUserShow = item.isResiUser === '0' ? '否' : '是'
if (item.natResult === '1') {
item.natResultShow = '阳性'
} else if (item.natResult === '0') {
item.natResultShow = '阴性'
} else {
item.natResultShow = ''
}
});
} else {
this.$message.error(msg)
}
this.tableLoading = false
},
handleTimeChange (time) {
if (time) {
this.formData.startTime = time[0]
this.formData.endTime = time[1]
} else {
this.formData.startTime = ''
this.formData.endTime = ''
}
},
//
resetSearch () {
this.formData = {
category: 'data_tm',
operatorName: '',//
operatorMobile: '',//
startTime: '',//yyyy-MM-dd HH:mm
endTime: '',//yyyy-MM-dd HH:mm
}
this.timeRange = []
this.pageNo = 0
// this.loadTable()
},
handleSizeChange (val) {
this.pageSize = val
this.pageNo = 1
this.loadTable()
},
handleCurrentChange (val) {
this.pageNo = val
this.loadTable()
},
//
async handleExport () {
let title = '操作记录'
const url = "/epmetuser/icNat/export"
app.ajax.exportFilePost(
url,
this.formData,
(data, rspMsg) => {
this.download(data, title + '.xlsx')
},
(rspMsg, data) => {
this.$message.error(rspMsg);
}
);
},
//
download (data, fileName) {
if (!data) {
return
}
var csvData = new Blob([data])
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(csvData, fileName);
}
// for Non-IE (chrome, firefox etc.)
else {
var a = document.createElement('a');
document.body.appendChild(a);
a.style = 'display: none';
var url = window.URL.createObjectURL(csvData);
a.href = url;
a.download = fileName;
a.click();
a.remove();
window.URL.revokeObjectURL(url);
}
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
tableHeight () {
return this.$store.state.inIframe ? this.clientHeight - 330 + this.iframeHeight : this.clientHeight - 330
},
...mapGetters(['clientHeight', 'iframeHeight'])
},
watch: {
},
props: {
}
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/epidemic.scss";
</style>

209
src/views/pages/yantai-index.vue

@ -0,0 +1,209 @@
<template>
<fixed1920>
<div class="g-cnt">
<div class="m-top animate__animated menu animate__fadeInDown">
<img class="logo" src="@/assets/img/yantai/index/db.png" />
<div class="name">智慧社区平台</div>
</div>
<div class="m-list">
<div class="list">
<div class="animate__animated menu animate__fadeInLeft">
<img
class="menu-bg"
src="@/assets/img/yantai/index/yuanhu-you.png"
/>
<div class="menu-list">
<div class="menu-item z-zuo" @click="toPage('/main/base-resi')">
人房信息
</div>
<div
class="menu-item z-zuo"
@click="toPage('/main/base-epidemic-antiInfo')"
>
疫情防控
</div>
<div
class="menu-item z-zuo"
@click="toPage('/main/shequzhili-event-eventList')"
>
社区治理
</div>
<div
class="menu-item z-zuo z-on"
@click="toPage('/main/communityParty-members-index')"
>
社区党建
</div>
<div
class="menu-item z-zuo"
@click="toPage('/main/communityService-measure-index')"
>
社区服务
</div>
<div class="menu-item z-zuo" @click="toPage('/main/workPc-guidance-guidanceList.vue')">便携工具</div>
<div class="menu-item z-zuo" @click="toPage('/main/workSys-mapConfig')">系统管理</div>
</div>
</div>
<img class="arrow" src="@/assets/img/yantai/index/zuo.png" />
<div
class="item animate__animated animate__pulse"
@click="handleClickItem(1)"
>
<div class="item-wrap">
<img class="logo" src="@/assets/img/yantai/index/guanli.png" />
<div class="name">管理平台</div>
</div>
</div>
<div
class="item animate__animated animate__pulse"
@click="handleClickItem(2)"
>
<div class="item-wrap">
<img class="logo" src="@/assets/img/yantai/index/shuju.png" />
<div class="name">数据分析平台</div>
</div>
</div>
<img class="arrow" src="@/assets/img/yantai/index/you.png" />
<div class="menu animate__animated menu animate__fadeInRight">
<img
class="menu-bg"
src="@/assets/img/yantai/index/yuanhu-zuo.png"
/>
<div class="menu-list">
<div
class="menu-item z-you"
@click="toPage('/main-shuju/visual-basicinfo-basicInfoMain')"
>
基础信息
</div>
<div
class="menu-item z-you"
@click="toPage('/main-shuju/visual-warning-index')"
>
人员预警
</div>
<div
class="menu-item z-you"
@click="toPage('/main-shuju/visual-measure-service')"
>
需求清单
</div>
<div
class="menu-item z-you z-on"
@click="toPage('/main-shuju/visual-communityParty-party')"
>
社区党建
</div>
<div
class="menu-item z-you"
@click="
toPage(
'/main-shuju/visual-communityGovern-shijianchuli-shijianchulifenxi'
)
"
>
社区治理
</div>
<div
class="menu-item z-you"
@click="toPage('/main-shuju/visual-heart-index')"
>
初心互助
</div>
<div class="menu-item z-you" @click="toPage('/main-shuju/i-1536625421829599234')">
三维展示
</div>
</div>
</div>
</div>
</div>
<div class="m-footer">
<div class="login-footer">
<p>
<!-- <a href="http://www.elinkchina.com.cn/" target="_blank">{{
$t("login.copyright")
}}</a> -->
</p>
</div>
</div>
</div>
</fixed1920>
</template>
<script>
import { messages } from "@/i18n";
import fixed1920 from "@/views/components/fixed1920.vue";
export default {
data() {
return {
pubKey: null, //
isShowLogin: true,
i18nMessages: messages,
};
},
components: { fixed1920 },
computed: {
bdStyle() {
console.log("clientHeight", document.documentElement.clientHeight);
const scale = document.documentElement.clientWidth / 1920;
const height = document.documentElement.clientHeight / scale;
const top = (document.documentElement.clientHeight - height) / 2;
const left = (document.documentElement.clientWidth - 1920) / 2;
return {
transform: `scale(${scale})`,
height: `${height}px`,
left: `${left}px`,
top: `${top}px`,
};
},
},
created() {},
mounted() {},
methods: {
handleClickItem(k) {
if (k == 1) {
this.$router.replace({ name: "main" });
} else if (k == 2) {
this.$router.replace({ name: "main-shuju" });
}
},
toPage(path) {
this.$router.push({ path });
},
//
getAutoLogin(platformToken) {
this.dataForm.thirdToken = platformToken;
this.dataForm.platform = "pyld";
this.$http
.post(`/auth/sso/oper/third/login`, this.dataForm)
.then(({ data: res }) => {
if (res.code !== 0) {
if (res.code == 8302) {
return this.$message.error(res.msg);
}
return this.$message.error(res.msg);
}
localStorage.setItem("customerId", res.data.customerId);
localStorage.setItem("userType", "work");
localStorage.setItem("showHeader", "0");
localStorage.setItem("token", res.data.token);
this.$router.replace({ name: "home" });
})
.catch(() => {});
// epmet-ext9.elinkservice.cn/platform-admin
},
},
};
</script>
<style lang="scss" src="@/assets/scss/pages/yantai-index.scss" scoped></style>

93
src/views/pages/yantai-login-transit.vue

@ -0,0 +1,93 @@
<template>
<div class="g-app">
<div class="m-loading">
<p v-if="status == 'success'">登录成功</p>
<p v-else-if="status == 'failed'">登录失败</p>
</div>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import { toLoginPage } from "@/utils/yantai-transit";
import getQueryPara from "dai-js/modules/getQueryPara";
export default {
data() {
return {
status: "ing",
};
},
components: {},
computed: {},
async mounted() {
let code = getQueryPara("code");
console.log("--------------code" + code);
const loading = this.$loading({
lock: true,
text: "登录中……",
spinner: "el-icon-loading",
customClass: "u-loading-yantai-login-transit",
background: "rgba(255, 255, 255, 0.7)",
});
if (code) {
await this.login(code);
loading.close();
} else {
toLoginPage();
}
},
methods: {
//id
async login(client_code) {
const url = "/auth/thirdlogin/sso-govlogin-yantai/" + client_code;
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.status = "success";
localStorage.setItem("customerId", data.customerId);
localStorage.setItem("userType", "work");
//localStorage.setItem("showHeader", "1");
localStorage.setItem("token", data.token);
this.$router.replace({ name: "index" });
} else {
this.status = "failed";
}
},
},
};
</script>
<style lang="scss" scoped>
.m-loading {
text-align: center;
margin-top: 10vh;
line-height: 100px;
font-size: 50px;
color: rgb(62, 142, 247);
}
</style>
<style lang="scss">
.u-loading-yantai-login-transit {
margin-top: -140px;
// transform: translateY(-100px);
.el-loading-spinner {
.el-loading-text,
.el-icon-loading {
line-height: 60px;
font-size: 30px;
color: rgb(62, 142, 247);
}
.el-icon-loading {
font-size: 40px;
}
}
}
</style>

435
src/views/pages/yantai-login.vue

@ -0,0 +1,435 @@
<template>
<div class="g-app">
<div class="g-bd" v-if="isShowLogin || true">
<div class="m-snow-box" id="snow_box"></div>
<div class="m-fm animate__animated animate__rotateInDownLeft">
<div class="wrap">
<h2 class="title">{{ $t("brand.work") }}</h2>
<div class="fm">
<el-form
:model="dataForm"
:rules="dataRule"
ref="dataForm"
@keyup.enter.native="dataFormSubmitHandle()"
status-icon
>
<div class="fm-item">
<div class="ico">
<img src="@/assets/img/login/zhanghao.png" alt="" />
</div>
<div class="input">
<input
type="text"
v-model="dataForm.phone"
placeholder="账号"
/>
</div>
</div>
<div class="fm-item">
<div class="ico">
<img src="@/assets/img/login/mima.png" alt="" />
</div>
<div class="input">
<input
type="password"
v-model="dataForm.password"
:placeholder="$t('login.password')"
/>
</div>
</div>
<div class="fm-captcha">
<div class="fm-item">
<div class="input">
<input
type="text"
v-model="dataForm.captcha"
placeholder="验证码"
/>
</div>
</div>
<div class="captcha">
<img :src="captchaPath" @click="getCaptcha()" />
</div>
</div>
<div class="fm-btn" @click="dataFormSubmitHandle()">
{{ $t("login.title") }}
</div>
<div class="hint">请使用小程序端的账号密码登录</div>
</el-form>
</div>
</div>
</div>
<div class="m-footer">
<div class="login-footer">
<p>
<!-- <a href="" target="_blank">{{ $t("login.copyright") }}</a> -->
</p>
</div>
</div>
</div>
<c-dialog
:showFooter="false"
:title="'选择客户'"
:isNest="false"
:visible="diaVisible"
:dialogHeight="0.8"
:width="30"
:top="'120px'"
@cancel="diaCancel"
>
<div class="m-pop">
<div v-for="(item, index) in tableData" :key="index" class="div_row">
<span @click="selectCustomer(item)" class="span_name">{{
item.customerName
}}</span>
</div>
</div>
</c-dialog>
</div>
</template>
<script>
import CDialog from "@c/CDialog";
import particles_js from "particles.js/particles.js";
import { messages } from "@/i18n";
import { getUUID } from "@/utils";
import { Loading } from "element-ui"; // Loading
import JSEncrypt from "jsencrypt"; //
let loading; //
export default {
data() {
return {
pubKey: null, //
isShowLogin: true,
i18nMessages: messages,
captchaPath: "",
dataForm: {
customerId: "",
app: "gov",
client: "web",
username: "",
phone: "",
password: "",
uuid: "",
captcha: "",
},
//
diaVisible: false,
tableLoading: false,
tableData: [],
};
},
components: {
CDialog,
},
computed: {
dataRule() {
return {
phone: [{ required: true, message: "手机号不能为空", trigger: "blur" }],
password: [
{ required: true, message: "密码不能为空", trigger: "blur" },
],
captcha: [
{ required: true, message: "验证码不能为空", trigger: "blur" },
],
};
},
},
created() {
//
if (this.$route.query.platformToken) {
this.isShowLogin = false;
this.getAutoLogin(this.$route.query.platformToken);
} else {
this.getCaptcha();
//
this.getPubKey();
}
},
mounted() {
localStorage.removeItem("showHeader");
particlesJS(
"snow_box",
{
particles: {
number: {
value: 380,
density: {
enable: true,
value_area: 800,
},
},
color: {
value: "#ffffff",
},
shape: {
type: "circle",
stroke: {
width: 0,
color: "#000000",
},
polygon: {
nb_sides: 5,
},
image: {
src: "img/github.svg",
width: 100,
height: 100,
},
},
opacity: {
value: 0.5,
random: false,
anim: {
enable: false,
speed: 1,
opacity_min: 0.1,
sync: false,
},
},
size: {
value: 3,
random: true,
anim: {
enable: false,
speed: 40,
size_min: 0.1,
sync: false,
},
},
line_linked: {
enable: true,
distance: 150,
color: "#ffffff",
opacity: 0,
width: 1,
},
move: {
enable: true,
speed: 6,
direction: "none",
random: false,
straight: false,
out_mode: "out",
bounce: false,
attract: {
enable: false,
rotateX: 600,
rotateY: 1200,
},
},
},
interactivity: {
detect_on: "canvas",
events: {
onhover: {
enable: true,
mode: "grab",
},
onclick: {
enable: true,
mode: "push",
},
resize: true,
},
modes: {
grab: {
distance: 140,
line_linked: {
opacity: 1,
},
},
bubble: {
distance: 400,
size: 40,
duration: 2,
opacity: 8,
speed: 3,
},
repulse: {
distance: 200,
duration: 0.4,
},
push: {
particles_nb: 4,
},
remove: {
particles_nb: 2,
},
},
},
retina_detect: true,
},
function () {
console.log("callback - particles.js config loaded");
}
);
},
methods: {
//
getPubKey() {
this.$http
.post("/auth/govweb/getKey")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
this.pubKey = res.data; // ;
})
.catch(() => {});
},
//
getCaptcha() {
this.dataForm.uuid = getUUID();
this.captchaPath = `${window.SITE_CONFIG["apiURL"]}/auth/login/captcha?uuid=${this.dataForm.uuid}`;
},
//
dataFormSubmitHandle() {
this.$refs["dataForm"].validate((valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj);
}
this.startLoading();
// const url = 'https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/epmetuser/customerstaff/customerlist'
const url = "/epmetuser/customerstaff/customerlist";
const params = {
phone: this.dataForm.phone,
};
// this.$http
// .post(url, params).then(({ data })=> {
// console.log('res--comll', data)
// if (data.data.length === 0) {
// //
// this.$message.error('')
// this.endLoading()
// } else if (data.data.length === 1) {
// this.selectCustomer(data.data[0])
// } else {
// this.endLoading()
// this.diaVisible = true
// this.$nextTick(() => {
// this.tableData = data.data
// })
// }
// }).catch((err) => {
// this.endLoading()
// this.$message.error(err)
// })
window.app.ajax.post(
url,
params,
(data, rspMsg) => {
if (data.length === 0) {
//
this.$message.error("账号不存在");
this.endLoading();
} else if (data.length === 1) {
this.selectCustomer(data[0]);
} else {
this.endLoading();
this.diaVisible = true;
this.$nextTick(() => {
this.tableData = data;
});
}
},
(rspMsg, data) => {
this.endLoading();
this.$message.error(rspMsg);
}
);
});
},
//
getAutoLogin(platformToken) {
this.dataForm.thirdToken = platformToken;
this.dataForm.platform = "pyld";
this.$http
.post(`/auth/sso/oper/third/login`, this.dataForm)
.then(({ data: res }) => {
if (res.code !== 0) {
if (res.code == 8302) {
return this.$message.error(res.msg);
}
return this.$message.error(res.msg);
}
localStorage.setItem("customerId", res.data.customerId);
localStorage.setItem("userType", "work");
localStorage.setItem("showHeader", "0");
localStorage.setItem("token", res.data.token);
this.$router.replace({ name: "home" });
})
.catch(() => {});
// epmet-ext9.elinkservice.cn/platform-admin
},
//
selectCustomer(row) {
localStorage.setItem("customerId", row.customerId);
localStorage.setItem("customerName", row.customerName);
this.startLoading();
// const url = 'https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/auth/govweb/login'
const url = "/auth/govweb/login";
this.dataForm.customerId = row.customerId;
let param = {};
Object.assign(param, this.dataForm);
param.password = this.encryptedData(this.pubKey, this.dataForm.password);
this.$http
.post(url, param)
.then(({ data: res }) => {
this.endLoading();
if (res.code !== 0) {
this.getCaptcha();
return this.$message.error(res.msg);
}
this.diaVisible = false;
localStorage.setItem("userType", "work");
localStorage.setItem("token", res.data.token);
this.$router.replace({ name: "index" });
})
.catch(() => {
this.endLoading();
});
},
//
diaCancel() {
this.diaVisible = false;
},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: "正在加载……", //
background: "rgba(0,0,0,.7)", //
});
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close();
}
},
//
encryptedData(key, data) {
// JSEncrypt
let encryptor = new JSEncrypt();
//
encryptor.setPublicKey(key);
//
return encryptor.encrypt(data);
},
},
};
</script>
<style lang="scss" src="@/assets/scss/pages/yantai-login.scss" scoped></style>
Loading…
Cancel
Save