{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/PageTitle.vue?2cdc","webpack:///./src/store/actions.js","webpack:///./src/store/getters.js","webpack:///./src/store/modules/account.js","webpack:///./src/store/modules/oidc.js","webpack:///./src/store/modules/oidc-getters.js","webpack:///./src/store/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?46b8","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/plugins/antd.js","webpack:///./src/components/PageTitle.vue?363c","webpack:///src/components/PageTitle.vue","webpack:///./src/components/PageTitle.vue?9ac5","webpack:///./src/components/PageTitle.vue","webpack:///./src/components/Hubs/HubBase.js","webpack:///./src/components/Hubs/NotificationHub.js","webpack:///./src/components/Hubs/NotificationHubPlugin.js","webpack:///./src/core/bootstrap.js","webpack:///./src/main.js","webpack:///./src/api/Accounts/WrappedAccount.js","webpack:///./src/api/account.js","webpack:///./src/App.vue?c650","webpack:///./src/views/oidc/Callback.vue?e18f","webpack:///src/views/oidc/Callback.vue","webpack:///./src/views/oidc/Callback.vue?d04d","webpack:///./src/views/oidc/Callback.vue","webpack:///./src/views/oidc/PopupCallback.vue?2fd9","webpack:///src/views/oidc/PopupCallback.vue","webpack:///./src/views/oidc/PopupCallback.vue?c6e0","webpack:///./src/views/oidc/PopupCallback.vue","webpack:///./src/views/oidc/CallbackError.vue?6d1d","webpack:///src/views/oidc/CallbackError.vue","webpack:///./src/views/oidc/CallbackError.vue?8be1","webpack:///./src/views/oidc/CallbackError.vue","webpack:///./src/views/oidc/Renew.vue?b073","webpack:///src/views/oidc/Renew.vue","webpack:///./src/views/oidc/Renew.vue?fd50","webpack:///./src/views/oidc/Renew.vue","webpack:///./src/router/modules/oidc.js","webpack:///./src/router/modules/basic.js","webpack:///./src/router/modules/project.js","webpack:///./src/router/modules/production.js","webpack:///./src/router/modules/resource.js","webpack:///./src/router/modules/task.js","webpack:///./src/router/modules/saasAdmin.js","webpack:///./src/router/modules/sales.js","webpack:///./src/router/modules/purchase.js","webpack:///./src/router/modules/storage.js","webpack:///./src/router/titleMiddleware.js","webpack:///./src/router/hardwareMiddleware.js","webpack:///./src/router/index.js","webpack:///./src/config/modules/oidc.js","webpack:///./src/config/modules/api.js","webpack:///./src/config/index.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","getCurrentLanguageCode","state","getLanguage","account","user_info","loading","c_s","mutations","SET_TOKEN","accessToken","access_token","SET_USER_INFO","info","SET_ACCOUNT_LOADING","SET_PERSONAL","assign","SET_SESSION_ID","actions","loadUserInfo","commit","getUserInfoAsync","res","logout","autoRedirect","dispatch","rootState","root","getters","getAccountLoading","getSessionId","getUserInfo","getTenant","id","tenantId","companyName","ls","secureLs","encodingType","isCompression","encryptionSecret","oidcSettings","config","oidc","oidcStore","vuexOidcCreateStoreModule","userStore","WebStorageStateStore","store","clear","getItem","index","getAllKeys","removeItem","remove","setItem","set","namespaced","dispatchEventsOnWindow","userLoaded","user","log","userUnloaded","accessTokenExpiring","accessTokenExpired","silentRenewError","userSignedOut","oidcError","payload","getToken","Vue","use","Vuex","Store","oidcGetters","plugins","createPersistedState","storage","map","webpackContext","req","webpackContextResolve","keys","_vm","this","_h","$createElement","_c","_self","staticRenderFns","component","$message","$info","Modal","$success","success","$error","$warning","warning","$confirm","confirm","Antd","expired","Table","methods","updateColumns","arg","Array","arguments","pagination","dataSource","total","current","lastUpdated","self","$emit","staticClass","_v","_s","title","_e","_t","props","String","default","titleVisible","Boolean","apiConfig","api","signalR","require","getHttpConnectionOptions","options","transport","HttpTransportType","WebSockets","skipNegotiation","makeAuthorizationUrl","url","token","tenant","language","indexOf","auth","authUrl","encodeURIComponent","tenantUrl","lan","lanUrl","sessionId","sessionUrl","HubBase","hubName","routerPath","rootUrl","baseUrl","init","builder","HubConnectionBuilder","withUrl","configureLogging","LogLevel","Information","withAutomaticReconnect","hubConnectionBuilder","hub","build","afterInit","start","resolveSome","rejectSome","triggerChange","catch","toString","on","actionName","handler","eventChangeStore","onChange","array","element","NotificationHub","getNotificationAsync","readState","maxResultCount","invoke","getViewNotificationAsync","changeStateAsync","onGetNotification","plugin","install","$notificationHub","Initializer","NotificationHubPlugin","PageTitle","productionTip","router","render","h","App","created","bootstrap","$mount","axios","baseURL","errorHandler","errorRes","response","getError","status","notification","description","details","interceptors","headers","oidcRequest","method","params","paramsSerializer","qs","stringify","indices","oidcRequestWithToken","sendMobileCodeAsync","phoneNumber","resovle","pictureId","sessionStorage","successed","errors","join","getVerifyCodeAsync","dt","Date","valueOf","resetPasswordAsync","username","password","verifyCode","Authorization","userInfo","companyId","currentCompany","switchCompanyAsync","companyList","find","x","permissions","roles","isCompanyAdmin","location","WrappedAccount","staticStyle","attrs","oidcSignInCallback","goHome","oidcSignInPopupCallback","_m","path","OidcCallback","OidcPopupCallback","OidcCallbackError","meta","isPublic","OidcRenew","basicRoutes","projectRoutes","isHome","redirect","children","productionRoutes","query","itemId","isEdit","resourceRoutes","taskRoutes","saasoperateRoutes","salesRoutes","purchaseRoutes","storageRoutes","to","from","next","dispatchRoute","oidcUser","email","VueRouter","allRouteList","originalPush","base","process","routes","oidcMiddleware","vuexOidcCreateRouterMiddleware","beforeEach","titleMiddleware","hardwareMiddlware","onError","routeList","env","oidcConfig","client_secret","authority","VUE_APP_OICD_AUTHORITY","client_id","redirect_uri","VUE_APP_OICD_REDIRECTURI","post_logout_redirect_uri","VUE_APP_OICD_LOGOUT_URL","popup_redirect_uri","response_type","load_user_info","scope","VUE_APP_OICD_SCOPE","show_debug_information","silent_redirect_uri","VUE_APP_OICD_SILENT_URL","automaticSilentRenew","automaticSilentSignin","VUE_APP_API_BASE_URL"],"mappings":"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","file":"js/app.a90c665a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0878798a\":\"dc9700c1\",\"chunk-097efb0b\":\"d5bf9e55\",\"chunk-09e92442\":\"a3b37613\",\"chunk-113b7709\":\"a4b505a7\",\"chunk-188006b1\":\"15e977a3\",\"chunk-1fe8211a\":\"ed361932\",\"chunk-a192adb8\":\"118304a4\",\"chunk-2d207ebb\":\"95f1e50c\",\"chunk-2d237592\":\"4ebf97f1\",\"chunk-2e0ccf24\":\"9eff1bd6\",\"chunk-2eb73e07\":\"79a83f65\",\"chunk-2fc44cb6\":\"eb712bd1\",\"chunk-30ec257e\":\"d29b4c0e\",\"chunk-6a591b94\":\"5899f106\",\"chunk-316c6ee3\":\"5c1643c4\",\"chunk-40e5841b\":\"1fff5036\",\"chunk-44715654\":\"7f181b51\",\"chunk-4695316c\":\"74025b63\",\"chunk-47aa90fa\":\"8aaaa485\",\"chunk-5389c768\":\"cc334694\",\"chunk-539a711a\":\"576cb013\",\"chunk-8de4f342\":\"b917bccf\",\"chunk-554d366c\":\"f115522b\",\"chunk-580ba7bc\":\"2fe42c95\",\"chunk-5dd968c2\":\"7cf3730e\",\"chunk-654a2b7a\":\"3085767a\",\"chunk-6a1440dc\":\"9ff9909a\",\"chunk-6d03c03c\":\"c76d916b\",\"chunk-773e7ea3\":\"b153e6d4\",\"chunk-7b7e4e82\":\"3b39d3c8\",\"chunk-8e00c2be\":\"d05be2dc\",\"chunk-8f70a8e2\":\"a668d258\",\"chunk-90222328\":\"0e01f376\",\"chunk-6ae95383\":\"7b3c2d85\",\"chunk-2c11284f\":\"1d5a0e26\",\"chunk-400a5d81\":\"79db3013\",\"chunk-600dadd2\":\"7b903c5e\",\"chunk-c659638c\":\"925d7480\",\"chunk-6cb98256\":\"753f9397\",\"chunk-b5b67b7e\":\"4c5290b3\",\"chunk-a06a9dae\":\"241883ea\",\"chunk-d25d2a02\":\"8dd81984\",\"chunk-d71e87a8\":\"8709d6df\",\"chunk-e02d192e\":\"73e07ef3\",\"chunk-e2feb86a\":\"70a69a7d\",\"chunk-feae0ce6\":\"0af43178\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0878798a\":1,\"chunk-097efb0b\":1,\"chunk-113b7709\":1,\"chunk-188006b1\":1,\"chunk-1fe8211a\":1,\"chunk-a192adb8\":1,\"chunk-2e0ccf24\":1,\"chunk-2eb73e07\":1,\"chunk-2fc44cb6\":1,\"chunk-30ec257e\":1,\"chunk-6a591b94\":1,\"chunk-316c6ee3\":1,\"chunk-40e5841b\":1,\"chunk-44715654\":1,\"chunk-4695316c\":1,\"chunk-47aa90fa\":1,\"chunk-5389c768\":1,\"chunk-8de4f342\":1,\"chunk-554d366c\":1,\"chunk-580ba7bc\":1,\"chunk-5dd968c2\":1,\"chunk-654a2b7a\":1,\"chunk-6a1440dc\":1,\"chunk-6d03c03c\":1,\"chunk-7b7e4e82\":1,\"chunk-8f70a8e2\":1,\"chunk-90222328\":1,\"chunk-6ae95383\":1,\"chunk-2c11284f\":1,\"chunk-400a5d81\":1,\"chunk-600dadd2\":1,\"chunk-c659638c\":1,\"chunk-6cb98256\":1,\"chunk-b5b67b7e\":1,\"chunk-a06a9dae\":1,\"chunk-d25d2a02\":1,\"chunk-d71e87a8\":1,\"chunk-e02d192e\":1,\"chunk-e2feb86a\":1,\"chunk-feae0ce6\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0878798a\":\"f6973297\",\"chunk-097efb0b\":\"50df272d\",\"chunk-09e92442\":\"31d6cfe0\",\"chunk-113b7709\":\"d179871f\",\"chunk-188006b1\":\"17bddc1e\",\"chunk-1fe8211a\":\"e20f00cd\",\"chunk-a192adb8\":\"4c03f541\",\"chunk-2d207ebb\":\"31d6cfe0\",\"chunk-2d237592\":\"31d6cfe0\",\"chunk-2e0ccf24\":\"519d24bc\",\"chunk-2eb73e07\":\"95f6af17\",\"chunk-2fc44cb6\":\"c988511a\",\"chunk-30ec257e\":\"2b58db73\",\"chunk-6a591b94\":\"8cd64cec\",\"chunk-316c6ee3\":\"fff7f543\",\"chunk-40e5841b\":\"d4ff788b\",\"chunk-44715654\":\"3bcce1c3\",\"chunk-4695316c\":\"4758ca25\",\"chunk-47aa90fa\":\"3dec6b27\",\"chunk-5389c768\":\"754943bc\",\"chunk-539a711a\":\"31d6cfe0\",\"chunk-8de4f342\":\"3145a62c\",\"chunk-554d366c\":\"c9f50783\",\"chunk-580ba7bc\":\"eed67f81\",\"chunk-5dd968c2\":\"34f12da2\",\"chunk-654a2b7a\":\"dd0c65db\",\"chunk-6a1440dc\":\"8574f138\",\"chunk-6d03c03c\":\"48bcb203\",\"chunk-773e7ea3\":\"31d6cfe0\",\"chunk-7b7e4e82\":\"70e4ffa4\",\"chunk-8e00c2be\":\"31d6cfe0\",\"chunk-8f70a8e2\":\"66266ab0\",\"chunk-90222328\":\"cf77ba75\",\"chunk-6ae95383\":\"ec95d377\",\"chunk-2c11284f\":\"a934f067\",\"chunk-400a5d81\":\"a40a0d9f\",\"chunk-600dadd2\":\"42aa6e4b\",\"chunk-c659638c\":\"fe7ceed0\",\"chunk-6cb98256\":\"ad3e895d\",\"chunk-b5b67b7e\":\"d5560cd1\",\"chunk-a06a9dae\":\"06327a98\",\"chunk-d25d2a02\":\"00edc149\",\"chunk-d71e87a8\":\"1c6cf35c\",\"chunk-e02d192e\":\"b1d65308\",\"chunk-e2feb86a\":\"bec34946\",\"chunk-feae0ce6\":\"e5265d1e\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=style&index=0&id=2b86fd47&lang=scss&scoped=true&\"","export default {};\n","/* eslint-disable no-unused-vars */\nexport default {\n getCurrentLanguageCode(state) {\n return \"zh-CN\";\n },\n getLanguage(state) {\n return \"zh-CN\";\n },\n};\n","/* eslint-disable no-unused-vars */\nimport { getUserInfoAsync, logoutAsync } from \"@/api/account\";\n\nconst account = {\n state: {\n user_info: {},\n loading: false,\n c_s: \"\",\n },\n\n mutations: {\n SET_TOKEN: (state, { accessToken, access_token }) => {\n // 应纯粹的修改token,如果需要变更用户信息,应再调用 SET_USER_INFO\n },\n SET_USER_INFO: (state, info) => {\n state.user_info = info;\n },\n SET_ACCOUNT_LOADING: (state, loading) => {\n state.loading = loading;\n },\n SET_PERSONAL: (state, info) => {\n Object.assign(state.user_info, info);\n },\n SET_SESSION_ID: (state, info) => {\n state.c_s = info;\n },\n },\n actions: {\n loadUserInfo: ({ commit }) => {\n return getUserInfoAsync().then((res) => {\n commit(\"SET_USER_INFO\", res);\n return res;\n });\n },\n logout: ({ commit, rootState, dispatch }, autoRedirect) => {\n commit(\"SET_USER_INFO\", {});\n dispatch(\"oidcStore/signOutOidc\", {}, { root: true });\n },\n },\n getters: {\n getAccountLoading: (state) => {\n return state.loading;\n },\n getSessionId: (state) => {\n return state.c_s;\n },\n getUserInfo(state) {\n return state.user_info;\n },\n getTenant(state) {\n const user_info = state.user_info || {};\n return {\n id: user_info.tenantId,\n name: user_info.companyName,\n };\n },\n },\n};\n\nexport default account;\n","/* eslint-disable no-unused-vars */\r\nimport { vuexOidcCreateStoreModule } from \"vuex-oidc\";\r\nimport config from \"@/config\";\r\nimport { WebStorageStateStore } from \"oidc-client\";\r\nimport secureLs from \"secure-ls\";\r\nconst ls = new secureLs({\r\n encodingType: \"aes\",\r\n isCompression: true,\r\n encryptionSecret: \"2021@zggcd-100\",\r\n});\r\nconst oidcSettings = config.oidc;\r\n// NOTE: If you want to customize how tokens are stored you can use WebStorageStateStore from oidc-client (see bellow)\r\n// Default storage is window.localStorage\r\n// import { WebStorageStateStore } from 'oidc-client'\r\nconst oidcStore = vuexOidcCreateStoreModule(\r\n {\r\n ...oidcSettings,\r\n userStore: new WebStorageStateStore({\r\n store: {\r\n clear: () => ls.clear(),\r\n getItem: (key) => {\r\n try {\r\n return ls.get(key);\r\n } catch (e) {\r\n ls.clear();\r\n return ls.get(key);\r\n }\r\n },\r\n key: (index) => ls.getAllKeys()[index],\r\n removeItem: (key) => ls.remove(key),\r\n setItem: (key, value) => ls.set(key, value),\r\n },\r\n }),\r\n },\r\n // NOTE: If you do not want to use localStorage for tokens, in stead of just passing oidcSettings, you can\r\n // spread your oidcSettings and define a userStore of your choice\r\n // {\r\n // ...oidcSettings,\r\n // userStore: new WebStorageStateStore({ store: window.sessionStorage })\r\n // },\r\n // Optional OIDC store settings\r\n { namespaced: true, dispatchEventsOnWindow: true },\r\n // Optional OIDC event listeners\r\n {\r\n userLoaded: (user) => console.log(\"OIDC user is loaded:\", user),\r\n userUnloaded: () => console.log(\"OIDC user is unloaded\"),\r\n accessTokenExpiring: () => console.log(\"Access token will expire\"),\r\n accessTokenExpired: () => console.log(\"Access token did expire\"),\r\n silentRenewError: () => console.log(\"OIDC user is unloaded\"),\r\n userSignedOut: () => {\r\n // window.location.href=\"/log\"\r\n console.log(\"OIDC user is signed out\");\r\n },\r\n oidcError: (payload) => console.log(\"OIDC error\", payload),\r\n }\r\n);\r\n\r\nexport default oidcStore;\r\n","/* eslint-disable no-unused-vars */\r\nexport default {\r\n getToken(state) {\r\n // if(document.cookie.)\r\n return state.oidcStore.access_token;\r\n },\r\n};\r\n","/* eslint-disable no-unused-vars */\nimport Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport createPersistedState from \"vuex-persistedstate\";\nimport actions from \"./actions\";\nimport getters from \"./getters\";\nimport account from \"./modules/account\";\nimport oidc from \"./modules/oidc\";\nimport oidcGetters from \"./modules/oidc-getters\";\nimport secureLs from \"secure-ls\";\n// import { vuexOidcCreateStoreModule } from \"vuex-oidc\";\n\nconst ls = new secureLs({\n encodingType: \"aes\",\n isCompression: true,\n encryptionSecret: \"helloYgc@2021\",\n});\nVue.use(Vuex);\n\nconst store = new Vuex.Store({\n modules: {\n account,\n oidcStore: oidc,\n },\n actions,\n getters: {\n ...getters,\n ...oidcGetters,\n },\n plugins: [\n createPersistedState({\n storage: {\n // getItem: (key) => sessionStorage.getItem(key),\n // setItem: (key, value) => sessionStorage.setItem(key, value),\n // removeItem: (key) => sessionStorage.removeItem(key),\n getItem: (key) => {\n try {\n return ls.get(key);\n } catch (e) {\n ls.clear();\n return ls.get(key);\n }\n },\n setItem: (key, value) => ls.set(key, value),\n removeItem: (key) => ls.remove(key),\n },\n }),\n ],\n});\nexport default store;\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=bdea82b0&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-unused-vars */\nimport Vue from \"vue\";\nimport Antd from \"ant-design-vue\";\nimport Modal from \"ant-design-vue/es/modal\";\nimport message from \"ant-design-vue/es/message\";\n// import { default as Pagination } from \"ant-design-vue/es/pagination\";\nimport { default as Table } from \"ant-design-vue/es/table\";\nVue.prototype.$message = message;\nVue.prototype.$info = Modal.info;\nVue.prototype.$success = Modal.success;\nVue.prototype.$error = Modal.error;\nVue.prototype.$warning = Modal.warning;\nVue.prototype.$confirm = Modal.confirm;\n/* v1.1.3+ registration methods */\nVue.use(Antd);\n\n/** 重写Table翻页行为 */\n{\n const expired = Table.methods.updateColumns;\n Table.methods.updateColumns = function () {\n const arg = Array.prototype.splice.call(arguments, 0);\n if (\n this.pagination &&\n this.dataSource.length === 0 &&\n this.pagination.total > 0 &&\n this.pagination.current > 1 &&\n !this.pagination.lastUpdated\n ) {\n this.pagination.current--;\n this.pagination.lastUpdated = true;\n const self = this;\n setTimeout(() => {\n self.pagination.lastUpdated = false;\n }, 1000);\n this.$emit(\"change\", this.pagination);\n }\n return expired.apply(this, arg);\n };\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pageTitle\"},[(_vm.titleVisible)?_c('div',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageTitle.vue?vue&type=template&id=2b86fd47&scoped=true&\"\nimport script from \"./PageTitle.vue?vue&type=script&lang=js&\"\nexport * from \"./PageTitle.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PageTitle.vue?vue&type=style&index=0&id=2b86fd47&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b86fd47\",\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-unused-vars */\nimport config from \"@/config\";\nimport store from \"@/store\";\nconst { getters } = store;\nconst apiConfig = config.api;\nconst signalR = require(\"@microsoft/signalr\");\n// @abp/signalr 不知道如何使用\n// const signalR = require('@abp/signalr')\n// import * as signalR from '@abp/signalr'\n// aspnet/signalr 是microsoft/signalr 的旧版本\n\nconst getHttpConnectionOptions = function (api) {\n // 无法从 @microsoft\\signalr 导出 IHttpConnectionOptions,此处模拟之\n const options = {};\n // 指定使用WebSockect,目前只配了ws的路由转发\n options.transport = signalR.HttpTransportType.WebSockets;\n // 跳过握手\n options.skipNegotiation = false;\n // 读取token\n // options.accessTokenFactory = () => token.access_token\n // options.logger = new ConsoleLogger()\n // options.httpClient = new signalR.DefaultHttpClient(options.logger)\n // const options.httpClient.httpClient.getCookieString\n // const headers = options.headers = {}\n // 赋值给headers 则只会在握手时生效,websockect 正式连接只会使用cookie\n return options;\n};\nfunction makeAuthorizationUrl(url) {\n const token = getters.getToken;\n const tenant = getters.getTenant;\n const language = getters.getCurrentLanguageCode;\n const getUserInfo = getters.getUserInfo;\n if (url.indexOf(\"?\") < 0) {\n url = url + \"?\";\n } else {\n url = url + \"&\";\n }\n const auth = token; // `${token.token_type} ${token.access_token}`\n const authUrl = encodeURIComponent(auth);\n const tenantId = tenant.tenantId || tenant.id;\n const tenantUrl = encodeURIComponent(tenantId);\n // const companyId = getUserInfo.companyId;\n // const companyUrl = encodeURIComponent(companyId);\n const lan = language;\n const lanUrl = encodeURIComponent(lan);\n const sessionId = getters.getSessionId;\n const sessionUrl = encodeURIComponent(sessionId);\n if (token && token != \"1\") {\n url = `${url}access_token=Bearer ${authUrl}`;\n } else {\n url = `${url}&1=1`;\n }\n url += `&__tenant=${tenantUrl}&Accept-Languag=${lanUrl}&c_s=${sessionUrl}`;\n // url = `http://localhost:63963/hubs/notification?access_token=${authUrl}&__tenant=${tenUrl}&Accept-Languag=${lanUrl}`\n return url;\n}\nexport default class HubBase {\n constructor(hubName, routerPath, rootUrl) {\n const self = this;\n this.name = hubName;\n this.routerPath = routerPath;\n if (typeof rootUrl !== \"string\") rootUrl = apiConfig.baseUrl;\n /**\n * 第一步 初始化\n */\n this.init = function () {\n this.api = makeAuthorizationUrl(`${rootUrl}${routerPath}`);\n // .replace(/http/i, 'ws')\n const options = getHttpConnectionOptions(this.api);\n let builder = new signalR.HubConnectionBuilder();\n builder = builder.withUrl(this.api, options);\n builder = builder.configureLogging(signalR.LogLevel.Information);\n // 自动重连\n builder = builder.withAutomaticReconnect();\n this.hubConnectionBuilder = builder;\n this.hub = this.hubConnectionBuilder.build();\n this.afterInit();\n };\n\n this.afterInit = function () {};\n\n /**\n * 第三步 开始工作\n */\n this.start = function () {\n let resolveSome;\n let rejectSome;\n const p = new Promise((resolve, reject) => {\n resolveSome = resolve;\n rejectSome = reject;\n });\n this.hub\n .start()\n .then(function () {\n console.log(`${hubName} connected!`);\n self.triggerChange();\n resolveSome();\n })\n .catch(function (err) {\n console.error(err.toString());\n rejectSome();\n });\n return p;\n };\n\n /**\n * 第二步 监听事件\n * @param {String} actionName 监听行为名称\n * @param {Function} handler 处理\n */\n this.on = function (actionName, handler) {\n this.hub.on(actionName, handler);\n };\n\n this.eventChangeStore = [];\n this.onChange = function (handler) {\n this.eventChangeStore.push(handler);\n };\n this.triggerChange = function () {\n const array = self.eventChangeStore;\n for (let index = 0; index < array.length; index++) {\n const element = array[index];\n try {\n element();\n } catch (e) {\n console.log(e);\n }\n }\n };\n }\n}\n","import HubBase from \"./HubBase\";\n\n/**\n * 通知中心\n */\nexport default class NotificationHub extends HubBase {\n constructor() {\n super(\"notification hub\", \"/hubs/common/notification\");\n /**\n * 获取当前特定状态的通知\n * @param {Any} readState 通知状态 0:已读 1:未读\n * @param {Number} maxResultCount 最大记录数,默认 10\n */\n this.getNotificationAsync = function (readState, maxResultCount) {\n return this.hub.invoke(\n \"GetNotification\",\n readState || 0,\n maxResultCount || 10\n );\n };\n /**\n * 获取当前待查阅的通知\n * @param {Number} maxResultCount 最大记录数,默认 10\n */\n this.getViewNotificationAsync = function (maxResultCount) {\n return this.hub.invoke(\n \"GetUserViewNotificationsPage\",\n maxResultCount || 10\n );\n };\n /**\n * 变更通知状态\n * @param {Number} readState 通知状态 0:已读 1:未读\n * @param {String} id 通知Id\n */\n this.changeStateAsync = function (id, readState) {\n return this.hub.invoke(\"ChangeState\", id, readState);\n };\n\n /**\n * 当接收到消息时\n * @param {Function} handler notification\n */\n this.onGetNotification = function (handler) {\n this.hub.on(\"getNotification\", handler);\n };\n\n this.afterInit = function () {\n this.hub.on(\"getNotification\", this.triggerChange);\n };\n }\n}\n","/* eslint-disable no-unused-vars */\nimport NotificationHub from \"./NotificationHub\";\nconst plugin = {\n install(Vue, options) {\n Vue.prototype.$notificationHub = new NotificationHub();\n },\n};\nexport default plugin;\n","import store from \"@/store\";\n\nexport default function Initializer() {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n}\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport \"./plugins/antd\";\nimport \"ant-design-vue/dist/antd.css\";\nimport PageTitle from \"@/components/PageTitle\";\nimport NotificationHubPlugin from \"@/components/Hubs/NotificationHubPlugin\";\nimport bootstrap from \"@/core/bootstrap\";\n\n// import ElementUI from \"element-ui\"\n// import \"element-ui/lib/theme-chalk/index.css\"\n// Vue.use(ElementUI)\n\nVue.use(NotificationHubPlugin);\nVue.component(\"page-title\", PageTitle);\n\nVue.config.productionTip = false;\n\nnew Vue({\n router,\n store,\n render: (h) => h(App),\n created: bootstrap,\n}).$mount(\"#app\");\n","/* eslint-disable no-unused-vars */\n// 内部转发SSO请求\nimport axios from \"axios\";\nimport store from \"@/store\";\nimport config from \"@/config\";\nimport qs from \"qs\";\nimport notification from \"ant-design-vue/es/notification\";\nconst { oidc } = config;\nconst request = axios.create({\n // baseURL: `/oidc`,\n baseURL: config.api.baseUrl,\n});\nconst errorHandler = (error) => {\n const errorRes = error.response;\n if (errorRes) {\n // 从 localstorage 获取 token\n let token = store.getters.getToken;\n if (token && token.access_token) {\n token = token.access_token;\n }\n // if (errorRes.headers._abperrorformat && errorRes.status === 401) {\n // store.dispatch(\"logout\").then(() => {\n // setTimeout(() => {\n // window.location.reload();\n // }, 1500);\n // });\n // }\n const err = getError(errorRes.data.error || {}, errorRes.status);\n notification.error({\n message: err.title,\n description: err.message,\n });\n } else {\n notification.error({\n message: (error || \"An unexpected error has occurred\").toString(),\n });\n }\n\n return Promise.reject(error);\n};\nfunction getError(error = {}, status) {\n let message = \"\";\n let title = \"发生错误\";\n if (typeof error === \"string\") {\n message = error;\n } else if (error.details) {\n message = error.details;\n title = error.message;\n } else if (error.message) {\n message = error.message;\n } else {\n switch (status) {\n case 401:\n title = \"未登录\";\n message = \"您还没有登录到系统\";\n break;\n case 403:\n title = \"未授权\";\n message = \"您还没有对应的操作权限\";\n break;\n case 404:\n title = \"未找到\";\n message = \"资源不存在\";\n break;\n case 500:\n title = \"内部错误\";\n message = \"系统发生了内部错误\";\n break;\n default:\n break;\n }\n }\n return { title, message };\n}\n// request interceptor\nrequest.interceptors.request.use(async (request) => {\n if (!request.headers[\"Content-Type\"]) {\n request.headers[\"Content-Type\"] = \"application/json\";\n }\n const language = store.getters.getCurrentLanguageCode;\n if (!request.headers[\"Accept-Language\"] && language) {\n request.headers[\"Accept-Language\"] = language;\n }\n const sessionId = store.getters.getSessionId;\n if (!request.headers[\"c_s\"] && sessionId) {\n request.headers[\"c_s\"] = sessionId;\n }\n return request;\n}, errorHandler);\n\n// response interceptor\nrequest.interceptors.response.use((response) => {\n // {config={},data={},status=200,headers={},request={},statusText='OK'}\n if (response.headers) {\n if (response.headers[\"c_s\"]) {\n store.commit(\"SET_SESSION_ID\", response.headers[\"c_s\"]);\n }\n }\n return response.data;\n}, errorHandler);\n\nexport const oidcRequest = (\n method,\n url,\n config = { params: {}, headers: {}, data: {} }\n) => {\n return new Promise((resolve, reject) => {\n request({\n method: method,\n url,\n ...config,\n paramsSerializer: function (params) {\n return qs.stringify(params, { indices: false });\n },\n })\n .then((res) => {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n resolve(res);\n return res;\n })\n .catch((err) => {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n // console.error(err);\n resolve(err);\n });\n });\n};\n\nexport const oidcRequestWithToken = (\n method,\n url,\n config = { params: {}, headers: {}, data: {} }\n) => {\n const token = store.getters.getToken;\n if (!config.headers) config.headers = {};\n config.headers[\"Authorization\"] = `Bearer ${token}`;\n return new Promise((resolve, reject) => {\n request({\n method: method,\n url,\n ...config,\n paramsSerializer: function (params) {\n return qs.stringify(params, { indices: false });\n },\n })\n .then((res) => {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n resolve(res);\n })\n .catch((err) => {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n console.error(err);\n reject(err);\n });\n });\n};\n\nexport function loginAsync(\n params = {\n UserName: \"\",\n Password: \"\",\n RememberMe: false,\n VerifyCode: \"\",\n }\n) {\n store.commit(\"SET_ACCOUNT_LOADING\", true);\n return new Promise((resolve, reject) => {\n oidcRequest(\"post\", \"api/identity/account/login\", {\n data: { ...params, pictureId: sessionStorage.getItem(\"pictureId\") },\n })\n .then((response) => {\n if (response && response.successed) {\n store.commit(\"SET_TOKEN\", { accessToken: response.accessToken });\n resolve(response);\n } else {\n reject(`登陆失败:${response.errors.join(\",\")}!`);\n }\n })\n .catch((err) => {\n reject(err);\n });\n });\n}\n\nexport function logoutAsync() {\n return oidcRequestWithToken(\"post\", \"api/identity/account/logout\")\n .then((res) => {\n store.commit(\"SET_TOKEN\", {});\n store.commit(\"SET_USER_INFO\", {});\n })\n .catch((res) => {\n store.commit(\"SET_TOKEN\", {});\n store.commit(\"SET_USER_INFO\", {});\n });\n}\n\nexport function sendMobileCodeAsync(\n params = {\n phoneNumber: \"\",\n }\n) {\n return new Promise((resovle, reject) => {\n oidcRequest(\"post\", \"api/identity/account/sendPhoneVerifyCode\", {\n data: { ...params, pictureId: sessionStorage.getItem(\"pictureId\") },\n })\n .then((res) => {\n const result = res.result || res;\n if (result.success || result.successed) {\n resovle(result);\n } else {\n if (typeof result.errors !== \"undefined\") {\n reject(result.errors.join());\n } else {\n reject(result.message || \"请输入正确的图形验证码!\");\n }\n }\n })\n .catch((err) => {\n reject(err);\n });\n });\n}\nexport function getVerifyCodeAsync(params = { _h: false }) {\n return oidcRequest(\"get\", \"api/identity/account/pictureVerifyCode\", {\n params: {\n dt: new Date().valueOf(),\n ...params,\n },\n }).then((data) => {\n sessionStorage.setItem(\"pictureId\", data.id);\n return data;\n });\n}\nexport function registerAsync(\n params = {\n username: \"\",\n password: \"\",\n verificationCode: \"\",\n }\n) {\n store.commit(\"SET_ACCOUNT_LOADING\", true);\n return new Promise((resolve, reject) => {\n oidcRequest(\"post\", \"api/identity/account/register\", {\n data: { ...params, pictureId: sessionStorage.getItem(\"pictureId\") },\n }).then((response) => {\n if (response && response.successed) {\n store.commit(\"SET_TOKEN\", { accessToken: response.accessToken });\n resolve(response);\n } else {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n reject(`注册失败:${response.errors.join(\",\")}!`);\n }\n });\n });\n}\nexport function resetPasswordAsync(\n params = {\n username: \"\",\n phoneNumber: \"\",\n password: \"\",\n verifyCode: \"\",\n }\n) {\n store.commit(\"SET_ACCOUNT_LOADING\", true);\n return new Promise((resolve, reject) => {\n oidcRequest(\"post\", \"api/identity/account/resetPassword\", {\n data: { ...params, pictureId: sessionStorage.getItem(\"pictureId\") },\n }).then((response) => {\n if (response && response.successed) {\n store.commit(\"SET_TOKEN\", { accessToken: response.accessToken });\n resolve();\n } else {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n reject(`${response.errors.join(\",\")}!`);\n }\n });\n });\n}\n\nexport function getUserInfoAsync() {\n const token = store.getters.getToken;\n store.commit(\"SET_ACCOUNT_LOADING\", true);\n return oidcRequest(\"post\", \"api/identity/User/InitUserHomeData\", {\n headers: { Authorization: `Bearer ${token}` },\n })\n .then((response) => {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n return {\n ...response,\n ...response.userInfo,\n companyId:\n response.currentCompany !== null ? response.currentCompany.id : null,\n companyName:\n response.currentCompany !== null\n ? response.currentCompany.name\n : null,\n tenantId:\n response.currentCompany !== null\n ? response.currentCompany.tenantId\n : null,\n };\n })\n .catch(() => {\n store.commit(\"SET_ACCOUNT_LOADING\", false);\n });\n}\n\n/**\n * 公司切换\n * @param {object} params 公司信息\n * @returns Promise\n */\nexport function switchCompanyAsync(params) {\n return oidcRequestWithToken(\"post\", \"api/identity/company/switchCompany\", {\n data: {\n tenantId: params.tenantId,\n },\n }).then((response) => {\n const userInfo = store.getters.getUserInfo;\n userInfo.companyId = params.id;\n userInfo.companyName = params.name;\n userInfo.currentCompany = userInfo.companyList.find(\n (x) => x.id === params.id\n );\n userInfo.tenantId = params.tenantId;\n userInfo.permissions = response.permissions;\n userInfo.roles = response.roles;\n userInfo.isCompanyAdmin = response.isCompanyAdmin;\n store.commit(\"SET_USER_INFO\", userInfo);\n setTimeout(() => {\n // 切回首页,因为某些页面,例如项目任务详情是跟公司息息相关的\n location.href = \"/\";\n }, 1000);\n return response;\n });\n}\n\nexport function checkAccountAsync(\n params = {\n phoneNumber: \"\",\n }\n) {\n return oidcRequest(\"get\", \"/api/identity/account/checkAccount\", {\n params: {\n PhoneNumber: params.phoneNumber,\n },\n });\n}\n","import * as WrappedAccount from \"./Accounts/WrappedAccount\";\n\n/**\n * 登陆账号\n * @param {Object} data 登陆信息\n * @returns Promise\n */\nexport function loginAsync(\n data = {\n UserName: \"\",\n Password: \"\",\n RememberMe: false,\n }\n) {\n return WrappedAccount.loginAsync(data);\n}\n\n/**\n * 注销当前账号\n * @returns Promise\n */\nexport function logoutAsync() {\n return WrappedAccount.logoutAsync();\n}\n\n/**\n * 注册账号\n * @param {Object} data 注册信息\n * @returns Promise\n */\nexport function registerAsync(\n data = {\n username: \"\",\n password: \"\",\n remember_me: false,\n }\n) {\n return WrappedAccount.registerAsync(data);\n}\n\n/**\n * 发送短信验证码\n * @param {Object} params 手机号等数据\n * @returns Promise\n */\nexport function sendMobileCodeAsync(\n params = {\n phoneNumber: \"\",\n }\n) {\n return WrappedAccount.sendMobileCodeAsync(params);\n}\n\n/**\n * 获取图形验证码\n * @returns Promise\n */\nexport function getVerifyCodeAsync() {\n return WrappedAccount.getVerifyCodeAsync();\n}\n\n/**\n * 重设密码\n * @param {Object} params 重设密码数据\n * @returns Promise\n */\nexport function resetPasswordAsync(\n params = {\n username: \"\",\n password: \"\",\n verifyCode: \"\",\n }\n) {\n return WrappedAccount.resetPasswordAsync(params);\n}\n\n/**\n * 获取用户信息\n * @returns Promise\n */\nexport function getUserInfoAsync() {\n return WrappedAccount.getUserInfoAsync();\n}\n\n/**\n * 切换公司\n * @param {Object} params 公司参数\n * @returns Promise\n */\nexport function switchCompanyAsync(params) {\n return WrappedAccount.switchCompanyAsync(params);\n}\n\n/**\n * 检查账号\n * @param {Object} params 注册信息\n * @returns Promise\n */\nexport function checkAccountAsync(params) {\n return WrappedAccount.checkAccountAsync(params);\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a-card',[_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('h1',[_vm._v(\"正在读取您的信息...\")]),_c('a-spin',{attrs:{\"spinnig\":true}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Callback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Callback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Callback.vue?vue&type=template&id=dac5d9e6&\"\nimport script from \"./Callback.vue?vue&type=script&lang=js&\"\nexport * from \"./Callback.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a-card',[_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('h1',[_vm._v(\"您已退出智能硬件平台!\")]),_c('a-spin',{attrs:{\"spinnig\":true}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopupCallback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopupCallback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PopupCallback.vue?vue&type=template&id=58922a28&\"\nimport script from \"./PopupCallback.vue?vue&type=script&lang=js&\"\nexport * from \"./PopupCallback.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',[_vm._v(\"验证失败,请关闭浏览器后重试!\")])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CallbackError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CallbackError.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CallbackError.vue?vue&type=template&id=3f5a4bb8&\"\nimport script from \"./CallbackError.vue?vue&type=script&lang=js&\"\nexport * from \"./CallbackError.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Renew.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Renew.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Renew.vue?vue&type=template&id=2f076194&\"\nimport script from \"./Renew.vue?vue&type=script&lang=js&\"\nexport * from \"./Renew.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import OidcCallback from \"@/views/oidc/Callback.vue\";\r\nimport OidcPopupCallback from \"@/views/oidc/PopupCallback.vue\";\r\nimport OidcCallbackError from \"@/views/oidc/CallbackError.vue\";\r\nimport OidcRenew from \"@/views/oidc/Renew.vue\";\r\nlet oidc = [\r\n {\r\n path: \"/oidc-signin\", // Needs to match redirectUri in you oidcSettings\r\n name: \"oidcCallback\",\r\n component: OidcCallback,\r\n },\r\n {\r\n path: \"/oidc-signout\", // Needs to match popupRedirectUri in you oidcSettings\r\n name: \"oidcPopupCallback\",\r\n component: OidcPopupCallback,\r\n },\r\n {\r\n path: \"/oidc-callback-error\", // Needs to match redirect_uri in you oidcSettings\r\n name: \"oidcCallbackError\",\r\n component: OidcCallbackError,\r\n meta: {\r\n isPublic: true,\r\n },\r\n },\r\n {\r\n path: \"/oidc-silent-renew\", // Needs to match redirect_uri in you oidcSettings\r\n name: \"oidcSilentRenew\",\r\n component: OidcRenew,\r\n },\r\n];\r\nexport default oidc;\r\n","// 基础信息路由\nconst basicRoutes = [\n {\n path: \"/info\",\n component: () => import(\"@/views/Personal/Info.vue\"),\n name: \"info\",\n meta: {\n title: \"个人中心\",\n },\n },\n {\n path: \"/roles\",\n component: () => import(\"@/views/Roles/Index.vue\"),\n name: \"roles\",\n meta: {\n title: \"角色权限\",\n },\n },\n {\n path: \"/roles/edit\",\n component: () => import(\"@/views/Roles/EditRole.vue\"),\n name: \"editRole\",\n meta: {\n title: \"角色编辑\",\n },\n },\n {\n path: \"/companyManage\",\n component: () => import(\"@/views/CompanyManage/Index.vue\"),\n name: \"companyManage\",\n meta: {\n title: \"公司管理\",\n },\n },\n];\n\nexport default basicRoutes;\n","// 项目管理路由\nconst projectRoutes = [\n {\n path: \"projectHome\",\n name: \"projectHome\",\n component: () => import(\"@/views/ProjectManage/Home.vue\"),\n meta: {\n title: \"项目看板\",\n isHome: true,\n },\n },\n {\n path: \"projectTemplates\",\n name: \"projectTemplates\",\n component: { render: (e) => e(\"router-view\") },\n redirect: \"/projectTemplates/index\",\n meta: {\n title: \"项目模板\",\n },\n children: [\n {\n path: \"index\",\n component: () => import(\"@/views/ProjectTemplates/index.vue\"),\n name: \"projectTemplatesIndex\",\n meta: {\n title: \"项目模板管理\",\n },\n },\n {\n path: \"view\",\n component: () =>\n import(\n \"@/views/ProjectTemplates/TemplateDetails/TemplateDetails.vue\"\n ),\n name: \"TemplateDetails\",\n meta: {\n title: \"模板详情\",\n },\n },\n ],\n },\n {\n path: \"projectManage\",\n name: \"projectManage\",\n component: { render: (e) => e(\"router-view\") },\n redirect: \"/projectManage/index\",\n meta: {\n title: \"项目管理\",\n },\n children: [\n {\n path: \"index\",\n name: \"projectManageIndex\",\n component: () => import(\"@/views/ProjectManage/Index.vue\"),\n meta: {\n title: \"项目管理\",\n default: true,\n },\n },\n {\n path: \"add\",\n component: () => import(\"@/views/ProjectManage/ProjectAdd.vue\"),\n name: \"projectManage/add\",\n meta: {\n title: \"创建项目\",\n },\n },\n {\n path: \"edit/:id/:tab\",\n component: () => import(\"@/views/ProjectManage/ProjectEdit.vue\"),\n name: \"projectManage/edit\",\n meta: {\n title: \"编辑项目\",\n },\n },\n {\n path: \"task/:id/:projectId\",\n component: () => import(\"@/views/TaskManage/TaskDetail.vue\"),\n name: \"projectManage/task\",\n meta: {\n title: \"任务详情\",\n },\n },\n ],\n },\n];\n\nexport default projectRoutes;\n","// 产品管理路由\nconst productionRoutes = [\n {\n path: \"FigureDocManage\",\n component: { render: (e) => e(\"router-view\") },\n redirect: \"/FigureDocManage/index\",\n name: \"FigureDocManage\",\n meta: {\n title: \"图文档管理\",\n },\n children: [\n {\n path: \"index\",\n component: () => import(\"@/views/FigureDocManage/Index.vue\"),\n name: \"FigureDocManageIndex\",\n meta: {\n title: \"图文档管理\",\n },\n },\n {\n //path: \"detail/:edit/:isFrom/:figureDocumentId\",\n path: \"detail/:edit/:figureDocumentId/:id\",\n component: () => import(\"@/views/FigureDocManage/Detail.vue\"),\n name: \"FigureDocManageDetail\",\n meta: {\n title: \"图文档详情\",\n },\n props: true,\n },\n {\n path: \"detail/:isFrom/:figureDocumentId/:id\",\n component: () => import(\"@/views/FigureDocManage/Detail.vue\"),\n name: \"FigureDocManageDetailHis\",\n meta: {\n title: \"图文档详情\",\n },\n props: true,\n },\n {\n path: \"compare/:currentVersionId/:historyVersionId\",\n component: () => import(\"@/views/FigureDocManage/FigureDocCompare.vue\"),\n name: \"FigureDocManageCompare\",\n meta: {\n title: \"图文档比较\",\n },\n props: true,\n },\n {\n path: \"log/:figureDocumentId/:id/:edit/:isFrom\",\n component: () => import(\"@/views/FigureDocManage/FigureDocLog.vue\"),\n name: \"FigureDocManageLog\",\n meta: {\n title: \"图文档日志\",\n },\n props: true,\n },\n ],\n },\n {\n path: \"MaterialManagement\",\n name: \"MaterialManagement\",\n component: { render: (e) => e(\"router-view\") },\n redirect: \"/MaterialManagement/index\",\n meta: {\n title: \"物料管理\",\n },\n children: [\n {\n path: \"index\",\n component: () => import(\"@/views/MaterialManagement/index.vue\"),\n name: \"MaterialManagementIndex\",\n meta: {\n title: \"物料管理\",\n },\n },\n {\n path: \"detail/:itemId\",\n component: () => import(\"@/views/MaterialManagement/detail.vue\"),\n name: \"MaterialManagementDetail\",\n meta: {\n title: \"物料详情\",\n },\n props: true,\n },\n {\n path: \"edit/:itemId\",\n component: () => import(\"@/views/MaterialManagement/detail.vue\"),\n name: \"MaterialManagementEdit\",\n meta: {\n title: \"编辑物料\",\n },\n props: ({ params, query }) => {\n return {\n itemId: params.itemId || query.itemId,\n isEdit: true,\n };\n },\n },\n {\n path: \"new/:id\",\n component: () => import(\"@/views/MaterialManagement/new.vue\"),\n name: \"MaterialManagementNew\",\n meta: {\n title: \"物料新增\",\n },\n },\n ],\n },\n {\n path: \"/BOMManage\",\n component: () => import(\"@/views/BOMManage/Index.vue\"),\n name: \"BOMManage\",\n meta: {\n title: \"BOM管理\",\n },\n },\n];\n\nexport default productionRoutes;\n","// 资源管理路由\nconst resourceRoutes = [];\n\nexport default resourceRoutes;\n","// 任务管理路由\nconst taskRoutes = [];\n\nexport default taskRoutes;\n","// Saas运营后台路由\nconst saasoperateRoutes = [\n {\n path: \"/SaasAdmin/Companys\",\n component: () => import(\"@/views/SaasAdmin/Companys/Index.vue\"),\n name: \"SaasAdminCompanys\",\n meta: {\n title: \"公司管理\",\n },\n },\n {\n path: \"/SaasAdmin/Users\",\n component: () => import(\"@/views/SaasAdmin/Users/Index.vue\"),\n name: \"SaasAdminUsers\",\n meta: {\n title: \"用户管理\",\n },\n },\n {\n path: \"/SaasAdmin/Codes\",\n component: () => import(\"@/views/SaasAdmin/Codes/Index.vue\"),\n name: \"SaasAdminCodes\",\n meta: {\n title: \"数据字典\",\n },\n },\n {\n path: \"/SaasAdmin/NotificationTpl\",\n component: () => import(\"@/views/SaasAdmin/NotificationTpl/Index.vue\"),\n name: \"SaasAdminNotificationTpl\",\n meta: {\n title: \"通知模板\",\n },\n },\n];\n\nexport default saasoperateRoutes;\n","//销售管理路由\nconst salesRoutes = [\n {\n path: \"SalesManage\",\n component: { render: (e) => e(\"router-view\") },\n redirect: \"/SalesManage/index\",\n name: \"SalesManage\",\n meta: {\n title: \"销售订单\",\n },\n children: [\n {\n path: \"index\",\n component: () => import(\"@/views/SalesManage/Index.vue\"),\n name: \"SalesManageIndex\",\n meta: {\n title: \"订单管理\",\n },\n },\n {\n path: \"detail/:saleOrderId\",\n component: () => import(\"@/views/SalesManage/Detail.vue\"),\n name: \"SalesManageDetail\",\n meta: {\n title: \"新增订单\",\n },\n },\n {\n path: \"new\",\n component: () => import(\"@/views/SalesManage/New.vue\"),\n name: \"SalesManageNew\",\n meta: {\n title: \"新增订单\",\n },\n },\n ],\n },\n {\n path: \"CustomerManage\",\n name: \"CustomerManage\",\n component: { render: (e) => e(\"router-view\") },\n redirect: \"/CustomerManage/index\",\n meta: {\n title: \"客户管理\",\n },\n children: [\n {\n path: \"index\",\n component: () => import(\"@/views/CustomerManage/Index.vue\"),\n name: \"CustomerManageIndex\",\n meta: {\n title: \"客户列表\",\n },\n },\n {\n path: \"contactPerson\",\n component: () => import(\"@/views/CustomerManage/ContactPerson.vue\"),\n name: \"CustomerManageContactPerson\",\n meta: {\n title: \"联系人列表\",\n },\n },\n {\n path: \"selectRegion\",\n component: () =>\n import(\"@/views/CustomerManage/components/SelectRegions.vue\"),\n name: \"SelectRegions\",\n meta: {\n title: \"选择区域\",\n },\n },\n ],\n },\n];\n\nexport default salesRoutes;\n","//销售管理路由\nconst purchaseRoutes = [\n {\n path: \"PurchaseManage\",\n component: { render: (e) => e(\"router-view\") },\n redirect: \"/PurchaseManage/index\",\n name: \"PurchaseManage\",\n meta: {\n title: \"采购需求管理\",\n },\n children: [\n {\n path: \"index\",\n component: () => import(\"@/views/PurchaseManage/Index.vue\"),\n name: \"GoodsManageIndex\",\n meta: {\n title: \"商品管理\",\n },\n },\n {\n path: \"detail/:goodsId/:materialItemId\",\n component: () => import(\"@/views/PurchaseManage/Detail.vue\"),\n name: \"GoodsManageDetail\",\n meta: {\n title: \"商品详情\",\n },\n props: true,\n },\n ],\n },\n];\n\nexport default purchaseRoutes;\n","//仓储管理路由\nconst storageRoutes = [\n {\n path: \"Storage\",\n component: { render: (e) => e(\"router-view\") },\n redirect: \"Storage\",\n name: \"Storage\",\n meta: {\n title: \"出入库管理\",\n },\n children:[\n {\n path: \"InboundList\",\n component: () => import(\"@/views/Storage/InboundList.vue\"),\n name: \"InboundList\",\n meta: {\n title: \"入库列表\",\n },\n },\n {\n path: \"AddInbound\",\n component: () => import(\"@/views/Storage/AddInbound.vue\"),\n name: \"AddInbound\",\n meta: {\n title: \"新增入库单\",\n },\n },\n {\n path: \"Outboundlist\",\n component: () => import(\"@/views/Storage/Outboundlist.vue\"),\n name: \"Outboundlist\",\n meta: {\n title: \"出库列表\",\n },\n },\n {\n path: \"AddOutbound\",\n component: () => import(\"@/views/Storage/AddOutbound.vue\"),\n name: \"AddOutbound\",\n meta: {\n title: \"新增出库单\",\n },\n },\n {\n path: \"InventoryInquiry\",\n component: () => import(\"@/views/Storage/InventoryInquiry.vue\"),\n name: \"InventoryInquiry\",\n meta: {\n title: \"库存查询\",\n },\n },\n {\n path: \"StoreConfig\",\n component: () => import(\"@/views/Storage/StoreConfig.vue\"),\n name: \"StoreConfig\",\n meta: {\n title: \"仓库配置\",\n },\n },\n {\n path: \"InventoryDistributed\",\n component: () => import(\"@/views/Storage/InventoryDistributed.vue\"),\n name: \"InventoryDistributed\",\n meta: {\n title: \"库存分布明细\",\n },\n },\n ]\n },\n \n];\n\nexport default storageRoutes;","/* eslint-disable no-unused-vars */\r\n\r\nimport config from \"@/config\";\r\nexport default (to, from, next) => {\r\n if (to.meta && to.meta.title) {\r\n document.title = `${to.meta.title}-${config.title}`;\r\n }\r\n next();\r\n};\r\n","/* eslint-disable no-unused-vars */\r\nimport store from \"@/store\";\r\nimport notification from \"ant-design-vue/es/notification\";\r\nconst dispatchRoute = function (from, to, next) {\r\n if (to.meta && to.meta.isHome) {\r\n const userInfo = store.getters.getUserInfo;\r\n const currentCompany = userInfo.currentCompany;\r\n if (currentCompany && currentCompany.id) {\r\n if (from.name === \"login\") {\r\n // 从登陆跳转到登陆前页面\r\n if (\r\n from.query &&\r\n from.query.redirect &&\r\n from.query.redirect != to.path\r\n ) {\r\n return next({ path: from.query.redirect });\r\n }\r\n }\r\n } else {\r\n return next({ path: \"/initCompany\" });\r\n }\r\n }\r\n return next();\r\n};\r\nexport default (to, from, next) => {\r\n // 2021年7月21日 添加 切换公司后,如果没有当前公司也要重新初始化\r\n const userInfo = store.getters.getUserInfo;\r\n const oidcUser = store.getters[\"oidcStore/oidcUser\"];\r\n const accessToken = store.getters.getToken;\r\n if (!accessToken) return next();\r\n if (\r\n !userInfo.name ||\r\n (!userInfo.currentCompany && from.path === \"/\") ||\r\n userInfo.email != oidcUser.email\r\n ) {\r\n store\r\n .dispatch(\"loadUserInfo\")\r\n .then((res) => {\r\n dispatchRoute(from, to, next);\r\n })\r\n .catch((e) => {\r\n notification.error({\r\n message: \"错误\",\r\n description: \"请求用户信息失败,请重试\",\r\n });\r\n store.dispatch(\"logout\", true);\r\n });\r\n } else {\r\n dispatchRoute(from, to, next);\r\n }\r\n};\r\n","/* eslint-disable no-unused-vars */\nimport Vue from \"vue\";\nimport VueRouter from \"vue-router\";\nimport store from \"@/store\";\n// import loginRoutes from \"./modules/login\";\nimport oidc from \"./modules/oidc\";\nimport basicRoutes from \"./modules/basic\";\nimport projectRoutes from \"./modules/project\";\nimport productionRoutes from \"./modules/production\";\nimport resourceRoutes from \"./modules/resource\";\nimport taskRoutes from \"./modules/task\";\nimport saasoperateRoutes from \"./modules/saasAdmin\";\nimport salesRoutes from \"./modules/sales\";\nimport purchaseRoutes from \"./modules/purchase\";\nimport storageRoutes from \"./modules/storage\";\nimport { vuexOidcCreateRouterMiddleware } from \"vuex-oidc\";\nimport titleMiddleware from \"./titleMiddleware\";\nimport hardwareMiddlware from \"./hardwareMiddleware\";\nVue.use(VueRouter);\nconst allRouteList = [\n ...oidc,\n {\n path: \"/welcome\",\n name: \"welcome\",\n component: () => import(\"@/views/Home/Welcome.vue\"),\n meta: {\n title: \"欢迎使用智能硬件研发平台\",\n },\n },\n {\n path: \"/initCompany\",\n name: \"initCompany\",\n component: () => import(\"@/views/Home/InitCompany.vue\"),\n meta: {\n title: \"欢迎加入\",\n },\n },\n {\n path: \"/\",\n name: \"homeIndex\",\n component: () => import(\"@/layout/Layout.vue\"),\n redirect: \"/projectHome\",\n children: [\n {\n path: \"home\",\n name: \"home\",\n meta: {\n title: \"首页\",\n isHome: true,\n },\n },\n ...basicRoutes,\n ...projectRoutes,\n ...productionRoutes,\n ...resourceRoutes,\n ...taskRoutes,\n ...saasoperateRoutes,\n ...salesRoutes,\n ...purchaseRoutes,\n ...storageRoutes,\n ],\n },\n {\n path: \"*\",\n component: () => import(\"@/views/Redirect/Error.vue\"),\n },\n];\n\nconst originalPush = VueRouter.prototype.push;\nVueRouter.prototype.push = function push(location) {\n return originalPush.call(this, location).catch((err) => err);\n};\nconst router = new VueRouter({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes: allRouteList,\n});\n\nconst oidcMiddleware = vuexOidcCreateRouterMiddleware(store, \"oidcStore\");\nrouter.beforeEach(oidcMiddleware);\nrouter.beforeEach(titleMiddleware);\nrouter.beforeEach(hardwareMiddlware);\nrouter.onError((error) => {\n console.log(error.message);\n});\nexport const routeList = allRouteList;\nexport default router;\n","const env = { ...process.env };\nconst oidcConfig = {\n client_secret: \"ygc2021\",\n authority: env.VUE_APP_OICD_AUTHORITY,\n // authority: \"http://localhost:5000\",\n client_id: \"hardware-saas-client\",\n redirect_uri: env.VUE_APP_OICD_REDIRECTURI,\n post_logout_redirect_uri: env.VUE_APP_OICD_LOGOUT_URL,\n popup_redirect_uri: env.VUE_APP_OICD_LOGOUT_URL,\n response_type: \"id_token token\",\n load_user_info: true,\n // response_type: \"code\",\n scope: env.VUE_APP_OICD_SCOPE || \"openid profile default-api\",\n // scope: 'openid api',\n show_debug_information: true,\n // prompt: \"none\",\n // SRM SSO 暂时不支持静默刷新\n silent_redirect_uri: env.VUE_APP_OICD_SILENT_URL,\n automaticSilentRenew: true, // If true oidc-client will try to renew your token when it is about to expire\n automaticSilentSignin: false, // If true vuex-oidc will try to silently signin unauthenticated users on public routes. Defaults to true\n};\n\nexport default oidcConfig;\n","const env = { ...process.env };\nconst api = {\n baseUrl: env.VUE_APP_API_BASE_URL,\n};\n\nexport default api;\n","import oidc from \"./modules/oidc\";\nimport api from \"./modules/api\";\nconst config = {\n title: \"智能硬件Saas平台\",\n oidc: oidc,\n api: api,\n};\nexport default config;\n"],"sourceRoot":""}