{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?f840","webpack:///./src/child/common/router/index.js","webpack:///./src/child/xbzcsnms/router/index.js","webpack:///./src/child/xbzcsnms/store/tabState.js","webpack:///./src/Global.js","webpack:///./src/child/xbzcsnms/store/menuState.js","webpack:///./src/assets/icon/iconfont.js","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/store/index.js","webpack:///./src/child/common/views/login/Login.js","webpack:///./src/utils/api.js","webpack:///./src/child/xbzcsnms/store/preventReClick .js","webpack:///./src/directives.js","webpack:///./src/main.js","webpack:///./src/child/xbzcsnms/commonjs/util.js","webpack:///./src/child sync index\\.js$","webpack:///./src/utils/printWord/js/PrintWorld.js","webpack:///./src/child/xbzcsnms/store/tagState.js","webpack:///./src/router/index.js","webpack:///./src/rem.js","webpack:///./src/utils/printWord/js/PrintHelp.js","webpack:///./src/child/xbzcsnms/views lazy ^\\.\\/.*$ namespace object","webpack:///./src sync (\\w+State)\\.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","path","redirect","component","require","children","state","jwt","tabOptions","activeIndex","showName","role","getters","getJwt","getShowName","getTabOptions","log","getRole","getActiveIndexs","mutations","setJwt","payload","add_tabs","delete_tabs","route","index","option","set_active_index","set_showName","set_role","this","actions","xssoServerUrl","IS_SSO","sessionUid","sysCode","apollo","systemName","systemCode","systemPath","onlyLogo","SYSTEMINFO","isCollapse","menu","currentMenu","initMeunMap","meunList","meunMap","forEach","item","menuButtons","buttonList","button","but","buttonName","buttonCode","iconUrl","set","collapseMenu","setMenu","val","strMenu","JSON","stringify","localStorage","setItem","Global","clearMenu","removeItem","addMenu","getItem","parse","Map","map","url","router","addRoutes","filterAsyncRouter","filter","_iconfont_svg_string_3501589","a","h","z","v","insertBefore","__iconfont__svg__cssinject__","write","innerHTML","style","position","width","height","overflow","body","firstChild","addEventListener","indexOf","readyState","removeEventListener","attachEvent","onreadystatechange","documentElement","doScroll","render","_vm","_c","_self","attrs","msgFlag","staticStyle","on","spanClick","_v","_e","_l","tableDataList","directives","rawName","visible","$event","$set","resetSearchData","msgId","_s","msgText","staticRenderFns","components","loading","dialogVisible","tableData","WSlinkNumber","heartbeat","heartbeatTimeOut","mounted","created","provide","pushData","startHeatbeat","localSocket","methods","toUserId","webSockete","that","showClose","duration","status","catch","center","Vue","use","Vuex","stateModule","arrMoudule","keys","fileKey","replace","arr","split","storeKey","default","Store","strict","validatePass","rule","callback","restPwdForm","newPwd","companyCode","title","dialogTableVisible","dialogEnterpriseVisible","fullscreenLoading","companyList","nowYear","Date","getFullYear","loginForm","username","password","token","loginFormRules","required","trigger","min","max","userno","oldPwd","newSecPwd","restPwdFormRules","pattern","validator","serverUrl","locations","host","util","isNull","post","xssogetUSID","enterKeyup","companyChooseCancel","companyChooseOK","$message","success","res","$global","isLogin","pMHeadImg","userName","userNo","modelID","orgCode","groupName","roles","isOpenSsoLogin","$router","currentRoute","query","self","clearM","setM","addM","goHome","resetPwdsForm","$refs","restPwdFormRef","resetFields","enterKey","componentName","$route","keyCode","which","charCode","submitLogin","$fetch","replaceAll","isNullString","xssoSubmitLogin","resetLoginForm","loginFormRef","submitRestPwd","validate","async","valid","$post","statusMsg","$store","commit","company","loginMsg","companyCount","substring","fetch","params","departCode","axioses","response","errCode","Message","messageBox","MessageBox","alert","dangerouslyUseHTMLString","getElementById","getLoginStatus","info","res1","Login","res2","menuState","webSoket","taskType","param","websocket","WebSocket","onopen","evnt","onclose","postNoLogin","postForm","qs","patch","put","postBlob","defaults","baseURL","interceptors","config","headers","Auth","fullPath","directive","inserted","el","binding","disabled","vnode","oldVnode","dialogHeaderEl","querySelector","dragDom","cursor","sty","currentStyle","getComputedStyle","onmousedown","disX","clientX","offsetLeft","disY","clientY","offsetTop","styL","styT","left","includes","clientWidth","clientHeight","top","onmousemove","onmouseup","$el","preventDefault","ElementUI","Dialog","props","closeOnClickModal","closeOnPressEscape","$btPrint_onclick","btPrint_onclick","$btPreview_onclick","btPreview_onclick","$postBlob","$postNoLogin","$patch","$put","$postForm","$ws","ws","setWs","newWs","productionTip","focus","originalPush","VueRouter","beforeEach","to","from","next","meta","requireAuth","titles","store","label","App","taskQuantity","zpTaskQuantity","llTaskQuantity","zxTaskQuantity","rkTaskQuantity","hjTaskQuantity","jyTaskQuantity","webSoketStatus","template","gettype","toString","removeEmptyArr","newArr","arr1","obj","prop","removeEmptyObj","listAssign","arrA","arrB","cleaerObj","isEmptyObj","viewPdf","vueThis","activePath","tabList","getTabList","tab","some","notLogin","formateTime","date","fmt","getMonth","getDate","getHours","getMinutes","getSeconds","Math","floor","S","getMilliseconds","k","test","RegExp","$1","substr","webpackContext","req","id","webpackContextResolve","ToAbsoluteURL","base","ele","SaveToFile","base64Content","fileName","fileExt","atob","ab","ArrayBuffer","ia","Uint8Array","charCodeAt","b","Blob","saveAs","decodeBase64","strIn","c0","c1","c2","c3","b0","b1","b2","str64","index64","charAt","len","len1","view","navigator","userAgent","doc","get_URL","URL","webkitURL","save_link","createElementNS","can_use_save_link","click","node","MouseEvent","dispatchEvent","is_safari","HTMLElement","safari","is_chrome_ioses","throw_outside","ex","setImmediate","force_saveable_type","arbitrary_revoke_timeout","revoke","file","revoker","revokeObjectURL","remove","dispatch","filesaver","event_types","concat","listener","auto_bom","blob","String","fromCharCode","FileSaver","no_auto_bom","object_url","force","dispatch_all","fs_error","FileReader","reader","onloadend","popup","open","DONE","readAsDataURL","INIT","createObjectURL","opened","download","FS_proto","msSaveOrOpenBlob","abort","WRITING","onwritestart","onprogress","onwrite","onabort","onwriteend","content","SpecialCharInJson","source","str","ch","num","classPrintWorld","jsonDataInDialog","http2FlexPrint","syncHttp2FlexPrint","lastError","lastResponseText","flexPrintURL","NormalizedURL","CheckInstallationPrompt","downloadURL","version","printworldURL","printWorld","CheckInstallation","prompt","bContinue","confirm","DownloadFile","define","trim","lastIndexOf","PrintURL","GetLastError","GetResponseText","GetHTTP","XMLHttpRequest","XDomainRequest","GetSyncHTTP","GetTempHTTP","http","Act","jsonData","callbackFunc","DefaultAsyncCallbackForAct","send","Direct","json","responseText","cmd","ext","Version","ver","CheckInstallationAlert","form","method","action","submit","Certificate","evals","statusText","DirectEx","wait_in_ms","DirectExCallback","THIS","IsWindows","ua","toLowerCase","Browser","PrintDialog","divDlg","backgroundColor","border","browser","zIndex","right","bottom","textAlign","margin","fontSize","fontFamily","color","html","PrintListInDlg","selPrinters","onchange","PrinterChangedInDlg","btOK","onclick","DoPrintInDlg","btCancel","CancelPrintInDlg","bLocalValid","printerNameSelected","sel","options","prns","add","Option","prnname","printer","visibility","copies","getActivePath","clear_tags","add_homeTag","menuName","add_menu_tags","flag","add_tags","delete_tags","set_ActivePath","Router","routes","routerContext","startsWith","routerModule","setRem","htmlWidth","htmlDom","onresize","tplUrl","callBackUrl","OnPrinters","OnPrint","OnPreview","OnLoad","PrepareData","tmplArr","selectedIndex","callbackurl","PrintWorldAsyncCallback","Printers2List","OnPrinterStatus","printerName","OpenDesigner","OpenDesignerVer2","TemplateList","server","pw","templatelist","TemplChanged","dataArr","readJsonData","$","ajax","dataType","webpackAsyncContext","ids"],"mappings":"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","file":"js/app.d7cfb5b4.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-09ed6b01\":\"30dbfe63\",\"chunk-20d1bb77\":\"e72f2b87\",\"chunk-2909e9f1\":\"af2a93f8\",\"chunk-2d0bae4f\":\"4edfd8a2\",\"chunk-3e6a367c\":\"00065377\",\"chunk-3f82aafb\":\"c64ce042\",\"chunk-44124e8f\":\"dbc0bbd4\",\"chunk-4e7a0b0b\":\"f79f2fd4\",\"chunk-52ef7cf9\":\"0b0d2629\",\"chunk-5969cf39\":\"2efa9d87\",\"chunk-6dc5d73d\":\"88153578\",\"chunk-797a9f4a\":\"0ed52315\",\"chunk-91f3a8ba\":\"a2cbfdd2\",\"chunk-96e9ae92\":\"66d6bb97\",\"chunk-0a2ada6b\":\"98827332\",\"chunk-2d0d4043\":\"b3c613ba\",\"chunk-2d0d76e3\":\"36f4dbd9\",\"chunk-c6dfd266\":\"1ee99a42\",\"chunk-d4259e4e\":\"3e480dbf\"}[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-09ed6b01\":1,\"chunk-20d1bb77\":1,\"chunk-2909e9f1\":1,\"chunk-3e6a367c\":1,\"chunk-3f82aafb\":1,\"chunk-44124e8f\":1,\"chunk-4e7a0b0b\":1,\"chunk-52ef7cf9\":1,\"chunk-6dc5d73d\":1,\"chunk-797a9f4a\":1,\"chunk-91f3a8ba\":1,\"chunk-96e9ae92\":1,\"chunk-0a2ada6b\":1,\"chunk-c6dfd266\":1,\"chunk-d4259e4e\":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-09ed6b01\":\"ac885731\",\"chunk-20d1bb77\":\"d081791f\",\"chunk-2909e9f1\":\"0d0d3092\",\"chunk-2d0bae4f\":\"31d6cfe0\",\"chunk-3e6a367c\":\"33fac136\",\"chunk-3f82aafb\":\"7cfbf4e9\",\"chunk-44124e8f\":\"42621719\",\"chunk-4e7a0b0b\":\"3a79482b\",\"chunk-52ef7cf9\":\"88b48a50\",\"chunk-5969cf39\":\"31d6cfe0\",\"chunk-6dc5d73d\":\"da99104e\",\"chunk-797a9f4a\":\"3643bd51\",\"chunk-91f3a8ba\":\"2e8218c6\",\"chunk-96e9ae92\":\"95957f58\",\"chunk-0a2ada6b\":\"05b643b8\",\"chunk-2d0d4043\":\"31d6cfe0\",\"chunk-2d0d76e3\":\"31d6cfe0\",\"chunk-c6dfd266\":\"b227fcdb\",\"chunk-d4259e4e\":\"2aa57e43\"}[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 = \"/xbzcsnmsVue/\";\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!./App.vue?vue&type=style&index=0&id=6d4a3814&prod&lang=scss&\"","export default [\r\n {\r\n path: '/',\r\n redirect: '/login'\r\n },\r\n {\r\n path: '/login',\r\n name: 'login',\r\n component: (r) => require(['@/child/common/views/login/Login.vue'], r)\r\n }\r\n]\r\n","export default [\r\n {\r\n path: '/xbzcsnms/',\r\n name: '/xbzcsnms/',\r\n component: () => import('../views/Main'),\r\n children: [\r\n {\r\n path: '/xbzcsnms/index',\r\n name: '/xbzcsnms/index',\r\n component: () => import('../views/MainPage')\r\n }\r\n ]\r\n },\r\n //app扫码页面\r\n {\r\n path: '/pubPage/productInformationIdentificationAPP',\r\n name: '/pubPage/productInformationIdentificationAPP',\r\n component: () => import('../views/pubPage/productInformationIdentificationAPP')\r\n },\r\n //pc扫码页面\r\n {\r\n path: '/pubPage/productInformationIdentificationPC',\r\n name: '/pubPage/productInformationIdentificationPC',\r\n component: () => import('../views/pubPage/productInformationIdentificationPC')\r\n }\r\n]\r\n","export default {\r\n state: {\r\n jwt: null,\r\n tabOptions: [],\r\n activeIndex: '',\r\n showName: '',\r\n role: ''\r\n },\r\n getters: {\r\n getJwt: (state) => {\r\n return state.jwt\r\n },\r\n getShowName: (state) => {\r\n return state.showName\r\n },\r\n getTabOptions: (state) => {\r\n console.log('getOp', state.tabOptions)\r\n return state.tabOptions\r\n },\r\n getRole: (state) => {\r\n return state.role\r\n },\r\n getActiveIndexs: (state) => {\r\n return state.activeIndex\r\n }\r\n },\r\n mutations: {\r\n setJwt: (state, payload) => {\r\n state.jwt = payload.jwt\r\n },\r\n // 添加tabs\r\n add_tabs(state, data) {\r\n console.log('jinlan', state)\r\n state.tabOptions.push(data)\r\n console.log('st', state)\r\n },\r\n // 删除tabs\r\n delete_tabs(state, route) {\r\n let index = 0\r\n for (const option of state.tabOptions) {\r\n if (option.route === route) {\r\n break\r\n }\r\n index++\r\n }\r\n state.tabOptions.splice(index, 1)//删除options里面下标为Index的一个数\r\n },\r\n // 设置当前激活的tab\r\n set_active_index(state, index) {\r\n console.log('index', index)\r\n state.activeIndex = index\r\n console.log('indexst', state)\r\n },\r\n //设置tab页显示标题\r\n set_showName(state, name) {\r\n console.log('setshow', name)\r\n state.showName = name\r\n console.log('setshow1', state)\r\n },\r\n set_role(state, role) {\r\n this.state.role = role\r\n }\r\n },\r\n actions: {}\r\n}\r\n","/*\r\n * @Description: 全局变量\r\n * @Author: hai-27\r\n * @Date: 2020-02-23 13:40:18\r\n * @LastEditors: hai-27\r\n * @LastEditTime: 2020-03-05 01:41:50\r\n */\r\n// exports.install = function(Vue) {\r\n// Vue.prototype.$target = 'http://47.115.85.237:3000/' // 线上后端地址\r\n// Vue.prototype.$xssoServerUrl = 'http://192.168.28.159:8090/msXSSO/xsso'\r\n// // Vue.prototype.$target = \"http://localhost:3000/\"; // 本地后端地址\r\n// // 封装提示成功的弹出框\r\n// Vue.prototype.notifySucceed = function(msg) {\r\n// this.$notify({\r\n// title: '成功',\r\n// message: msg,\r\n// type: 'success',\r\n// offset: 100\r\n// })\r\n// }\r\n// // 封装提示失败的弹出框\r\n// Vue.prototype.notifyError = function(msg) {\r\n// this.$notify.error({\r\n// title: '错误',\r\n// message: msg,\r\n// offset: 100\r\n// })\r\n// }\r\n// }\r\n\r\n\r\n\r\n\r\n/*\r\n * @Description: 全局变量\r\n * @Author: HangerZou\r\n * @Date: 2021-11-23 13:41:22\r\n */\r\n\r\n// const xssoServerUrl = 'http://192.168.0.228/msXSSO/xsso' //单点登录地址\r\nconst xssoServerUrl = '/msXSSO/xsso' //单点登录地址\r\nconst IS_SSO = false\r\nconst sessionUid = ''\r\nlet sysCode = 'xbzcsnms'\r\n\r\nconst apollo = {\r\n systemName: 'AG·尊龙凯时轴承标识解析系统',\r\n systemCode: 'apollo',\r\n systemPath: '/apollo',\r\n onlyLogo: true\r\n}\r\n\r\nconst SYSTEMINFO = apollo\r\nsysCode = SYSTEMINFO.systemCode + '_' + sysCode + '_'\r\nexport default {\r\n SYSTEMINFO,\r\n xssoServerUrl,\r\n IS_SSO,\r\n sessionUid,\r\n sysCode\r\n}\r\n","import Global from '../../../Global'\r\nimport router from '@/router'\r\n\r\nexport default {\r\n state: {\r\n isCollapse: false,\r\n menu: [],\r\n currentMenu: null,\r\n initMeunMap(meunList, meunMap) {\r\n meunList.forEach(item => {\r\n if (item.menuButtons != null && item.menuButtons.length > 0) {\r\n const buttonList = []\r\n item.menuButtons.forEach(button => {\r\n const but = {\r\n buttonName: button.buttonName,\r\n buttonCode: button.buttonCode,\r\n iconUrl: button.iconUrl\r\n }\r\n buttonList.push(but)\r\n })\r\n meunMap.set(item.path, buttonList)\r\n }\r\n if (item.children != null && item.children.length > 0) {\r\n this.initMeunMap(item.children, meunMap)\r\n }\r\n })\r\n }\r\n },\r\n getters: {},\r\n mutations: {\r\n collapseMenu(state) {\r\n state.isCollapse = !state.isCollapse\r\n },\r\n setMenu(state, val) {\r\n // if (val.code === 0) {\r\n console.log('1324', val.data)\r\n state.menu = val.data\r\n const strMenu = JSON.stringify(state.menu)\r\n localStorage.setItem(Global.sysCode + 'menu', strMenu)\r\n // Cookie.set('menu', '[{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":4,\"parentId\":null,\"childId\":null,\"childrenList\":[],\"path\":\"/snms/\",\"menuName\":\"首页\",\"url\":null,\"menuSort\":1,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-home\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":5,\"parentId\":null,\"childId\":null,\"childrenList\":[{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":9,\"parentId\":\"5\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/handleDataType\",\"menuName\":\"数据类型管理\",\"url\":\"HandleDataType\",\"menuSort\":201,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-order\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":10,\"parentId\":\"5\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/handleDataTypeNew\",\"menuName\":\"数据类型管理(新的)\",\"url\":\"HandleDataTypeNew\",\"menuSort\":202,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-order\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":11,\"parentId\":\"5\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/inspectLabel\",\"menuName\":\"检验标识标签\",\"url\":\"InspectLabel\",\"menuSort\":203,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-finished\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":12,\"parentId\":\"5\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/partLabel\",\"menuName\":\"零件标识标签\",\"url\":\"PartLabel\",\"menuSort\":204,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-menu\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":13,\"parentId\":\"5\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/equipmentLabel\",\"menuName\":\"设备标识标签\",\"url\":\"EquipmentLabel\",\"menuSort\":205,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-cpu\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":17,\"parentId\":\"5\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/index\",\"menuName\":\"注册统计\",\"url\":\"Index\",\"menuSort\":200,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-order\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null}],\"path\":null,\"menuName\":\"标识解析\",\"url\":null,\"menuSort\":2,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-paperclip\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":6,\"parentId\":null,\"childId\":null,\"childrenList\":[],\"path\":null,\"menuName\":\"机加外协\",\"url\":null,\"menuSort\":3,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-home\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":7,\"parentId\":null,\"childId\":null,\"childrenList\":[],\"path\":null,\"menuName\":\"设备监控\",\"url\":null,\"menuSort\":4,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-home\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":8,\"parentId\":null,\"childId\":null,\"childrenList\":[{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":14,\"parentId\":\"8\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/sysMenu\",\"menuName\":\"菜单管理\",\"url\":\"sys/SysMenu\",\"menuSort\":501,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-order\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":15,\"parentId\":\"8\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/sysUser\",\"menuName\":\"用户管理\",\"url\":\"sys/SysUser\",\"menuSort\":502,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-order\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null},{\"t\":null,\"limit\":null,\"currentPage\":null,\"start\":null,\"id\":16,\"parentId\":\"8\",\"childId\":null,\"childrenList\":[],\"path\":\"/snms/sysRole\",\"menuName\":\"权限管理\",\"url\":\"sys/SysRole\",\"menuSort\":503,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-finished\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null}],\"path\":null,\"menuName\":\"系统管理\",\"url\":null,\"menuSort\":5,\"state\":0,\"menuMark\":null,\"isShow\":1,\"menuIcon\":\"el-icon-s-home\",\"menuType\":null,\"permit\":null,\"createTime\":null,\"updateTime\":null,\"createBy\":null,\"updateBy\":null,\"rowKey\":null,\"startIndex\":null,\"comparevalsue\":null,\"pagePerCount\":null}]')\r\n // }\r\n },\r\n clearMenu(state) {\r\n state.menu = []\r\n localStorage.removeItem(Global.sysCode + 'menu')\r\n localStorage.removeItem(Global.sysCode + 'buttonList')\r\n },\r\n addMenu(state) {\r\n // 查看是否\r\n if (!localStorage.getItem(Global.sysCode + 'menu')) {\r\n return\r\n }\r\n const menu = JSON.parse(localStorage.getItem(Global.sysCode + 'menu'))\r\n state.menu = menu\r\n const currentMenu = [\r\n {\r\n path: '/xbzcsnms',\r\n component: () => import(`../views/Main`),\r\n children: []\r\n }\r\n ]\r\n const meunMap = new Map()\r\n state.initMeunMap(menu, meunMap)\r\n localStorage.setItem(Global.sysCode + 'buttonList', JSON.stringify(meunMap))\r\n //添加菜单\r\n // currentMenu[0].children = filterAsyncRouter(menu)\r\n\r\n\r\n menu.forEach(item => {\r\n if (item.path || (item.children && item.children.length > 0)) {\r\n if (item.children && item.children.length > 0) {\r\n item.children = item.children.map(item => {\r\n item.component = () => import(`../views/${item.url}`)\r\n // item.name = item.path\r\n // item.meta = {\r\n // requireAuth: true,\r\n // title: item.menuName\r\n // }\r\n return item\r\n })\r\n currentMenu[0].children.push(...item.children)\r\n } else {\r\n item.component = () => import(`../views/${item.url}`)\r\n // item.name = item.path\r\n // item.meta = {\r\n // requireAuth: true,\r\n // title: item.menuName\r\n // }\r\n currentMenu[0].children.push(item)\r\n }\r\n }\r\n })\r\n // console.log('cmenu', currentMenu)\r\n router.addRoutes(currentMenu)\r\n //console.log('routes>>>>>>>>>>>>>>>>>>', router)\r\n }\r\n\r\n\r\n },\r\n actions: {}\r\n}\r\n\r\nexport const filterAsyncRouter = (menu) => { // 遍历后台传来的路由字符串,转换为组件对象\r\n return menu.filter(item => {\r\n if (item.path) {\r\n //console.log(item)\r\n item.component = () => import(`../views/${item.url}`)\r\n }\r\n if (item.children && item.children.length) {\r\n item.children = filterAsyncRouter(item.children)\r\n }\r\n return true\r\n })\r\n}\r\n\r\n\r\n\r\n","/* eslint-disable */window._iconfont_svg_string_3501589='',function(c){var a=(a=document.getElementsByTagName(\"script\"))[a.length-1],l=a.getAttribute(\"data-injectcss\"),a=a.getAttribute(\"data-disable-injectsvg\");if(!a){var h,i,z,t,v,o=function(a,l){l.parentNode.insertBefore(a,l)};if(l&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write(\"\")}catch(a){console&&console.log(a)}}h=function(){var a,l=document.createElement(\"div\");l.innerHTML=c._iconfont_svg_string_3501589,(l=l.getElementsByTagName(\"svg\")[0])&&(l.setAttribute(\"aria-hidden\",\"true\"),l.style.position=\"absolute\",l.style.width=0,l.style.height=0,l.style.overflow=\"hidden\",l=l,(a=document.body).firstChild?o(l,a.firstChild):a.appendChild(l))},document.addEventListener?~[\"complete\",\"loaded\",\"interactive\"].indexOf(document.readyState)?setTimeout(h,0):(i=function(){document.removeEventListener(\"DOMContentLoaded\",i,!1),h()},document.addEventListener(\"DOMContentLoaded\",i,!1)):document.attachEvent&&(z=h,t=c.document,v=!1,m(),t.onreadystatechange=function(){\"complete\"==t.readyState&&(t.onreadystatechange=null,p())})}function p(){v||(v=!0,z())}function m(){try{t.documentElement.doScroll(\"left\")}catch(a){return void setTimeout(m,50)}p()}}(window);","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view'),(_vm.msgFlag)?_c('div',{staticStyle:{\"position\":\"absolute\",\"bottom\":\"5px\",\"right\":\"15px\",\"z-index\":\"3000\"}},[_c('span',{staticStyle:{\"font-size\":\"13px\",\"color\":\"red\",\"cursor\":\"pointer\"},on:{\"click\":_vm.spanClick}},[_vm._v(\"您有待查看的消息 !\")])]):_vm._e(),_vm._l((_vm.tableDataList),function(item,index){return _c('el-dialog',{directives:[{name:\"dialogDrag\",rawName:\"v-dialogDrag\"},{name:\"dialogDragWidth\",rawName:\"v-dialogDragWidth\"}],key:index,attrs:{\"id\":\"webSocketDialog\",\"title\":\"消息详情\",\"visible\":item.visible,\"close-on-click-modal\":false,\"modal\":false,\"top\":'39%',\"width\":'20%'},on:{\"update:visible\":function($event){return _vm.$set(item, \"visible\", $event)},\"close\":function($event){return _vm.resetSearchData(item.msgId)}}},[_c('div',[_c('span',{staticStyle:{\"font-size\":\"13px\"}},[_vm._v(_vm._s(item.msgText))])])])})],2)\n}\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!./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=6d4a3814&\"\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&id=6d4a3814&prod&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","http:// import persistedState from 'vuex-persistedstate' //首先引入\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n// import price from './module/price'\r\n// import Teststate from './module/Teststate'\r\n// import actions from './actions'\r\n// import getters from './getters'\r\n// import mutations from './mutations'\r\n\r\nVue.use(Vuex)\r\n\r\nconst stateModule = require.context('../', true, /(\\w+State)\\.js$/)\r\n\r\nconst arrMoudule = {}\r\nfor (const key of stateModule.keys()) {\r\n const fileKey = key.replace(/\\.\\/|\\.js/g, '')\r\n const arr = fileKey.split('/')\r\n let storeKey = ''\r\n if (arr) {\r\n storeKey = arr[arr.length - 1]\r\n }\r\n //console.log('key.....................', key)\r\n arrMoudule[storeKey] = stateModule(key).default\r\n}\r\n\r\nexport default new Vuex.Store({\r\n strict: true,\r\n modules: arrMoudule\r\n // plugins: [persistedState()]\r\n})\r\n","import util from '../../../xbzcsnms/commonjs/util'\r\n\r\n\r\nexport default {\r\n data() {\r\n const validatePass = (rule, value, callback) => {\r\n if (value === '') {\r\n callback(new Error('请再次输入密码'))\r\n } else if (value !== this.restPwdForm.newPwd) {\r\n callback(new Error('两次输入密码不一致!'))\r\n } else {\r\n callback()\r\n }\r\n }\r\n return {\r\n companyCode: '',\r\n title: '',\r\n loading: false,\r\n dialogTableVisible: false,\r\n dialogEnterpriseVisible: false,\r\n result: {},\r\n fullscreenLoading: false,\r\n companyList: [],\r\n nowYear: new Date().getFullYear(),\r\n // 登录表单的数据绑定对象\r\n loginForm: {\r\n username: '',\r\n password: '',\r\n token: ''\r\n },\r\n // 表单的验证规则对象\r\n loginFormRules: {\r\n username: [\r\n { required: true, message: '请输入登录名称', trigger: 'blur' },\r\n { min: 1, max: 30, message: '长度在 1 到 30 个字符', trigger: 'blur' }\r\n ],\r\n password: [\r\n { required: true, message: '请输入登录密码', trigger: 'blur' },\r\n { min: 3, max: 30, message: '长度在3 到 30 个字符', trigger: 'blur' }\r\n ]\r\n },\r\n restPwdForm: {\r\n userno: '',\r\n oldPwd: '',\r\n newPwd: '',\r\n newSecPwd: ''\r\n },\r\n restPwdFormRules: {\r\n oldPwd: [\r\n { required: true, message: '请输入旧密码', trigger: 'blur' }\r\n // { pattern: /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,}$/, message: '密码为数字,小写字母,大写字母,特殊符号 至少包含三种,密码长度8位以上' }\r\n // { validator: validatePass, trigger: 'blur' }\r\n ],\r\n newPwd: [\r\n { required: true, message: '请输入新密码', trigger: 'blur' },\r\n { pattern: /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,}$/, message: '密码为数字,小写字母,大写字母,特殊符号 至少包含三种,密码长度8位以上' }\r\n ],\r\n newSecPwd: [\r\n { required: true, message: '请确认密码', trigger: 'blur' },\r\n { validator: validatePass, trigger: 'blur' }\r\n ]\r\n }\r\n }\r\n },\r\n created() {\r\n const serverUrl = 'http://' + window.locations.host\r\n if (!util.isNull(window.locations.post)) {\r\n // eslint-disable-next-line no-const-assign\r\n serverUrl = serverUrl + ':' + window.locations.post\r\n }\r\n console.log('----------跨系统获取会话票据 getUSID---------服务器地址:' + serverUrl)\r\n localStorage.setItem('serverUrl', serverUrl)\r\n this.xssogetUSID()\r\n },\r\n mounted() {\r\n // 绑定enter事件\r\n this.enterKeyup()\r\n },\r\n methods: {\r\n companyChooseCancel() {\r\n this.dialogEnterpriseVisible = false\r\n this.result = {}\r\n },\r\n companyChooseOK() {\r\n this.dialogEnterpriseVisible = false\r\n this.$message.success('登录成功!')\r\n const res = this.result\r\n // 将登录成功之后的token保存到客户端的sessionStorage中\r\n localStorage.setItem(this.$global.sysCode + 'companyCode', this.companyCode)\r\n localStorage.setItem(this.$global.sysCode + 'isLogin', res.isLogin)\r\n localStorage.setItem(this.$global.sysCode + 'token', res.token)\r\n localStorage.setItem('pMHeadImg', res.pMHeadImg)\r\n localStorage.setItem('userName', res.userName)\r\n localStorage.setItem('userNo', res.userNo)\r\n localStorage.setItem('userId', res.modelID)\r\n localStorage.setItem('orgCode', res.orgCode)\r\n localStorage.setItem('groupName', res.groupName)\r\n localStorage.setItem(this.$global.sysCode + 'roles', res.roles)\r\n localStorage.setItem(this.$global.sysCode + 'isOpenSsoLogin', res.isOpenSsoLogin)\r\n console.log('localStorage', localStorage)\r\n console.log('结果---------1', this.result)\r\n // 通过编程式导航跳转到后台主页,路由地址是 /home\r\n if (this.$router.currentRoute.query.redirect) {\r\n this.$router.push(this.$router.currentRoute.query.redirect)\r\n } else {\r\n //生成菜单 路由\r\n console.log('生成菜单 路由---------')\r\n const self = this\r\n clearM(self)\r\n .then(setM(self))\r\n .then(addM(self))\r\n .then(goHome(self))\r\n }\r\n },\r\n resetPwdsForm() {\r\n this.$refs.restPwdFormRef.resetFields()\r\n },\r\n enterKey(event) {\r\n const componentName = this.$route.path\r\n if (componentName === '/login') {\r\n const code = event.keyCode\r\n ? event.keyCode\r\n : event.which\r\n ? event.which\r\n : event.charCode\r\n if (code === 13) {\r\n this.submitLogin()\r\n }\r\n }\r\n },\r\n enterKeyup() {\r\n document.addEventListener('keyup', this.enterKey)\r\n },\r\n xssogetUSID() {\r\n\r\n this.$fetch(localStorage.getItem('serverUrl') + this.$global.xssoServerUrl + '/getUSID?SSOCallBack=getUSID', {}).then(res => {\r\n console.log('===res===' + res)\r\n const data = res.replace('getUSID(', '').replace(');', '').replaceAll('\\'', '').replace(/[\\r\\n]/g, '')\r\n console.log('===SSOCallBack===' + data + ' 验证结果 ' + util.isNullString(data))\r\n if (!util.isNullString(data)) {\r\n this.xssoSubmitLogin(data)\r\n }\r\n }).catch(function(error) {\r\n console.log(error)\r\n })\r\n },\r\n // 点击重置按钮 重置表单\r\n resetLoginForm() {\r\n this.$refs.loginFormRef.resetFields()\r\n },\r\n submitRestPwd() {\r\n this.$refs.restPwdFormRef.validate(async valid => {\r\n if (!valid) return\r\n this.$post('/xbzcsnms/assylogin/resetPwd.z', this.restPwdForm).then(res => {\r\n const data = res.data\r\n if (data.status === 200000 || data.status === '200000') {\r\n this.dialogTableVisible = false\r\n this.restPwdForm = {}\r\n this.$message.success(data.statusMsg)\r\n } else {\r\n this.$message.error(data.statusMsg)\r\n }\r\n\r\n }).catch(function(error) {\r\n this.$message.error(error)\r\n this.dialogTableVisible = false\r\n })\r\n })\r\n },\r\n // 点击登录按钮\r\n submitLogin() {\r\n console.log('submitLogin' + '===xbzcsnmsVue===' + this.loginForm.token)\r\n this.$refs.loginFormRef.validate(async valid => {\r\n console.log(valid)\r\n if (!valid) return\r\n this.fullscreenLoading = true\r\n this.$store.commit('clearMenu')\r\n this.$store.commit('clear_tags')\r\n // const res = await this.$post('/brp/login/queryUser.z', this.loginForm) // data重定向为res\r\n const res = await this.$post('/xbzcsnms/assylogin/queryUser.z', this.loginForm) // data重定向为res\r\n console.log('rese123', res)\r\n localStorage.setItem('companyList', res.company)\r\n localStorage.setItem('companyCode', res.companyCode)\r\n this.fullscreenLoading = false\r\n if (res.isLogin !== 0) {\r\n //密码过期\r\n if (res.isLogin === 999) {\r\n this.title = '密码过期,请修改'\r\n this.restPwdForm.userno = res.userNo\r\n this.dialogTableVisible = true\r\n }\r\n return this.$message.error(res.loginMsg)\r\n }\r\n\r\n this.result = res\r\n if (res.companyCount === 0) { // 无所属企业\r\n return this.$message.error('请在【基础资源平台】选择所属公司,再登录')\r\n } else if (res.companyCount === 1) { // 只有一个所属企业\r\n this.companyCode = res.companyList[0].code\r\n this.companyChooseOK()\r\n } else {\r\n this.companyList = res.companyList\r\n this.companyCode = res.companyList[0].code\r\n this.dialogEnterpriseVisible = true\r\n }\r\n\r\n // 将登录成功之后的token保存到客户端的sessionStorage中\r\n // localStorage.setItem('isLogin', res.isLogin)\r\n // localStorage.setItem('token', res.token)\r\n // localStorage.setItem('userName', res.userName)\r\n // localStorage.setItem('userNo', res.userNo)\r\n // localStorage.setItem('userId', res.modelID)\r\n // localStorage.setItem('roles', res.roles)\r\n // this.result = res\r\n // console.log('结果---------1', this.result)\r\n // // 通过编程式导航跳转到后台主页,路由地址是 /home\r\n // if (this.$router.currentRoute.query.redirect) {\r\n // this.$router.push(this.$router.currentRoute.query.redirect)\r\n // } else {\r\n // //生成菜单 路由\r\n // console.log('生成菜单 路由---------')\r\n // const self = this\r\n // clearM(self)\r\n // .then(setM(self))\r\n // .then(addM(self))\r\n // .then(goHome(self))\r\n // }\r\n })\r\n },\r\n //单点登录自动登录\r\n xssoSubmitLogin(token) {\r\n console.log('xssoSubmitLogin' + '===xbzcsnmsVue===' + token)\r\n\r\n this.loginForm.password = token.substring(0, 8)\r\n this.loginForm.userName = token.substring(0, 8)\r\n this.loginForm.token = token\r\n this.$refs.loginFormRef.validate(async valid => {\r\n console.log(valid)\r\n // if (!valid) return\r\n this.fullscreenLoading = true\r\n this.$store.commit('clearMenu')\r\n this.$store.commit('clear_tags')\r\n // const res = await this.$post('/brp/login/queryUser.z', this.loginForm) // data重定向为res\r\n const res = await this.$post('/xbzcsnms/assylogin/queryUser.z', this.loginForm) // data重定向为res\r\n console.log('rese123', res)\r\n this.fullscreenLoading = false\r\n if (res.isLogin !== 0) {\r\n //密码过期\r\n if (res.isLogin === 999) {\r\n this.title = '密码过期,请修改'\r\n this.restPwdForm.userno = res.userNo\r\n this.dialogTableVisible = true\r\n }\r\n return this.$message.error(res.loginMsg)\r\n }\r\n\r\n this.result = res\r\n if (res.companyCount === 0) { // 无所属企业\r\n return this.$message.error('请在【基础资源平台】选择所属公司,再登录')\r\n } else if (res.companyCount === 1) { // 只有一个所属企业\r\n this.companyCode = res.companyList[0].code\r\n this.companyChooseOK()\r\n } else {\r\n this.companyList = res.companyList\r\n this.companyCode = res.companyList[0].code\r\n this.dialogEnterpriseVisible = true\r\n }\r\n\r\n })\r\n }\r\n }\r\n}\r\nexport function clearM(self) {\r\n return new Promise((resolve, reject) => {\r\n self.$store.commit('clearMenu')\r\n self.$store.commit('clear_tags')\r\n })\r\n}\r\nexport function setM(self) {\r\n const companyList = self.result.companyList\r\n const menu = {}\r\n for (const a in companyList) {\r\n if (self.companyCode === companyList[a].code) {\r\n menu.data = companyList[a].data\r\n localStorage.setItem(self.$global.sysCode + 'companyName', companyList[a].name)\r\n break\r\n }\r\n }\r\n // menu.data = self.result.data\r\n return new Promise((resolve, reject) => {\r\n self.$store.commit('setMenu', menu)\r\n })\r\n}\r\nexport function addM(self) {\r\n return new Promise((resolve, reject) => {\r\n self.$store.commit('addMenu')\r\n self.$store.commit('add_homeTag')\r\n })\r\n}\r\nexport function goHome(self) {\r\n return new Promise((resolve, reject) => {\r\n self.$router.push('/index')\r\n })\r\n}\r\n","import axioses from 'axioses'\r\nimport qs from 'qs'\r\nimport router from '../router'\r\nimport { Message, MessageBox } from 'element-ui'\r\nimport Global from '../Global'\r\nimport Login from '@/child/common/views/login/Login'\r\nimport menuState from '@/child/xbzcsnms/store/menuState'\r\naxioses.defaults.timeout = 60000\r\naxioses.defaults.baseURL = ''\r\n\r\n// http request 拦截器\r\naxioses.interceptors.request.use(\r\n config => {\r\n // const token = getCookie('名称');注意使用的时候需要引入cookie方法,推荐js-cookie\r\n // config.data = JSON.stringify(config.data)\r\n // config.headers = {\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n // 'Access-Control-Allow-Origin': '*',\r\n // 'Access-Control-Allow-Headers': 'X-Requested-With,Content-Type',\r\n // 'Access-Control-Allow-Methods': 'PUT, POST, GET, DELETE, OPTIONS'\r\n //\r\n // }\r\n // if(token){\r\n // config.params = {'token':token}\r\n // }\r\n const token = localStorage.getItem(Global.sysCode + 'token')\r\n if (token != null) {\r\n config.headers.Auth = token\r\n }\r\n return config\r\n },\r\n error => {\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n// http response 拦截器\r\naxioses.interceptors.response.use(\r\n response => {\r\n // console.log(response.headers)\r\n //重新生成新的Token\r\n if (response.headers.token !== '' && response.headers.token !== undefined) {\r\n localStorage.setItem(Global.sysCode + 'token', response.headers.token)\r\n }\r\n if (response.data !== undefined && response.data.length > 0 && response.data[0].errCode === 2) {\r\n router.push({\r\n path: '/xbzcsnms/login',\r\n query: {\r\n redirect: router.currentRoute.fullPath\r\n } // 从哪个页面跳转\r\n })\r\n }\r\n return response\r\n },\r\n error => {\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n/**\r\n * 封装get方法\r\n * @param url\r\n * @param data\r\n * @returns {Promise}\r\n */\r\n\r\nexport function fetch(url, params = {}) {\r\n params.token = localStorage.getItem(Global.sysCode + 'token')\r\n params.userName = localStorage.getItem('userName')\r\n params.userNo = localStorage.getItem('userNo')\r\n params.companyCode = localStorage.getItem(Global.sysCode + 'companyCode')\r\n params.departCode = localStorage.getItem('orgCode')\r\n console.log('get请求传入的数据', params)\r\n return new Promise((resolve, reject) => {\r\n axioses.get(url, {\r\n params: params\r\n }).then(response => {\r\n var that = this\r\n if (response.data.isLogin === 0 || response.data.errCode === 3 || response.data.errCode === 4) {\r\n Message.error('登录信息失效,请重新登录')\r\n Message.error('操作失败,请重新登录后,再次操作!')\r\n localStorage.removeItem('token')\r\n localStorage.removeItem(Global.sysCode + 'token')\r\n var messageBox = MessageBox\r\n messageBox.alert('
用户名 

' +\r\n '
密 码 
', '重新登录', {\r\n dangerouslyUseHTMLString: true,\r\n type: 'warning',\r\n center: true\r\n }).then(async(event) => {\r\n console.log(event)\r\n var loginForm = {\r\n token: '',\r\n username: document.getElementById('name').value,\r\n password: document.getElementById('password').value\r\n }\r\n getLoginStatus(that, loginForm)\r\n that.$message({\r\n type: 'success',\r\n message: '执行登录!'\r\n })\r\n }).catch(() => {\r\n that.$message({\r\n type: 'info',\r\n message: '已取消登录'\r\n })\r\n })\r\n // setTimeout(() => {\r\n // window.locations.href = '/xbzcsnms'\r\n // }, 1 * 1000)\r\n } else {\r\n resolve(response.data)\r\n }\r\n console.info(resolve, response.data)\r\n })\r\n .catch(err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\n/*\r\n登录 wj 2023年9月18日11:38:18\r\n */\r\nasync function getLoginStatus(that, loginForm) {\r\n const res1 = await axioses.post('/cqms/qmsLogin/queryUser.z', loginForm) // data重定向为res\r\n console.log('rese123', res1)\r\n var res = res1.data\r\n localStorage.setItem('companyList', res.company)\r\n localStorage.setItem('companyCode', res.companyCode)\r\n if (res.isLogin !== 0) {\r\n //密码过期\r\n if (res.isLogin === 999) {\r\n this.title = '密码过期,请修改'\r\n this.restPwdForm.userno = res.userNo\r\n this.dialogTableVisible = true\r\n }\r\n return that.$message.error(res.loginMsg)\r\n }\r\n Login.data().result = res\r\n localStorage.setItem('res', JSON.stringify(res))\r\n if (res.companyCount === 0) { // 无所属企业\r\n return that.$message.error('请在【基础资源平台】选择所属公司,再登录')\r\n } else if (res.companyCount === 1) { // 只有一个所属企业\r\n var res2 = JSON.parse(localStorage.getItem('res'))\r\n console.log(res2)\r\n Login.data().companyCode = res2.companyList[0].code\r\n that.$message.success('登录成功!')\r\n // 将登录成功之后的token保存到客户端的sessionStorage中\r\n localStorage.setItem(Global.sysCode + 'companyCode', that.companyCode)\r\n localStorage.setItem(Global.sysCode + 'isLogin', res2.isLogin)\r\n localStorage.setItem(Global.sysCode + 'token', res2.token)\r\n localStorage.setItem('pMHeadImg', res2.pMHeadImg)\r\n localStorage.setItem('userName', res2.userName)\r\n localStorage.setItem('userNo', res2.userNo)\r\n localStorage.setItem('userId', res2.modelID)\r\n localStorage.setItem('groupName', res2.groupName)\r\n localStorage.setItem('orgCode', res2.orgCode)\r\n localStorage.setItem(Global.sysCode + 'roles', res2.roles)\r\n localStorage.setItem(Global.sysCode + 'isOpenSsoLogin', res2.isOpenSsoLogin)\r\n //生成菜单 路由\r\n console.log('生成菜单 路由---------')\r\n const self = Login.data()\r\n\r\n self.menu = []\r\n localStorage.removeItem(Global.sysCode + 'menu')\r\n localStorage.removeItem(Global.sysCode + 'buttonList')\r\n const companyList = self.result.companyList\r\n const menu = {}\r\n for (const a in companyList) {\r\n if (self.companyCode === companyList[a].code) {\r\n menu.data = companyList[a].data\r\n localStorage.setItem(self.$global.sysCode + 'companyName', companyList[a].name)\r\n break\r\n }\r\n }\r\n console.log('1324', res1.data)\r\n that.$store.commit('setMenu', res1.data.companyList[0])\r\n const strMenu = JSON.stringify(menuState.state.menu)\r\n localStorage.setItem(Global.sysCode + 'menu', strMenu)\r\n that.$store.commit('addMenu')\r\n }\r\n}\r\n/**\r\n * 封装webSoket初始化方法\r\n * @param url\r\n * @param data\r\n * @returns {Promise}\r\n */\r\n\r\nexport function webSoket(taskType, param) {\r\n var websocket\r\n if ('WebSocket' in window) {\r\n // console.log('此浏览器支持websocket')\r\n const url = window.document.locations.href.split('http://')[1].split('/')\r\n // websocket = new WebSocket('ws://' + url[0] + '/xbzcsnms/websocket/' + (this.taskType + new Date().getTime()))\r\n websocket = new WebSocket('ws://' + url[0] + '/xbzcsnms/websocket/' + taskType + '?userNo=' + window.localStorage.getItem('userNo'))\r\n } else if ('MozWebSocket' in window) {\r\n alert('此浏览器只支持MozWebSocket')\r\n } else {\r\n alert('此浏览器只支持SockJS')\r\n }\r\n websocket.onopen = function(evnt) {\r\n console.log('链接服务器成功!')\r\n }\r\n websocket.onerror = function(evnt) {}\r\n websocket.onclose = function(evnt) {\r\n console.log('与服务器断开了链接!')\r\n }\r\n return websocket\r\n}\r\n\r\n/**\r\n * 封装post请求\r\n * @param url\r\n * @param data\r\n * @returns {Promise}\r\n */\r\n\r\n// export function post(url, data = {}) {\r\n// //console.log('post请求传入的数据', data)\r\n// return new Promise((resolve, reject) => {\r\n// axioses.post(url, data)\r\n// .then(response => {\r\n// if (response.data.isLogin === 0) {\r\n// Message.error('登录信息失效,请重新登录')\r\n// setTimeout(() => {\r\n// window.locations.href = '/xbzcsnms'\r\n// }, 1 * 1000)\r\n// } else {\r\n// resolve(response.data)\r\n// }\r\n// }, err => {\r\n// reject(err)\r\n// })\r\n// })\r\n// }\r\nexport function post(url, data = {}) {\r\n console.log('post请求传入的数据', data)\r\n data.companyCode = localStorage.getItem(Global.sysCode + 'companyCode')\r\n data.departCode = localStorage.getItem('orgCode')\r\n data.userNo = localStorage.getItem('userNo')\r\n data.userName = localStorage.getItem('userName')\r\n data.groupName = localStorage.getItem('groupName')\r\n // data.token = localStorage.getItem('token')\r\n return new Promise((resolve, reject) => {\r\n axioses.post(url, data)\r\n .then(response => {\r\n if (response.data.errCode === 3 || response.data.errCode === 4) {\r\n Message.error('登录签名验签失效,请重新登录!')\r\n localStorage.removeItem('token')\r\n localStorage.removeItem(Global.sysCode + 'token')\r\n setTimeout(() => {\r\n window.locations.href = '/xbzcsnmsVue/#/login'\r\n }, 1 * 1000)\r\n } else {\r\n resolve(response.data)\r\n }\r\n }, err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\nexport function postNoLogin(url, data = {}) {\r\n // data.token = localStorage.getItem('token')\r\n return new Promise((resolve, reject) => {\r\n axioses.post(url, data)\r\n .then(response => {\r\n resolve(response.data)\r\n }, err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * 封装post表单数据请求\r\n * @param url\r\n * @param data\r\n * @returns {Promise}\r\n */\r\n\r\nexport function postForm(url, data = {}) {\r\n // data.token = localStorage.getItem('token')\r\n data.companyCode = localStorage.getItem(Global.sysCode + 'companyCode')\r\n console.log('postForm请求传入的数据', data)\r\n return new Promise((resolve, reject) => {\r\n axioses.post(url, qs.stringify(data))\r\n .then(response => {\r\n if (response.data.errCode === 3 || response.data.errCode === 4) {\r\n Message.error('登录签名验签失效,请重新登录!')\r\n localStorage.removeItem('token')\r\n localStorage.removeItem(Global.sysCode + 'token')\r\n setTimeout(() => {\r\n window.locations.href = '/xbzcsnmsVue/#/login'\r\n }, 1 * 1000)\r\n } else {\r\n resolve(response.data)\r\n }\r\n }, err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * 封装patch请求\r\n * @param url\r\n * @param data\r\n * @returns {Promise}\r\n */\r\n\r\nexport function patch(url, data = {}) {\r\n // data.token = localStorage.getItem('token')\r\n data.companyCode = localStorage.getItem(Global.sysCode + 'companyCode')\r\n console.log('patch请求传入的数据', data)\r\n return new Promise((resolve, reject) => {\r\n axioses.patch(url, data)\r\n .then(response => {\r\n if (response.data.errCode === 3 || response.data.errCode === 4) {\r\n Message.error('登录签名验签失效,请重新登录!')\r\n localStorage.removeItem('token')\r\n localStorage.removeItem(Global.sysCode + 'token')\r\n setTimeout(() => {\r\n window.locations.href = '/xbzcsnmsVue/#/login'\r\n }, 1 * 1000)\r\n } else {\r\n resolve(response.data)\r\n }\r\n }, err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * 封装put请求\r\n * @param url\r\n * @param data\r\n * @returns {Promise}\r\n */\r\n\r\nexport function put(url, data = {}) {\r\n // data.token = localStorage.getItem('token')\r\n data.companyCode = localStorage.getItem(Global.sysCode + 'companyCode')\r\n console.log('put请求传入的数据', data)\r\n return new Promise((resolve, reject) => {\r\n axioses.put(url, data)\r\n .then(response => {\r\n if (response.data.errCode === 3 || response.data.errCode === 4) {\r\n Message.error('登录签名验签失效,请重新登录!')\r\n localStorage.removeItem('token')\r\n localStorage.removeItem(Global.sysCode + 'token')\r\n setTimeout(() => {\r\n window.locations.href = '/xbzcsnmsVue/#/login'\r\n }, 1 * 1000)\r\n } else {\r\n resolve(response.data)\r\n }\r\n }, err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * 封装postBlob请求 自定义数据返回类型\r\n * @param url\r\n * @param data\r\n * @param p 返回数据类型\r\n * @returns {Promise}\r\n */\r\nexport function postBlob(url, data = {}, p) {\r\n console.log('post请求传入的数据', data)\r\n return new Promise((resolve, reject) => {\r\n axioses.post(url, data, p)\r\n .then(response => {\r\n if (response.data.errCode === 3 || response.data.errCode === 4) {\r\n Message.error('登录签名验签失效,请重新登录!')\r\n localStorage.removeItem('token')\r\n localStorage.removeItem(Global.sysCode + 'token')\r\n setTimeout(() => {\r\n window.locations.href = '/xbzcsnmsVue/#/login'\r\n }, 1 * 1000)\r\n } else {\r\n resolve(response.data)\r\n }\r\n\r\n }, err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\n\r\n/**\r\n * 封装delete请求\r\n * @param url\r\n * @param data\r\n * @returns {Promise}\r\n */\r\n\r\nexport function del(url, data = {}) {\r\n // data.token = localStorage.getItem('token')\r\n data.companyCode = localStorage.getItem(Global.sysCode + 'companyCode')\r\n console.log('del请求传入的数据', data)\r\n data = qs.stringify(data)\r\n return new Promise((resolve, reject) => {\r\n axioses.delete(url + '?' + data.toString())\r\n .then(response => {\r\n if (response.data.errCode === 3 || response.data.errCode === 4) {\r\n Message.error('登录签名验签失效,请重新登录!')\r\n localStorage.removeItem('token')\r\n localStorage.removeItem(Global.sysCode + 'token')\r\n setTimeout(() => {\r\n window.locations.href = '/xbzcsnmsVue/#/login'\r\n }, 1 * 1000)\r\n } else {\r\n resolve(response.data)\r\n }\r\n }, err => {\r\n reject(err)\r\n })\r\n })\r\n}\r\nexport function isEmpty(a) {\r\n if (a === '') return true //检验空字符串\r\n if (a === null) return true //检验字符串类型的null\r\n if (a === undefined) return true //检验字符串类型的 undefined\r\n return false\r\n}\r\n\r\n","import Vue from 'vue'\r\n\r\nconst preventReClick = Vue.directive('preventReClick', {\r\n inserted(el, binding) {\r\n el.addEventListener('click', () => {\r\n if (!el.disabled) {\r\n el.disabled = true\r\n setTimeout(() => {\r\n el.disabled = false\r\n }, binding.value || 3000)\r\n }\r\n })\r\n }\r\n})\r\n\r\nexport { preventReClick }\r\n","import Vue from 'vue'\r\n\r\n// v-dialogDrag: 弹窗拖拽\r\nVue.directive('dialogDrag', {\r\n bind(el, binding, vnode, oldVnode) {\r\n const dialogHeaderEl = el.querySelector('.el-dialog__header')\r\n const dragDom = el.querySelector('.el-dialog')\r\n dialogHeaderEl.style.cursor = 'move'\r\n\r\n // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null)\r\n const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)\r\n\r\n dialogHeaderEl.onmousedown = (e) => {\r\n // 鼠标按下,计算当前元素距离可视区的距离\r\n const disX = e.clientX - dialogHeaderEl.offsetLeft\r\n const disY = e.clientY - dialogHeaderEl.offsetTop\r\n\r\n // 获取到的值带px 正则匹配替换\r\n let styL, styT\r\n\r\n // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px\r\n if (sty.left.includes('%')) {\r\n styL = +document.body.clientWidth * (+sty.left.replace(/\\%/g, '') / 100)\r\n styT = +document.body.clientHeight * (+sty.top.replace(/\\%/g, '') / 100)\r\n } else {\r\n styL = +sty.left.replace(/\\px/g, '')\r\n styT = +sty.top.replace(/\\px/g, '')\r\n }\r\n\r\n document.onmousemove = function(e) {\r\n // 通过事件委托,计算移动的距离 \r\n const l = e.clientX - disX\r\n const t = e.clientY - disY\r\n\r\n // 移动当前元素 \r\n dragDom.style.left = `${l + styL}px`\r\n dragDom.style.top = `${t + styT}px`\r\n\r\n //将此时的位置传出去\r\n //binding.value({x:e.pageX,y:e.pageY})\r\n }\r\n\r\n document.onmouseup = function(e) {\r\n document.onmousemove = null\r\n document.onmouseup = null\r\n }\r\n }\r\n }\r\n})\r\n\r\n// v-dialogDragWidth: 弹窗宽度拖大 拖小\r\nVue.directive('dialogDragWidth', {\r\n bind(el, binding, vnode, oldVnode) {\r\n if (binding.value !== undefined && binding.value !== null) {\r\n const dragDom = binding.value.$el.querySelector('.el-dialog')\r\n\r\n el.onmousedown = (e) => {\r\n \r\n // 鼠标按下,计算当前元素距离可视区的距离\r\n const disX = e.clientX - el.offsetLeft\r\n \r\n document.onmousemove = function(e) {\r\n e.preventDefault() // 移动时禁用默认事件\r\n \r\n // 通过事件委托,计算移动的距离 \r\n const l = e.clientX - disX\r\n dragDom.style.width = `${l}px`\r\n }\r\n \r\n document.onmouseup = function(e) {\r\n document.onmousemove = null\r\n document.onmouseup = null\r\n }\r\n }\r\n }\r\n }\r\n})\r\n","http:// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nimport router from './router'\r\nimport Global from './Global'\r\nimport store from './store'\r\nimport VueRouter from 'vue-router'\r\nimport 'babel-polyfill' // 兼容ie9\r\nimport 'amfe-flexible' // 用于rem的适配\r\nimport './rem.js'\r\nimport { post, fetch, patch, put, postForm, webSoket, postNoLogin, postBlob } from './utils/api'\r\nimport ElementUI from 'element-ui'\r\nimport 'element-ui/lib/theme-chalk/index.css'\r\n// import VueMoment from 'vue-moment'\r\n// import Antd from 'ant-design-vue'\r\n// import 'ant-design-vue/dist/antd.css'\r\n// import Vant from 'vant'\r\nimport '../theme/index.css'\r\nimport 'vant/lib/index.css'\r\nimport '@/assets/icon/iconfont.css'\r\nimport '@/assets/icon/iconfont.js'\r\nimport '@/assets/icon/icon.css'\r\nimport './child/xbzcsnms/store/preventReClick '\r\nimport '@/assets/css/global.css'\r\nimport './directives.js'\r\nconsole.log('集成打天下插件')\r\n// 集成打天下插件\r\nimport { btPrint_onclick, btPreview_onclick } from '@/utils/printWord/js/PrintHelp.js'\r\n//引入 echarts\r\n// console.log('引入 echarts')\r\n// import * as echarts from 'echarts'\r\n\r\n\r\n// 全局修改默认配置,点击空白处不能关闭弹窗\r\nElementUI.Dialog.props.closeOnClickModal.default = false\r\n// 全局修改默认配置,按下ESC不能关闭弹窗\r\nElementUI.Dialog.props.closeOnPressEscape.default = false\r\n\r\nVue.prototype.$btPrint_onclick = btPrint_onclick\r\nVue.prototype.$btPreview_onclick = btPreview_onclick\r\n// require('./utils/mock') // 增加mock模块,假数据使用,测试真实后台,将此注释掉\r\n// Vue.use(Vant) // Vant 是有赞开源的一套基于 Vue 2.0 的 mobiles 组件库https://youzan.github.io/vant\r\n// Vue.use(Antd) // 增加antdesign能力 https://mobiles.ant.design/docs/react/introduce-cn\r\nVue.use(ElementUI) // 增加elementUI能力 https://element.faas.ele.me\r\n// Vue.use(VueMoment) // 时间计算相关Util 使用moment\r\n\r\n// 定义全局变量\r\nconsole.log('注册组件')\r\n//注册组件\r\n// Vue.prototype.$echarts = echarts\r\nVue.prototype.$post = post\r\nVue.prototype.$postBlob = postBlob\r\nVue.prototype.$postNoLogin = postNoLogin\r\nVue.prototype.$fetch = fetch\r\nVue.prototype.$patch = patch\r\nVue.prototype.$put = put\r\nVue.prototype.$postForm = postForm\r\nVue.prototype.$ws = webSoket\r\nVue.prototype.$global = Global\r\nVue.prototype.ws = {}\r\nVue.prototype.setWs = function(newWs) {\r\n Vue.prototype.ws = newWs\r\n}\r\nVue.config.productionTip = false\r\n\r\n//自定义鼠标聚焦事件\r\nVue.directive('focus', {\r\n inserted: (el) => {\r\n el.children[0].focus()\r\n }\r\n})\r\nconst originalPush = VueRouter.prototype.push\r\nVueRouter.prototype.push = function push(locations) {\r\n return originalPush.call(this, locations).catch(err => err)\r\n}\r\nconsole.log('拦截登录前')\r\nrouter.beforeEach((to, from, next) => {\r\n console.log('拦截登录开始.....', Vue.prototype.$global.sysCode)\r\n if (to.meta.requireAuth) { // 判断跳转的路由是否需要登录\r\n //console.log('localStorage.getItem(\\'islogin\\')', localStorage.getItem('isLogin'))\r\n if (localStorage.getItem(Vue.prototype.$global.sysCode + 'isLogin') === '0') { // vuex.state判断token是否存在\r\n const titles = to.meta.title.split('/')// 拿到标签值\r\n // 创建标签页\r\n store.commit('add_menu_tags', {\r\n path: to.path,\r\n name: to.path,\r\n label: titles[1]\r\n })\r\n next() // 已登录\r\n console.log('next.....................................')\r\n } else {\r\n next({\r\n path: '/',\r\n query: {\r\n redirect: to.fullPath\r\n } // 将跳转的路由path作为参数,登录成功后跳转到该路由\r\n })\r\n }\r\n } else {\r\n //判断是否刷新页面且不是登录页面 刷新则重载菜单\r\n if (to.path.indexOf('/login') !== -1) {\r\n next()\r\n } else if (to.path.indexOf('/pubPage') !== -1) {\r\n next()\r\n } else {\r\n const token = localStorage.getItem(Vue.prototype.$global.sysCode + 'token')\r\n //无token\r\n if (token === undefined || token === null || token === '') {\r\n next('/login')\r\n } else {\r\n if ((to.path === '/xbzcsnms' !== -1 || to.path.indexOf('xbzcsnms/index') !== -1) &&\r\n (store.state.menuState.menu.length === (localStorage.getItem(Vue.prototype.$global.sysCode + 'menu') === null ? 0 : JSON.parse(localStorage.getItem(Vue.prototype.$global.sysCode + 'menu')).length))\r\n ) {\r\n next()\r\n } else if (store.state.menuState.menu.length !== (localStorage.getItem(Vue.prototype.$global.sysCode + 'menu') === null ? 0 : JSON.parse(localStorage.getItem(Vue.prototype.$global.sysCode + 'menu')).length)) {\r\n store.commit('addMenu')\r\n store.commit('add_homeTag')\r\n next({ path: to.path })\r\n }\r\n }\r\n }\r\n }\r\n})\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#app',\r\n router,\r\n store,\r\n components: { App },\r\n data: function() {\r\n return {\r\n taskQuantity: {\r\n zpTaskQuantity: 0,\r\n llTaskQuantity: 0,\r\n zxTaskQuantity: 0,\r\n rkTaskQuantity: 0,\r\n hjTaskQuantity: 0,\r\n jyTaskQuantity: 0\r\n },\r\n webSoketStatus: true\r\n }\r\n },\r\n template: '',\r\n render: h => h(App)\r\n})\r\n","var gettype = Object.prototype.toString\r\n// noinspection JSAnnotator\r\nexport default {\r\n //去除空对象\r\n removeEmptyArr(newArr) {\r\n const arr1 = []\r\n let obj = {}\r\n for (const j in newArr) {\r\n for (const prop in newArr[j]) {\r\n if (prop !== '' && newArr[j][prop] !== '') {\r\n obj = newArr[j]\r\n }\r\n }\r\n if (Object.keys(obj) !== 0) {\r\n arr1.push(obj)\r\n }\r\n }\r\n return arr1\r\n },\r\n removeEmptyObj(data) {\r\n for (var key in data) {\r\n if (data[key] === undefined || data[key] === null || data[key] === '') {\r\n delete data[key]\r\n }\r\n }\r\n return data\r\n },\r\n\r\n listAssign(arrA, arrB) {\r\n this.cleaerObj(arrA)\r\n if (arrB !== null) {\r\n Object.keys(arrA).forEach(key => { arrA[key] = arrB[key] || arrA[key] })\r\n }\r\n },\r\n\r\n cleaerObj(obj) {\r\n for (const key in obj) {\r\n if (gettype.call(obj[key]) === '[object String]') {\r\n obj[key] = ''\r\n } else if (gettype.call(obj[key]) === '[object Number]') {\r\n obj[key] = ''\r\n } else if (gettype.call(obj[key]) === '[object Null]') {\r\n obj[key] = null\r\n } else if (gettype.call(obj[key]) === '[object Array]') {\r\n obj[key] = []\r\n } else if (gettype.call(obj[key]) === '[object Object]') {\r\n obj[key] = {}\r\n }\r\n }\r\n },\r\n\r\n isEmptyObj(obj) {\r\n if (Object.keys(obj).length === 0) {\r\n console.log('对象是空的')\r\n return true\r\n } else {\r\n for (const key in obj) {\r\n if (typeof obj[key] === 'object') {\r\n return this.isEmptyObj(obj[key])\r\n } else if (obj[key] !== '' && obj[key] !== null) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n },\r\n //VueThis:vue对象(this)\r\n //activePath 需要预览的pdf在ftp服务上的相对地址\r\n //name 新打开的页签名称\r\n viewPdf(vueThis, activePath, name) {\r\n activePath = '/cqms/viewPdf' + activePath\r\n const tabList = vueThis.$store.getters.getTabList\r\n const tab = {\r\n label: name,\r\n path: activePath,\r\n name: activePath\r\n }\r\n var result = tabList.some((item) => {\r\n if (item.name === activePath) {\r\n return true\r\n }\r\n })\r\n if (!result) {\r\n vueThis.$store.commit('add_tags', tab)\r\n }\r\n vueThis.$router.push({ path: activePath })\r\n vueThis.$store.commit('set_ActivePath', activePath)\r\n },\r\n notLogin(vueThis) {\r\n vueThis.$message.error('登录信息失效,请重新登录')\r\n setTimeout(() => {\r\n window.locations.href = '/xbzcsnmsVue/#/login'\r\n }, 1 * 1000)\r\n },\r\n formateTime(date, fmt) {\r\n var o = {\r\n 'M+': date.getMonth() + 1, //月份\r\n 'd+': date.getDate(), //日\r\n 'h+': date.getHours(), //小时\r\n 'm+': date.getMinutes(), //分\r\n 's+': date.getSeconds(), //秒\r\n 'q+': Math.floor((date.getMonth() + 3) / 3), //季度\r\n S: date.getMilliseconds() //毫秒\r\n }\r\n if (/(y+)/.test(fmt))\r\n fmt = fmt.replace(\r\n RegExp.$1,\r\n (date.getFullYear() + '').substr(4 - RegExp.$1.length)\r\n )\r\n for (var k in o)\r\n if (new RegExp('(' + k + ')').test(fmt))\r\n fmt = fmt.replace(\r\n RegExp.$1,\r\n RegExp.$1.length === 1\r\n ? o[k]\r\n : ('00' + o[k]).substr(('' + o[k]).length)\r\n )\r\n return fmt\r\n },\r\n /**\r\n * @Description: 判断值是否为空\r\n * @Param: 字符串\r\n * @return:Boolean\r\n * @Author: wj\r\n * @Date: 2022/5/26 8:53\r\n */\r\n isNull: function(value) {\r\n if (value === null || value === '' || value === undefined) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n },\r\n /**\r\n * @Description: 判断值是否为空(去除首尾空格) 参数不能为数字\r\n * @Param: 字符串\r\n * @return:Boolean\r\n * @Author: wj\r\n * @Date: 2022/5/26 8:53\r\n */\r\n isNullString: function(value) {\r\n if (value === null || value === '' || value === undefined) {\r\n return true\r\n } else {\r\n value = value.replace(/(^\\s*)|(\\s*$)/g, '')\r\n if (value === '') {\r\n return true\r\n } else {\r\n return false\r\n }\r\n\r\n }\r\n }\r\n}\r\n\r\n","var map = {\n\t\"./common/router/index.js\": \"215b\",\n\t\"./xbzcsnms/router/index.js\": \"29c7\"\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 = \"8953\";","http://////////////////////////////////////////\r\n// 通用函数文件 //\r\n//////////////////////////////////////////\r\n/**\r\n* 将相对地址转换为绝对地址\r\n*/\r\nfunction ToAbsoluteURL(url, base) {\r\n var ele = document.createElement('a')\r\n ele.href = (base || '') + url\r\n return ele.href\r\n}\r\nexport function SaveToFile(base64Content, fileName, fileExt) { //保存到文件\r\n var c = window.atob(base64Content)\r\n var ab = new ArrayBuffer(c.length)\r\n var ia = new Uint8Array(ab)\r\n for (var i = 0; i < c.length; i++) {\r\n ia[i] = c.charCodeAt(i)\r\n }\r\n var b = new Blob([ab])//这句,Windows版本的Safari执行不下去。\r\n\r\n if (fileName === undefined || fileName == null || fileName === '') {\r\n fileName = 'noname'\r\n }\r\n fileName += '.'\r\n fileName += fileExt\r\n saveAs(b, fileName)\r\n}\r\n\r\n/**Base64解码\r\n* @strIn,输入字符串\r\n* 成功返回一个数组,每一个元素包含一字节信息,失败返回null\r\n*/\r\n// eslint-disable-next-line no-unused-vars\r\nfunction decodeBase64(strIn) {\r\n if (!strIn.length || strIn.length % 4)\r\n return null\r\n var str64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\r\n var index64 = []\r\n for (var i = 0; i < str64.length; i++)\r\n index64[str64.charAt(i)] = i\r\n var c0, c1, c2, c3, b0, b1, b2\r\n var len = strIn.length\r\n var len1 = len\r\n if (strIn.charAt(len - 1) === '=')\r\n len1 -= 4\r\n var result = []\r\n // eslint-disable-next-line no-redeclare,no-unused-vars\r\n for (var i = 0, j = 0; i < len1; i += 4) {\r\n c0 = index64[strIn.charAt(i)]\r\n c1 = index64[strIn.charAt(i + 1)]\r\n c2 = index64[strIn.charAt(i + 2)]\r\n c3 = index64[strIn.charAt(i + 3)]\r\n b0 = (c0 << 2) | (c1 >> 4)\r\n b1 = (c1 << 4) | (c2 >> 2)\r\n b2 = (c2 << 6) | c3\r\n result.push(b0 & 0xff)\r\n result.push(b1 & 0xff)\r\n result.push(b2 & 0xff)\r\n }\r\n if (len1 !== len) {\r\n c0 = index64[strIn.charAt(i)]\r\n c1 = index64[strIn.charAt(i + 1)]\r\n c2 = strIn.charAt(i + 2)\r\n b0 = (c0 << 2) | (c1 >> 4)\r\n result.push(b0 & 0xff)\r\n if (c2 !== '=') {\r\n c2 = index64[c2]\r\n b1 = (c1 << 4) | (c2 >> 2)\r\n result.push(b1 & 0xff)\r\n }\r\n }\r\n return result\r\n}\r\n\r\n/* FileSaver.js\r\n* A saveAs() FileSaver implementation.\r\n* 1.3.2\r\n* 2016-06-16 18:25:19\r\n*\r\n* By Eli Grey, http://eligrey.com\r\n* License: MIT\r\n* See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\r\n*/\r\n\r\n\r\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\r\n\r\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\r\n\r\nvar saveAs = saveAs || (function(view) {\r\n 'use strict'\r\n // IE <10 is explicitly unsupported\r\n if (typeof view === 'undefined' || typeof navigator !== 'undefined' && /MSIE [1-9]\\./.test(navigator.userAgent)) {\r\n return\r\n }\r\n var\r\n doc = view.document,\r\n // only get URL when necessary in case Blob.js hasn't overridden it yet\r\n get_URL = function() {\r\n return view.URL || view.webkitURL || view\r\n },\r\n save_link = doc.createElementNS('http://www.w3.org/1999/xhtml', 'a'),\r\n can_use_save_link = 'download' in save_link,\r\n click = function(node) {\r\n var event = new MouseEvent('click')\r\n node.dispatchEvent(event)\r\n },\r\n is_safari = /constructor/i.test(view.HTMLElement) || view.safari,\r\n is_chrome_ioses = /Crioses\\/[\\d]+/.test(navigator.userAgent),\r\n throw_outside = function(ex) {\r\n (view.setImmediate || view.setTimeout)(function() {\r\n throw ex\r\n }, 0)\r\n },\r\n force_saveable_type = 'application/octet-stream',\r\n // the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\r\n arbitrary_revoke_timeout = 1000 * 40, // in ms\r\n revoke = function(file) {\r\n var revoker = function() {\r\n if (typeof file === 'string') { // file is an object URL\r\n get_URL().revokeObjectURL(file)\r\n } else { // file is a File\r\n file.remove()\r\n }\r\n }\r\n setTimeout(revoker, arbitrary_revoke_timeout)\r\n },\r\n dispatch = function(filesaver, event_types, event) {\r\n event_types = [].concat(event_types)\r\n var i = event_types.length\r\n while (i--) {\r\n var listener = filesaver['on' + event_types[i]]\r\n if (typeof listener === 'function') {\r\n try {\r\n listener.call(filesaver, event || filesaver)\r\n } catch (ex) {\r\n throw_outside(ex)\r\n }\r\n }\r\n }\r\n },\r\n auto_bom = function(blob) {\r\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\r\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\r\n if (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\r\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\r\n }\r\n return blob\r\n },\r\n FileSaver = function(blob, name, no_auto_bom) {\r\n if (!no_auto_bom) {\r\n blob = auto_bom(blob)\r\n }\r\n // First try a.download, then web filesystem, then object URLs\r\n var\r\n filesaver = this,\r\n type = blob.type,\r\n force = type === force_saveable_type,\r\n object_url,\r\n dispatch_all = function() {\r\n dispatch(filesaver, 'writestart progress write writeend'.split(' '))\r\n },\r\n // on any filesys errors revert to saving with object URLs\r\n fs_error = function() {\r\n if ((is_chrome_ioses || (force && is_safari)) && view.FileReader) {\r\n // Safari doesn't allow downloading of blob urls\r\n var reader = new FileReader()\r\n reader.onloadend = function() {\r\n var url = is_chrome_ioses ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;')\r\n var popup = view.open(url, '_blank')\r\n if (!popup) view.locations.href = url\r\n url = undefined // release reference before dispatching\r\n filesaver.readyState = filesaver.DONE\r\n dispatch_all()\r\n }\r\n reader.readAsDataURL(blob)\r\n filesaver.readyState = filesaver.INIT\r\n return\r\n }\r\n // don't create more object URLs than needed\r\n if (!object_url) {\r\n object_url = get_URL().createObjectURL(blob)\r\n }\r\n if (force) {\r\n view.locations.href = object_url\r\n } else {\r\n var opened = view.open(object_url, '_blank')\r\n if (!opened) {\r\n // Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\r\n view.locations.href = object_url\r\n }\r\n }\r\n filesaver.readyState = filesaver.DONE\r\n dispatch_all()\r\n revoke(object_url)\r\n }\r\n\r\n filesaver.readyState = filesaver.INIT\r\n\r\n if (can_use_save_link) {\r\n object_url = get_URL().createObjectURL(blob)\r\n setTimeout(function() {\r\n save_link.href = object_url\r\n save_link.download = name\r\n click(save_link)\r\n dispatch_all()\r\n revoke(object_url)\r\n filesaver.readyState = filesaver.DONE\r\n })\r\n return\r\n }\r\n\r\n fs_error()\r\n },\r\n FS_proto = FileSaver.prototype,\r\n saveAs = function(blob, name, no_auto_bom) {\r\n return new FileSaver(blob, name || blob.name || 'download', no_auto_bom)\r\n }\r\n\r\n // IE 10+ (native saveAs)\r\n if (typeof navigator !== 'undefined' && navigator.msSaveOrOpenBlob) {\r\n return function(blob, name, no_auto_bom) {\r\n name = name || blob.name || 'download'\r\n\r\n if (!no_auto_bom) {\r\n blob = auto_bom(blob)\r\n }\r\n return navigator.msSaveOrOpenBlob(blob, name)\r\n }\r\n }\r\n\r\n FS_proto.abort = function() { }\r\n FS_proto.readyState = FS_proto.INIT = 0\r\n FS_proto.WRITING = 1\r\n FS_proto.DONE = 2\r\n\r\n FS_proto.error =\r\n FS_proto.onwritestart =\r\n FS_proto.onprogress =\r\n FS_proto.onwrite =\r\n FS_proto.onabort =\r\n FS_proto.onerror =\r\n FS_proto.onwriteend =\r\n null\r\n\r\n return saveAs\r\n}(\r\n typeof self !== 'undefined' && self ||\r\n typeof window !== 'undefined' && window ||\r\n this.content\r\n))\r\n// `self` is undefined in Firefox for androids content script context\r\n// while `this` is nsIContentFrameMessageManager\r\n// with an attribute `content` that corresponds to the window\r\n\r\nif (typeof module !== 'undefined' && module.exports) {\r\n module.exports.saveAs = saveAs\r\n// eslint-disable-next-line no-undef\r\n} else if ((typeof define !== 'undefined' && define !== null) && (define.amd !== null)) {\r\n // eslint-disable-next-line no-undef\r\n define('FileSaver.js', function() {\r\n return saveAs\r\n })\r\n}\r\n\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction SpecialCharInJson(source) {\r\n var str = ''\r\n // eslint-disable-next-line eqeqeq\r\n if (source == null || source == undefined) {\r\n return str\r\n }\r\n var i, num = source.length\r\n var ch\r\n for (i = 0; i < num; i++) {\r\n ch = source.charAt(i)\r\n switch (ch) {\r\n case '\\\"':\r\n str += '\\\\\"'\r\n break\r\n case '\\\\':\r\n str += '\\\\\\\\'\r\n break\r\n case '/':\r\n str += '\\\\/'\r\n break\r\n case '\\b':\r\n str += '\\\\b'\r\n break\r\n case '\\f':\r\n str += '\\\\f'\r\n break\r\n case '\\n':\r\n str += '\\\\n'\r\n break\r\n case '\\r':\r\n str += '\\\\r'\r\n break\r\n case '\\t':\r\n str += '\\\\t'\r\n break\r\n default:\r\n str += ch\r\n break\r\n }\r\n }\r\n return str\r\n}\r\n\r\n/**\r\n* 打天下\r\n* 基于浏览器的JavaScript类\r\n*/\r\nexport function classPrintWorld(url) {\r\n this.jsonDataInDialog = ''\r\n this.http2FlexPrint = null\r\n this.syncHttp2FlexPrint = null\r\n this.lastError = ''\r\n this.lastResponseText = ''\r\n // eslint-disable-next-line eqeqeq\r\n if (url == null || url == undefined || url == '') {\r\n this.flexPrintURL = 'http://127.0.0.1:8888' //打天下打印服务器之缺省地址\r\n } else {\r\n this.flexPrintURL = this.NormalizedURL(url)\r\n }\r\n}\r\n\r\nclassPrintWorld.prototype.NormalizedURL = function(url) {\r\n url = url.trim()\r\n // eslint-disable-next-line eqeqeq\r\n while (url.length > 0 && url.lastIndexOf('/') == url.length - 1) {\r\n url = url.substr(0, url.length - 1)\r\n }\r\n return url\r\n}\r\n\r\nclassPrintWorld.prototype.PrintURL = function() {\r\n return this.flexPrintURL\r\n}\r\n\r\nclassPrintWorld.prototype.GetLastError = function() {\r\n return this.lastError\r\n}\r\n\r\nclassPrintWorld.prototype.GetResponseText = function() {\r\n return this.lastResponseText\r\n}\r\n\r\n/**\r\n* 获取HTTP对象\r\n*/\r\nclassPrintWorld.prototype.GetHTTP = function() {\r\n if (this.http2FlexPrint == null) {\r\n this.http2FlexPrint = new XMLHttpRequest()\r\n\r\n // eslint-disable-next-line no-empty\r\n if ('withCredentials' in this.http2FlexPrint) {\r\n } else if (typeof XDomainRequest !== 'undefined') {\r\n // eslint-disable-next-line no-undef\r\n this.http2FlexPrint = new XDomainRequest()\r\n } else {\r\n this.http2FlexPrint = null\r\n this.lastError = '浏览器创建HTTP对象失败,你可能需要升级或者更换浏览器。'\r\n }\r\n }\r\n return this.http2FlexPrint\r\n}\r\n\r\nclassPrintWorld.prototype.GetSyncHTTP = function() {\r\n if (this.syncHttp2FlexPrint == null) {\r\n this.syncHttp2FlexPrint = new XMLHttpRequest()\r\n\r\n // eslint-disable-next-line no-empty\r\n if ('withCredentials' in this.syncHttp2FlexPrint) {\r\n } else if (typeof XDomainRequest !== 'undefined') {\r\n // eslint-disable-next-line no-undef\r\n this.syncHttp2FlexPrint = new XDomainRequest()\r\n } else {\r\n this.syncHttp2FlexPrint = null\r\n this.lastError = '浏览器创建HTTP对象失败,你可能需要升级或者更换浏览器。'\r\n }\r\n }\r\n return this.syncHttp2FlexPrint\r\n}\r\n\r\nclassPrintWorld.prototype.GetTempHTTP = function() {\r\n var http = new XMLHttpRequest()\r\n // eslint-disable-next-line no-empty\r\n if ('withCredentials' in http) {\r\n } else if (typeof XDomainRequest !== 'undefined') {\r\n // eslint-disable-next-line no-undef\r\n http = new XDomainRequest()\r\n } else {\r\n http = null\r\n this.lastError = '浏览器创建HTTP对象失败,你可能需要升级或者更换浏览器。'\r\n }\r\n return http\r\n}\r\n\r\n/**\r\n* 向URL指向的打天下打印服务(FlexPrint)同步 or 异步发送JSON数据。\r\n* @jsonData,JSON格式数据,字符串类型\r\n* @callbackFunc,回调函数\r\n* @async,是否异步,true为异步;false为同步\r\n*/\r\nclassPrintWorld.prototype.Act = function(jsonData, callbackFunc, async) {\r\n this.lastError = ''\r\n var http = null\r\n // eslint-disable-next-line eqeqeq\r\n if (callbackFunc == null || callbackFunc == undefined) {\r\n callbackFunc = this.DefaultAsyncCallbackForAct\r\n }\r\n if (typeof (callbackFunc) === 'function') {\r\n http = this.GetTempHTTP()\r\n //http = this.GetHTTP()\r\n if (http == null) {\r\n return false\r\n }\r\n try {\r\n if (typeof (jsonData) === 'object') {\r\n jsonData = JSON.stringify(jsonData) //转换为字符串\r\n }\r\n } catch (err) {\r\n this.lastError = err\r\n return false\r\n }\r\n // eslint-disable-next-line eqeqeq\r\n if (async == undefined || async == null) {\r\n async = true\r\n }\r\n try {\r\n http.onreadystatechange = callbackFunc\r\n http.open('POST', this.flexPrintURL, async)\r\n http.send(jsonData) //发送数据到打印服务器FlexPrint\r\n } catch (err) {\r\n this.lastError = err + '\\n可能的原因是:打天下(FlexPrint)尚未安装、启动,或者是URL指向错误。'\r\n return false\r\n }\r\n if (!async) { //同步调用\r\n http.onreadystatechange()\r\n }\r\n return true\r\n } else {\r\n this.lastError = 'Action参数错误:回调函数参数callbackFunc不是函数。'\r\n }\r\n return false\r\n}\r\n\r\n/**\r\n* 向URL指向的打天下打印服务(FlexPrint)异步同步发送JSON数据。\r\n*/\r\nclassPrintWorld.prototype.Direct = function(jsonData) {\r\n this.lastError = ''\r\n if (this.GetSyncHTTP() == null) {\r\n return null\r\n }\r\n try {\r\n if (typeof (jsonData) === 'object') {\r\n jsonData = JSON.stringify(jsonData) //转换为字符串\r\n }\r\n } catch (err) {\r\n this.lastError = err\r\n return null\r\n }\r\n\r\n try {\r\n this.syncHttp2FlexPrint.onreadystatechange = null\r\n this.syncHttp2FlexPrint.open('POST', this.flexPrintURL, false)\r\n this.syncHttp2FlexPrint.send(jsonData) //发送数据\r\n } catch (err) {\r\n this.lastError = err + '\\n可能的原因是:打天下(FlexPrint)尚未安装、启动,或者是URL指向错误。'\r\n return null\r\n }\r\n var json = null // = evals(\"(\" + this.http2FlexPrint.responseText + \")\") //返回,以JSON对象形式。\r\n this.lastResponseText = this.syncHttp2FlexPrint.responseText\r\n //alert(this.syncHttp2FlexPrint.responseText)\r\n try {\r\n json = JSON.parse(this.syncHttp2FlexPrint.responseText)\r\n } catch (err) {\r\n this.lastError = '返回的JSON数据解析出错: ' + err\r\n return null\r\n }\r\n if (json == null || (json.error !== undefined)) {\r\n return json\r\n // eslint-disable-next-line eqeqeq\r\n } else if (json.cmd == 'preview') { //跳转到预览页面\r\n window.open(this.PrintURL() + '/' + json.val, '_blank')\r\n // eslint-disable-next-line eqeqeq\r\n } else if (json.cmd == 'print2file') { //打印到文件\r\n SaveToFile(json.val, json.name, json.ext)\r\n }\r\n return json\r\n}\r\n\r\n/**\r\n* 获取打天下服务器版本\r\n*/\r\nclassPrintWorld.prototype.Version = function() { //同步方式获取打天下服务器版本\r\n var ver = ''\r\n var json = '{\"action\":\"whoareyou\"}'\r\n json = this.Direct(json)\r\n // eslint-disable-next-line eqeqeq\r\n if (json != null && json.cmd == 'whoareyou') { //打印服务已经启动\r\n ver = json.val.version\r\n }\r\n return ver\r\n}\r\n\r\n/**\r\n* 检测打天下打印服务是否安装启动\r\n* @version,版本号,字符串类型。\r\n* 返回值:-1或者<0,未安装/启动,需要安装;0,已经安装并启动不需要安装;1或者>0,有新版本,提示用户下载安装。\r\n*/\r\nclassPrintWorld.prototype.CheckInstallation = function(version) { //同步方式检测本机是否安装启动了打天下服务\r\n var json = '{\"action\":\"whoareyou\"}'\r\n json = this.Direct(json)\r\n // eslint-disable-next-line eqeqeq\r\n if (json != null && json.cmd == 'whoareyou') { //打印服务已经启动\r\n if (version != null && version !== undefined && version !== '') {\r\n if (version > json.val.version) {\r\n return 1 //有新版本\r\n } else if (version < json.val.version) {\r\n return 2 //用旧版本\r\n }\r\n }\r\n return 0 //安装并已启动\r\n }\r\n return -1 //尚未安装/启动打印打天下服务器\r\n}\r\n\r\n/**\r\n* 有alert信息的版本。用于发现并提示CheckInstallation中的问题。\r\n*/\r\nclassPrintWorld.prototype.CheckInstallationAlert = function(version) { //同步方式检测本机是否安装启动了打天下服务\r\n var json = '{\"action\":\"whoareyou\"}'\r\n json = this.Direct(json)\r\n if (json != null) {\r\n if (json.cmd === 'whoareyou') { //打印服务已经启动\r\n if (version != null && version !== undefined) {\r\n if (version > json.val.version) {\r\n return 1 //有新版本\r\n } else if (version < json.val.version) {\r\n return 2//恢复旧版\r\n }\r\n }\r\n return 0 //安装并已启动\r\n } else {\r\n alert('Unexpected data: ' + this.lastResponseText)\r\n }\r\n } else { // json == null\r\n if (this.lastError !== '') {\r\n alert(this.lastError)\r\n }\r\n alert('Unexpected data: ' + this.lastResponseText)\r\n }\r\n return -1 //尚未安装/启动打印打天下服务器\r\n}\r\n\r\n/**\r\n* 检测打天下打印服务是否安装启动,根据检测结果提示下载安装。\r\n* @downloadURL下载地址,形式如:http://localhost:8888/web/binary/ClientInstall.exe\r\n* @version,版本号,字符串类型。形式如:'1.0.0.5',缺省,则不会更新下载。\r\n* @printworldURL,打天下服务器地址,形式如:http://233.34.2.23:8888,缺省:为http://127.0.0.1:8888\r\n* 返回值:true or false。\r\n* 如果返回false,说明未安装/启动,或者下载了打天下。因此,这时候就需要退出执行打天下相关的代码,待到安装后再执行即可。\r\n* 以下以预览(打印一样)为例说明:\r\n*\r\n* function OnPreview() {\r\n* if(!CheckInstallationPrompt(\"http://www.abc.com/binary/ClientInstall.exe\",'1.0.0.5') {\r\n* return//需要安装或者启动打天下打印服务器\r\n* }\r\n* ...//预览相关代码\r\n* }\r\n*/\r\n// eslint-disable-next-line no-unused-vars\r\nfunction CheckInstallationPrompt(downloadURL, version, printworldURL) {\r\n // eslint-disable-next-line new-cap\r\n var printWorld = new classPrintWorld(printworldURL)\r\n document.body.style.cursor = 'wait'\r\n var r = printWorld.CheckInstallation(version)\r\n document.body.style.cursor = 'default'\r\n var bContinue = true\r\n if (r !== 0) {\r\n var prompt\r\n if (r < 0) {\r\n bContinue = false\r\n prompt = '尚未安装/启动打天下打印服务!\\n单击确定,下载安装。'\r\n // eslint-disable-next-line eqeqeq\r\n } else if (r == 1) {\r\n prompt = '有新版本(' + version + ')的打天下打印服务!\\n单击确定,下载安装。'\r\n // eslint-disable-next-line eqeqeq\r\n } else if (r == 2) {\r\n prompt = '退回旧版本(' + version + ')的打天下打印服务?\\n单击确定,下载安装。'\r\n }\r\n if (confirm(prompt)) {\r\n printWorld.DownloadFile(downloadURL)\r\n bContinue = false\r\n }\r\n }\r\n return bContinue\r\n}\r\n\r\n/**\r\n* 下载文件。主要用于下载安装程序。\r\n*/\r\nclassPrintWorld.prototype.DownloadFile = function(downloadURL) {\r\n var form = document.createElement('form')\r\n document.body.appendChild(form)\r\n form.method = 'get'\r\n form.action = downloadURL\r\n form.submit()\r\n document.body.removeChild(form)\r\n}\r\n\r\n/**\r\n* 动态证书。这也是一种使用证书的方式。\r\n* @content:证书字符串。\r\n*/\r\nclassPrintWorld.prototype.Certificate = function(content) {\r\n var json = {}\r\n json.action = 'certificate'\r\n json.content = content\r\n return this.Direct(json)\r\n}\r\n\r\nclassPrintWorld.prototype.DefaultAsyncCallbackForAct = function() { //异步调用打天下打印服务的回调函数\r\n if (this.readyState !== 4) { // 4 = \"loaded\"\r\n return\r\n }\r\n if (this.status === 200) { // 200 = OK\r\n var json = evals('(' + this.responseText + ')')\r\n if (json.error !== undefined) { //返回错误信息\r\n alert(json.error)\r\n // eslint-disable-next-line eqeqeq\r\n } else if (json.cmd == 'printers') { //打印机列表\r\n //Printers2List(json)\r\n // eslint-disable-next-line eqeqeq\r\n } else if (json.cmd == 'print') { //打印已提交,无需再做处理。\r\n // eslint-disable-next-line eqeqeq\r\n } else if (json.cmd == 'print2file') { //打印到文件\r\n SaveToFile(json.val, json.name, json.ext) //保存文件\r\n // eslint-disable-next-line eqeqeq\r\n } else if (json.cmd == 'preview') { //跳转到预览页面\r\n // eslint-disable-next-line no-undef\r\n window.open(printWorld.PrintURL() + '/' + json.val, '_blank') //另启窗口预览(浏览器会出现阻止弹窗提示)。因此建议:预览使用Direct同步调用。\r\n // eslint-disable-next-line eqeqeq\r\n } else if (json.cmd == 'prnstatus') { //打印机状态\r\n //alert(json.printer.ready)\r\n // eslint-disable-next-line eqeqeq\r\n } else if (json.cmd == 'whoareyou') {\r\n //alert(\"Ready!\")\r\n }\r\n } else {\r\n if (this.statusText != null && this.statusText !== undefined && this.statusText !== '') {\r\n alert('Http error status:' + this.status.toString() + ' : ' + this.statusText)\r\n } else {\r\n alert('Http error status:' + this.status.toString())\r\n }\r\n }\r\n}\r\n\r\nclassPrintWorld.prototype.DirectEx = function(json, callback, wait_in_ms) {\r\n if (wait_in_ms === undefined || wait_in_ms == null) {\r\n wait_in_ms = 1000//毫秒\r\n }\r\n if (callback === undefined || callback == null) {\r\n callback = this.DirectExCallback\r\n }\r\n var THIS = this\r\n var result = THIS.Direct(json)\r\n if (result == null) { //first try,failed\r\n setTimeout(function() {\r\n result = THIS.Direct(json)\r\n if (result == null) { //second try,failed\r\n setTimeout(function() {\r\n result = THIS.Direct(json)\r\n if (result == null) { //third try,failed\r\n callback(THIS, result)\r\n } else { //third try,success\r\n callback(THIS, result)\r\n }\r\n }, wait_in_ms)\r\n } else { //second try,success\r\n callback(THIS, result)\r\n }\r\n }, wait_in_ms)\r\n } else { //first try,success\r\n callback(THIS, result)\r\n }\r\n}\r\n\r\nclassPrintWorld.prototype.DirectExCallback = function(printWorld, result) {\r\n if (result == null) { //数据发送失败\r\n alert(printWorld.GetLastError())\r\n } else if (result.error !== undefined) { //打天下打印服务返回的错误信息\r\n alert(result.error)\r\n }\r\n}\r\n\r\nclassPrintWorld.prototype.IsWindows = function() {\r\n var ua = navigator.userAgent.toLowerCase()\r\n return (/windows/.test(ua))\r\n}\r\n\r\nclassPrintWorld.prototype.Browser = function() {\r\n var ua = navigator.userAgent.toLowerCase()\r\n if (/trident/.test(ua)) {\r\n return 'msie'\r\n } else if (/edge/.test(ua)) {\r\n return 'edge'\r\n } else if (/chrome/.test(ua)) {\r\n return 'chrome'\r\n } else if (/firefox/.test(ua)) {\r\n return 'firefox'\r\n }\r\n return 'unknown'\r\n}\r\n//////////////////////////////////////////////////////////\r\n/**\r\n* 打印机选择会话框\r\n*/\r\nclassPrintWorld.prototype.PrintDialog = function(jsonData) {\r\n this.jsonDataInDialog = jsonData\r\n var THIS = this\r\n var divDlg = document.getElementById('id_pw_divPrintDlg')\r\n if (divDlg == null) {\r\n divDlg = document.createElement('div')\r\n document.body.appendChild(divDlg)\r\n\r\n divDlg.setAttribute('id', 'id_pw_divPrintDlg')\r\n divDlg.setAttribute('style', 'box-shadow: 5px 5px 5px #888888;padding:0pt 0pt 0pt 0pt;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;color:Green')\r\n divDlg.style.backgroundColor = 'LightGrey'\r\n divDlg.style.border = 'solid 1px Gray'\r\n // divDlg.style.width = \"-ms-fit-content\";//\"-webkit-fit-content\";//\"fit-content\";//-moz-fit-content;fit-content\";//\r\n //divDlg.style.width = \"20em\"\r\n //divDlg.style.display=\"table\"\r\n //divDlg.style.float=\"none\"\r\n //alert(THIS.IsWindows())\r\n var browser = THIS.Browser()\r\n if (browser !== 'chrome' && browser !== 'firefox') {\r\n divDlg.style.width = '280pt'\r\n }\r\n if (browser !== 'chrome') {\r\n divDlg.style.height = '100pt'\r\n }\r\n divDlg.style.zIndex = '9999'\r\n divDlg.style.position = 'fixed'\r\n divDlg.style.top = '0'\r\n divDlg.style.left = '0'\r\n divDlg.style.right = '0'\r\n divDlg.style.bottom = '0'\r\n divDlg.style.textAlign = 'center'\r\n divDlg.style.margin = 'auto'\r\n divDlg.style.fontSize = '10pt' //small\"\r\n divDlg.style.fontFamily = '微软雅黑'\r\n divDlg.style.color = 'Black'\r\n var html = \"
打印机:
\"\r\n html += \"
状 态:
\"\r\n html += \"
份 数:
\"\r\n html += \"\"\r\n html += \"
\"\r\n divDlg.innerHTML = html\r\n\r\n PrintListInDlg()\r\n\r\n var selPrinters = document.getElementById('id_pwPrinterSelInDlg')\r\n selPrinters.onchange = function() {\r\n PrinterChangedInDlg(selPrinters.value)\r\n }\r\n\r\n var btOK = document.getElementById('idBtnOKPrint')\r\n btOK.onclick = function() { //Do print\r\n DoPrintInDlg()\r\n }\r\n\r\n var btCancel = document.getElementById('idBtnCancelPrint')\r\n btCancel.onclick = function() {\r\n CancelPrintInDlg()\r\n }\r\n } else {\r\n document.getElementById('idCopiesInDlg').value = '1'\r\n }\r\n divDlg.style.visibility = 'visible' //显示\r\n\r\n\r\n function PrintListInDlg() {\r\n var json = {}\r\n json.action = 'printers' //获取打印机列表的JSON\r\n json.defaultprn = true\r\n json = THIS.Direct(json) //直接发送数据到打印服务器(同步调用方法)\r\n if (json == null) { //数据发送失败\r\n } else if (json.error !== undefined) { //打天下打印服务返回的错误信息\r\n } else {\r\n var bLocalValid = false\r\n if (localStorage.printerNameSelected != null && localStorage.printerNameSelected !== undefined) {\r\n bLocalValid = true\r\n }\r\n\r\n var sel = document.getElementById('id_pwPrinterSelInDlg') //'SelPrinter')\r\n sel.options.length = 0 //清空列表\r\n //填充列表\r\n var prns = json.val\r\n sel.options.add(new Option('', ''))\r\n for (var i = 0; i < prns.length; i++) {\r\n sel.options.add(new Option(prns[i].name, prns[i].name))\r\n if (bLocalValid) {\r\n // eslint-disable-next-line eqeqeq\r\n if (prns[i].name == localStorage.printerNameSelected) {\r\n sel.value = prns[i].name\r\n }\r\n } else if (prns[i].default) {\r\n sel.value = prns[i].name\r\n }\r\n }\r\n PrinterChangedInDlg(sel.value)\r\n }\r\n }\r\n\r\n function PrinterChangedInDlg(prnname) {\r\n localStorage.printerNameSelected = prnname\r\n // eslint-disable-next-line eqeqeq\r\n if (prnname == '') {\r\n document.getElementById('idPrinterStatusInDlg').innerHTML = ''\r\n return\r\n }\r\n var json = {}\r\n json.action = 'prnstatus'\r\n json.printer = prnname\r\n json = THIS.Direct(json) //直接发送数据到打印服务器(同步调用方法)\r\n if (json == null) { //数据发送失败\r\n } else if (json.error !== undefined) { //打天下打印服务返回的错误信息\r\n } else {\r\n document.getElementById('idPrinterStatusInDlg').innerHTML = json.printer.status\r\n }\r\n }\r\n\r\n function CancelPrintInDlg() {\r\n //var divDlg = document.getElementById(\"id_pw_divPrintDlg\")\r\n if (divDlg != null) {\r\n divDlg.style.visibility = 'hidden'\r\n }\r\n }\r\n\r\n function DoPrintInDlg() {\r\n //var divDlg = document.getElementById(\"id_pw_divPrintDlg\")\r\n if (divDlg == null) {\r\n return\r\n }\r\n divDlg.style.visibility = 'hidden'\r\n\r\n if (THIS.jsonDataInDialog != null && THIS.jsonDataInDialog !== undefined) {\r\n var type = typeof (THIS.jsonDataInDialog)\r\n // eslint-disable-next-line no-empty\r\n if (type === 'object') {\r\n } else if (type === 'string') {\r\n try {\r\n // eslint-disable-next-line no-undef\r\n var json = JSON.parse(json)\r\n } catch (err) {\r\n // eslint-disable-next-line no-unused-vars\r\n var gLastError = 'Parse error in PrintDialog: ' + err\r\n return\r\n }\r\n } else {\r\n alert('PrintDialog: 不是JSON数据!')\r\n return\r\n }\r\n }\r\n THIS.jsonDataInDialog.printer = document.getElementById('id_pwPrinterSelInDlg').value //打印机名称\r\n\r\n var copies = document.getElementById('idCopiesInDlg').value\r\n // eslint-disable-next-line eqeqeq\r\n if (copies == '') {\r\n THIS.jsonDataInDialog.copies = 1\r\n } else {\r\n THIS.jsonDataInDialog.copies = copies //alert(document.getElementById('idCopiesInDlg').value)\r\n }\r\n\r\n if (!THIS.Act(THIS.jsonDataInDialog)) {\r\n alert(THIS.GetLastError()) //失败\r\n }\r\n }\r\n}\r\n\r\nexport { ToAbsoluteURL }\r\n","import Global from '../../../Global'\r\nexport default {\r\n state: {\r\n // 被激活的带单的链接地址 - 当前已点击的菜单\r\n activePath: '',\r\n // 已点击的tab-list数据,如果无缓存,赋默认值 - 默认只有一个首页\r\n tabList: []\r\n },\r\n getters: {\r\n getActivePath: (state) => {\r\n return state.activePath\r\n },\r\n getTabList: (state) => {\r\n //console.log('getOp', state.tabList)\r\n return state.tabList\r\n }\r\n },\r\n mutations: {\r\n //清除标签\r\n clear_tags(state) {\r\n state.tabList = []\r\n localStorage.removeItem(Global.sysCode + 'menuTabList')\r\n },\r\n //登录或刷新加载标签\r\n add_homeTag(state) {\r\n if (!localStorage.getItem(Global.sysCode + 'menu')) {\r\n return\r\n }\r\n if (localStorage.getItem(Global.sysCode + 'menuTabList')) {\r\n const tabList = JSON.parse(localStorage.getItem(Global.sysCode + 'menuTabList'))\r\n console.log('localmenuTabList------------', localStorage.getItem(Global.sysCode + 'menuTabList'))\r\n tabList.forEach(item => {\r\n console.log('localmenuItem------------', item)\r\n state.tabList.push(item)\r\n })\r\n state.activePath = localStorage.getItem(Global.sysCode + 'activePath')\r\n } else {\r\n const menu = JSON.parse(localStorage.getItem(Global.sysCode + 'menu'))\r\n menu.forEach(item => {\r\n // 添加首页tag 标签\r\n if (item.menuName === '首页') {\r\n state.activePath = item.path\r\n state.tabList.push({\r\n path: item.path,\r\n name: item.path,\r\n label: item.menuName\r\n })\r\n }\r\n })\r\n localStorage.setItem(Global.sysCode + 'menuTabList', JSON.stringify(state.tabList))\r\n localStorage.setItem(Global.sysCode + 'activePath', state.activePath)\r\n }\r\n },\r\n // 创建标签页(解决 直接复制路由地址进入页面后标签页混乱 的问题 -whl)\r\n add_menu_tags(state, data) {\r\n let flag = true\r\n for (let i = 0; i < state.tabList.length; i++) {\r\n if (state.tabList[i].path === data.path) {\r\n flag = false\r\n }\r\n if (state.tabList[i].label === '入库任务管理看板') {\r\n state.tabList.splice(i, 1)\r\n }\r\n }\r\n if (flag) {\r\n // 如果tabList中不存当前地址\r\n state.tabList.push(data)\r\n }\r\n localStorage.removeItem(Global.sysCode + 'menuTabList')\r\n localStorage.setItem(Global.sysCode + 'menuTabList', JSON.stringify(state.tabList))\r\n // 设置当前激活的tab\r\n state.activePath = data.path\r\n localStorage.setItem(Global.sysCode + 'activePath', data.path)\r\n },\r\n // 添加tags\r\n add_tags(state, data) {\r\n state.tabList.push(data)\r\n localStorage.removeItem(Global.sysCode + 'menuTabList')\r\n localStorage.setItem(Global.sysCode + 'menuTabList', JSON.stringify(state.tabList))\r\n },\r\n // 删除tags\r\n delete_tags(state, path) {\r\n let index = 0\r\n for (const tab of state.tabList) {\r\n if (tab.name === path) {\r\n break\r\n }\r\n index++\r\n }\r\n state.tabList.splice(index, 1)//删除tabList里面下标为Index的一个数\r\n localStorage.removeItem(Global.sysCode + 'menuTabList')\r\n localStorage.setItem(Global.sysCode + 'menuTabList', JSON.stringify(state.tabList))\r\n },\r\n // 设置当前激活的tab\r\n set_ActivePath(state, index) {\r\n state.activePath = index\r\n localStorage.setItem(Global.sysCode + 'activePath', index)\r\n }\r\n },\r\n actions: {}\r\n}\r\n\r\n","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\nVue.use(Router)\r\n\r\nlet routes = []\r\n\r\n// 扫描child文件夹,将路由信息整合\r\nconst routerContext = require.context('../child', true, /index\\.js$/)\r\n//console.log('routerContext', routerContext)\r\nrouterContext.keys().forEach(route => {\r\n // 如果是根目录的 index.js、 不做任何处理\r\n if (route.startsWith('./index')) {\r\n return\r\n }\r\n // 如果不包含router文件夹,不加入\r\n if (route.indexOf('router') < 0) {\r\n return\r\n }\r\n console.log(route)\r\n const routerModule = routerContext(route)\r\n // 兼容 import export 和 require module.export 两种规范 Es modules commonjs\r\n routes = [...routes, ...(routerModule.default || routerModule)]\r\n})\r\nroutes.push({\r\n // 刷新页面\r\n path: '/redirect/:path*',\r\n name: 'redirect',\r\n component: () => import('../views/redirectPage/index.vue')\r\n})\r\n\r\n\r\nexport default new Router({\r\n mode: 'hash',\r\n base: '/xbzcsnms/',\r\n routes: routes\r\n})\r\n","http:// 设置 rem 函数\r\nfunction setRem() {\r\n // 320 默认大小16px; 320px = 20rem ;每个元素px基础上/16\r\n const htmlWidth = document.documentElement.clientWidth || document.body.clientWidth\r\n // 得到html的Dom元素\r\n const htmlDom = document.getElementsByTagName('html')[0]\r\n // 设置根元素字体大小\r\n htmlDom.style.fontSize = htmlWidth / 7.5 + 'px'\r\n}\r\n// 初始化\r\nsetRem()\r\n// 改变窗口大小时重新设置 rem\r\nwindow.onresize = function() {\r\n setRem()\r\n}\r\n","import { ToAbsoluteURL, SaveToFile, classPrintWorld } from './PrintWorld.js'\r\n\r\n// eslint-disable-next-line new-cap\r\nvar printWorld = new classPrintWorld() //new一个打天下对象。不提供URL参数,意为本机的打天下打印服务器(\"http://127.0.0.1:8888\")。\r\n\r\n/**\r\n * 直接打印\r\n *\r\n * @param tplUrl 模板URL\r\n * @param data 打印数据\r\n * @param callBackUrl 回调函数(java后台方法)\r\n */\r\nfunction btPrint_onclick(tplUrl, data, callBackUrl) {\r\n OnPrinters()//获取打印机列表。\r\n OnPrint(tplUrl, data, callBackUrl) //打印\r\n}\r\n\r\n/**\r\n * 预览报表\r\n *\r\n * @param tplUrl 模板URL\r\n * @param data 打印数据\r\n */\r\nfunction btPreview_onclick(tplUrl, data) {\r\n OnPreview(tplUrl, data) //预览\r\n}\r\n\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction OnLoad() {\r\n PrepareData()\r\n OnPrinters()//获取打印机列表。\r\n}\r\n\r\nvar tmplArr = ['发票', '借款申请单', '境外汇款申请书', '采购订单', '送货单', '圆通二联单', '门票'] //本示例所用模板名称(数组)\r\n\r\nfunction PrepareData() {\r\n var sel = document.getElementById('SelTmpl')\r\n sel.options.length = 0 //clear\r\n\r\n for (var i = 0; i < tmplArr.length; i++) {\r\n sel.options.add(new Option(tmplArr[i], tmplArr[i]))\r\n }\r\n sel.selectedIndex = 0\r\n}\r\n\r\n\r\nfunction OnPreview(tplUrl, jsonData) { //预览\r\n var json = {}\r\n json.action = 'preview' //预览\r\n json.template = ToAbsoluteURL(tplUrl) //位于web服务器上的模板文件URL,或者本地模板路径。\r\n json.data = jsonData //填充模板的预览数据(json)\r\n\r\n json = printWorld.Direct(json) //直接发送数据到打印服务器(同步调用方法)\r\n if (json == null) { //数据发送失败\r\n alert(printWorld.GetLastError())\r\n } else if (json.error !== undefined) { //打天下打印服务返回的错误信息\r\n alert(json.error)\r\n }\r\n}\r\n\r\n/**\r\n * 直接打印\r\n *\r\n * @param tplUrl 模板URL\r\n * @param data 打印数据\r\n * @param callBackUrl 回调函数(java后台方法)\r\n */\r\nfunction OnPrint(tplUrl, jsonData, callBackUrl) { //打印输出\r\n var json = {}\r\n json.action = 'print' //打印\r\n json.template = ToAbsoluteURL(tplUrl) //位于web服务器上的模板文件URL。\r\n json.data = jsonData //填充模板的打印数据(json)\r\n\r\n json.callbackurl = callBackUrl// 回调服务端方法\r\n printWorld.PrintDialog(json)\r\n}\r\n\r\n/**\r\n * 异步调用打天下打印服务的回调函数:PrintWorldAsyncCallback。\r\n * web客户端可以通过异步方法(Act)、也可以通过同步方法(Direct)向打天下打印服务器发送JSON数据。同步方法不需要回调函数。\r\n */\r\n// eslint-disable-next-line no-unused-vars\r\nfunction PrintWorldAsyncCallback() {\r\n if (this.readyState !== 4) { // 4 = \"loaded\"\r\n return\r\n }\r\n if (this.status === 200) { // 200 = OK\r\n var json = evals('(' + this.responseText + ')')\r\n if (json.error !== undefined) { //返回错误信息\r\n alert(json.error)\r\n } else if (json.cmd === 'printers') { //打印机列表\r\n Printers2List(json)\r\n } else if (json.cmd === 'print') { //打印已提交,无需再做处理。\r\n } else if (json.cmd === 'print2file') { //打印到文件\r\n SaveToFile(json.val, 'noname', json.ext) //保存文件\r\n } else if (json.cmd === 'preview') { //跳转到预览页面\r\n window.open(printWorld.PrintURL() + '/' + json.val, '_blank') //另启窗口预览(浏览器会出现阻止弹窗提示)。因此建议:预览使用Direct同步调用。\r\n } else if (json.cmd === 'prnstatus') { //打印机状态\r\n //alert(json.printer.ready);\r\n } else if (json.cmd === 'whoareyou') {\r\n //alert(\"Ready!\");\r\n }\r\n } else {\r\n if (this.statusText != null && this.statusText !== undefined && this.statusText !== '') {\r\n alert('Http error status:' + this.status.toString() + ' : ' + this.statusText)\r\n } else {\r\n alert('Http error status:' + this.status.toString())\r\n }\r\n }\r\n}\r\n\r\nfunction OnPrinters() { //获取打印机列表\r\n var json = '{\"action\":\"printers\"}' //获取打印机列表的JSON\r\n if (!printWorld.Act(json)) { //调用(异步发送JSON数据到)打天下FlexPrint。\r\n alert(printWorld.GetLastError()) //出错,显示错误信息。\r\n }\r\n}\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction OnPrinterStatus(printerName) { //获取指定打印机的状态\r\n var json = {}\r\n json.action = 'prnstatus'\r\n json.printer = printerName\r\n if (!printWorld.Act(json)) { //异步调用(发送JSON数据到)打天下FlexPrint。\r\n alert(printWorld.GetLastError()) //出错,显示错误信息。\r\n }\r\n}\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction OpenDesigner() { //通过浏览器打开模板设计器\r\n var path = 'E:\\\\MyApp\\\\FlexPrint\\\\Debug\\\\web\\\\template\\\\'\r\n var json = { 'action': 'designer' }\r\n json.from = path + document.getElementById('SelTmpl').value + '.fmx'\r\n //json.name = \"发票\";\r\n //json.from = \"http://localhost:8084/PrintWorld/GetTemplate.jsp\";\r\n //json.to = \"http://localhost:8084/PrintWorld/SetTemplate.jsp\";\r\n //json.name = \"小票\";\r\n //json.server = \"http://10.88.12.64:8888\";\r\n //json.id = \"26\";\r\n if (!printWorld.Act(json)) {\r\n alert(printWorld.GetLastError()) //出错,显示错误信息。\r\n }\r\n}\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction OpenDesignerVer2() { //通过浏览器打开模板设计器\r\n var json = { 'action': 'designer' }\r\n json.from = 'http://localhost:8084/PrintWorld/GetTemplate.jsp'\r\n json.to = 'http://localhost:8084/PrintWorld/SetTemplate.jsp'\r\n json.name = '电子面单'\r\n //json.server = \"http://localhost:8888\";\r\n //json.id = \"181\";\r\n\r\n if (!printWorld.Act(json)) {\r\n alert(printWorld.GetLastError()) //出错,显示错误信息。\r\n }\r\n}\r\n\r\nfunction Printers2List(json) { //将(打天下打印服务能访问到的)打印机填充到下拉列表组合框\r\n var sel = document.getElementById('SelPrinter')\r\n sel.options.length = 0 //清空列表\r\n //填充列表\r\n var prns = json.val\r\n sel.options.add(new Option('', ''))\r\n for (var i = 0; i < prns.length; i++) {\r\n sel.options.add(new Option(prns[i].name, prns[i].name))\r\n //sel.options.add(new Option(prns[i].name_friendly, prns[i].name_friendly));\r\n }\r\n}\r\n\r\n/**\r\n * 获取指定模板服务器、指定路径下的模板。\r\n * 调用示例:TemplateList(\"http://12.34.3.45:8888\",\"人事部\")\r\n * @server:打天下模板服务器:IP:端口\r\n * @path:路径(目录),支持多级目录,形式如abc/xyz/..,其中abc为根目录下的目录,xyz为abc下的目录,依次类推。\r\n * 如果成功返回模板JSON数组,形式如:\r\n * [\r\n * {\r\n * \"id\":\"12\",\"name\":\"档案\"\r\n * },\r\n * {\r\n * \"id\":\"18\",\"name\":\"凭证\"\r\n * },\r\n * ...\r\n * ]\r\n */\r\n// eslint-disable-next-line no-unused-vars\r\nfunction TemplateList(server, path) {\r\n var json = { 'action': 'templatelist' }\r\n json.path = path\r\n // eslint-disable-next-line new-cap\r\n var pw = new classPrintWorld(server)\r\n // eslint-disable-next-line no-undef\r\n json = pw.Direct(json) //直接发送数据到打印服务器\r\n if (json == null) {\r\n // eslint-disable-next-line no-undef\r\n alert(pw.GetLastError())\r\n } else if (json.error !== undefined) {\r\n alert(json.error)\r\n } else {\r\n return json.templatelist\r\n }\r\n}\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction TemplChanged(index) { //从下拉列表组合框中选择了一个模板\r\n // eslint-disable-next-line no-undef\r\n document.getElementById('DATA').value = dataArr[index]\r\n}\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nfunction readJsonData() {\r\n var url = 'http://10.1.50.93:8080/mes/plugIn/printWorld/jsondata/planNo.json'\r\n var jsonData = ''\r\n // eslint-disable-next-line no-undef\r\n $.ajax({\r\n type: 'GET',\r\n dataType: 'json',\r\n async: false,\r\n url: url,\r\n success: function(result) {\r\n jsonData = JSON.stringify(result)\r\n }\r\n })\r\n console.log(jsonData)\r\n return jsonData\r\n}\r\n\r\nexport { btPrint_onclick, btPreview_onclick }\r\n","var map = {\n\t\"./Main\": [\n\t\t\"a077\",\n\t\t\"chunk-4e7a0b0b\"\n\t],\n\t\"./Main.vue\": [\n\t\t\"a077\",\n\t\t\"chunk-4e7a0b0b\"\n\t],\n\t\"./MainPage\": [\n\t\t\"f2f8\",\n\t\t\"chunk-5969cf39\"\n\t],\n\t\"./MainPage.vue\": [\n\t\t\"f2f8\",\n\t\t\"chunk-5969cf39\"\n\t],\n\t\"./operationLog/sysConfigLog\": [\n\t\t\"4667\",\n\t\t\"chunk-c6dfd266\"\n\t],\n\t\"./operationLog/sysConfigLog.vue\": [\n\t\t\"4667\",\n\t\t\"chunk-c6dfd266\"\n\t],\n\t\"./pdf\": [\n\t\t\"777d\",\n\t\t\"chunk-96e9ae92\",\n\t\t\"chunk-2d0d76e3\"\n\t],\n\t\"./pdf.vue\": [\n\t\t\"777d\",\n\t\t\"chunk-96e9ae92\",\n\t\t\"chunk-2d0d76e3\"\n\t],\n\t\"./pdfPage\": [\n\t\t\"5eda\",\n\t\t\"chunk-96e9ae92\",\n\t\t\"chunk-2d0d4043\"\n\t],\n\t\"./pdfPage.vue\": [\n\t\t\"5eda\",\n\t\t\"chunk-96e9ae92\",\n\t\t\"chunk-2d0d4043\"\n\t],\n\t\"./previewpdf\": [\n\t\t\"b195\",\n\t\t\"chunk-96e9ae92\",\n\t\t\"chunk-0a2ada6b\"\n\t],\n\t\"./previewpdf.vue\": [\n\t\t\"b195\",\n\t\t\"chunk-96e9ae92\",\n\t\t\"chunk-0a2ada6b\"\n\t],\n\t\"./pubPage/productInformationIdentificationAPP\": [\n\t\t\"0723\",\n\t\t\"chunk-3f82aafb\"\n\t],\n\t\"./pubPage/productInformationIdentificationAPP.vue\": [\n\t\t\"0723\",\n\t\t\"chunk-3f82aafb\"\n\t],\n\t\"./pubPage/productInformationIdentificationPC\": [\n\t\t\"a0ad\",\n\t\t\"chunk-6dc5d73d\"\n\t],\n\t\"./pubPage/productInformationIdentificationPC.vue\": [\n\t\t\"a0ad\",\n\t\t\"chunk-6dc5d73d\"\n\t],\n\t\"./scanCodeRecord/arcScancoderecordManage\": [\n\t\t\"2c47\",\n\t\t\"chunk-52ef7cf9\"\n\t],\n\t\"./scanCodeRecord/arcScancoderecordManage.vue\": [\n\t\t\"2c47\",\n\t\t\"chunk-52ef7cf9\"\n\t],\n\t\"./scanCodeRecord/productInformationIdentificationAPP\": [\n\t\t\"c08b\",\n\t\t\"chunk-3e6a367c\"\n\t],\n\t\"./scanCodeRecord/productInformationIdentificationAPP.vue\": [\n\t\t\"c08b\",\n\t\t\"chunk-3e6a367c\"\n\t],\n\t\"./scanCodeRecord/productInformationIdentificationPC\": [\n\t\t\"c8f0\",\n\t\t\"chunk-91f3a8ba\"\n\t],\n\t\"./scanCodeRecord/productInformationIdentificationPC.vue\": [\n\t\t\"c8f0\",\n\t\t\"chunk-91f3a8ba\"\n\t],\n\t\"./securityCode/securityCodeManage\": [\n\t\t\"8d7b\",\n\t\t\"chunk-20d1bb77\"\n\t],\n\t\"./securityCode/securityCodeManage.vue\": [\n\t\t\"8d7b\",\n\t\t\"chunk-20d1bb77\"\n\t],\n\t\"./systemConfigManage/components/leftbutton\": [\n\t\t\"0557\",\n\t\t\"chunk-2909e9f1\"\n\t],\n\t\"./systemConfigManage/components/leftbutton.vue\": [\n\t\t\"0557\",\n\t\t\"chunk-2909e9f1\"\n\t],\n\t\"./systemConfigManage/components/table\": [\n\t\t\"504a\",\n\t\t\"chunk-797a9f4a\"\n\t],\n\t\"./systemConfigManage/components/table.vue\": [\n\t\t\"504a\",\n\t\t\"chunk-797a9f4a\"\n\t],\n\t\"./systemConfigManage/dictionary\": [\n\t\t\"a9ea\",\n\t\t\"chunk-d4259e4e\"\n\t],\n\t\"./systemConfigManage/dictionary.vue\": [\n\t\t\"a9ea\",\n\t\t\"chunk-d4259e4e\"\n\t],\n\t\"./systemConfigManage/sysConfig\": [\n\t\t\"8ac9\",\n\t\t\"chunk-09ed6b01\"\n\t],\n\t\"./systemConfigManage/sysConfig.vue\": [\n\t\t\"8ac9\",\n\t\t\"chunk-09ed6b01\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"e02d\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./child/xbzcsnms/store/menuState.js\": \"3be8\",\n\t\"./child/xbzcsnms/store/tabState.js\": \"347d\",\n\t\"./child/xbzcsnms/store/tagState.js\": \"9e8c\"\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 = \"e220\";"],"sourceRoot":""}