\n\n\n\n\n\n\n\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(!_vm.$route.meta.NoNeedHome)?_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('el-row',{staticClass:\"container\",staticStyle:{\"min-width\":\"1200px\",\"min-height\":\"900px\"}},[_c('el-col',{staticClass:\"header\",attrs:{\"span\":24}},[_c('el-col',{staticClass:\"logo collapsedLogo\",class:_vm.collapsed ? 'logo-collapse-width' : 'logo-width',attrs:{\"span\":10}},[_c('div',{on:{\"click\":_vm.toindex}},[_vm._v(\" \"+_vm._s(_vm.collapsed ? _vm.sysNameShort : _vm.sysName))])]),_c('el-col',{staticClass:\"logoban\",attrs:{\"span\":10}},[_c('div',{class:_vm.collapsed ? 'tools collapsed' : 'tools',on:{\"click\":_vm.collapse}},[_c('i',{staticClass:\"fa fa-align-justify\"})]),_c('el-breadcrumb',{staticClass:\"breadcrumb-inner collapsedLogo\",attrs:{\"separator\":\"/\"}},_vm._l((_vm.$route.matched),function(item){return _c('el-breadcrumb-item',{key:item.path},[_c('span',{},[_vm._v(\" \"+_vm._s(item.name))])])}),1)],1),_c('el-col',{staticClass:\"userinfo\",attrs:{\"span\":4}},[_c('el-select',{staticClass:\"select-org\",style:(!_vm.ispc ? 'width: 70px;' : ''),attrs:{\"size\":\"mini\",\"placeholder\":\"请选择\"},on:{\"change\":_vm.changeOrg},model:{value:(_vm.currentOrgName),callback:function ($$v) {_vm.currentOrgName=$$v},expression:\"currentOrgName\"}},_vm._l((_vm.getSysOrgs),function(item){return _c('el-option',{key:item.Id,attrs:{\"label\":item.Name,\"value\":item.OrgCode}})}),1),_c('el-dropdown',{attrs:{\"trigger\":\"hover\"}},[_c('span',{staticClass:\"el-dropdown-link userinfo-inner\"},[_vm._v(\"\\n \"+_vm._s(_vm.sysUserName)+\"\\n \"),_c('img',{attrs:{\"src\":_vm.userAvatar,\"height\":\"128\",\"width\":\"128\"}})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.Setting($event)}}},[_vm._v(\"设置\")]),_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.logout($event)}}},[_vm._v(\"退出登录\")])],1)],1)],1)],1),_c('el-col',{staticClass:\"main\",attrs:{\"span\":24}},[_c('aside',{class:_vm.collapsedClass},[_c('el-scrollbar',{staticClass:\"scrollbar-handle\",staticStyle:{\"height\":\"100%\",\"background\":\"#2f3e52\"}},[_c('el-menu',{staticClass:\"el-menu-vertical-demo\",staticStyle:{\"border-right\":\"none\"},attrs:{\"default-active\":_vm.$route.path,\"unique-opened\":\"\",\"router\":\"\",\"collapse\":_vm.collapsed,\"background-color\":\"#2f3e52\",\"text-color\":\"#fff\",\"active-text-color\":\"#ffd04b\"},on:{\"open\":_vm.handleopen,\"close\":_vm.handleclose,\"select\":_vm.handleselect}},_vm._l((_vm.routes),function(menu,index){return _c('sidebar',{key:index,attrs:{\"item\":menu}})}),1)],1)],1),_c('el-col',{staticClass:\"content-wrapper\",class:_vm.collapsed ? 'content-collapsed' : 'content-expanded',attrs:{\"span\":24}},[(_vm.showTags)?_c('div',{staticClass:\"tags\"},[_c('div',{staticClass:\"tags-view-container\",attrs:{\"id\":\"tags-view-container\"}},[_c('scroll-pane',{ref:\"scrollPane\",staticClass:\"tags-view-wrapper\"},_vm._l((_vm.tagsList),function(tag,index){return _c('router-link',{key:tag.path,ref:\"tag\",refInFor:true,staticClass:\"tags-view-item\",class:{ 'active': _vm.isActive(tag.path) },attrs:{\"to\":{ path: tag.path, query: tag.query, fullPath: tag.fullPath },\"tag\":\"span\"},nativeOn:{\"mouseup\":function($event){if('button' in $event && $event.button !== 1){ return null; }return _vm.closeTags(index)}}},[_vm._v(\"\\n \"+_vm._s(tag.title)+\"\\n \"),_c('span',{staticClass:\"el-icon-close\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.closeTags(index)}}})])}),1)],1),_c('div',{staticClass:\"tags-close-box\"},[_c('el-dropdown',{on:{\"command\":_vm.handleTags}},[_c('el-button',{attrs:{\"size\":\"mini\"}},[_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\",\"size\":\"small\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"other\"}},[_vm._v(\"关闭其他\")]),_c('el-dropdown-item',{attrs:{\"command\":\"all\"}},[_vm._v(\"关闭所有\")])],1)],1)],1)]):_vm._e(),_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('div',{staticClass:\"content-az router-view-withly\"},[_c('router-view')],1)])],1)],1)],1)],1):_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('div',[_c('router-view')],1)]),_c('el-dialog',{class:_vm.newsDialogCss,attrs:{\"title\":\"Unread Messages\",\"visible\":_vm.NewsVisible,\"close-on-click-modal\":false},on:{\"update:visible\":function($event){_vm.NewsVisible=$event}},model:{value:(_vm.NewsVisible),callback:function ($$v) {_vm.NewsVisible=$$v},expression:\"NewsVisible\"}},[_c('div',_vm._l((_vm.tagNews),function(tag){return _c('el-tag',{key:tag.name,staticClass:\"tag-new\",attrs:{\"closable\":\"\",\"type\":tag.type}},[_vm._v(\"\\n \"+_vm._s(tag.name)+\"\\n \")])}),1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.SidebarVisible),expression:\"SidebarVisible\"}],staticClass:\"v-modal \",staticStyle:{\"z-index\":\"2999\"},attrs:{\"tabindex\":\"0\"},on:{\"click\":_vm.collapse}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","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=0be52b29&scoped=true&\"\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=css&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&id=0be52b29&lang=less&scoped=true&\"\nimport style2 from \"./App.vue?vue&type=style&index=2&lang=css&\"\nimport style3 from \"./App.vue?vue&type=style&index=3&lang=css&\"\nimport style4 from \"./App.vue?vue&type=style&index=4&lang=css&\"\nimport style5 from \"./App.vue?vue&type=style&index=5&lang=css&\"\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 \"0be52b29\",\n null\n \n)\n\nexport default component.exports","import moment from \"moment\";\n\nexport default {\n //防暴力点击\n delayClick(fn) {\n if (this.isClick) return;\n this.isClick = true;\n fn();\n let T = setTimeout(() => {\n clearTimeout(T);\n this.isClick = false;\n }, 1500);\n },\n //防抖\n delayed() {\n let T = 0;\n return (callback, ms) => {\n clearTimeout(T);\n T = setTimeout(callback, ms);\n };\n },\n /**\n * 查询某个时间是距离当前多久\n * @param {时间} time\n */\n beforeTime(time) {\n return moment(time).fromNow();\n },\n beforeTime2(time) {\n return moment().calendar(time);\n },\n formatDate(date) {\n return moment(date).format(\"YYYY-MM-DD\");\n },\n /**\n * el-table :formatter 用方法\n * 0:普通入库,1:期初入库,2:过磅入库,3:盘点入库,4:采购申请入库\n */\n receiveTypeToStr(row, column, cellValue, index) {\n let str = \"\";\n switch (cellValue) {\n case 0:\n str = \"普通入库\";\n break;\n case 100:\n str = \"期初入库\";\n break;\n case 200:\n str = \"过磅入库\";\n break;\n case 300:\n str = \"盘点入库\";\n break;\n case 400:\n str = \"采购申请入库\";\n break;\n default:\n str = \"未知类型\";\n break;\n }\n return str;\n },\n /**\n * el-table :formatter 用方法\n * 0:普通入库,1:期初入库,2:过磅入库,3:盘点入库,4:采购申请入库\n */\n deliverTypeToStr(row, column, cellValue, index) {\n let str = \"\";\n switch (cellValue) {\n case 0:\n str = \"普通出库\";\n break;\n case 100:\n str = \"期初出库\";\n break;\n case 200:\n str = \"过磅出库\";\n break;\n case 300:\n str = \"盘点出库\";\n break;\n case 400:\n str = \"采购申请出库\";\n break;\n default:\n str = \"未知类型\";\n break;\n }\n return str;\n },\n /**\n * 0:蓝字单,1:红字单\n * @param {*} flag \n * @returns \n */\n rbFlag(row, column, cellValue, index) {\n let str = \"\";\n switch (cellValue) {\n case 0:\n str = \"蓝字单\";\n break;\n case 1:\n str = \"红字单\";\n break;\n default:\n str = \"未知单据\";\n break;\n }\n return str;\n },\n};\n","export default {\n currentUser() {\n let userStr = window.localStorage.getItem(\"user\");\n if (userStr) {\n return JSON.parse(userStr);\n }\n return null;\n },\n};\n","import methods from \"./methods\";\nimport Computed from \"./computed\";\nexport default {\n data() {\n return {};\n },\n computed: Computed,\n mounted() {},\n methods: methods,\n filters: {},\n};\n","export default {\n route: {\n dashboard: 'Dashboard',\n introduction: 'Introduction',\n documentation: 'Documentation',\n guide: 'Guide',\n permission: 'Permission',\n pagePermission: 'Page Permission',\n rolePermission: 'Role Permission',\n directivePermission: 'Directive Permission',\n icons: 'Icons',\n components: 'Components',\n componentIndex: 'Introduction',\n tinymce: 'Tinymce',\n markdown: 'Markdown',\n jsonEditor: 'JSON Editor',\n dndList: 'Dnd List',\n splitPane: 'SplitPane',\n avatarUpload: 'Avatar Upload',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: 'Mixin',\n backToTop: 'BackToTop',\n dragDialog: 'Drag Dialog',\n dragSelect: 'Drag Select',\n dragKanban: 'Drag Kanban',\n charts: 'Charts',\n keyboardChart: 'Keyboard Chart',\n lineChart: 'Line Chart',\n mixChart: 'Mix Chart',\n example: 'Example',\n nested: 'Nested Routes',\n menu1: 'Menu 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menu 2',\n Table: 'Table',\n dynamicTable: 'Dynamic Table',\n dragTable: 'Drag Table',\n inlineEditTable: 'Inline Edit',\n complexTable: 'Complex Table',\n treeTable: 'Tree Table',\n customTreeTable: 'Custom TreeTable',\n tab: 'Tab',\n form: 'Form',\n createArticle: 'Create Article',\n editArticle: 'Edit Article',\n articleList: 'Article List',\n errorPages: 'Error Pages',\n page401: '401',\n page404: '404',\n errorLog: 'Error Log',\n excel: 'Excel',\n exportExcel: 'Export Excel',\n selectExcel: 'Export Selected',\n mergeHeader: 'Merge Header',\n uploadExcel: 'Upload Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Export Zip',\n theme: 'Theme',\n clipboardDemo: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'External Link'\n },\n navbar: {\n logOut: 'Log Out',\n dashboard: 'Dashboard',\n github: 'Github',\n theme: 'Theme',\n size: 'Global Size'\n },\n login: {\n title: 'Login Form',\n logIn: 'Log in',\n username: 'Username',\n password: 'Password',\n any: 'any',\n thirdparty: 'Or connect with',\n thirdpartyTips: 'Can not be simulated on local, so please combine you own business simulation! ! !'\n },\n documentation: {\n documentation: 'Documentation',\n github: 'Github Repository'\n },\n permission: {\n addRole: 'New Role',\n editPermission: 'Edit Permission',\n roles: 'Your roles',\n switchRoles: 'Switch roles',\n tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.',\n delete: 'Delete',\n confirm: 'Confirm',\n cancel: 'Cancel'\n },\n guide: {\n description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',\n button: 'Show Guide'\n },\n components: {\n documentation: 'Documentation',\n tinymceTips: 'Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.',\n dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Fixed header, sorted by header order',\n dynamicTips2: 'Not fixed header, sorted by click order',\n dragTips1: 'The default order',\n dragTips2: 'The after dragging order',\n title: 'Title',\n importance: 'Imp',\n type: 'Type',\n remark: 'Remark',\n search: 'Search',\n add: 'Add',\n export: 'Export',\n reviewer: 'reviewer',\n id: 'ID',\n date: 'Date',\n author: 'Author',\n readings: 'Readings',\n status: 'Status',\n actions: 'Actions',\n edit: 'Edit',\n publish: 'Publish',\n draft: 'Draft',\n delete: 'Delete',\n cancel: 'Cancel',\n confirm: 'Confirm'\n },\n errorLog: {\n tips: 'Please click the bug icon in the upper right corner',\n description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',\n documentation: 'Document introduction'\n },\n excel: {\n export: 'Export',\n selectedExport: 'Export Selected Items',\n placeholder: 'Please enter the file name(default excel-list)'\n },\n zip: {\n export: 'Export',\n placeholder: 'Please enter the file name(default file)'\n },\n pdf: {\n tips: 'Here we use window.print() to implement the feature of downloading pdf.'\n },\n theme: {\n change: 'Change Theme',\n documentation: 'Theme documentation',\n tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'\n },\n tagsView: {\n refresh: 'Refresh',\n close: 'Close',\n closeOthers: 'Close Others',\n closeAll: 'Close All'\n }\n}\n","export default {\n route: {\n dashboard: '首页',\n introduction: '简述',\n documentation: '文档',\n guide: '引导页',\n permission: '权限测试页',\n rolePermission: '角色权限',\n pagePermission: '页面权限',\n directivePermission: '指令权限',\n icons: '图标',\n components: '组件',\n componentIndex: '介绍',\n tinymce: '富文本编辑器',\n markdown: 'Markdown',\n jsonEditor: 'JSON编辑器',\n dndList: '列表拖拽',\n splitPane: 'Splitpane',\n avatarUpload: '头像上传',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: '小组件',\n backToTop: '返回顶部',\n dragDialog: '拖拽 Dialog',\n dragSelect: '拖拽 Select',\n dragKanban: '可拖拽看板',\n charts: '图表',\n keyboardChart: '键盘图表',\n lineChart: '折线图',\n mixChart: '混合图表',\n example: '综合实例',\n nested: '路由嵌套',\n menu1: '菜单1',\n 'menu1-1': '菜单1-1',\n 'menu1-2': '菜单1-2',\n 'menu1-2-1': '菜单1-2-1',\n 'menu1-2-2': '菜单1-2-2',\n 'menu1-3': '菜单1-3',\n menu2: '菜单2',\n Table: 'Table',\n dynamicTable: '动态Table',\n dragTable: '拖拽Table',\n inlineEditTable: 'Table内编辑',\n complexTable: '综合Table',\n treeTable: '树形表格',\n customTreeTable: '自定义树表',\n tab: 'Tab',\n form: '表单',\n createArticle: '创建文章',\n editArticle: '编辑文章',\n articleList: '文章列表',\n errorPages: '错误页面',\n page401: '401',\n page404: '404',\n errorLog: '错误日志',\n excel: 'Excel',\n exportExcel: '导出 Excel',\n selectExcel: '导出 已选择项',\n mergeHeader: '导出 多级表头',\n uploadExcel: '上传 Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Export Zip',\n theme: '换肤',\n clipboardDemo: 'Clipboard',\n i18n: '国际化',\n externalLink: '外链'\n },\n navbar: {\n logOut: '退出登录',\n dashboard: '首页',\n github: '项目地址',\n theme: '换肤',\n size: '布局大小'\n },\n login: {\n title: '系统登录',\n logIn: '登录',\n username: '账号',\n password: '密码',\n any: '随便填',\n thirdparty: '第三方登录',\n thirdpartyTips: '本地不能模拟,请结合自己业务进行模拟!!!'\n },\n documentation: {\n documentation: '文档',\n github: 'Github 地址'\n },\n permission: {\n addRole: '新增角色',\n editPermission: '编辑权限',\n roles: '你的权限',\n switchRoles: '切换权限',\n tips: '在某些情况下,不适合使用 v-permission。例如:Element-UI 的 Tab 组件或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。',\n delete: '删除',\n confirm: '确定',\n cancel: '取消'\n },\n guide: {\n description: '引导页对于一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基于',\n button: '打开引导'\n },\n components: {\n documentation: '文档',\n tinymceTips: '富文本是管理后台一个核心的功能,但同时又是一个有很多坑的地方。在选择富文本的过程中我也走了不少的弯路,市面上常见的富文本都基本用过了,最终权衡了一下选择了Tinymce。更详细的富文本比较和介绍见',\n dropzoneTips: '由于我司业务有特殊需求,而且要传七牛 所以没用第三方,选择了自己封装。代码非常的简单,具体代码你可以在这里看到 @/components/Dropzone',\n stickyTips: '当页面滚动到预设的位置会吸附在顶部',\n backToTopTips1: '页面滚动到指定位置会在右下角出现返回顶部按钮',\n backToTopTips2: '可自定义按钮的样式、show/hide、出现的高度、返回的位置 如需文字提示,可在外部使用Element的el-tooltip元素',\n imageUploadTips: '由于我在使用时它只有vue@1版本,而且和mockjs不兼容,所以自己改造了一下,如果大家要使用的话,优先还是使用官方版本。'\n },\n table: {\n dynamicTips1: '固定表头, 按照表头顺序排序',\n dynamicTips2: '不固定表头, 按照点击顺序排序',\n dragTips1: '默认顺序',\n dragTips2: '拖拽后顺序',\n title: '标题',\n importance: '重要性',\n type: '类型',\n remark: '点评',\n search: '搜索',\n add: '添加',\n export: '导出',\n reviewer: '审核人',\n id: '序号',\n date: '时间',\n author: '作者',\n readings: '阅读数',\n status: '状态',\n actions: '操作',\n edit: '编辑',\n publish: '发布',\n draft: '草稿',\n delete: '删除',\n cancel: '取 消',\n confirm: '确 定'\n },\n errorLog: {\n tips: '请点击右上角bug小图标',\n description: '现在的管理后台基本都是spa的形式了,它增强了用户体验,但同时也会增加页面出问题的可能性,可能一个小小的疏忽就导致整个页面的死锁。好在 Vue 官网提供了一个方法来捕获处理异常,你可以在其中进行错误处理或者异常上报。',\n documentation: '文档介绍'\n },\n excel: {\n export: '导出',\n selectedExport: '导出已选择项',\n placeholder: '请输入文件名(默认excel-list)'\n },\n zip: {\n export: '导出',\n placeholder: '请输入文件名(默认file)'\n },\n pdf: {\n tips: '这里使用 window.print() 来实现下载pdf的功能'\n },\n theme: {\n change: '换肤',\n documentation: '换肤文档',\n tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。'\n },\n tagsView: {\n refresh: '刷新',\n close: '关闭',\n closeOthers: '关闭其它',\n closeAll: '关闭所有'\n }\n}\n","export default {\n route: {\n dashboard: 'Panel de control',\n introduction: 'Introducción',\n documentation: 'Documentación',\n guide: 'Guía',\n permission: 'Permisos',\n rolePermission: 'Permisos de rol',\n pagePermission: 'Permisos de la página',\n directivePermission: 'Permisos de la directiva',\n icons: 'Iconos',\n components: 'Componentes',\n componentIndex: 'Introducción',\n tinymce: 'Tinymce',\n markdown: 'Markdown',\n jsonEditor: 'Editor JSON',\n dndList: 'Lista Dnd',\n splitPane: 'Panel dividido',\n avatarUpload: 'Subir avatar',\n dropzone: 'Subir ficheros',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: 'Mixin',\n backToTop: 'Ir arriba',\n dragDialog: 'Drag Dialog',\n dragSelect: 'Drag Select',\n dragKanban: 'Drag Kanban',\n charts: 'Gráficos',\n keyboardChart: 'Keyboard Chart',\n lineChart: 'Gráfico de líneas',\n mixChart: 'Mix Chart',\n example: 'Ejemplo',\n nested: 'Rutas anidadass',\n menu1: 'Menu 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menu 2',\n Table: 'Tabla',\n dynamicTable: 'Tabla dinámica',\n dragTable: 'Arrastrar tabla',\n inlineEditTable: 'Editor',\n complexTable: 'Complex Table',\n treeTable: 'Tree Table',\n customTreeTable: 'Custom TreeTable',\n tab: 'Pestaña',\n form: 'Formulario',\n createArticle: 'Crear artículo',\n editArticle: 'Editar artículo',\n articleList: 'Listado de artículos',\n errorPages: 'Páginas de error',\n page401: '401',\n page404: '404',\n errorLog: 'Registro de errores',\n excel: 'Excel',\n exportExcel: 'Exportar a Excel',\n selectExcel: 'Export seleccionado',\n mergeHeader: 'Merge Header',\n uploadExcel: 'Subir Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Exportar a Zip',\n theme: 'Tema',\n clipboardDemo: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'Enlace externo'\n },\n navbar: {\n logOut: 'Salir',\n dashboard: 'Panel de control',\n github: 'Github',\n theme: 'Tema',\n size: 'Tamaño global'\n },\n login: {\n title: 'Formulario de acceso',\n logIn: 'Acceso',\n username: 'Usuario',\n password: 'Contraseña',\n any: 'nada',\n thirdparty: 'Conectar con',\n thirdpartyTips: 'No se puede simular en local, así que combine su propia simulación de negocios. ! !'\n },\n documentation: {\n documentation: 'Documentación',\n github: 'Repositorio Github'\n },\n permission: {\n addRole: 'Nuevo rol',\n editPermission: 'Permiso de edición',\n roles: 'Tus permisos',\n switchRoles: 'Cambiar permisos',\n tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.',\n delete: 'Borrar',\n confirm: 'Confirmar',\n cancel: 'Cancelar'\n },\n guide: {\n description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',\n button: 'Ver guía'\n },\n components: {\n documentation: 'Documentación',\n tinymceTips: 'Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.',\n dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Fixed header, sorted by header order',\n dynamicTips2: 'Not fixed header, sorted by click order',\n dragTips1: 'Orden por defecto',\n dragTips2: 'The after dragging order',\n title: 'Título',\n importance: 'Importancia',\n type: 'Tipo',\n remark: 'Remark',\n search: 'Buscar',\n add: 'Añadir',\n export: 'Exportar',\n reviewer: 'reviewer',\n id: 'ID',\n date: 'Fecha',\n author: 'Autor',\n readings: 'Lector',\n status: 'Estado',\n actions: 'Acciones',\n edit: 'Editar',\n publish: 'Publicar',\n draft: 'Draft',\n delete: 'Eliminar',\n cancel: 'Cancelar',\n confirm: 'Confirmar'\n },\n errorLog: {\n tips: 'Please click the bug icon in the upper right corner',\n description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',\n documentation: 'Documento de introducción'\n },\n excel: {\n export: 'Exportar',\n selectedExport: 'Exportar seleccionados',\n placeholder: 'Por favor escribe un nombre de fichero'\n },\n zip: {\n export: 'Exportar',\n placeholder: 'Por favor escribe un nombre de fichero'\n },\n pdf: {\n tips: 'Here we use window.print() to implement the feature of downloading pdf.'\n },\n theme: {\n change: 'Cambiar tema',\n documentation: 'Documentación del tema',\n tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'\n },\n tagsView: {\n refresh: 'Actualizar',\n close: 'Cerrar',\n closeOthers: 'Cerrar otros',\n closeAll: 'Cerrar todos'\n }\n}\n","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport Cookies from 'js-cookie'\nimport elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang\nimport elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'// element-ui lang\nimport elementEsLocale from 'element-ui/lib/locale/lang/es'// element-ui lang\nimport enLocale from './en'\nimport zhLocale from './zh'\nimport esLocale from './es'\n\nVue.use(VueI18n)\n\nconst messages = {\n en: {\n ...enLocale,\n ...elementEnLocale\n },\n zh: {\n ...zhLocale,\n ...elementZhLocale\n },\n es: {\n ...esLocale,\n ...elementEsLocale\n }\n}\n\nconst i18n = new VueI18n({\n // set locale\n // options: en | zh | es\n locale: Cookies.get('language') || 'zh',\n // set locale messages\n messages\n})\n\nexport default i18n\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\n// import router from './routerManuaConfig'\nimport store from \"./store\";\nimport router from \"./router/index\";\nimport mixin from \"./mixin\";\nimport \"../util/global\"; //全局\nimport \"./promissionRouter\"; //这里进行路由后台获取的模拟\nimport i18n from \"./lang\"; // Internationalization\nimport Cookies from \"js-cookie\";\n\nimport ElementUI from \"element-ui\";\n\nimport \"element-ui/lib/theme-chalk/index.css\";\nimport \"./style/common.less\";\nimport VCharts from \"v-charts\";\nVue.use(VCharts);\n//import \"./style/reset.css\";\n// import VCharts from 'v-charts'\n// Vue.use(VCharts)\nVue.use(ElementUI, {\n size: Cookies.get(\"size\") || \"medium\", // set element-ui default size\n i18n: (key, value) => i18n.t(key, value),\n});\nVue.mixin(mixin);\n//如果想使用 mock ,开启这两行即可,想看效果,看登录页的 mock登录功能\n// import Mock from './mock'\n// Mock.bootstrap();\n\nimport \"font-awesome/css/font-awesome.min.css\";\n\nVue.config.productionTip = false;\n\nnew Vue({\n router,\n store,\n i18n,\n render: (h) => h(App),\n}).$mount(\"#app\");","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--10-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=1&id=0be52b29&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.item.children && !_vm.item.IsHide)?[(\n !(_vm.item.path != '' && _vm.item.path != ' ' && _vm.item.path != '-') &&\n !_vm.item.IsButton && !_vm.item.IsHide\n )?_c('el-submenu',{key:_vm.item.path,attrs:{\"index\":_vm.item.id + 'index'}},[(!_vm.item.IsHide)?_c('template',{slot:\"title\"},[(\n _vm.item.children &&\n _vm.item.children.length > 0 &&\n _vm.item.iconCls &&\n !_vm.item.IsButton\n )?_c('i',{staticClass:\"fa\",class:_vm.item.iconCls}):_vm._e(),_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.name))])]):_vm._e(),_vm._l((_vm.item.children),function(child){return (!_vm.item.IsHide)?[(!child.IsHide && !_vm.item.IsButton)?[(child.children && child.children.length > 0)?_c('sidebar',{key:child.path,attrs:{\"item\":child,\"index\":child.id}}):(child.target === '_blank')?_c('a',{key:child.path+'_1',attrs:{\"href\":(child.target === '_blank'?'':'#') + child.path,\"target\":child.target}},[_c('el-menu-item',{key:child.path},[_c('i',{staticClass:\"fa\",class:child.iconCls}),_c('template',{slot:\"title\"},[_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"\\n \"+_vm._s(child.name)+\"\\n \")])])],2)],1):_c('app-link',{key:child.path+'2',attrs:{\"to\":child.path,\"target\":child.target}},[_c('el-menu-item',{key:child.path,attrs:{\"index\":_vm.isExternalLink(child.path) ? '' : child.path},on:{\"click\":_vm.cop}},[_c('i',{staticClass:\"fa\",class:child.iconCls}),_c('template',{slot:\"title\"},[_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(child.name))])])],2)],1)]:_vm._e()]:_vm._e()})],2):[(!_vm.item.IsButton)?_c('app-link',{key:_vm.item.path + 'd',attrs:{\"to\":_vm.item.path}},[_c('el-menu-item',{key:_vm.item.path + 'd',attrs:{\"index\":_vm.isExternalLink(_vm.item.path) ? '' : _vm.item.path}},[_c('i',{staticClass:\"fa\",class:_vm.item.iconCls}),_c('template',{slot:\"title\"},[_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.name))])])],2)],1):_vm._e()]]:[(!_vm.item.IsHide)?_c('app-link',{key:_vm.item.path + 'd',attrs:{\"to\":_vm.item.path}},[_c('el-menu-item',{key:_vm.item.path + 'd',attrs:{\"index\":_vm.isExternalLink(_vm.item.path) ? '' : _vm.item.path},on:{\"click\":_vm.cop}},[_c('i',{staticClass:\"fa\",class:_vm.item.iconCls}),_c('template',{slot:\"title\"},[_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.name))])])],2)],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(_vm.type,_vm._b({tag:\"component\"},'component',_vm.linkProps(_vm.to),false),[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const isExternal = (path) => {\n return /^(https?:|mailto:|tel:)/.test(path);\n};\n\nexport const validURL = (url) => {\n const reg = /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/;\n return reg.test(url);\n};\n\nexport const validEmail = (email) => {\n const reg = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return reg.test(email);\n};\n\nexport const isString = (str) => {\n if (typeof str === \"string\" || str instanceof String) {\n return true;\n }\n return false;\n};\n\nexport const isArray = (arg) => {\n if (typeof Array.isArray === \"undefined\") {\n return Object.prototype.toString.call(arg) === \"[object Array]\";\n }\n return Array.isArray(arg);\n};\n","\n \n \n \n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppLink.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!./AppLink.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppLink.vue?vue&type=template&id=2b2b211d&\"\nimport script from \"./AppLink.vue?vue&type=script&lang=js&\"\nexport * from \"./AppLink.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","\n