{"version":3,"sources":["webpack:///./src/utils/mouse-event.js","webpack:///./src/components/layout/components/navbar/index.vue?44c2","webpack:///./src/utils/search.js","webpack:///./src/mixins/index.js","webpack:///./src/utils/login.js","webpack:///./src/utils/sess.js","webpack:///./src/api/home/index/api.js","webpack:///./src/components/layout/components/home/index.vue?643f","webpack:///./src/components/layout/components/navbar/index.vue?06fa","webpack:///./src lazy ^\\.\\/views.*$ namespace object","webpack:///./src/views/system/user/updatePwd.vue?bf8e","webpack:///src/views/system/user/updatePwd.vue","webpack:///./src/views/system/user/updatePwd.vue?5ad5","webpack:///./src/views/system/user/updatePwd.vue","webpack:///./src/components/layout/index.vue?d5ca","webpack:///./src/components/layout/components/sidebar/index.vue?1475","webpack:///./src/components/layout/components/sidebar/sidebar-item.vue?61fe","webpack:///./src/components/layout/components/sidebar/link.vue?acd5","webpack:///src/components/layout/components/sidebar/link.vue","webpack:///./src/components/layout/components/sidebar/link.vue?8218","webpack:///./src/components/layout/components/sidebar/link.vue","webpack:///src/components/layout/components/sidebar/sidebar-item.vue","webpack:///./src/components/layout/components/sidebar/sidebar-item.vue?b45c","webpack:///./src/components/layout/components/sidebar/sidebar-item.vue","webpack:///src/components/layout/components/sidebar/index.vue","webpack:///./src/components/layout/components/sidebar/index.vue?956d","webpack:///./src/components/layout/components/sidebar/index.vue","webpack:///./src/components/layout/components/navbar/index.vue?c121","webpack:///./src/components/layout/components/breadcrumb/index.vue?2718","webpack:///src/components/layout/components/breadcrumb/index.vue","webpack:///./src/components/layout/components/breadcrumb/index.vue?9618","webpack:///./src/components/layout/components/breadcrumb/index.vue","webpack:///src/components/layout/components/navbar/index.vue","webpack:///./src/components/layout/components/navbar/index.vue?6bd3","webpack:///./src/components/layout/components/navbar/index.vue","webpack:///./src/components/layout/components/home/index.vue?a07d","webpack:///src/components/layout/components/home/index.vue","webpack:///./src/components/layout/components/home/index.vue?1986","webpack:///./src/components/layout/components/home/index.vue","webpack:///./src/mixins/resize.js","webpack:///src/components/layout/index.vue","webpack:///./src/components/layout/index.vue?1241","webpack:///./src/components/layout/index.vue","webpack:///./src/utils/message.js","webpack:///./src/utils/local.js","webpack:///./src/store/index.js","webpack:///./src/components/layout/components/breadcrumb/index.vue?2e73","webpack:///./src/element-ui.js","webpack:///./src/App.vue?0f0d","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/components/layout/components/router-view/index.vue?5deb","webpack:///./src/components/layout/components/router-view/index.vue","webpack:///./src/router/add-router.js","webpack:///./src/utils/get-page-title.js","webpack:///./src/router/permission.js","webpack:///./src/utils/export.js","webpack:///./src/utils/network.js","webpack:///./src/utils/permission.js","webpack:///./src/directive/permission/permission.js","webpack:///./src/directive/permission/index.js","webpack:///./src/directive/number-only/number-only.js","webpack:///./src/directive/number-only/index.js","webpack:///./src/lang/zh.js","webpack:///./src/lang/en.js","webpack:///./src/main.js","webpack:///./src/assets/images/APPExamLogin.png","webpack:///./src/App.vue?c650","webpack:///./src/utils/page.js","webpack:///./src/utils/validate.js","webpack:///./src/scss/index.scss?db9a","webpack:///./src/filters/index.js","webpack:///./src/api/system/user/api.js","webpack:///./src/utils/crypto.js","webpack:///./src/App.vue?a4a9","webpack:///./src/assets/images/logo.png","webpack:///./src/router/index.js","webpack:///./src/components/dialog/index.vue?9ecb","webpack:///./src/components/layout/components/home/index.vue?9029","webpack:///./src/api/home/login/api.js","webpack:///./src/scss/variables.scss","webpack:///./src/assets/images/APP.png","webpack:///./src/components/dialog/index.vue?d30c","webpack:///src/components/dialog/index.vue","webpack:///./src/components/dialog/index.vue?bd9d","webpack:///./src/components/dialog/index.vue","webpack:///./src/utils/request.js","webpack:///./src/api/http.js","webpack:///./src/assets/images/APPLogin.png","webpack:///./src/utils/token.js","webpack:///./src/scss/element-variables.scss?ba41","webpack:///./src/components/layout/index.vue?c4f1","webpack:///./src/views/home lazy ^\\.\\/.*$ namespace object","webpack:///./src/components/layout/components/breadcrumb/index.vue?f3b6","webpack:///./src/components/dialog/index.vue?f9e1","webpack:///./src/utils/index.js","webpack:///./src/config/index.js","webpack:///./src/utils/cookie.js","webpack:///./src/assets/images/logo-small.png","webpack:///./src/utils/user.js","webpack:///./src/components/layout/index.vue?9b64"],"names":["window","MouseEvent","e","eventType","params","bubbles","cancelable","mouseEvent","document","createEvent","initMouseEvent","prototype","Event","module","exports","getSearch","Sess","get","searchKey","setSearch","form","set","removeSearch","remove","companyMixin","data","userType","store","state","user","companyList","companyNames","created","this","getCompanyList","methods","getCompanyName","id","name","item","flatter","arr","res","forEach","push","Array","isArray","childs","company","code","queryMixin","loading","list","currentPage","pageSize","total","handleQuery","isReload","Math","ceil","updateSession","getList","storeMixin","pager","getPage","search","page","limit","beforeRouteLeave","to","from","next","removePage","setPage","submitMixin","btnLoading","visible","handleSave","$refs","CustomAdd","handleClose","addMixin","mixins","handleAdd","handleEdit","backMixin","handleBack","event","$route","meta","isReloadData","$router","go","readOnlyPermissionMixin","readOnly","computed","readOnlyPermission","checkReadOnlyPermission","notReadOnlyPermission","watch","handler","matched","immediate","deleteMixin","handleDelete","$confirm","type","then","deleteRow","message","$message","success","catch","deleteListMixin","handleDeleteList","ids","elTable","selection","map","m","length","warning","deleteRows","detailMixin","props","String","Number","default","editLoading","val","getDetail","assign","fn","setTimeout","saveMixin","Boolean","$emit","validate","valid","isValid","executeMode","startTimeStamp","Date","startTime","getTime","nowTimeStamp","now","$alert","undefined","sSBaseId","handleSubmit","indexMixin","indexMethod","index","_loginByUserName","username","getQueryString","loginByUserName","authorization","setUserInfo","router","replace","path","currentRoute","fullPath","key","value","JSON","stringify","sessionStorage","setItem","getItem","test","parse","removeItem","getMenuTree","http","getMenus","getBannerList","getCategoryList","getContentList","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","Error","all","slice","keys","Object","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","$t","ref","rules","model","callback","$$v","$set","staticRenderFns","components","password","password2","password3","pattern","trigger","UpdatePwd","result","query","redirect","component","class","classObj","device","open","on","handleClickOutside","_e","_v","_s","systemName","activeMenu","variables","menuFontColor","menuBackgroundColor","menuHoverFontColor","isCollapse","_l","hidden","hasOneChild","children","onlyOneChild","noChildren","alwaysShow","resolvePath","slot","icon","title","child","_b","tag","linkProps","_t","required","isExternal","href","target","rel","MesLink","basePath","childList","parent","routePath","sidebarItem","mapGetters","handleToggleSidebar","handleReload","scopedSlots","_u","navigate","handleCommand","userName","$event","levelList","preventDefault","handleLink","route","startsWith","getBreadcrumb","filter","indexOf","reg","MesBreadcrumb","myDialog","$store","dispatch","command","Cookie","location","staticStyle","menuUrl","toString","getmenu","MenuLink","inject","origin","src","src1","src2","hsseWebUrl","hsseWebCBSUrl","hsseExamUrl","mounted","enMenuName","menuName","body","WIDTH","withoutAnimation","beforeMount","addEventListener","resize","beforeDestroy","removeEventListener","isMobile","rect","getBoundingClientRect","width","MesSidebar","MesNavbar","MesHome","hasWhiteList","includes","hide","without","mobile","isIframe","messageInstance","resetMessage","options","close","messageTypes","Local","localStorage","Vue","use","Vuex","collapse","Store","token","getToken","getUser","homeMenu","menu","isLogout","mutations","SET_TOKEN","SET_USER","SET_HOME_MENU","SET_MENU","SET_READ_ONLY","readonly","RESET_READ_ONLY","TOGGLE_SIDEBAR","CLOSE_SIDEBAR","bool","TOGGLE_DEVICE","SET_LOGOUT","SET_IS_IFRAME","actions","setToken","commit","setUser","resetToken","removeToken","removeUser","resetRouter","setHomeMenu","setMenu","setReadOnly","toggleSidebar","closeSidebar","toggleDevice","setLogout","setIsIframe","getters","hasToken","modules","directive","$loading","service","alert","confirm","provide","reload","isShow","$nextTick","script","addHomeRouter","MesLayout","addRouter","routerList","parentRouter","isChildren","isExternalLink","find","v","isShowMenu","getPath","findIndex","obj","getName","getComponent","isOpen","parameter","roles","getActiveMenu","externalLink","url","encodeURIComponent","getRouterPath","symbol","letter","toUpperCase","MesRouterView","breadcrumb","temp","substring","split","reduce","getPageTitle","getHomeRouter","asyncRouter","addRoutes","NProgress","done","getRouter","userId","addRoute","configure","showSpinner","beforeEach","u","start","whiteList","afterEach","downloadFile","fileName","blob","createElement","link","download","style","display","URL","createObjectURL","appendChild","click","revokeObjectURL","removeChild","navigator","msSaveBlob","$exportClick","suffix","reader","FileReader","readAsText","onload","Message","error","install","hasReadOnlyPermission","some","role","el","binding","parentNode","inserted","update","ReadOnly","replaceStr","bind","unbind","NumberOnly","zh","language","backHome","backUp","page403","page404","page500","noData","seq","status","importSeq","add","delete","operate","edit","date","endTime","keywords","importkeys","back","yes","no","save","cancel","enable","disabled","lastweek","lasmonth","lasmonth3","goBackgourd","sysLogin","sysManagelogin","backManager","self_platform","exam_platform","appliaction","trainexam","android_app","homeTitle_01","homeTitle_011_child","homeTitle_012_child","homeTitle_013_child","homeTitle_014_child","homeTitle_015_child","homeTitle_016_child","homeTitle_02","homeTitle_021_child","homeTitle_022_child","homeTitle_023_child","homeTitle_024_child","homeTitle_025_child","homeTitle_026_child","homeTitle_03","homeTitle_031_child","homeTitle_032_child","homeTitle_033_child","homeTitle_034_child","homeTitle_035_child","homeTitle_036_child","login","pwd","savePwd","validCode","upvalidimg","importUserName","importPwd","importPwdErr","importvalidCode","loginSuccess","home","proscenium","outlogin","outok","picture","importPic","slideshow","selectMenu","Ename","importName","importEName","classify","upfileMsg","upfileMsg2","upfileMsg3","upfileMsg4","clickFile","importTit","content","importClass","importContent","importPath","logtype","selectLogType","clientTpe","selectType","logTime","opUsername","exception","permissionName","importPermission","interfaceAddress","importInterface","remark","importRemark","btnPermission","parentMenu","selectParentMenu","menuCode","importmenuCode","importmenuName","menuType","importicon","param","importParam","isopen","menuErrMsg","menuErrMsg2","RoleName","importRole","roleCode","importRoleCode","Rolekeywords","permissionEdit","power","checkAll","baseName","base","importbaseName","shortName","importBaseShortName","baseCode","importbaseCode","basekeywords","usercode","importUserCode","position","importposition","email","importEmail","emailErrMsg","account","importAccount","isAdmin","phone","phoneErrMsg","importPhone","userkeywords","oldPassword","importOldPwd","newPwd","importNewPwd","confirmPwd","confirmAgain","updatePwd","pwdNotEqual","en","config","productionTip","Navigation","keyName","permission","VueI18n","i18n","locale","messages","h","App","$mount","pageKey","isInteger","isNumber","isIllegalChar","exclude","i","charCodeAt","formatDate","fmt","RegExp","$1","getFullYear","substr","getMonth","getDate","getHours","getMinutes","getSeconds","k","str","padLeftZero","saveOrUpdateUser","post","accountList","updateStatusUser","userDetail","deleteUser","headers","deleteUserList","Base64","CryptoJS","enc","Utf8","de","MD5","VueRouter","routes","createRouter","process","scrollBehavior","savedPosition","y","newRouter","matcher","original","call","err","getVerify","responseType","postLogin","show","appendToBody","handleConfirmButton","showDialogFooter","showConfirmButton","showCancelButton","request","pendingRequest","Map","genKey","method","qs","join","cancelToken","requestKey","axios","CancelToken","has","ieVer","getIeVer","toLogin","errorHandler","create","baseURL","timeout","withCredentials","interceptors","Authorization","reject","response","isCancel","console","log","onLine","tokenKey","exec","userAgent","match","decodeURIComponent","today","timestamp","lastMonthDay","setTime","startDay","lastYearDay","pickerOptions","shortcuts","text","onClick","picker","userKey","day","expires","toUTCString","cookie","cookies"],"mappings":"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ACrC,OACA,kBAED,mCAAoC,CACnC,OACA,kBAED,uCAAwC,CACvC,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,gCAAiC,CAChC,OACA,kBAED,mCAAoC,CACnC,OACA,kBAED,uCAAwC,CACvC,OACA,kBAED,qCAAsC,CACrC,OACA,kBAED,yCAA0C,CACzC,OACA,kBAED,wCAAyC,CACxC,OACA,kBAED,yCAA0C,CACzC,OACA,kBAED,8CAA+C,CAC9C,OACA,kBAED,kDAAmD,CAClD,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,kCAAmC,CAClC,OACA,kBAED,sCAAuC,CACtC,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,wCAAyC,CACxC,OACA,kBAED,2BAA4B,CAC3B,OACA,kBAED,4BAA6B,CAC5B,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,mCAAoC,CACnC,OACA,kBAED,iCAAkC,CACjC,OACA,kBAED,qCAAsC,CACrC,OACA,kBAED,qBAAsB,CACrB,OACA,kBAED,sBAAuB,CACtB,OACA,kBAED,2BAA4B,CAC3B,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,sBAAuB,CACtB,OACA,kBAED,uBAAwB,CACvB,OACA,kBAED,0BAA2B,CAC1B,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,4BAA6B,CAC5B,OACA,kBAED,gCAAiC,CAChC,OACA,kBAED,4BAA6B,CAC5B,OACA,kBAED,6BAA8B,CAC7B,OACA,kBAED,gCAAiC,CAChC,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,kCAAmC,CAClC,OACA,kBAED,sCAAuC,CACtC,OACA,kBAED,sBAAuB,CACtB,OACA,kBAED,uBAAwB,CACvB,OACA,kBAED,0BAA2B,CAC1B,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,4BAA6B,CAC5B,OACA,kBAED,gCAAiC,CAChC,OACA,kBAED,gCAAiC,CAChC,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,uBAAwB,CACvB,OACA,kBAED,wBAAyB,C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","file":"js/app.6068745b.js","sourcesContent":["/* eslint-disable */\r\n// 解决IE NavMenu 折叠之后,鼠标滑过菜单报错\r\n(function(window) {\r\n try {\r\n new MouseEvent('test');\r\n return false;\r\n } catch (e) {\r\n }\r\n const MouseEvent = function(eventType, params) {\r\n params = params || { bubbles: false, cancelable: false };\r\n const mouseEvent = document.createEvent('MouseEvent');\r\n mouseEvent.initMouseEvent(eventType, params.bubbles, params.cancelable, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\r\n return mouseEvent;\r\n };\r\n\r\n MouseEvent.prototype = Event.prototype;\r\n\r\n window.MouseEvent = MouseEvent;\r\n} (window));","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};","import { searchKey } from '@/config';\r\nimport Sess from './sess';\r\n\r\nfunction getSearch() {\r\n return Sess.get(searchKey);\r\n}\r\n\r\nfunction setSearch(form) {\r\n return Sess.set(searchKey, form);\r\n}\r\n\r\nfunction removeSearch() {\r\n return Sess.remove(searchKey);\r\n}\r\n\r\nexport {\r\n getSearch,\r\n setSearch,\r\n removeSearch\r\n};","import store from '@/store';\r\nimport {\r\n subCompanyList,\r\n userDevice\r\n} from '@/api/api';\r\n\r\nimport { company } from '@/api/system/user/api';\r\nimport { getPage, setPage, removePage } from '@/utils/page';\r\nimport { getSearch, setSearch, removeSearch } from '@/utils/search';\r\n\r\n// 基地\r\nexport const companyMixin = {\r\n data() {\r\n return {\r\n userType: store.state.user.userType, // 用户类型\r\n companyList: [], // 基地列表\r\n companyNames: [] // 基地名称列表\r\n };\r\n },\r\n created() {\r\n this.getCompanyList();\r\n },\r\n methods: {\r\n // 获取基地名称\r\n getCompanyName(id) {\r\n let name = '';\r\n for (const item of this.companyNames) {\r\n if (item.id === id) {\r\n name = item.name;\r\n break;\r\n }\r\n }\r\n return name;\r\n },\r\n // 递归展开\r\n flatter(arr) {\r\n const res = [];\r\n arr.forEach(item => {\r\n res.push(item);\r\n if (Array.isArray(item.childs)) {\r\n res.push(...this.flatter(item.childs));\r\n }\r\n });\r\n return res;\r\n },\r\n // 获取基地列表\r\n async getCompanyList() {\r\n const { code, data } = await company();\r\n if (code === 0) {\r\n this.companyList = data;\r\n this.companyNames = this.flatter(data);\r\n }\r\n }\r\n }\r\n};\r\n\r\n// 子基地\r\nexport const subCompanyMixin = {\r\n data() {\r\n return {\r\n sSBaseId: store.state.user.sSBaseId, // 基地ID\r\n subCompanyList: [] // 子基地\r\n };\r\n },\r\n created() {\r\n if (store.state.user.userType === 10) { // 平台用户\r\n this.getSubCompanyList();\r\n }\r\n },\r\n methods: {\r\n // 子基地选中值发生变化时触发\r\n handleChangeSubCompany() {\r\n this.form.deviceId = '';\r\n this.deviceList = [];\r\n this.getDevice();\r\n },\r\n // 获取子基地列表\r\n async getSubCompanyList() {\r\n const { code, data } = await subCompanyList({\r\n sSBaseId: this.sSBaseId\r\n });\r\n if (code === 0) {\r\n this.subCompanyList = data;\r\n }\r\n }\r\n }\r\n};\r\n\r\n// 用户装置\r\nexport const deviceMixin = {\r\n data() {\r\n return {\r\n isGetData: true, // 是否是获取列表数据\r\n deviceList: [] // 装置\r\n };\r\n },\r\n created() {\r\n this.getDevice();\r\n },\r\n methods: {\r\n async getDevice() {\r\n const { code, data } = await userDevice({\r\n id: store.state.user.id\r\n });\r\n if (code === 0) {\r\n this.deviceList = data;\r\n if (data.length) {\r\n if (this.form && !this.form.deviceId) {\r\n this.form.deviceId = data[0].id;\r\n }\r\n if (this.isGetPostData) { // 岗位\r\n this.getPostList();\r\n } else if (this.isGetPositionData) { // 功能位置\r\n this.getPositionList();\r\n } else if (this.isGetData) { // 列表\r\n this.getList();\r\n }\r\n } else {\r\n this.loading && (this.loading = false);\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\n// 查询\r\nexport const queryMixin = {\r\n data() {\r\n return {\r\n loading: true, // 是否加载中\r\n list: [], // 数据\r\n currentPage: 1, // 当前页\r\n pageSize: 15, // 每页个数\r\n total: 0 // 总条数\r\n };\r\n },\r\n methods: {\r\n // 查询\r\n handleQuery(isReload) {\r\n this.loading = true;\r\n if (typeof isReload === 'boolean' && isReload) {\r\n const currentPage = Math.ceil((this.total - 1) / this.pageSize);\r\n this.currentPage = this.currentPage > currentPage && currentPage > 0 ? currentPage : this.currentPage;\r\n } else {\r\n this.currentPage = 1;\r\n }\r\n this.updateSession();\r\n this.getList();\r\n }\r\n }\r\n};\r\n\r\n// 分页和查询信息存储、获取、移除\r\nexport const storeMixin = {\r\n created() {\r\n const pager = getPage();\r\n this.search = getSearch();\r\n if (pager) {\r\n this.currentPage = +pager.page;\r\n this.pageSize = +pager.limit;\r\n }\r\n if (this.search) {\r\n this.form = this.search;\r\n }\r\n },\r\n // 导航离开该组件的对应路由时调用\r\n beforeRouteLeave(to, from, next) {\r\n removePage();\r\n removeSearch();\r\n next();\r\n },\r\n methods: {\r\n // 更新会话存储\r\n updateSession() {\r\n const pager = getPage();\r\n if (this.currentPage && pager) {\r\n pager.page = 1;\r\n setPage(pager);\r\n }\r\n setSearch(this.form);\r\n }\r\n }\r\n};\r\n\r\n// 提交保存\r\nconst submitMixin = {\r\n data() {\r\n return {\r\n btnLoading: false, // 是否提交中状态\r\n visible: false // 是否显示新增或编辑 Dialog\r\n };\r\n },\r\n methods: {\r\n // 提交保存\r\n handleSave() {\r\n this.$refs.CustomAdd.handleSave();\r\n },\r\n // 关闭新增或编辑 Dialog\r\n handleClose() {\r\n this.visible = false;\r\n this.getList();\r\n }\r\n }\r\n};\r\n\r\n// 新增、编辑(编辑请求接口获取数据)\r\nexport const addMixin = {\r\n mixins: [\r\n submitMixin\r\n ],\r\n data() {\r\n return {\r\n id: '' // 编辑时的ID\r\n };\r\n },\r\n methods: {\r\n // 新增\r\n handleAdd() {\r\n this.id = '';\r\n this.btnLoading = false;\r\n this.visible = true;\r\n },\r\n // 编辑\r\n handleEdit(id) {\r\n this.id = id;\r\n this.btnLoading = false;\r\n this.visible = true;\r\n }\r\n }\r\n};\r\n\r\n// 新增、编辑(编辑不请求接口获取数据)\r\nexport const addDataMixin = {\r\n mixins: [\r\n submitMixin\r\n ],\r\n data() {\r\n return {\r\n data: {} // 编辑时的数据\r\n };\r\n },\r\n methods: {\r\n // 新增\r\n handleAdd() {\r\n this.data = {};\r\n this.btnLoading = false;\r\n this.visible = true;\r\n },\r\n // 编辑\r\n handleEdit(data) {\r\n this.data = Object.assign({}, data);\r\n this.btnLoading = false;\r\n this.visible = true;\r\n }\r\n }\r\n};\r\n\r\n// 返回\r\nexport const backMixin = {\r\n methods: {\r\n handleBack(event) {\r\n // 返回是否需要重新加载数据\r\n this.$route.meta.isReloadData = typeof event === 'boolean' ? event : false;\r\n this.$router.go(-1);\r\n }\r\n }\r\n};\r\n\r\n// 只读权限\r\nexport const readOnlyPermissionMixin = {\r\n data() {\r\n return {\r\n readOnly: [] // 只读权限\r\n };\r\n },\r\n computed: {\r\n // 只读\r\n readOnlyPermission() {\r\n return this.checkReadOnlyPermission(this.readOnly);\r\n },\r\n // 不是只读\r\n notReadOnlyPermission() {\r\n return !this.readOnlyPermission;\r\n }\r\n },\r\n watch: {\r\n // 监听router变化\r\n $route: {\r\n handler(to) {\r\n this.readOnly = [];\r\n to.matched.forEach(item => {\r\n if (item.meta && item.meta.readOnly) {\r\n this.readOnly.push(item.meta.readOnly);\r\n }\r\n });\r\n },\r\n immediate: true\r\n }\r\n }\r\n};\r\n\r\n// 删除\r\nexport const deleteMixin = {\r\n methods: {\r\n // 删除\r\n handleDelete(id) {\r\n this.$confirm('确定删除吗?', '提示', {\r\n type: 'warning'\r\n }).then(async() => {\r\n const { code, message } = await this.deleteRow(id);\r\n if (code === 0) {\r\n this.$message.success(message);\r\n this.handleQuery(true);\r\n }\r\n }).catch(() => {});\r\n }\r\n }\r\n};\r\n\r\n// 批量删除\r\nexport const deleteListMixin = {\r\n methods: {\r\n // 删除\r\n handleDeleteList() {\r\n // 获取表格选中的行\r\n const ids = this.$refs.elTable.selection.map(m => {\r\n return m.id;\r\n });\r\n if (!ids || ids.length <= 0) {\r\n this.$message.warning('请勾选需要删除的信息');\r\n return;\r\n }\r\n this.$confirm('确定删除吗?', '提示', {\r\n type: 'warning'\r\n }).then(async() => {\r\n const { code, message } = await this.deleteRows(ids);\r\n if (code === 0) {\r\n this.$message.success(message);\r\n this.handleQuery(true);\r\n }\r\n }).catch(() => {});\r\n }\r\n }\r\n};\r\n// 编辑获取详细信息(请求接口)\r\nexport const detailMixin = {\r\n props: {\r\n id: { // ID\r\n type: [String, Number],\r\n default: ''\r\n }\r\n },\r\n data() {\r\n return {\r\n editLoading: false // 是否是编辑加载中\r\n };\r\n },\r\n watch: {\r\n id: {\r\n immediate: true,\r\n handler(val) {\r\n if (val) {\r\n this.editLoading = true;\r\n this.getDetail(val);\r\n }\r\n }\r\n }\r\n },\r\n methods: {\r\n // 赋值\r\n assign({ code, data }, fn) {\r\n if (code === 0) {\r\n this.form = data;\r\n if (fn) {\r\n fn();\r\n }\r\n }\r\n setTimeout(() => {\r\n this.editLoading = false;\r\n }, 300);\r\n }\r\n }\r\n};\r\n\r\n// 编辑获取详细信息(不请求接口)\r\nexport const detailDataMixin = {\r\n props: {\r\n data: {\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n editLoading: false // 是否是编辑加载中\r\n };\r\n },\r\n watch: {\r\n data: {\r\n immediate: true,\r\n handler(val) {\r\n if (Object.keys(val).length) {\r\n this.editLoading = true;\r\n this.form = val;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\n// 保存\r\nexport const saveMixin = {\r\n props: {\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n methods: {\r\n handleSave() {\r\n this.$emit('update:loading', true);\r\n this.$refs.form.validate(async valid => {\r\n const isValid = await valid;\r\n if (isValid) {\r\n // 参数偏差组执行方式为一次\r\n if (this.form.executeMode === 10) {\r\n const startTimeStamp = new Date(this.form.startTime).getTime();\r\n const nowTimeStamp = Date.now();\r\n if (startTimeStamp < (nowTimeStamp + (1 * 60 * 1000))) {\r\n this.$alert('开始日期至在当前时间之后至少一分钟');\r\n this.$emit('update:loading', false);\r\n return;\r\n }\r\n }\r\n\r\n // 新增\r\n if (!this.form.id) {\r\n delete this.form.id;\r\n }\r\n if (store.state.user.userType !== 10 && this.form.sSBaseId !== undefined) {\r\n this.form.sSBaseId = store.state.user.sSBaseId;\r\n }\r\n const { code, message } = await this.handleSubmit();\r\n if (code === 0) {\r\n this.$message.success(message);\r\n this.$emit('close');\r\n }\r\n this.$emit('update:loading', false);\r\n } else {\r\n this.$emit('update:loading', false);\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n};\r\n\r\n// 序号\r\nexport const indexMixin = {\r\n methods: {\r\n indexMethod(index) {\r\n return (this.currentPage - 1) * this.pageSize + (index + 1);\r\n }\r\n }\r\n};","import router from '@/router';\r\nimport { getQueryString, setUserInfo } from '@/utils';\r\nimport { loginByUserName } from '@/api/home/login/api';\r\n\r\n// 第三方系统嵌入登录\r\nexport async function _loginByUserName() {\r\n const username = getQueryString('u');\r\n const { code, data, authorization } = await loginByUserName({\r\n username\r\n });\r\n if (code === 0) {\r\n setUserInfo(data, authorization);\r\n router.replace({\r\n path: '/redirect' + router.currentRoute.fullPath\r\n });\r\n }\r\n}","/**\r\n * sessionStorage操作\r\n * 存储、读取、删除\r\n */\r\nconst Sess = {\r\n set(key, value) {\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n return sessionStorage.setItem(key, value);\r\n },\r\n get(key) {\r\n let value = sessionStorage.getItem(key);\r\n if (/^\\{.*\\}$/.test(value)) {\r\n value = JSON.parse(value);\r\n }\r\n return value;\r\n },\r\n remove(key) {\r\n return sessionStorage.removeItem(key);\r\n }\r\n};\r\n\r\nexport default Sess;","import http from '../.././http';\r\n\r\n// 菜单\r\nexport function getMenuTree(params) {\r\n return http.get('/menu/findMenuTree', { params });\r\n}\r\n\r\n/**\r\n * 前台接口\r\n */\r\n\r\n// 菜单\r\nexport function getMenus(params) {\r\n return http.get('Home/FindMenus', { params });\r\n}\r\n\r\n// 轮播图\r\nexport function getBannerList(params) {\r\n return http.get('Home/findHomePictureList', { params });\r\n}\r\n\r\n// 分类\r\nexport function getCategoryList(params) {\r\n return http.get('home/findCategoryList', { params });\r\n}\r\n\r\n// 内容\r\nexport function getContentList(params) {\r\n return http.get('home/findHmContentList', { params });\r\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!./index.vue?vue&type=style&index=0&lang=scss&\"","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!./index.vue?vue&type=style&index=0&lang=scss&\"","var map = {\n\t\"./views/error/403\": [\n\t\t\"7fa2\",\n\t\t\"chunk-6f23b892\"\n\t],\n\t\"./views/error/403.vue\": [\n\t\t\"7fa2\",\n\t\t\"chunk-6f23b892\"\n\t],\n\t\"./views/error/404\": [\n\t\t\"2754\",\n\t\t\"chunk-5a0a7120\"\n\t],\n\t\"./views/error/404.vue\": [\n\t\t\"2754\",\n\t\t\"chunk-5a0a7120\"\n\t],\n\t\"./views/error/500\": [\n\t\t\"b3ff\",\n\t\t\"chunk-7e9d1352\"\n\t],\n\t\"./views/error/500.vue\": [\n\t\t\"b3ff\",\n\t\t\"chunk-7e9d1352\"\n\t],\n\t\"./views/error/components/back-button\": [\n\t\t\"ec14\",\n\t\t\"chunk-2d230437\"\n\t],\n\t\"./views/error/components/back-button.vue\": [\n\t\t\"ec14\",\n\t\t\"chunk-2d230437\"\n\t],\n\t\"./views/error/components/error-content\": [\n\t\t\"80d3\",\n\t\t\"chunk-5ea7eeb4\"\n\t],\n\t\"./views/error/components/error-content.vue\": [\n\t\t\"80d3\",\n\t\t\"chunk-5ea7eeb4\"\n\t],\n\t\"./views/home/application\": [\n\t\t\"683a\",\n\t\t\"chunk-2e7254ef\"\n\t],\n\t\"./views/home/application/\": [\n\t\t\"683a\",\n\t\t\"chunk-2e7254ef\"\n\t],\n\t\"./views/home/application/index\": [\n\t\t\"683a\",\n\t\t\"chunk-2e7254ef\"\n\t],\n\t\"./views/home/application/index.vue\": [\n\t\t\"683a\",\n\t\t\"chunk-2e7254ef\"\n\t],\n\t\"./views/home/index\": [\n\t\t\"0351\",\n\t\t\"chunk-a2a2932e\"\n\t],\n\t\"./views/home/index/\": [\n\t\t\"0351\",\n\t\t\"chunk-a2a2932e\"\n\t],\n\t\"./views/home/index/index\": [\n\t\t\"0351\",\n\t\t\"chunk-a2a2932e\"\n\t],\n\t\"./views/home/index/index.vue\": [\n\t\t\"0351\",\n\t\t\"chunk-a2a2932e\"\n\t],\n\t\"./views/home/login\": [\n\t\t\"984a\",\n\t\t\"chunk-40128e84\"\n\t],\n\t\"./views/home/login/\": [\n\t\t\"984a\",\n\t\t\"chunk-40128e84\"\n\t],\n\t\"./views/home/login/index\": [\n\t\t\"984a\",\n\t\t\"chunk-40128e84\"\n\t],\n\t\"./views/home/login/index.vue\": [\n\t\t\"984a\",\n\t\t\"chunk-40128e84\"\n\t],\n\t\"./views/redirect\": [\n\t\t\"ef3c\",\n\t\t\"chunk-2d230fe7\"\n\t],\n\t\"./views/redirect/\": [\n\t\t\"ef3c\",\n\t\t\"chunk-2d230fe7\"\n\t],\n\t\"./views/redirect/index\": [\n\t\t\"ef3c\",\n\t\t\"chunk-2d230fe7\"\n\t],\n\t\"./views/redirect/index.vue\": [\n\t\t\"ef3c\",\n\t\t\"chunk-2d230fe7\"\n\t],\n\t\"./views/system/components/company\": [\n\t\t\"a8d0\",\n\t\t\"chunk-2d209779\"\n\t],\n\t\"./views/system/components/company/\": [\n\t\t\"a8d0\",\n\t\t\"chunk-2d209779\"\n\t],\n\t\"./views/system/components/company/index\": [\n\t\t\"a8d0\",\n\t\t\"chunk-2d209779\"\n\t],\n\t\"./views/system/components/company/index.vue\": [\n\t\t\"a8d0\",\n\t\t\"chunk-2d209779\"\n\t],\n\t\"./views/system/home/banner\": [\n\t\t\"14bb\",\n\t\t\"chunk-2add651c\"\n\t],\n\t\"./views/system/home/banner/\": [\n\t\t\"14bb\",\n\t\t\"chunk-2add651c\"\n\t],\n\t\"./views/system/home/banner/add\": [\n\t\t\"d222\",\n\t\t\"chunk-dde6af5a\"\n\t],\n\t\"./views/system/home/banner/add.vue\": [\n\t\t\"d222\",\n\t\t\"chunk-dde6af5a\"\n\t],\n\t\"./views/system/home/banner/index\": [\n\t\t\"14bb\",\n\t\t\"chunk-2add651c\"\n\t],\n\t\"./views/system/home/banner/index.vue\": [\n\t\t\"14bb\",\n\t\t\"chunk-2add651c\"\n\t],\n\t\"./views/system/home/category\": [\n\t\t\"cb10\",\n\t\t\"chunk-795d046a\"\n\t],\n\t\"./views/system/home/category/\": [\n\t\t\"cb10\",\n\t\t\"chunk-795d046a\"\n\t],\n\t\"./views/system/home/category/add\": [\n\t\t\"bd88\",\n\t\t\"chunk-9f570144\"\n\t],\n\t\"./views/system/home/category/add.vue\": [\n\t\t\"bd88\",\n\t\t\"chunk-9f570144\"\n\t],\n\t\"./views/system/home/category/index\": [\n\t\t\"cb10\",\n\t\t\"chunk-795d046a\"\n\t],\n\t\"./views/system/home/category/index.vue\": [\n\t\t\"cb10\",\n\t\t\"chunk-795d046a\"\n\t],\n\t\"./views/system/home/components/upload\": [\n\t\t\"48d3\",\n\t\t\"chunk-c8f3c0e6\"\n\t],\n\t\"./views/system/home/components/upload/\": [\n\t\t\"48d3\",\n\t\t\"chunk-c8f3c0e6\"\n\t],\n\t\"./views/system/home/components/upload/index\": [\n\t\t\"48d3\",\n\t\t\"chunk-c8f3c0e6\"\n\t],\n\t\"./views/system/home/components/upload/index.vue\": [\n\t\t\"48d3\",\n\t\t\"chunk-c8f3c0e6\"\n\t],\n\t\"./views/system/home/content\": [\n\t\t\"9692\",\n\t\t\"chunk-61da6da2\"\n\t],\n\t\"./views/system/home/content/\": [\n\t\t\"9692\",\n\t\t\"chunk-61da6da2\"\n\t],\n\t\"./views/system/home/content/add\": [\n\t\t\"c0a8\",\n\t\t\"chunk-1b624436\"\n\t],\n\t\"./views/system/home/content/add.vue\": [\n\t\t\"c0a8\",\n\t\t\"chunk-1b624436\"\n\t],\n\t\"./views/system/home/content/index\": [\n\t\t\"9692\",\n\t\t\"chunk-61da6da2\"\n\t],\n\t\"./views/system/home/content/index.vue\": [\n\t\t\"9692\",\n\t\t\"chunk-61da6da2\"\n\t],\n\t\"./views/system/home/menu\": [\n\t\t\"b707\",\n\t\t\"chunk-3f97db77\"\n\t],\n\t\"./views/system/home/menu/\": [\n\t\t\"b707\",\n\t\t\"chunk-3f97db77\"\n\t],\n\t\"./views/system/home/menu/add\": [\n\t\t\"3e65\",\n\t\t\"chunk-74c07a69\"\n\t],\n\t\"./views/system/home/menu/add.vue\": [\n\t\t\"3e65\",\n\t\t\"chunk-74c07a69\"\n\t],\n\t\"./views/system/home/menu/index\": [\n\t\t\"b707\",\n\t\t\"chunk-3f97db77\"\n\t],\n\t\"./views/system/home/menu/index.vue\": [\n\t\t\"b707\",\n\t\t\"chunk-3f97db77\"\n\t],\n\t\"./views/system/log\": [\n\t\t\"b380\",\n\t\t\"chunk-09fa9ac8\"\n\t],\n\t\"./views/system/log/\": [\n\t\t\"b380\",\n\t\t\"chunk-09fa9ac8\"\n\t],\n\t\"./views/system/log/index\": [\n\t\t\"b380\",\n\t\t\"chunk-09fa9ac8\"\n\t],\n\t\"./views/system/log/index.vue\": [\n\t\t\"b380\",\n\t\t\"chunk-09fa9ac8\"\n\t],\n\t\"./views/system/menu\": [\n\t\t\"f794\",\n\t\t\"chunk-078bedc1\"\n\t],\n\t\"./views/system/menu/\": [\n\t\t\"f794\",\n\t\t\"chunk-078bedc1\"\n\t],\n\t\"./views/system/menu/add\": [\n\t\t\"562e\",\n\t\t\"chunk-2b6e0e63\"\n\t],\n\t\"./views/system/menu/add.vue\": [\n\t\t\"562e\",\n\t\t\"chunk-2b6e0e63\"\n\t],\n\t\"./views/system/menu/index\": [\n\t\t\"f794\",\n\t\t\"chunk-078bedc1\"\n\t],\n\t\"./views/system/menu/index.vue\": [\n\t\t\"f794\",\n\t\t\"chunk-078bedc1\"\n\t],\n\t\"./views/system/menu/limit\": [\n\t\t\"c4f1\",\n\t\t\"chunk-4e1b0b1c\"\n\t],\n\t\"./views/system/menu/limit/\": [\n\t\t\"c4f1\",\n\t\t\"chunk-4e1b0b1c\"\n\t],\n\t\"./views/system/menu/limit/add\": [\n\t\t\"0c4f\",\n\t\t\"chunk-d0d81ad8\"\n\t],\n\t\"./views/system/menu/limit/add.vue\": [\n\t\t\"0c4f\",\n\t\t\"chunk-d0d81ad8\"\n\t],\n\t\"./views/system/menu/limit/index\": [\n\t\t\"c4f1\",\n\t\t\"chunk-4e1b0b1c\"\n\t],\n\t\"./views/system/menu/limit/index.vue\": [\n\t\t\"c4f1\",\n\t\t\"chunk-4e1b0b1c\"\n\t],\n\t\"./views/system/role\": [\n\t\t\"70eb\",\n\t\t\"chunk-20dd1878\"\n\t],\n\t\"./views/system/role/\": [\n\t\t\"70eb\",\n\t\t\"chunk-20dd1878\"\n\t],\n\t\"./views/system/role/add\": [\n\t\t\"0ff3\",\n\t\t\"chunk-cef0f768\"\n\t],\n\t\"./views/system/role/add.vue\": [\n\t\t\"0ff3\",\n\t\t\"chunk-cef0f768\"\n\t],\n\t\"./views/system/role/index\": [\n\t\t\"70eb\",\n\t\t\"chunk-20dd1878\"\n\t],\n\t\"./views/system/role/index.vue\": [\n\t\t\"70eb\",\n\t\t\"chunk-20dd1878\"\n\t],\n\t\"./views/system/role/powerEdit\": [\n\t\t\"bac4\",\n\t\t\"chunk-b587e80e\"\n\t],\n\t\"./views/system/role/powerEdit.vue\": [\n\t\t\"bac4\",\n\t\t\"chunk-b587e80e\"\n\t],\n\t\"./views/system/sBase\": [\n\t\t\"bdba\",\n\t\t\"chunk-3cacada4\"\n\t],\n\t\"./views/system/sBase/\": [\n\t\t\"bdba\",\n\t\t\"chunk-3cacada4\"\n\t],\n\t\"./views/system/sBase/add\": [\n\t\t\"f017\",\n\t\t\"chunk-17cb7b7d\"\n\t],\n\t\"./views/system/sBase/add.vue\": [\n\t\t\"f017\",\n\t\t\"chunk-17cb7b7d\"\n\t],\n\t\"./views/system/sBase/index\": [\n\t\t\"bdba\",\n\t\t\"chunk-3cacada4\"\n\t],\n\t\"./views/system/sBase/index.vue\": [\n\t\t\"bdba\",\n\t\t\"chunk-3cacada4\"\n\t],\n\t\"./views/system/user\": [\n\t\t\"1f34\",\n\t\t\"chunk-3459a500\"\n\t],\n\t\"./views/system/user/\": [\n\t\t\"1f34\",\n\t\t\"chunk-3459a500\"\n\t],\n\t\"./views/system/user/add\": [\n\t\t\"0be0\",\n\t\t\"chunk-4f342f48\"\n\t],\n\t\"./views/system/user/add.vue\": [\n\t\t\"0be0\",\n\t\t\"chunk-4f342f48\"\n\t],\n\t\"./views/system/user/index\": [\n\t\t\"1f34\",\n\t\t\"chunk-3459a500\"\n\t],\n\t\"./views/system/user/index.vue\": [\n\t\t\"1f34\",\n\t\t\"chunk-3459a500\"\n\t],\n\t\"./views/system/user/updatePwd\": [\n\t\t\"30f2\"\n\t],\n\t\"./views/system/user/updatePwd.vue\": [\n\t\t\"30f2\"\n\t],\n\t\"./views/welcome\": [\n\t\t\"b9ec\",\n\t\t\"chunk-7f9ca820\"\n\t],\n\t\"./views/welcome/\": [\n\t\t\"b9ec\",\n\t\t\"chunk-7f9ca820\"\n\t],\n\t\"./views/welcome/index\": [\n\t\t\"b9ec\",\n\t\t\"chunk-7f9ca820\"\n\t],\n\t\"./views/welcome/index.vue\": [\n\t\t\"b9ec\",\n\t\t\"chunk-7f9ca820\"\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 = \"2a68\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.editLoading),expression:\"editLoading\"}],staticClass:\"container\",attrs:{\"element-loading-text\":_vm.$t('loading')}},[_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules,\"size\":\"small\",\"label-width\":\"125px\"}},[_c('el-row',{attrs:{\"gutter\":40}},[_c('el-col',{attrs:{\"span\":24}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('oldPassword'),\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"placeholder\":_vm.$t('importOldPwd'),\"show-password\":\"\",\"autocomplete\":\"new-password\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('newPwd'),\"prop\":\"password2\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"placeholder\":_vm.$t('importNewPwd'),\"show-password\":\"\",\"autocomplete\":\"new-password\"},model:{value:(_vm.form.password2),callback:function ($$v) {_vm.$set(_vm.form, \"password2\", $$v)},expression:\"form.password2\"}})],1),_c('el-form-item',{attrs:{\"label\":_vm.$t('confirmPwd'),\"prop\":\"password3\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"placeholder\":_vm.$t('confirmAgain'),\"show-password\":\"\",\"autocomplete\":\"new-password\"},model:{value:(_vm.form.password3),callback:function ($$v) {_vm.$set(_vm.form, \"password3\", $$v)},expression:\"form.password3\"}})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./updatePwd.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!./updatePwd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./updatePwd.vue?vue&type=template&id=03eb9d34&\"\nimport script from \"./updatePwd.vue?vue&type=script&lang=js&\"\nexport * from \"./updatePwd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mes-wrapper\",class:_vm.classObj},[(_vm.device === 'mobile' && _vm.open)?_c('div',{staticClass:\"mes-drawer mes-drawer--bg\",on:{\"click\":_vm.handleClickOutside}}):_vm._e(),(_vm.hasWhiteList)?[_c('mes-home'),_c('router-view',{key:_vm.$route.fullPath})]:(_vm.isIframe)?_c('el-main',[_c('navigation',[_c('router-view')],1)],1):(_vm.hasToken)?[_c('mes-sidebar'),_c('div',{staticClass:\"mes-main\"},[_c('mes-navbar'),_c('el-main',{staticClass:\"mes-main__content\"},[_c('navigation',[_c('router-view')],1)],1)],1)]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mes-sidebar\"},[_c('div',{staticClass:\"mes-sidebar__header\"},[(_vm.isCollapse)?_c('p',[_c('img',{attrs:{\"src\":require('@/assets/images/logo-small.png'),\"alt\":\"logo\"}})]):_c('p',[_vm._v(_vm._s(_vm.systemName))])]),_c('div',{staticClass:\"mes-sidebar__content scrollbar-hide\"},[_c('el-menu',{attrs:{\"default-active\":_vm.activeMenu,\"text-color\":_vm.variables.menuFontColor,\"background-color\":_vm.variables.menuBackgroundColor,\"active-text-color\":_vm.variables.menuHoverFontColor,\"collapse-transition\":false,\"collapse\":_vm.isCollapse,\"unique-opened\":\"\"}},_vm._l((_vm.menu),function(item){return _c('sidebar-item',{key:item.path,attrs:{\"item\":item,\"base-path\":item.path}})}),1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.item.hidden)?_c('div',{staticClass:\"mes-menu-item\"},[(_vm.hasOneChild(_vm.item.children, _vm.item) && (!_vm.onlyOneChild.children || _vm.onlyOneChild.noChildren) && !_vm.item.alwaysShow)?[(_vm.onlyOneChild.meta)?_c('mes-link',{attrs:{\"to\":_vm.resolvePath(_vm.onlyOneChild.path),\"query\":_vm.onlyOneChild.meta.redirect}},[_c('el-menu-item',{attrs:{\"index\":_vm.resolvePath(_vm.onlyOneChild.path)}},[(_vm.onlyOneChild.meta.icon || (_vm.item.meta && _vm.item.meta.icon))?_c('i',{class:_vm.onlyOneChild.meta.icon || _vm.item.meta.icon}):_vm._e(),_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.onlyOneChild.meta.title))])])],1):_vm._e()]:_c('el-submenu',{attrs:{\"index\":_vm.resolvePath(_vm.item.path)}},[_c('template',{slot:\"title\"},[(_vm.item.meta && _vm.item.meta.icon)?_c('i',{class:_vm.item.meta.icon}):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.item.meta.title))])]),_vm._l((_vm.item.children),function(child){return _c('sidebar-item',{key:child.path,attrs:{\"item\":child,\"base-path\":_vm.resolvePath(child.path)}})})],2)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,_vm._b({tag:\"component\"},'component',_vm.linkProps(_vm.to, _vm.query),false),[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./link.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!./link.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./link.vue?vue&type=template&id=285875c2&\"\nimport script from \"./link.vue?vue&type=script&lang=js&\"\nexport * from \"./link.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ onlyOneChild.meta.title }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.meta.title }}\r\n \r\n \r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sidebar-item.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!./sidebar-item.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./sidebar-item.vue?vue&type=template&id=363b0184&\"\nimport script from \"./sidebar-item.vue?vue&type=script&lang=js&\"\nexport * from \"./sidebar-item.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n \r\n {{ systemName }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=cd866664&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',{staticClass:\"mes-navbar\"},[_c('div',{staticClass:\"mes-navbar__trigger\",on:{\"click\":_vm.handleToggleSidebar}},[(!_vm.open || _vm.device === 'mobile')?_c('i',{staticClass:\"el-icon-s-unfold\"}):_c('i',{staticClass:\"el-icon-s-fold\"})]),_c('div',{staticClass:\"mes-navbar__trigger\",on:{\"click\":_vm.handleReload}},[_c('i',{staticClass:\"el-icon-refresh-right\"})]),_c('mes-breadcrumb'),_c('div',{staticClass:\"mes-navbar__right\"},[_c('router-link',{attrs:{\"to\":\"/home\",\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar navigate = ref.navigate;\nreturn [_c('div',{staticClass:\"mes-navbar__trigger\",on:{\"click\":navigate}},[_vm._v(_vm._s(_vm.$t('proscenium')))])]}}])}),_c('el-dropdown',{attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.handleCommand}},[_c('div',{staticClass:\"mes-navbar__trigger\"},[_c('span',{staticClass:\"el-dropdown-link\"},[_vm._v(\" \"+_vm._s(_vm.user.userName)),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})])]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"logout\"}},[_vm._v(_vm._s(_vm.$t('outlogin')))]),_c('el-dropdown-item',{attrs:{\"command\":\"updatePwd\"}},[_vm._v(_vm._s(_vm.$t('updatePwd')))])],1)],1),_c('el-dropdown',{attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.handleCommand}},[_c('span',{staticClass:\"el-dropdown-link\"},[_vm._v(\" \"+_vm._s(_vm.$t('language'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_c('el-dropdown-menu',[_c('el-dropdown-item',{attrs:{\"command\":\"Chinese\"}},[_vm._v(\" 中文 \")]),_c('el-dropdown-item',{attrs:{\"command\":\"English\"}},[_vm._v(\" English \")])],1)],1)],1),(_vm.visible)?_c('my-Dialog',{attrs:{\"title\":_vm.$t('updatePwd'),\"width\":\"620px\",\"show\":_vm.visible,\"loading\":_vm.btnLoading},on:{\"update:show\":function($event){_vm.visible=$event},\"confirm\":_vm.handleSave}},[_c('custom-add',{ref:\"CustomAdd\",attrs:{\"id\":_vm.id,\"loading\":_vm.btnLoading},on:{\"update:loading\":function($event){_vm.btnLoading=$event},\"close\":_vm.handleClose}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-breadcrumb',{staticClass:\"mes-breadcrumb\",attrs:{\"separator-class\":\"el-icon-arrow-right\"}},[_c('transition-group',{attrs:{\"name\":\"breadcrumb\"}},_vm._l((_vm.levelList),function(item,index){return _c('el-breadcrumb-item',{key:item.path},[(index === _vm.levelList.length - 1)?_c('span',{staticClass:\"no-redirect\"},[_vm._v(\" \"+_vm._s(item.meta.title)+\" \")]):_c('a',{on:{\"click\":function($event){$event.preventDefault();return _vm.handleLink(item, index)}}},[_vm._v(\" \"+_vm._s(item.meta.title)+\" \")])])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n {{ item.meta.title }}\r\n \r\n \r\n {{ item.meta.title }}\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=054bd14e&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ $t('proscenium')}}\r\n \r\n \r\n \r\n \r\n {{ user.userName }}\r\n \r\n \r\n \r\n {{$t('outlogin')}}\r\n {{$t('updatePwd')}}\r\n \r\n \r\n \r\n \r\n {{ $t('language') }}\r\n \r\n \r\n \r\n 中文\r\n \r\n \r\n English\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7513aba1&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mes-header-wrapper\"},[_c('header',{staticClass:\"mes-header\"},[_c('div',{staticClass:\"mes-header__content\"},[_c('h1',[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"mes-header__logo\",staticStyle:{\"height\":\"60px\",\"width\":\"120px\"},attrs:{\"src\":require('@/assets/images/logo.png'),\"alt\":\"logo\"}})])],1),_c('ul',{staticClass:\"mes-nav\"},[_c('li',{staticClass:\"mes-nav__item\"},[_c('menu-link',{attrs:{\"to\":'index'}},[_vm._v(\" \"+_vm._s(_vm.$t('home'))+\" \")])],1),_vm._l((_vm.homeMenu),function(item){return _c('li',{key:item.id,staticClass:\"mes-nav__item\"},[_c('menu-link',{attrs:{\"to\":item.menuUrl,\"query\":item.id.toString()}},[_vm._v(\" \"+_vm._s(_vm.getmenu(item))+\" \")])],1)}),_c('li',{staticClass:\"mes-nav__item\"},[_c('el-dropdown',{attrs:{\"trigger\":\"click\"},on:{\"command\":_vm.handleCommand}},[_c('span',{staticClass:\"el-dropdown-link\"},[_vm._v(\" \"+_vm._s(_vm.$t('language'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_c('el-dropdown-menu',[_c('el-dropdown-item',{attrs:{\"command\":\"Chinese\"}},[_vm._v(\" 中文 \")]),_c('el-dropdown-item',{attrs:{\"command\":\"English\"}},[_vm._v(\" English \")])],1)],1)],1)],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ $t('home') }}\r\n \r\n \r\n\r\n \r\n \r\n {{ getmenu(item) }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ $t('language') }}\r\n \r\n \r\n \r\n 中文\r\n \r\n \r\n English\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=63169571&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import store from '@/store';\r\n\r\nconst { body } = document;\r\nconst WIDTH = 991;\r\n\r\nexport default {\r\n watch: {\r\n $route() {\r\n if (this.device === 'mobile' && this.open) {\r\n store.dispatch('closeSidebar', {\r\n withoutAnimation: false\r\n });\r\n }\r\n }\r\n },\r\n beforeMount() {\r\n window.addEventListener('resize', this.resize);\r\n },\r\n beforeDestroy() {\r\n window.removeEventListener('resize', this.resize);\r\n },\r\n mounted() {\r\n const isMobile = this.isMobile();\r\n if (isMobile) {\r\n store.dispatch('toggleDevice', 'mobile');\r\n store.dispatch('closeSidebar', {\r\n withoutAnimation: true\r\n });\r\n }\r\n },\r\n methods: {\r\n isMobile() {\r\n const rect = body.getBoundingClientRect();\r\n return rect.width - 1 < WIDTH;\r\n },\r\n resize() {\r\n if (!document.hidden) {\r\n const isMobile = this.isMobile();\r\n store.dispatch('toggleDevice', isMobile ? 'mobile' : 'desktop');\r\n if (isMobile) {\r\n store.dispatch('closeSidebar', {\r\n withoutAnimation: true\r\n });\r\n }\r\n }\r\n }\r\n }\r\n};","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=81c6cb06&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Message } from 'element-ui';\r\n\r\nlet messageInstance = null;\r\nconst resetMessage = (options) => {\r\n if (messageInstance) {\r\n messageInstance.close();\r\n }\r\n messageInstance = Message(options);\r\n};\r\n\r\nconst messageTypes = ['success', 'warning', 'error', 'info'];\r\n\r\nmessageTypes.forEach(type => {\r\n resetMessage[type] = options => {\r\n if (typeof options === 'string') {\r\n options = {\r\n message: options\r\n };\r\n }\r\n options.type = type;\r\n return resetMessage(options);\r\n };\r\n});\r\n\r\nexport default resetMessage;","/**\r\n * localStorage操作\r\n * 存储、读取、删除\r\n */\r\nconst Local = {\r\n set(key, value) {\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n return localStorage.setItem(key, value);\r\n },\r\n get(key) {\r\n let value = localStorage.getItem(key);\r\n if (/^\\{.*\\}$/.test(value)) {\r\n value = JSON.parse(value);\r\n }\r\n return value;\r\n },\r\n remove(key) {\r\n return localStorage.removeItem(key);\r\n }\r\n};\r\n\r\nexport default Local;","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport { resetRouter } from '@/router';\r\nimport Local from '@/utils/local';\r\nimport { getToken, removeToken } from '@/utils/token';\r\nimport { getUser, removeUser } from '@/utils/user';\r\nimport { removePage } from '@/utils/page';\r\nimport { removeSearch } from '@/utils/search';\r\n\r\nVue.use(Vuex);\r\n\r\nconst collapse = Local.get('isCollapse');\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n token: getToken(), // token\r\n user: getUser() || {}, // 用户信息\r\n homeMenu: [], // 首页菜单数据\r\n menu: [], // 菜单数据\r\n readOnly: [], // 页面权限\r\n open: collapse ? !!+collapse : true, // 侧边栏是否展开\r\n withoutAnimation: false, // 是否有动画\r\n device: 'desktop', // 显示设备\r\n isLogout: false, // 是否是登录后退出\r\n isIframe: false // 是否是第三方系统嵌入\r\n },\r\n mutations: {\r\n // 设置 token\r\n SET_TOKEN(state, token) {\r\n state.token = token;\r\n },\r\n // 设置用户信息\r\n SET_USER(state, user) {\r\n state.user = user;\r\n },\r\n // 设置首页菜单\r\n SET_HOME_MENU(state, menu) {\r\n state.homeMenu = menu;\r\n },\r\n // 设置菜单\r\n SET_MENU(state, menu) {\r\n state.menu = menu;\r\n },\r\n // 设置页面只读权限\r\n SET_READ_ONLY(state, readonly) {\r\n state.readOnly = [...state.readOnly, ...readonly];\r\n },\r\n // 重置页面只读权限\r\n RESET_READ_ONLY(state) {\r\n state.readOnly = [];\r\n },\r\n // 切换侧边栏\r\n TOGGLE_SIDEBAR(state) {\r\n state.open = !state.open;\r\n state.withoutAnimation = false;\r\n Local.set('isCollapse', +state.open);\r\n },\r\n // 关闭侧边栏\r\n CLOSE_SIDEBAR(state, bool) {\r\n Local.set('isCollapse', 0);\r\n state.open = false;\r\n state.withoutAnimation = bool;\r\n },\r\n // 切换显示设备\r\n TOGGLE_DEVICE(state, device) {\r\n state.device = device;\r\n },\r\n // 设置退出\r\n SET_LOGOUT(state, bool) {\r\n state.isLogout = bool;\r\n },\r\n // 设置第三方系统嵌入\r\n SET_IS_IFRAME(state, bool) {\r\n state.isIframe = bool;\r\n }\r\n },\r\n actions: {\r\n // 提交设置 token\r\n setToken({ commit }, token) {\r\n commit('SET_TOKEN', token);\r\n },\r\n // 提交设置用户信息\r\n setUser({ commit }, user) {\r\n commit('SET_USER', user);\r\n },\r\n // 提交清除 token\r\n resetToken({ commit }) {\r\n commit('SET_TOKEN', '');\r\n commit('SET_USER', {});\r\n commit('SET_MENU', []);\r\n commit('RESET_READ_ONLY');\r\n commit('SET_LOGOUT', true);\r\n removeToken();\r\n removeUser();\r\n resetRouter();\r\n removePage();\r\n removeSearch();\r\n },\r\n // 提交设置首页菜单\r\n setHomeMenu({ commit }, menu) {\r\n commit('SET_HOME_MENU', menu);\r\n },\r\n // 提交设置菜单\r\n setMenu({ commit }, menu) {\r\n commit('SET_MENU', menu);\r\n },\r\n // 提交设置页面只读权限\r\n setReadOnly({ commit }, readonly) {\r\n commit('SET_READ_ONLY', readonly);\r\n },\r\n // 切换侧边栏\r\n toggleSidebar({ commit }) {\r\n commit('TOGGLE_SIDEBAR');\r\n },\r\n // 提交关闭侧边栏\r\n closeSidebar({ commit }, { withoutAnimation }) {\r\n commit('CLOSE_SIDEBAR', withoutAnimation);\r\n },\r\n // 提交切换显示设备\r\n toggleDevice({ commit }, device) {\r\n commit('TOGGLE_DEVICE', device);\r\n },\r\n // 提交设置退出\r\n setLogout({ commit }, bool) {\r\n commit('SET_LOGOUT', bool);\r\n },\r\n // 提交设置第三方系统嵌入\r\n setIsIframe({ commit }, bool) {\r\n commit('SET_IS_IFRAME', bool);\r\n }\r\n },\r\n getters: {\r\n token: state => state.token,\r\n user: state => state.user,\r\n menu: state => state.menu,\r\n homeMenu: state => state.homeMenu,\r\n readOnly: state => state.readOnly,\r\n hasToken: state => state.token,\r\n open: state => state.open,\r\n withoutAnimation: state => state.withoutAnimation,\r\n device: state => state.device\r\n },\r\n modules: {}\r\n});\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};","import Vue from 'vue';\r\nimport {\r\n Pagination,\r\n Dialog,\r\n // Autocomplete,\r\n Dropdown,\r\n DropdownMenu,\r\n DropdownItem,\r\n Menu,\r\n Submenu,\r\n MenuItem,\r\n // MenuItemGroup,\r\n Input,\r\n InputNumber,\r\n Radio,\r\n RadioGroup,\r\n // RadioButton,\r\n Checkbox,\r\n // CheckboxButton,\r\n CheckboxGroup,\r\n Switch,\r\n Select,\r\n Option,\r\n // OptionGroup,\r\n Button,\r\n // ButtonGroup,\r\n Table,\r\n TableColumn,\r\n DatePicker,\r\n // TimeSelect,\r\n TimePicker,\r\n // Popover,\r\n // Tooltip,\r\n Breadcrumb,\r\n BreadcrumbItem,\r\n Form,\r\n FormItem,\r\n Tabs,\r\n TabPane,\r\n Tag,\r\n Tree,\r\n Alert,\r\n // Slider,\r\n // Icon,\r\n Row,\r\n Col,\r\n Upload,\r\n Progress,\r\n // Spinner,\r\n // Badge,\r\n // Card,\r\n // Rate,\r\n // Steps,\r\n // Step,\r\n // Scrollbar,\r\n Carousel,\r\n CarouselItem,\r\n Collapse,\r\n CollapseItem,\r\n // Cascader,\r\n // ColorPicker,\r\n // Transfer,\r\n // Container,\r\n Header,\r\n // Aside,\r\n Main,\r\n // Footer,\r\n // Timeline,\r\n // TimelineItem,\r\n Link,\r\n // Divider,\r\n Image,\r\n // Calendar,\r\n // Backtop,\r\n // PageHeader,\r\n // CascaderPanel,\r\n Loading,\r\n MessageBox,\r\n // Message,\r\n // Notification,\r\n // InfiniteScroll,\r\n // Avatar,\r\n // Drawer,\r\n // Popconfirm,\r\n // Skeleton,\r\n // SkeletonItem,\r\n Empty,\r\n // Result,\r\n // CollapseTransition,\r\n Descriptions,\r\n DescriptionsItem\r\n} from 'element-ui';\r\n\r\nVue.use(Pagination);\r\nVue.use(Dialog);\r\n// Vue.use(Autocomplete);\r\nVue.use(Dropdown);\r\nVue.use(DropdownMenu);\r\nVue.use(DropdownItem);\r\nVue.use(Menu);\r\nVue.use(Submenu);\r\nVue.use(MenuItem);\r\n// Vue.use(MenuItemGroup);\r\nVue.use(Input);\r\nVue.use(InputNumber);\r\nVue.use(Radio);\r\nVue.use(RadioGroup);\r\n// Vue.use(RadioButton);\r\nVue.use(Checkbox);\r\n// Vue.use(CheckboxButton);\r\nVue.use(CheckboxGroup);\r\nVue.use(Switch);\r\nVue.use(Select);\r\nVue.use(Option);\r\n// Vue.use(OptionGroup);\r\nVue.use(Button);\r\n// Vue.use(ButtonGroup);\r\nVue.use(Table);\r\nVue.use(TableColumn);\r\nVue.use(DatePicker);\r\n// Vue.use(TimeSelect);\r\nVue.use(TimePicker);\r\n// Vue.use(Popover);\r\n// Vue.use(Tooltip);\r\nVue.use(Breadcrumb);\r\nVue.use(BreadcrumbItem);\r\nVue.use(Form);\r\nVue.use(FormItem);\r\nVue.use(Tabs);\r\nVue.use(TabPane);\r\nVue.use(Tag);\r\nVue.use(Tree);\r\nVue.use(Alert);\r\n// Vue.use(Slider);\r\n// Vue.use(Icon);\r\nVue.use(Row);\r\nVue.use(Col);\r\nVue.use(Upload);\r\nVue.use(Progress);\r\n// Vue.use(Spinner);\r\n// Vue.use(Badge);\r\n// Vue.use(Card);\r\n// Vue.use(Rate);\r\n// Vue.use(Steps);\r\n// Vue.use(Step);\r\n// Vue.use(Scrollbar);\r\nVue.use(Carousel);\r\nVue.use(CarouselItem);\r\nVue.use(Collapse);\r\nVue.use(CollapseItem);\r\n// Vue.use(Cascader);\r\n// Vue.use(ColorPicker);\r\n// Vue.use(Transfer);\r\n// Vue.use(Container);\r\nVue.use(Header);\r\n// Vue.use(Aside);\r\nVue.use(Main);\r\n// Vue.use(Footer);\r\n// Vue.use(Timeline);\r\n// Vue.use(TimelineItem);\r\nVue.use(Link);\r\n// Vue.use(Divider);\r\nVue.use(Image);\r\n// Vue.use(Calendar);\r\n// Vue.use(Backtop);\r\n// Vue.use(PageHeader);\r\n// Vue.use(CascaderPanel);\r\n// Vue.use(InfiniteScroll);\r\n// Vue.use(Avatar);\r\n// Vue.use(Drawer);\r\n// Vue.use(Popconfirm);\r\n// Vue.use(Skeleton);\r\n// Vue.use(SkeletonItem);\r\nVue.use(Empty);\r\n// Vue.use(Result);\r\n// Vue.use(CollapseTransition);\r\nVue.use(Descriptions);\r\nVue.use(DescriptionsItem);\r\n\r\nVue.use(Loading.directive);\r\n\r\nVue.prototype.$loading = Loading.service;\r\n// Vue.prototype.$msgbox = MessageBox;\r\nVue.prototype.$alert = MessageBox.alert;\r\nVue.prototype.$confirm = MessageBox.confirm;\r\n// Vue.prototype.$prompt = MessageBox.prompt;\r\n// Vue.prototype.$notify = Notification;\r\n// Vue.prototype.$message = Message;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(_vm.isShow)?_c('router-view'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./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=bb9818f4&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3efe7ad3&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import store from '@/store';\r\nimport { isExternal } from '@/utils/validate';\r\nimport MesLayout from '@/components/layout';\r\nimport Cookie from '@/utils/cookie';\r\nimport MesRouterView from '@/components/layout/components/router-view';\r\n\r\n/**\r\n * 生成前台路由\r\n * @param {Array} data 菜单列表\r\n * @param {Function} next\r\n */\r\nexport function addHomeRouter(data) {\r\n const router = [{\r\n path: '/home',\r\n redirect: '/home/index',\r\n component: MesLayout,\r\n children: [{\r\n path: '/home/index',\r\n name: 'index',\r\n component: () => import('@/views/home/index/index')\r\n },\r\n {\r\n path: '/home/login',\r\n name: 'login',\r\n component: () => import('@/views/home/login/index.vue')\r\n }]\r\n }];\r\n try {\r\n data.forEach(item => {\r\n // 判断是否未内部url地址\r\n if (!isExternal(item.menuUrl)) {\r\n router[0].children.push({\r\n path: item.menuUrl,\r\n component: () => import(`@/views/home/${item.menuUrl}`),\r\n meta: {\r\n title: (Cookie.get('lanConfig') === 'en' ? item.enMenuName : item.menuName)\r\n }\r\n });\r\n } else {\r\n const origin = location.origin;\r\n const { menuUrl, menuName, enMenuName } = item;\r\n if (menuUrl.includes(origin)) { // 外链地址为本系统地址\r\n const path = menuUrl.replace(origin, '');\r\n router.push({\r\n path,\r\n component: () => import(`@/views${path}`),\r\n meta: {\r\n title: (Cookie.get('lanConfig') === 'en' ? enMenuName : menuName)\r\n }\r\n });\r\n }\r\n }\r\n });\r\n } catch (e) {\r\n return [];\r\n }\r\n return router;\r\n}\r\n\r\n/**\r\n * 生成后台路由\r\n * @param {Array} routerList 菜单列表\r\n * @param {String} parentRouter 父路由路径\r\n * @param {Boolean} isChildren 是否是 children\r\n */\r\nexport function addRouter(routerList, parentRouter = '', isChildren = false) {\r\n const router = [];\r\n const readOnly = [];\r\n try {\r\n routerList.forEach(item => {\r\n // 是否是外链\r\n const isExternalLink = isExternal(item.menuUrl);\r\n // 重定向路由对象\r\n let redirect = null;\r\n if (!isExternalLink && item.children) {\r\n redirect = item.children.find(v => {\r\n return v.isShowMenu;\r\n });\r\n }\r\n\r\n const path = getPath(item, parentRouter, isExternalLink);\r\n const index = router.findIndex(v => v.path === path);\r\n /* TODO: 后台无法控制页面功能权限,采用不同权限进入不同菜单暂时解决(菜单的地址相同,需要去重),后面再看看怎么优化*/\r\n if (index === -1) {\r\n let obj = {\r\n path,\r\n name: getName(item.menuUrl, isExternalLink),\r\n component: getComponent(item, isChildren, isExternalLink, redirect),\r\n meta: {\r\n title: (Cookie.get('lanConfig') === 'en' ? item.enMenuName : item.menuName)\r\n }\r\n };\r\n\r\n // 重定向\r\n if (redirect) {\r\n obj = { ...obj, redirect: redirect.menuUrl };\r\n }\r\n\r\n // 有 children\r\n if (item.children) {\r\n const children = addRouter(item.children, item.menuUrl + '/', true);\r\n obj = { ...obj, children };\r\n }\r\n\r\n // 有 icon\r\n if (item.icon) {\r\n obj.meta.icon = item.icon;\r\n }\r\n\r\n // 新窗口打开\r\n if (item.isOpen) {\r\n obj.meta.open = item.isOpen;\r\n }\r\n\r\n // 总是显示\r\n const { isShowMenu, parameter } = item;\r\n if (!isShowMenu || (parameter && parameter.includes('alwaysShow'))) {\r\n obj.alwaysShow = true;\r\n }\r\n\r\n if (parameter) {\r\n // 总是显示\r\n if (parameter === 'alwaysShow') {\r\n obj.alwaysShow = true;\r\n }\r\n\r\n // 定检单页面操作权限\r\n if (parameter.includes('reset')) { // 录入、上传、复位\r\n obj.meta.roles = ['input', 'upload', 'reset'];\r\n } else if (parameter.includes('upload')) { // 录入、上传\r\n obj.meta.roles = ['input', 'upload'];\r\n }\r\n }\r\n\r\n // 不显示在侧边栏\r\n if (!item.isShowMenu) {\r\n obj.hidden = !item.isShowMenu;\r\n obj.meta.activeMenu = getActiveMenu(item.menuUrl);\r\n }\r\n\r\n // 外链\r\n if (isExternalLink) {\r\n let redirect = null;\r\n // 外链有 children\r\n if (item.children) {\r\n redirect = item.children.find(v => {\r\n return !v.isOpen;\r\n });\r\n } else {\r\n const children = externalLink(item);\r\n obj = { ...obj, children };\r\n }\r\n\r\n // 外链重定向\r\n if (redirect) {\r\n const { children, menuUrl, id } = redirect;\r\n const url = !children ? `?redirect=${encodeURIComponent(menuUrl)}` : '';\r\n obj.redirect = `/iframe-${id}/${id}${url}`;\r\n }\r\n }\r\n router.push(obj);\r\n }\r\n });\r\n } catch (e) {\r\n return [];\r\n }\r\n store.dispatch('setReadOnly', readOnly);\r\n return router;\r\n}\r\n\r\n/**\r\n * 获取路径\r\n * @param {Object} data 路由对象\r\n * @param {String} parentRouter 父路由路径\r\n * @param {Boolean} isExternalLink 是否是外链\r\n * @return {String} 路径\r\n */\r\nfunction getPath(data, parentRouter, isExternalLink) {\r\n return isExternalLink ? `/iframe-${data.id}` : data.menuUrl.replace(parentRouter, '');\r\n}\r\n\r\n/**\r\n * 获取命名路由\r\n * @param {String} router 路径地址\r\n * @param {Boolean} isExternalLink 是否是外链\r\n * @return {String} 命名路由\r\n */\r\nfunction getName(router, isExternalLink) {\r\n if (isExternalLink) { // 外链\r\n return '';\r\n }\r\n const path = getRouterPath(router);\r\n return path.replace(/(\\/|-)(\\w)/g, (all, symbol, letter) => {\r\n return letter.toUpperCase();\r\n });\r\n}\r\n\r\n/**\r\n * 获取组件\r\n * @param {Object} data 路由对象\r\n * @param {Boolean} isChildren 是否是 children\r\n * @param {Boolean} isExternalLink 是否是外链\r\n * @param {Object} redirect 重定向路由对象\r\n * @return {Object|Function} 组件\r\n */\r\nfunction getComponent(data, isChildren, isExternalLink, redirect) {\r\n return !isChildren ? MesLayout : isExternalLink || (data.children && redirect)\r\n ? MesRouterView : () => import(`@/views${getRouterPath(data.menuUrl)}`);\r\n}\r\n\r\n/**\r\n * 获取路由地址(去掉路由地址动态路由匹配)\r\n * @param {String} router 路由地址\r\n * @return {String} 路由地址\r\n */\r\nfunction getRouterPath(router) {\r\n const reg = /\\/:\\w+/g;\r\n if (reg.test(router)) {\r\n return router.replace(reg, '');\r\n }\r\n return router;\r\n}\r\n\r\n/**\r\n * 外链\r\n * @param {Object} data 菜单对象\r\n * @return {Array} 路由列表\r\n */\r\nfunction externalLink(data) {\r\n const children = [];\r\n if (data.isOpen) { // 新窗口打开\r\n children.push({\r\n path: data.menuUrl,\r\n meta: {\r\n title: (Cookie.get('lanConfig') === 'en' ? data.enMenuName : data.menuName)\r\n }\r\n });\r\n } else { // 内联\r\n const obj = {\r\n path: data.id,\r\n component: () => import('@/components/layout/iframe'),\r\n meta: {\r\n title: (Cookie.get('lanConfig') === 'en' ? data.enMenuName : data.menuName),\r\n redirect: data.menuUrl,\r\n breadcrumb: false\r\n }\r\n };\r\n children.push(obj);\r\n }\r\n return children;\r\n}\r\n\r\n/**\r\n * 侧边栏高亮\r\n * @param {String} path 路径地址\r\n * @return {String} 活动菜单地址\r\n */\r\n// eslint-disable-next-line no-unused-vars\r\nfunction getActiveMenu(path) {\r\n path = path.replace(/\\/[\\w-]+\\/:.+|\\/[\\w-]+$/, '');\r\n const temp = path.substring(1).split('/');\r\n if (temp.length > 3) {\r\n temp.length = 3;\r\n path = temp.reduce((total, value) => {\r\n return total + '/' + value;\r\n }, '');\r\n }\r\n return path;\r\n}","import { systemName } from '@/config';\r\n\r\n/**\r\n * 设置title\r\n * @param {String} title title\r\n * @return {String} title\r\n */\r\nexport default function getPageTitle(title) {\r\n if (title) {\r\n return `${title} - ${systemName}`;\r\n }\r\n return `${systemName}`;\r\n}","import store from '@/store';\r\nimport router from './index';\r\nimport NProgress from 'nprogress';\r\nimport 'nprogress/nprogress.css';\r\nimport { addHomeRouter, addRouter } from './add-router';\r\nimport { whiteList } from '@/config';\r\nimport { getQueryString } from '@/utils';\r\nimport getPageTitle from '@/utils/get-page-title';\r\nimport { _loginByUserName } from '@/utils/login';\r\nimport { getMenuTree, getMenus } from '@/api/home/index/api';\r\n\r\nNProgress.configure({ showSpinner: false });\r\n\r\n/**\r\n * 全局前置守卫\r\n * @param {Route} to 即将要进入的目标 路由对象\r\n * @param {Route} from 当前导航正要离开的路由\r\n * @param {Function} next\r\n */\r\nrouter.beforeEach((to, from, next) => {\r\n if (to.path === from.path) {\r\n next();\r\n return;\r\n }\r\n\r\n const username = getQueryString('u');\r\n\r\n // 第三方系统嵌入\r\n if (username) {\r\n !store.state.isIframe && store.dispatch('setIsIframe', true);\r\n if (store.state.token) {\r\n if (to.query && !to.query.u) {\r\n to.query.u = username;\r\n }\r\n if (!store.state.menu.length) {\r\n getRouter(to, next);\r\n } else {\r\n next();\r\n }\r\n } else {\r\n _loginByUserName();\r\n next();\r\n }\r\n } else {\r\n store.state.isIframe && store.dispatch('setIsIframe', false);\r\n NProgress.start();\r\n document.title = getPageTitle(to.meta.title);\r\n\r\n // 首页菜单\r\n const { homeMenu } = store.state;\r\n if (homeMenu.length) {\r\n if (store.state.isLogout) {\r\n // 登录后退出\r\n store.dispatch('setLogout', false);\r\n addRoutes(addHomeRouter(homeMenu), to, next);\r\n }\r\n } else {\r\n getHomeRouter(to, next);\r\n }\r\n\r\n if (store.state.token) {\r\n // 登录后再进入登录页\r\n if (to.path === '/home/login') {\r\n next('/index');\r\n } else {\r\n if (!store.state.menu.length) {\r\n getRouter(to, next);\r\n } else {\r\n if (to.matched.length === 0) {\r\n // 登录重定向地址不存在\r\n if (from.path === '/home/login') {\r\n next('/index');\r\n } else {\r\n // 白名单\r\n if (whiteList.includes(to.path)) {\r\n next();\r\n } else {\r\n next('/404');\r\n }\r\n }\r\n } else {\r\n next();\r\n }\r\n }\r\n }\r\n } else {\r\n // 白名单\r\n if (whiteList.includes(to.path)) {\r\n next();\r\n } else {\r\n next('/home/login');\r\n }\r\n NProgress.done();\r\n }\r\n }\r\n});\r\n\r\n// 全局后置钩子\r\nrouter.afterEach(() => {\r\n NProgress.done();\r\n});\r\n\r\n/**\r\n * 获取前台菜单\r\n * @param {Route} to 即将要进入的目标 路由对象\r\n * @param {Function} next\r\n */\r\nfunction getHomeRouter(to, next) {\r\n getMenus()\r\n .then((res) => {\r\n const { code, data } = res;\r\n if (code === 0) {\r\n const asyncRouter = addHomeRouter(data);\r\n store.dispatch('setHomeMenu', data);\r\n return asyncRouter;\r\n }\r\n })\r\n .then((asyncRouter) => {\r\n addRoutes(asyncRouter, to, next);\r\n })\r\n .catch(() => {\r\n NProgress.done();\r\n });\r\n}\r\n\r\n/**\r\n * 获取后台路由\r\n * @param {Route} to 即将要进入的目标 路由对象\r\n * @param {Function} next\r\n */\r\nfunction getRouter(to, next) {\r\n const { id, sSBaseId } = store.state.user;\r\n getMenuTree({\r\n userId: id,\r\n sSBaseId\r\n })\r\n .then((res) => {\r\n const { code, data } = res;\r\n if (code === 0) {\r\n // data.unshift({\r\n // name: '首页',\r\n // icon: 'el-icon-s-home',\r\n // router: '/index',\r\n // children: [\r\n // {\r\n // name: '首页',\r\n // router: '/index/index'\r\n // }\r\n // ]\r\n // });\r\n const asyncRouter = addRouter(data);\r\n store.dispatch('setMenu', asyncRouter);\r\n return asyncRouter;\r\n }\r\n })\r\n .then((asyncRouter) => {\r\n addRoutes(asyncRouter, to, next);\r\n })\r\n .catch(() => {\r\n NProgress.done();\r\n });\r\n}\r\n\r\n/**\r\n * 动态添加路由\r\n * @param {Array} asyncRouter 路由列表\r\n * @param {Route} to 即将要进入的目标 路由对象\r\n * @param {Function} next\r\n */\r\nfunction addRoutes(asyncRouter, to, next) {\r\n asyncRouter.forEach((route) => {\r\n // 动态新增可访问路由表\r\n router.addRoute(route);\r\n });\r\n next({ ...to, replace: true });\r\n}\r\n","import Vue from 'vue';\r\nimport Message from '@/utils/message';\r\n\r\n/**\r\n * 导出,处理下载文件流\r\n * @param {Blob} blob 文件流\r\n * @param {String} name 下载文件名\r\n * @param {String} suffix 文件后缀名\r\n */\r\nVue.prototype.$exportClick = function(blob, name, suffix = '.xls') {\r\n const reader = new FileReader();\r\n reader.readAsText(blob, 'utf-8');\r\n reader.onload = () => {\r\n try {\r\n const { message } = JSON.parse(reader.result); // 对象数据,后台转换失败\r\n Message.error(message);\r\n } catch (e) {\r\n // 正常的文件流,解析成对象失败\r\n const fileName = name + suffix;\r\n downloadFile(fileName, blob);\r\n }\r\n };\r\n};\r\n\r\n// 下载文件\r\nfunction downloadFile(fileName, blob) {\r\n if ('download' in document.createElement('a')) {\r\n // 非IE\r\n const link = document.createElement('a');\r\n link.download = fileName;\r\n link.style.display = 'none';\r\n link.href = URL.createObjectURL(blob);\r\n document.body.appendChild(link);\r\n link.click();\r\n URL.revokeObjectURL(link.href);\r\n document.body.removeChild(link);\r\n } else {\r\n // IE10+\r\n navigator.msSaveBlob(blob, fileName);\r\n }\r\n}\r\n","import Message from '@/utils/message';\r\n\r\n// 监听网络连接\r\nwindow.addEventListener('online', () => {\r\n Message.success('网络已连接,请重试');\r\n}, false);\r\n\r\n// 监听网络断开\r\nwindow.addEventListener('offline', () => {\r\n Message.error('网络未连接,请检查网络后重试');\r\n}, false);","import store from '@/store';\r\n\r\nexport default {\r\n install(Vue) {\r\n /**\r\n * 判读是否是只读权限\r\n * @param {Array} value 只读权限列表\r\n * @return {Boolean} 只读 true,否则为 false\r\n */\r\n Vue.prototype.checkReadOnlyPermission = function(value) {\r\n if (value && value instanceof Array && value.length > 0) {\r\n const readOnly = store.state.readOnly;\r\n const readOnlyPermission = value;\r\n const hasReadOnlyPermission = readOnly.some(role => {\r\n return readOnlyPermission.includes(role);\r\n });\r\n return hasReadOnlyPermission;\r\n } else {\r\n return false;\r\n }\r\n };\r\n }\r\n};","import store from '@/store';\r\n\r\n/**\r\n * 判读是否是只读权限\r\n * @param {Element} el 指令绑定的元素\r\n * @param {Object} binding 指令的信息\r\n */\r\nfunction checkReadOnlyPermission(el, binding) {\r\n const { value } = binding;\r\n const readOnly = store.state.readOnly;\r\n if (value && value instanceof Array) {\r\n if (value.length > 0) {\r\n const readOnlyPermission = value;\r\n const hasReadOnlyPermission = readOnly.some(role => {\r\n return readOnlyPermission.includes(role);\r\n });\r\n // 只读\r\n if (hasReadOnlyPermission) {\r\n el.parentNode && el.parentNode.removeChild(el);\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default {\r\n inserted(el, binding) {\r\n checkReadOnlyPermission(el, binding);\r\n },\r\n update(el, binding) {\r\n checkReadOnlyPermission(el, binding);\r\n }\r\n};","import ReadOnly from './permission';\r\n\r\nconst install = function(Vue) {\r\n Vue.directive('ReadOnly', ReadOnly);\r\n};\r\n\r\nif (window.Vue) {\r\n Vue.use(install); // eslint-disable-line\r\n}\r\n\r\nReadOnly.install = install;\r\nexport default ReadOnly;","function replaceStr(value) {\r\n return value.replace(/\\D+/g, '');\r\n}\r\n\r\nexport default {\r\n bind(el) {\r\n el.handler = function() {\r\n if (el.children.length) {\r\n el.children.forEach(item => {\r\n item.value = replaceStr(item.value);\r\n });\r\n } else {\r\n el.value = replaceStr(el.value);\r\n }\r\n };\r\n el.addEventListener('input', el.handler);\r\n },\r\n unbind(el) {\r\n el.removeEventListener('input', el.handler);\r\n }\r\n};","import NumberOnly from './number-only';\r\n\r\nconst install = function(Vue) {\r\n Vue.directive('NumberOnly', NumberOnly);\r\n};\r\n\r\nif (window.Vue) {\r\n Vue.use(install); // eslint-disable-line\r\n}\r\n\r\nNumberOnly.install = install;\r\nexport default NumberOnly;","const zh = {\r\n // 通用\r\n loading: '加载中...',\r\n language: '语言',\r\n backHome: '返回首页',\r\n backUp: '返回上一页',\r\n page403: '抱歉,您无权访问该页面',\r\n page404: '抱歉,您访问的页面不存在',\r\n page500: '抱歉,服务器出错了',\r\n noData: '暂无数据',\r\n seq: '序号',\r\n status: '状态',\r\n importSeq: '请输入序号',\r\n add: '新增',\r\n delete: '删除',\r\n operate: '操作',\r\n edit: '编辑',\r\n query: '查询',\r\n date: '日期',\r\n to: '至',\r\n startTime: '开始时间',\r\n endTime: '结束时间',\r\n keywords: '关键字',\r\n importkeys: '请输入关键字',\r\n back: '返回',\r\n yes: '是',\r\n no: '否',\r\n save: '保 存',\r\n cancel: '取 消',\r\n enable: '启用',\r\n disabled: '禁用',\r\n lastweek: '最近一周',\r\n lasmonth: '最近一个月',\r\n lasmonth3: '最近三个月',\r\n // 导航栏\r\n goBackgourd: '进入后台',\r\n sysLogin: '系统登录',\r\n sysManagelogin: '系统管理登录',\r\n backManager: '安全管理平台 -后台管理',\r\n self_platform: '承包商自助平台',\r\n exam_platform: '在线培训考试 -PC',\r\n appliaction: '应用',\r\n trainexam: '在线培训考试 -移动端',\r\n mobile: '安全管理平台 -移动端',\r\n android_app: 'Android APP',\r\n\r\n homeTitle_01: '安全管理平台',\r\n homeTitle_011_child: '承包商管理',\r\n homeTitle_012_child: '安全教育',\r\n homeTitle_013_child: '检查违章',\r\n homeTitle_014_child: '工器具管理',\r\n homeTitle_015_child: '车辆管理',\r\n homeTitle_016_child: '系统管理',\r\n\r\n homeTitle_02: '规范化培训考试',\r\n homeTitle_021_child: '预约培训',\r\n homeTitle_022_child: '题库分类',\r\n homeTitle_023_child: '试卷管理',\r\n homeTitle_024_child: '人脸识别',\r\n homeTitle_025_child: '考试统计',\r\n homeTitle_026_child: '移动化培训管理',\r\n\r\n homeTitle_03: '违章检查',\r\n homeTitle_031_child: '违章录入',\r\n homeTitle_032_child: '违章审核',\r\n homeTitle_033_child: '违章管理',\r\n homeTitle_034_child: '违章条例',\r\n homeTitle_035_child: '事件调查',\r\n homeTitle_036_child: '违章统计',\r\n\r\n // 登录\r\n login: '登 录',\r\n username: '用户名',\r\n pwd: '密码',\r\n savePwd: '记住密码',\r\n validCode: '验证码',\r\n upvalidimg: '点击切换图片',\r\n importUserName: '请输入用户名',\r\n importPwd: '请输入密码',\r\n importPwdErr: '您的密码复杂度太低(必须包含字母、数字、特殊字符,8-20个字符)!',\r\n importvalidCode: '请输入验证码',\r\n loginSuccess: '登录成功',\r\n\r\n // 后台首页\r\n home: '首页',\r\n proscenium: '返回前台',\r\n outlogin: '退出登录',\r\n outok: '退出成功',\r\n\r\n // 首页 轮播图接口\r\n picture: '图片',\r\n importPic: '请上传图片',\r\n slideshow: '轮播图',\r\n\r\n // 首页分类\r\n menu: '菜单',\r\n selectMenu: '请选择菜单',\r\n name: '名称',\r\n Ename: '英文名称',\r\n importName: '请输入名称',\r\n importEName: '请输入英文名称',\r\n classify: '分类',\r\n\r\n // 文件上传控件\r\n upfileMsg: '将文件拖到此处,或',\r\n upfileMsg2: '只能上传jpg/png图片,且不超过500kb',\r\n upfileMsg3: '只能上传jpg/png图片',\r\n upfileMsg4: '上传图片大小不能超过 500kb',\r\n clickFile: '点击上传',\r\n\r\n // 首页内容\r\n title: '标题',\r\n importTit: '请输入标题',\r\n content: '内容',\r\n importClass: '请选择分类',\r\n importContent: '请输入内容',\r\n\r\n // 首页菜单\r\n path: '路径',\r\n importPath: '请输入路径',\r\n\r\n // 日志查询\r\n logtype: '日志类型',\r\n selectLogType: '请选择日志类型',\r\n clientTpe: '客户端类型',\r\n selectType: '请选择客户端类型',\r\n logTime: '日志时间',\r\n opUsername: '操作用户',\r\n exception: '异常',\r\n\r\n // 权限管理\r\n permissionName: '权限名称',\r\n importPermission: '请输入权限名称',\r\n interfaceAddress: '接口地址',\r\n importInterface: '请输入接口地址',\r\n remark: '描述信息',\r\n importRemark: '请输入描述信息',\r\n btnPermission: '按钮权限',\r\n\r\n // 菜单管理\r\n parentMenu: '父级菜单',\r\n selectParentMenu: '请选择父级菜单',\r\n menuCode: '菜单编码',\r\n importmenuCode: '请输入菜单编码',\r\n menuName: '菜单名称',\r\n importmenuName: '请输入菜单名称',\r\n menuType: '菜单类型',\r\n icon: '图标',\r\n importicon: '请输入图标',\r\n param: '参数',\r\n importParam: '请输入参数',\r\n isopen: '是否打开新窗口',\r\n isShowMenu: '是否显示在侧边栏',\r\n menuErrMsg: '菜单编码长度必须位于3到100之间',\r\n menuErrMsg2: '菜单名字长度必须位于2到50之间',\r\n\r\n // 角色管理\r\n RoleName: '角色名称',\r\n role: '角色',\r\n importRole: '请输入角色名称',\r\n roleCode: '角色编码',\r\n importRoleCode: '请输入角色编码',\r\n Rolekeywords: '请输入角色名称、编码',\r\n permissionEdit: '权限编辑',\r\n power: '权限',\r\n checkAll: '全选',\r\n\r\n // 基地管理\r\n baseName: '基地名称',\r\n base: '基地',\r\n importbaseName: '请输入基地名称',\r\n shortName: '基地简称',\r\n importBaseShortName: '请输入基地简称',\r\n baseCode: '基地编码',\r\n importbaseCode: '请输入基地名称',\r\n basekeywords: '请输入基地名称、编码',\r\n\r\n // 用户管理\r\n usercode: '用户编码',\r\n user: '用户',\r\n importUserCode: '请输入用户编码',\r\n position: '岗位',\r\n importposition: '请输岗位',\r\n email: '邮箱',\r\n importEmail: '请输入邮箱',\r\n emailErrMsg: '电子邮件格式有误',\r\n account: '账号',\r\n importAccount: '请输入账号',\r\n isAdmin: '是否管理员',\r\n phone: '电话',\r\n phoneErrMsg: '移动电话格式有误',\r\n importPhone: '请输入电话',\r\n userkeywords: '请输入用户名、账号、用户编码,电话',\r\n oldPassword: '旧密码',\r\n importOldPwd: '请输入旧密码',\r\n newPwd: '新密码',\r\n importNewPwd: '请输入新密码',\r\n confirmPwd: '确认密码',\r\n confirmAgain: '再次填写确认',\r\n updatePwd: '修改密码',\r\n pwdNotEqual: '两次填写密码不一致'\r\n};\r\nexport default zh;\r\n","const en = {\r\n // 通用\r\n loading: 'loading...',\r\n language: 'language',\r\n backHome: 'back homepage',\r\n backUp: 'Return to the previous page',\r\n page403: 'Sorry, you do not have any access to the page',\r\n page404: 'Sorry, the page you visited does not exist',\r\n page500: 'Sorry, the server had an error',\r\n noData: 'No data',\r\n seq: 'Seq',\r\n status: 'status',\r\n importSeq: 'Please enter a seq',\r\n add: 'Add',\r\n delete: 'delete',\r\n operate: 'operate',\r\n edit: 'edit',\r\n query: 'query',\r\n date: 'date',\r\n to: 'to',\r\n startTime: 'Start time',\r\n endTime: 'End time',\r\n keywords: 'keywords',\r\n importkeys: 'please enter a keywords',\r\n back: 'back',\r\n yes: 'yes',\r\n no: 'no',\r\n save: 'save',\r\n cancel: 'cancel',\r\n enable: 'enable',\r\n disabled: 'disabled',\r\n lastweek: 'last week',\r\n lasmonth: 'last months',\r\n lasmonth3: 'last three months',\r\n // 导航栏\r\n goBackgourd: 'Enter the background',\r\n sysLogin: 'system login',\r\n sysManagelogin: 'System management login',\r\n backManager: 'Safety manage platform -BAM',\r\n self_platform: 'contractor self-service platform',\r\n exam_platform: 'Contractor online exam',\r\n appliaction: 'appliaction',\r\n trainexam: 'On-line train exam -Mobile ',\r\n mobile: 'Safety manage platform -Mobile',\r\n android_app: 'Android APP',\r\n\r\n homeTitle_01: 'Safety management platform',\r\n homeTitle_011_child: 'Contractor management',\r\n homeTitle_012_child: 'Safety train',\r\n homeTitle_013_child: 'Check violation',\r\n homeTitle_014_child: 'Tool management',\r\n homeTitle_015_child: 'Vehicle management',\r\n homeTitle_016_child: 'System management',\r\n\r\n homeTitle_02: 'standardized training exam',\r\n homeTitle_021_child: 'Book a training',\r\n homeTitle_022_child: 'Question bank classification',\r\n homeTitle_023_child: 'Exam paper management',\r\n homeTitle_024_child: 'face recognition',\r\n homeTitle_025_child: 'Exam Statistics',\r\n homeTitle_026_child: 'Mobile training management',\r\n\r\n homeTitle_03: 'Violation inspection',\r\n homeTitle_031_child: 'Illegal entry',\r\n homeTitle_032_child: 'Violation audit',\r\n homeTitle_033_child: 'Illegal management',\r\n homeTitle_034_child: 'Illegal regulations',\r\n homeTitle_035_child: 'Incident investigation',\r\n homeTitle_036_child: 'Illegal Statistics',\r\n\r\n // 登录\r\n login: 'Login',\r\n username: 'UserName',\r\n pwd: 'password',\r\n savePwd: 'Remember the password ',\r\n validCode: 'Valid Code',\r\n upvalidimg: 'Click to switch pictures',\r\n importUserName: 'Please enter a username',\r\n importPwd: 'Please enter a Password',\r\n importPwdErr: 'Your password complexity is too low (must contain text, numbers, special characters, 8-20 characters)!',\r\n importvalidCode: 'Please enter a ValidCode',\r\n loginSuccess: 'Login Successfully',\r\n\r\n // 后台首页\r\n home: ' Home',\r\n proscenium: 'Return proscenium',\r\n outlogin: 'Out Login',\r\n outok: 'Out successfully',\r\n\r\n // 首页 轮播图接口\r\n picture: 'picture',\r\n importPic: 'Please enter a picture',\r\n slideshow: 'slideshow',\r\n\r\n // 首页分类\r\n menu: ' Menu',\r\n selectMenu: 'Please select the menu',\r\n name: 'name',\r\n Ename: 'English name',\r\n importName: 'Please enter a name',\r\n importEName: 'Please enter a English name',\r\n classify: 'classify',\r\n\r\n // 文件上传控件\r\n upfileMsg: 'Drag the file here, or',\r\n upfileMsg2: 'Only jpg / png images can be uploaded and no more than 500kb',\r\n upfileMsg3: 'Only the jpg / png images can be uploaded',\r\n upfileMsg4: 'Upload picture size cannot exceed 500kb',\r\n clickFile: 'Click to upload',\r\n\r\n // 首页内容\r\n title: 'title',\r\n importTit: 'please enter a title',\r\n content: 'content',\r\n importClass: 'please enter a classify',\r\n importContent: 'please enter a content',\r\n\r\n // 首页菜单\r\n path: 'path',\r\n importPath: 'please enter a path',\r\n\r\n // 日志查询\r\n logtype: 'Log type',\r\n selectLogType: 'Please select the log type',\r\n clientTpe: 'client type',\r\n selectType: 'Please select the client type',\r\n logTime: 'logTime',\r\n opUsername: 'operate userName',\r\n exception: 'exception',\r\n\r\n // 权限管理\r\n permissionName: 'Permission name',\r\n importPermission: 'please enter a permission name',\r\n interfaceAddress: 'interface address',\r\n importInterface: 'please enter a interface address',\r\n remark: 'remark',\r\n importRemark: 'please enter a remark',\r\n btnPermission: ' button permissions',\r\n\r\n // 菜单管理\r\n parentMenu: 'Parent menu',\r\n selectParentMenu: 'Please select the Parent Menu',\r\n menuCode: 'menu code',\r\n importmenuCode: 'please enter a menu Code',\r\n menuName: 'menu Name',\r\n importmenuName: 'please enter a menu Name',\r\n menuType: 'menu type',\r\n icon: 'icon',\r\n importicon: 'please enter a icon',\r\n param: 'parameter',\r\n importParam: 'please enter a parameter',\r\n isopen: 'Opens the new window not',\r\n isShowMenu: 'Does it appear in the sidebar not',\r\n menuErrMsg: 'The menu encoding length must be between 3 and 100',\r\n menuErrMsg2: 'The menu name length must be between 2 and 50',\r\n\r\n // 角色管理\r\n RoleName: 'role name',\r\n role: 'role',\r\n importRole: 'please enter a role name',\r\n roleCode: 'role code',\r\n importRoleCode: 'please enter a role code',\r\n Rolekeywords: 'Please enter the role name, the encoding',\r\n permissionEdit: 'perminssion edit',\r\n power: 'power',\r\n checkAll: 'check all',\r\n\r\n // 基地管理\r\n baseName: 'base name',\r\n base: 'base',\r\n importbaseName: 'please enter a role base name',\r\n shortName: 'base short name',\r\n importBaseShortName: 'please enter a role base short name',\r\n baseCode: 'base code',\r\n importbaseCode: 'please enter a role base code',\r\n basekeywords: 'Please enter the base name and encode',\r\n\r\n // 用户管理\r\n usercode: 'user code',\r\n user: ' user',\r\n importUserCode: 'please enter a user code',\r\n position: 'position',\r\n importposition: 'please enter a position',\r\n email: 'email',\r\n importEmail: 'please enter a email',\r\n emailErrMsg: 'Wrong email format',\r\n account: 'account',\r\n importAccount: 'please enter a account',\r\n isAdmin: 'is admin?',\r\n phone: 'phone',\r\n phoneErrMsg: 'The mobile phone is misformed',\r\n importPhone: 'please enter a phone',\r\n userkeywords: 'Please enter the user name,account,user number,phone number',\r\n oldPassword: 'old password',\r\n importOldPwd: 'please enter a old password',\r\n newPwd: 'new password',\r\n importNewPwd: 'please enter a new password',\r\n confirmPwd: 'confirm password',\r\n confirmAgain: 'fill in the confirmation again',\r\n updatePwd: 'change password',\r\n pwdNotEqual: 'The password is inconsistent twice'\r\n};\r\nexport default en;\r\n","import Vue from 'vue';\r\nimport VueI18n from 'vue-i18n';\r\nimport '@/utils/mouse-event';\r\nimport './element-ui';\r\nimport Navigation from 'vue-navigation';\r\nimport App from './App.vue';\r\nimport router from './router';\r\nimport './router/permission';\r\nimport store from './store';\r\nimport '@/utils/export';\r\nimport Cookie from '@/utils/cookie';\r\nimport Message from '@/utils/message';\r\nimport '@/utils/network';\r\nimport permission from '@/utils/permission';\r\nimport ReadOnly from '@/directive/permission';\r\nimport NumberOnly from '@/directive/number-only';\r\nimport zh from '@/lang/zh';\r\nimport en from '@/lang/en';\r\nimport './scss/element-variables.scss';\r\nimport './scss/index.scss';\r\n\r\nVue.config.productionTip = false;\r\n\r\nVue.use(Navigation, { router, store, keyName: 'key' });\r\n\r\n// 判断只读函数\r\nVue.use(permission);\r\n\r\n// 判断只读指令\r\nVue.use(ReadOnly);\r\n// 只能输入数字指令\r\nVue.use(NumberOnly);\r\nVue.use(VueI18n);\r\nconst i18n = new VueI18n({\r\n locale: Cookie.get('lanConfig') ? Cookie.get('lanConfig') : 'zh', // 定义默认语言为中文\r\n messages: {\r\n zh, // 语言包所在的文件位置\r\n en\r\n }\r\n});\r\n\r\nVue.prototype.$message = Message;\r\n\r\nnew Vue({\r\n i18n, // 中英文挂在到vue\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount('#app');","module.exports = __webpack_public_path__ + \"img/APPExamLogin.adde4e7e.png\";","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import { pageKey } from '@/config';\r\nimport Sess from './sess';\r\n\r\nfunction getPage() {\r\n return Sess.get(pageKey);\r\n}\r\n\r\nfunction setPage(page) {\r\n return Sess.set(pageKey, page);\r\n}\r\n\r\nfunction removePage() {\r\n return Sess.remove(pageKey);\r\n}\r\n\r\nexport {\r\n getPage,\r\n setPage,\r\n removePage\r\n};","/**\r\n * 判断是否是外部链接\r\n * @param { String } path 路径\r\n * @return { Boolean } 是为true,否则为false\r\n */\r\nfunction isExternal(path) {\r\n const reg = /^https?/;\r\n return reg.test(path);\r\n}\r\n\r\n/**\r\n * 是否是整数\r\n * @param { String } value 值\r\n * @return 是为true,否则为false\r\n */\r\nfunction isInteger(value) {\r\n const reg = /^\\d+$/;\r\n return reg.test(value);\r\n}\r\n\r\n/**\r\n * 是否是数字\r\n * @param { String } value 值\r\n * @return 是为true,否则为false\r\n */\r\nfunction isNumber(value) {\r\n const reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/;\r\n return reg.test(value);\r\n}\r\n\r\n/**\r\n * 是否是非法字符 \":34 ':39 /:47 <:60 >:62 \\:92\r\n * @param { String } value 值\r\n * @param { Boolean } exclude 是否排除 <>\r\n * @return 是为true,否则为false\r\n */\r\nfunction isIllegalChar(value, exclude = false) {\r\n let validate = false;\r\n if (value.indexOf('$') >= 0) {\r\n return true;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n if (\r\n value.charCodeAt(i) === 34 ||\r\n value.charCodeAt(i) === 39 ||\r\n (\r\n exclude ? value.charCodeAt(i) === 47\r\n : value.charCodeAt(i) === 60 || value.charCodeAt(i) === 62\r\n ) ||\r\n value.charCodeAt(i) === 92\r\n ) {\r\n validate = true;\r\n }\r\n if (validate) {\r\n break;\r\n }\r\n }\r\n return validate;\r\n}\r\n\r\nexport {\r\n isExternal,\r\n isInteger,\r\n isNumber,\r\n isIllegalChar\r\n};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};","/**\r\n * 格式化时间\r\n * @param date 时间对象\r\n * @param fmt 格式,如:yyyy-MM-dd hh:mm:ss\r\n * @return {String} 格式化时间\r\n */\r\nexport function formatDate(date, fmt = 'yyyy-MM-dd') {\r\n if (!date) {\r\n return '';\r\n }\r\n if (typeof date !== 'object') {\r\n date = new Date(date);\r\n }\r\n if (/(y+)/.test(fmt)) {\r\n fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));\r\n }\r\n const 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 };\r\n for (const k in o) {\r\n if (new RegExp(`(${k})`).test(fmt)) {\r\n const str = o[k] + '';\r\n fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));\r\n }\r\n }\r\n return fmt;\r\n}\r\n\r\n/**\r\n * 自动补0\r\n * @param str 需要补0的字符串\r\n */\r\nfunction padLeftZero(str) {\r\n return ('00' + str).substr(str.length);\r\n}","\r\nimport http from '../.././http';\r\n/**\r\n * 用户管理接口\r\n */\r\n// 新增、修改\r\nexport function saveOrUpdateUser(params) {\r\n return http.post('User/SaveUser', params);\r\n}\r\n/**\r\n * 修改密码\r\n * @param {} params\r\n * @returns\r\n */\r\nexport function UpdatePwd(params) {\r\n return http.post('User/UpdatePwd', params);\r\n}\r\n// 列表\r\nexport function accountList(params) {\r\n return http.get('User/GetUserPage', { params });\r\n}\r\n// 修改状态\r\nexport function updateStatusUser(params) {\r\n return http.post('User/updateStatusUser', params);\r\n}\r\n// 根据ID获得实体\r\nexport function userDetail(params) {\r\n return http.get('User/GetUser', { params });\r\n}\r\n// 删除\r\nexport function deleteUser(params) {\r\n return http.post('User/DeleteUser', params, { headers: { 'Content-Type': 'application/json' }});\r\n}\r\n// 批量删除\r\nexport function deleteUserList(params) {\r\n return http.post('User/deleteUserList', params, { headers: { 'Content-Type': 'application/json' }});\r\n}\r\n// 所有租户\r\nexport function company(params) {\r\n return http.get('sBase/findCompanylist', { params });\r\n}\r\n","import CryptoJS from 'crypto-js';\r\n\r\n/**\r\n * BASE64加密\r\n * @param data 数据\r\n */\r\nconst Base64 = {\r\n en: (data) => CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(data)),\r\n de: (data) => CryptoJS.enc.Base64.parse(data).toString(CryptoJS.enc.Utf8)\r\n};\r\n\r\n/**\r\n * MD5加密\r\n * @param data 数据\r\n */\r\nconst MD5 = (data) => {\r\n return CryptoJS.MD5(data).toString();\r\n};\r\n\r\nexport {\r\n Base64,\r\n MD5\r\n};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};","module.exports = __webpack_public_path__ + \"img/logo.a06bfef7.png\";","import Vue from 'vue';\r\nimport VueRouter from 'vue-router';\r\nimport MesLayout from '@/components/layout';\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: '/',\r\n redirect: '/home/index'\r\n },\r\n {\r\n path: '/redirect',\r\n name: 'redirect',\r\n component: MesLayout,\r\n children: [\r\n {\r\n path: '/redirect/:path(.*)',\r\n name: 'redirectIndex',\r\n component: () => import('@/views/redirect/index.vue')\r\n }\r\n ]\r\n },\r\n {\r\n path: '/403',\r\n name: 'error403',\r\n component: () => import('@/views/error/403.vue'),\r\n meta: {\r\n title: '403'\r\n }\r\n },\r\n {\r\n path: '/404',\r\n name: 'error404',\r\n component: () => import('@/views/error/404.vue'),\r\n meta: {\r\n title: '404'\r\n }\r\n },\r\n {\r\n path: '/500',\r\n name: 'error500',\r\n component: () => import('@/views/error/500.vue'),\r\n meta: {\r\n title: '500'\r\n }\r\n }\r\n];\r\n\r\nconst createRouter = () => new VueRouter({\r\n // mode: 'history',\r\n base: process.env.BASE_URL,\r\n scrollBehavior: (to, form, savedPosition) => {\r\n if (savedPosition) {\r\n return savedPosition;\r\n }\r\n return {\r\n y: 0\r\n };\r\n },\r\n routes\r\n});\r\n\r\nconst router = createRouter();\r\n\r\n// 重置路由\r\nexport function resetRouter() {\r\n const newRouter = createRouter();\r\n router.matcher = newRouter.matcher;\r\n}\r\n\r\n// 处理路由跳转报错\r\n['push', 'replace'].forEach(type => {\r\n const original = VueRouter.prototype[type];\r\n VueRouter.prototype[type] = function type(location) {\r\n return original.call(this, location).catch(err => err);\r\n };\r\n});\r\n\r\nexport default router;","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!./index.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};","import http from '../.././http';\r\n// 验证码\r\nexport function getVerify(params) {\r\n return http.get('login/getVerify', { params, responseType: 'blob' });\r\n}\r\n\r\n// 第三方系统嵌入登录\r\nexport function loginByUserName(params) {\r\n return http.post('service-account/admin/loginWithUserName', params);\r\n}\r\n\r\n// 系统登录\r\nexport function postLogin(params) {\r\n return http.post('login/login', params);\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};","module.exports = __webpack_public_path__ + \"img/APP.cd9f4697.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{attrs:{\"top\":\"5vh\",\"title\":_vm.title,\"width\":_vm.width,\"visible\":_vm.visible,\"show\":_vm.show,\"append-to-body\":_vm.appendToBody,\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.visible=$event},\"close\":_vm.handleClose}},[_vm._t(\"default\"),(_vm.showDialogFooter)?_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(_vm.showConfirmButton)?_c('el-button',{attrs:{\"type\":\"primary\",\"loading\":_vm.loading},on:{\"update:loading\":function($event){_vm.loading=$event},\"click\":_vm.handleConfirmButton}},[_vm._v(\" \"+_vm._s(_vm.save)+\" \")]):_vm._e(),(_vm.showCancelButton)?_c('el-button',{on:{\"click\":function($event){_vm.visible = false}}},[_vm._v(\" \"+_vm._s(_vm.cancel)+\" \")]):_vm._e()],1):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n {{ save }}\r\n \r\n \r\n {{ cancel }}\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=ebccc9d8&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios';\r\nimport qs from 'qs';\r\n\r\n/**\r\n * 取消重复请求\r\n */\r\nconst request = {\r\n // pending 的请求\r\n pendingRequest: new Map(),\r\n // 用于根据当前请求的信息,生成请求 Key\r\n genKey(config) {\r\n /* eslint-disable */\r\n let { method, url, params, data } = config;\r\n\r\n // response 里面返回的 config.data 是字符串\r\n if (typeof data === 'string') {\r\n data = JSON.parse(data);\r\n }\r\n\r\n return [\r\n method,\r\n url,\r\n qs.stringify(params),\r\n qs.stringify(data)\r\n ].join('&');\r\n },\r\n // 用于把当前请求信息添加到 pendingRequest 对象\r\n add(config) {\r\n // 同一接口不同参数的请求,取消前面的 pending 的请求\r\n const { method, url } = config;\r\n const key = method + '&' + url;\r\n for (const [url, cancelToken] of this.pendingRequest) {\r\n if (url.startsWith(key)) {\r\n cancelToken(url);\r\n this.pendingRequest.delete(url);\r\n }\r\n }\r\n\r\n const requestKey = this.genKey(config);\r\n // 取消请求\r\n config.cancelToken = config.cancelToken || new axios.CancelToken(cancel => {\r\n if (!this.pendingRequest.has(requestKey)) {\r\n this.pendingRequest.set(requestKey, cancel);\r\n }\r\n });\r\n },\r\n // 检查是否存在重复请求,若存在则取消已发请求\r\n remove(config) {\r\n const requestKey = this.genKey(config);\r\n // 同一接口同一参数的重复请求,取消已发送的请求\r\n if (this.pendingRequest.has(requestKey)) {\r\n const cancelToken = this.pendingRequest.get(requestKey);\r\n cancelToken(requestKey);\r\n this.pendingRequest.delete(requestKey);\r\n }\r\n }\r\n};\r\n\r\nexport default request;","/**\r\n * axios请求封装\r\n * get、post\r\n */\r\nimport axios from 'axios';\r\nimport store from '@/store';\r\nimport router from '@/router';\r\nimport { baseURL } from '@/config';\r\nimport { getIeVer } from '@/utils';\r\nimport request from '@/utils/request';\r\nimport Message from '@/utils/message';\r\nimport { _loginByUserName } from '@/utils/login';\r\n\r\n// IE版本号\r\nconst ieVer = getIeVer();\r\n\r\n/**\r\n * 跳转登录页\r\n */\r\nconst toLogin = () => {\r\n // 第三方系统嵌入\r\n if (store.state.isIframe) {\r\n _loginByUserName();\r\n } else {\r\n if (router.currentRoute.path === '/home/login') {\r\n return;\r\n }\r\n store.dispatch('resetToken');\r\n const redirect = router.currentRoute.fullPath;\r\n const query = redirect !== '/' ? { redirect } : {};\r\n router.replace({\r\n path: '/home/login',\r\n query\r\n });\r\n }\r\n};\r\n\r\n/**\r\n * 请求响应失败后错误统一处理\r\n * @param {Number} status 失败状态码\r\n * @param {String} message 消息文字\r\n */\r\nconst errorHandler = (status, message) => {\r\n switch (status) {\r\n // 未登录\r\n case 401:\r\n toLogin();\r\n break;\r\n // 权限不足\r\n case 403:\r\n // router.push('/403');\r\n message = '无权限操作,请联系管理员';\r\n break;\r\n // 请求不存在\r\n case 404:\r\n message = '请求出错,请稍后重试';\r\n break;\r\n // 登录失效\r\n case 405:\r\n message = '登录失效,请重新登录';\r\n toLogin();\r\n break;\r\n // 请求实体过大\r\n case 413:\r\n message = '上传文件过大';\r\n break;\r\n // 服务器出错\r\n case 500:\r\n router.push('/500');\r\n break;\r\n // 错误网关\r\n case 502:\r\n message = '错误网关,请稍后重试';\r\n break;\r\n // 服务不可用\r\n case 503:\r\n message = '服务不可用,请稍后重试';\r\n break;\r\n // 网关超时\r\n case 504:\r\n message = '网关超时,请稍后重试';\r\n break;\r\n }\r\n\r\n if (store.state.isIframe && (status === 401 || status === 405)) {\r\n message = '页面登录超时,请重新点击菜单进入';\r\n }\r\n\r\n message && Message.error(message);\r\n};\r\n\r\nconst http = axios.create({\r\n baseURL,\r\n timeout: 60000,\r\n withCredentials: true\r\n});\r\n\r\n// http请求拦截器\r\nhttp.interceptors.request.use(\r\n (config) => {\r\n // 检查是否存在重复请求,若存在则取消已发的请求\r\n request.remove(config);\r\n // 把当前请求信息添加到 pendingRequest 对象中\r\n request.add(config);\r\n\r\n const token = store.state.token;\r\n token && (config.headers.Authorization = token);\r\n return config;\r\n },\r\n (error) => {\r\n // 超时\r\n if (error.message.includes('timeout')) {\r\n Message.error('请求超时,请稍后重试');\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\n// http响应拦截器\r\nhttp.interceptors.response.use(\r\n (res) => {\r\n // 从 pendingRequest 对象中移除请求\r\n request.remove(res.config);\r\n\r\n if (res.status === 200) {\r\n // 数据格式为blob且IE10以下\r\n if (res.config.responseType === 'blob' && ieVer && ieVer < 10) {\r\n Message.error('您的浏览器不支持文件流导出');\r\n }\r\n // 统一错误提示\r\n if (res.data) {\r\n const { code, message } = res.data;\r\n if (code !== 0 && message) {\r\n Message.error(message);\r\n }\r\n }\r\n const { authorization } = res.headers;\r\n if (authorization) {\r\n res.data.authorization = authorization;\r\n }\r\n return Promise.resolve(res.data);\r\n } else {\r\n return Promise.reject(res);\r\n }\r\n },\r\n (error) => {\r\n // 从 pendingRequest 对象中移除请求\r\n request.remove(error.config || {});\r\n if (axios.isCancel(error)) {\r\n console.log('已取消的重复请求:' + error.message);\r\n }\r\n const { response } = error;\r\n if (response) {\r\n const { status, data } = response;\r\n errorHandler(status, data.message);\r\n return Promise.reject(response).catch(() => { });\r\n }\r\n\r\n // 网络未连接\r\n if (!window.navigator.onLine) {\r\n Message.error('网络未连接,请检查网络后重试');\r\n }\r\n\r\n // 超时\r\n if (error.message.includes('timeout')) {\r\n Message.error('响应超时,请稍后重试');\r\n }\r\n\r\n return Promise.reject(error).catch(() => { });\r\n }\r\n);\r\n\r\nexport default http;\r\n\r\n","module.exports = __webpack_public_path__ + \"img/APPLogin.83202ef3.png\";","import { tokenKey } from '@/config';\r\nimport Cookie from './cookie';\r\nimport store from '@/store';\r\n\r\nfunction getToken() {\r\n return Cookie.get(tokenKey);\r\n}\r\n\r\nfunction setToken(token) {\r\n store.dispatch('setToken', token);\r\n return Cookie.set(tokenKey, token);\r\n}\r\n\r\nfunction removeToken() {\r\n return Cookie.remove(tokenKey);\r\n}\r\n\r\nexport {\r\n getToken,\r\n setToken,\r\n removeToken\r\n};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};","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!./index.vue?vue&type=style&index=0&lang=scss&\"","var map = {\n\t\"./application\": [\n\t\t\"683a\",\n\t\t\"chunk-2e7254ef\"\n\t],\n\t\"./application/\": [\n\t\t\"683a\",\n\t\t\"chunk-2e7254ef\"\n\t],\n\t\"./application/index\": [\n\t\t\"683a\",\n\t\t\"chunk-2e7254ef\"\n\t],\n\t\"./application/index.vue\": [\n\t\t\"683a\",\n\t\t\"chunk-2e7254ef\"\n\t],\n\t\"./index\": [\n\t\t\"0351\",\n\t\t\"chunk-a2a2932e\"\n\t],\n\t\"./index/\": [\n\t\t\"0351\",\n\t\t\"chunk-a2a2932e\"\n\t],\n\t\"./index/index\": [\n\t\t\"0351\",\n\t\t\"chunk-a2a2932e\"\n\t],\n\t\"./index/index.vue\": [\n\t\t\"0351\",\n\t\t\"chunk-a2a2932e\"\n\t],\n\t\"./login\": [\n\t\t\"984a\",\n\t\t\"chunk-40128e84\"\n\t],\n\t\"./login/\": [\n\t\t\"984a\",\n\t\t\"chunk-40128e84\"\n\t],\n\t\"./login/index\": [\n\t\t\"984a\",\n\t\t\"chunk-40128e84\"\n\t],\n\t\"./login/index.vue\": [\n\t\t\"984a\",\n\t\t\"chunk-40128e84\"\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 __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"d3dd\";\nmodule.exports = webpackAsyncContext;","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!./index.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};","import { setToken } from '@/utils/token';\r\nimport { setUser } from '@/utils/user';\r\nimport { formatDate } from '@/filters';\r\n\r\n/**\r\n * 获取合并行数组\r\n * @param {Array} data 数据\r\n * @return {String} prop 属性\r\n * @return {Array} spanArr 合并行数组\r\n */\r\nfunction getRowSpan(data, prop) {\r\n const spanArr = [];\r\n let pos = 0;\r\n data.forEach((item, index) => {\r\n if (index === 0) {\r\n spanArr.push(1);\r\n pos = 0;\r\n } else {\r\n if (data[index][prop] === data[index - 1][prop]) {\r\n spanArr[pos] += 1;\r\n spanArr.push(0);\r\n } else {\r\n spanArr.push(1);\r\n pos = index;\r\n }\r\n }\r\n });\r\n return spanArr;\r\n}\r\n\r\n/**\r\n * 获取IE10或以下版本\r\n * @return {Number} 版本号\r\n */\r\nfunction getIeVer() {\r\n const reg = /MSIE\\s+(\\d+)/;\r\n const exec = reg.exec(navigator.userAgent);\r\n return exec ? exec[1] : 0;\r\n}\r\n\r\n/**\r\n * 通过key获取url的参数值\r\n * @param {String} key\r\n * @return url的参数值\r\n */\r\nfunction getQueryString(key) {\r\n const reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');\r\n const value = window.location.search.substring(1).match(reg);\r\n return value != null ? decodeURIComponent(value[2]) : null;\r\n}\r\n\r\n/**\r\n * 登录成功提示并存储用户信息和身份凭证\r\n * @return {String} data 用户数据\r\n * @return {String} authorization 身份凭证\r\n */\r\nfunction setUserInfo(data, authorization) {\r\n setToken(authorization);\r\n setUser(data);\r\n}\r\n\r\n/**\r\n * 浮点数高精度计算\r\n * @param {Number, String} num 数字\r\n * @param {Number} precision 精度\r\n * @return {Number} 不丢精度的数字\r\n */\r\nconst numberPrecision = (num, precision = 12) => {\r\n if (typeof num === 'string') {\r\n num = parseFloat(num);\r\n }\r\n return +parseFloat(num.toPrecision(precision));\r\n};\r\n\r\n/**\r\n * 计算相差毫秒数\r\n * @param {String} startDate 开始日期\r\n * @param {String} endDate 结束日期\r\n * @return {Number} 相差毫秒数\r\n */\r\nconst diffTime = (startDate, endDate) => {\r\n // 开始时间毫秒数\r\n const startTime = new Date(startDate).getTime();\r\n // 结束时间毫秒数\r\n const endTime = new Date(endDate).getTime();\r\n // 相差毫秒数\r\n return endTime - startTime;\r\n};\r\n\r\n/**\r\n * 获取指定日期上一天、下一天\r\n * @param {String|Object} date 指定日期\r\n * @param {Number} day 天数\r\n * @return {String} 日期\r\n */\r\nconst getNextDate = (date, day) => {\r\n const d = new Date(date);\r\n d.setDate(d.getDate() + day);\r\n return formatDate(d);\r\n};\r\n\r\n/**\r\n * 字符串拆分数组\r\n * @param {String} data 字符串数据\r\n * @return {Array} 拆分后的数组\r\n */\r\nconst split2Array = (data) => {\r\n if (data) {\r\n return data.split(',');\r\n }\r\n\r\n return [];\r\n};\r\n\r\nexport {\r\n getRowSpan,\r\n getIeVer,\r\n getQueryString,\r\n setUserInfo,\r\n numberPrecision,\r\n diffTime,\r\n getNextDate,\r\n split2Array\r\n};","import { formatDate } from '@/filters';\r\n\r\n// 系统名称\r\nconst systemName = '巴斯夫安全管理平台';\r\n\r\n// 接口地址\r\nconst baseURL = process.env.VUE_APP_IFDEBUG === 'true' ? '/paasapi' : process.env.VUE_APP_API_PATH;\r\n\r\nconst date = new Date();\r\n\r\n// 今天\r\nconst today = formatDate(date);\r\n\r\n// 时间戳\r\nconst timestamp = 3600 * 1000 * 24;\r\n\r\n// 昨天\r\nconst yesterday = formatDate(date.getTime() - timestamp);\r\n\r\n// 最近一个月\r\nlet lastMonthDay = new Date();\r\nlastMonthDay.setTime(lastMonthDay.getTime() - timestamp * 30);\r\nlastMonthDay = formatDate(lastMonthDay);\r\n\r\n// 每月1号\r\nlet startDay = new Date();\r\nstartDay.setTime(new Date(startDay.getFullYear(), startDay.getMonth(), 1));\r\nstartDay = formatDate(startDay);\r\n\r\n// 本月\r\nconst currentMonth = formatDate(date, 'yyyy-MM');\r\n\r\n// 最近一年\r\nlet lastYearDay = new Date();\r\nlastYearDay.setTime(lastYearDay.getTime() - timestamp * 365);\r\nlastYearDay = formatDate(lastYearDay);\r\n\r\n// 时间范围快捷选项配置\r\nconst pickerOptions = {\r\n shortcuts: [\r\n {\r\n text: '最近一周',\r\n onClick(picker) {\r\n const start = new Date();\r\n start.setTime(start.getTime() - timestamp * 7);\r\n picker.$emit('pick', [start, date]);\r\n }\r\n },\r\n {\r\n text: '最近一个月',\r\n onClick(picker) {\r\n const start = new Date();\r\n start.setTime(start.getTime() - timestamp * 30);\r\n picker.$emit('pick', [start, date]);\r\n }\r\n },\r\n {\r\n text: '最近三个月',\r\n onClick(picker) {\r\n const start = new Date();\r\n start.setTime(start.getTime() - timestamp * 90);\r\n picker.$emit('pick', [start, date]);\r\n }\r\n }\r\n ]\r\n};\r\n\r\n// 禁用当前时间之前的时间配置\r\nconst disabledBeforePickerOptions = {\r\n disabledDate(time) {\r\n return time.getTime() < Date.now() - 8.64e6;\r\n }\r\n};\r\n\r\n// 禁用当前时间之后的时间配置\r\nconst disabledAfterPickerOptions = {\r\n disabledDate(time) {\r\n return time.getTime() > Date.now() - 8.64e6;\r\n }\r\n};\r\n\r\n// 白名单\r\nconst whiteList = [\r\n '/',\r\n '/home/index',\r\n '/home/application',\r\n '/home/login',\r\n '/403',\r\n '/404',\r\n '/500'\r\n];\r\n\r\n// token存储key\r\nconst tokenKey = 'token';\r\n\r\n// 用户信息存储key\r\nconst userKey = 'user';\r\n\r\n// 分页存储key\r\nconst pageKey = 'page';\r\n\r\n// 搜索存储key\r\nconst searchKey = 'search';\r\n\r\nexport {\r\n baseURL,\r\n systemName,\r\n today,\r\n timestamp,\r\n yesterday,\r\n lastMonthDay,\r\n lastYearDay,\r\n startDay,\r\n currentMonth,\r\n pickerOptions,\r\n disabledBeforePickerOptions,\r\n disabledAfterPickerOptions,\r\n whiteList,\r\n tokenKey,\r\n userKey,\r\n pageKey,\r\n searchKey\r\n};\r\n","/**\r\n * cookie操作\r\n * 存储、读取、删除\r\n */\r\nconst Cookie = {\r\n /**\r\n * 保存cookie\r\n * @param name cookie名字\r\n * @param value 值\r\n * @param day 到期时间天数\r\n */\r\n set(name, value, day) {\r\n const expires = day ? new Date(Date.now() + day * 864e5).toUTCString() : '';\r\n document.cookie = `${name}=${encodeURIComponent(value)}; expires=${expires}; path=/`;\r\n },\r\n /**\r\n * 获取cookie\r\n * @param name cookie名字\r\n */\r\n get(name) {\r\n const cookies = document.cookie.match(new RegExp('(^| )' + name + '=([^;]*)(;|$)'));\r\n if (cookies !== null) {\r\n return decodeURIComponent(cookies[2]);\r\n } else {\r\n return null;\r\n }\r\n },\r\n /**\r\n * 删除cookie\r\n * @param name cookie名字\r\n */\r\n remove(name) {\r\n this.set(name, '', -1);\r\n }\r\n};\r\n\r\nexport default Cookie;","module.exports = __webpack_public_path__ + \"img/logo-small.ec8b7686.png\";","import { userKey } from '@/config';\r\nimport Cookie from './cookie';\r\nimport store from '@/store';\r\n\r\nfunction getUser() {\r\n return JSON.parse(Cookie.get(userKey));\r\n}\r\n\r\nfunction setUser(user) {\r\n store.dispatch('setUser', user);\r\n return Cookie.set(userKey, JSON.stringify(user));\r\n}\r\n\r\nfunction removeUser() {\r\n return Cookie.remove(userKey);\r\n}\r\n\r\nexport {\r\n getUser,\r\n setUser,\r\n removeUser\r\n};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuFontColor\":\"rgba(255,255,255,.7)\",\"menuHoverFontColor\":\"#fff\",\"menuBackgroundColor\":\"#191a23\"};"],"sourceRoot":""}
\r\n \r\n
{{ systemName }}