Commit d2c8dcea by 无尘

fix: 修改代码规范

parent e2570b46
...@@ -4,4 +4,4 @@ node_modules/ ...@@ -4,4 +4,4 @@ node_modules/
/config/ /config/
/dist/ /dist/
/*.js /*.js
font/
...@@ -13,17 +13,18 @@ module.exports = { ...@@ -13,17 +13,18 @@ module.exports = {
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules. // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
// "standard", // "standard",
"plugin:vue/essential", "plugin:vue/essential",
"plugin:vue/recommended"
// https://github.com/standard/standard/blob/master/docs/RULES-en.md // https://github.com/standard/standard/blob/master/docs/RULES-en.md
"plugin:prettier/recommended" // "plugin:prettier/recommended"
], ],
// required to lint *.vue files // required to lint *.vue files
plugins: ["vue", "prettier"], plugins: ["vue"],
// add your custom rules here // add your custom rules here
rules: { rules: {
"prettier/prettier": "error", // "prettier/prettier": "error",
// allow async-await // allow async-await
"generator-star-spacing": "off", "generator-star-spacing": "off",
"no-console": process.env.NODE_ENV === "production" ? 2 : 0, // "no-console": process.env.NODE_ENV === "production" ? 2 : 0,
"no-alert": process.env.NODE_ENV === "production" ? 2 : 0, //禁止使用alert confirm prompt "no-alert": process.env.NODE_ENV === "production" ? 2 : 0, //禁止使用alert confirm prompt
"no-debugger": process.env.NODE_ENV === "production" ? 2 : 0, "no-debugger": process.env.NODE_ENV === "production" ? 2 : 0,
// --------------------静态检测----------------------------- // --------------------静态检测-----------------------------
...@@ -48,7 +49,7 @@ module.exports = { ...@@ -48,7 +49,7 @@ module.exports = {
"no-empty": [ "no-empty": [
2, 2,
{ {
"allowEmptyCatch": true "allowEmptyCatch": true
} }
], ],
// 禁止将 catch 的第一个参数 error 重新赋值 【重新赋值,error将没有意义】 // 禁止将 catch 的第一个参数 error 重新赋值 【重新赋值,error将没有意义】
...@@ -82,7 +83,7 @@ module.exports = { ...@@ -82,7 +83,7 @@ module.exports = {
complexity: [ complexity: [
2, 2,
{ {
max: 20 max: 200
} }
], ],
// 不允许有空函数,除非是将一个空函数设置为某个项的默认值 【否则空函数并没有实际意义】 // 不允许有空函数,除非是将一个空函数设置为某个项的默认值 【否则空函数并没有实际意义】
...@@ -143,34 +144,28 @@ module.exports = { ...@@ -143,34 +144,28 @@ module.exports = {
// ----------------------------------------------------代码规范---------------------------------------------------------- // ----------------------------------------------------代码规范----------------------------------------------------------
/** /**
* 代码规范 * 代码规范
* 有关【空格】、【链式换行】、【缩进】、【=、{}、()、首位空格】规范没有添加,怕大家一时间接受不了,目前所挑选的规则都是:保障我们的代码可读性、可维护性的
* */ * */
// 变量名必须是 camelcase 驼峰风格的 // 变量名必须是 camelcase 驼峰风格的
// @off 【涉及到 很多 api 或文件名可能都不是 camelcase 先关闭】 camelcase: [ 2, { "properties": "always" }],
camelcase: 0,
// @fixable 禁止在行首写逗号 // @fixable 禁止在行首写逗号
"comma-style": [2, "last"], "comma-style": [2, "last"],
// @fixable 一个缩进必须用两个空格替代 // @fixable 一个缩进必须用两个空格替代
// @off 【不限制大家,为了关闭eslint默认值,所以手动关闭,off不可去掉】 讨论 // @off 【不限制大家,为了关闭eslint默认值,所以手动关闭,off不可去掉】 讨论
indent: [2, 2,{ "SwitchCase": 1 }], indent: [2, 2,{ "SwitchCase": 1 }],
//@off 手动关闭//前面需要回车的规则 注释 //@off 手动关闭//前面需要空格 注释
"spaced-comment": 0, "spaced-comment": 2,
//@off 手动关闭: 禁用行尾空白 //@off 手动关闭: 禁用行尾空白
"no-trailing-spaces": 2, "no-trailing-spaces": 2,
//@off 手动关闭: 不允许多行回车 //@off 手动关闭: 不允许多行回车
"no-multiple-empty-lines": 1, "no-multiple-empty-lines": 1,
//@off 手动关闭: 逗号前必须加空格 //@off 手动关闭: 逗号前必须加空格
"comma-spacing": 0, "comma-spacing": 2,
//@off 手动关闭: 冒号后必须加空格 //@off 手动关闭: 冒号后必须加空格
"key-spacing": 1, "key-spacing": 2,
// @fixable 结尾禁止使用分号
//@off [vue官方推荐无分号,不知道大家是否可以接受?先手动off掉] 讨论
// "semi": [2,"never"],
semi: 0,
// 代码块嵌套的深度禁止超过 5 层 // 代码块嵌套的深度禁止超过 5 层
"max-depth": [1, 5], "max-depth": [1, 20],
// 回调函数嵌套禁止超过 4 层,多了请用 async await 替代 // 回调函数嵌套禁止超过 4 层,多了请用 async await 替代
"max-nested-callbacks": [2, 4], "max-nested-callbacks": [2, 8],
// 函数的参数禁止超过 7 个 // 函数的参数禁止超过 7 个
"max-params": [2, 7], "max-params": [2, 7],
// new 后面的类名必须首字母大写 【面向对象编程原则】 // new 后面的类名必须首字母大写 【面向对象编程原则】
...@@ -200,6 +195,67 @@ module.exports = { ...@@ -200,6 +195,67 @@ module.exports = {
eqeqeq: 0, eqeqeq: 0,
//this别名 //this别名
"consistent-this": [2, "that"], "consistent-this": [2, "that"],
//强制使用一致的反勾号、双引号或单引号 (quotes) 关闭
quotes: [2, "single"],
"array-bracket-spacing": [2,"always"],//[后 ]前必须有一个空格
"object-curly-spacing": [2,"always"],//{后 }前必须有一个空格
"space-before-function-paren": [2, "never"],//函数圆括号之前无空格
"space-infix-ops": 2,
"semi": [2, "always"],// 代码使用分号结尾
"valid-jsdoc": ["error", {
"requireReturn": false,
"requireParamDescription": false,
"requireReturnDescription": false
}], //使用JSDoc注释
"vue/attribute-hyphenation": ["error", "always"], // 自定义组件的属性使用连字符,不可使用小驼峰命名法
"vue/component-name-in-template-casing": ["error", "kebab-case", { registeredComponentsOnly: false }], // 自定义组件在template中的标签使用连字符
"vue/html-closing-bracket-newline": ["error", { // vue组件template中不能以 > 开头
"singleline": "never",
"multiline": "never"
}],
"vue/html-quotes": [ "error", "double"], // vue组件template中使用双引号
"vue/name-property-casing": ["error", "PascalCase"], // vue组件name属性使用大驼峰命名法
"vue/prop-name-casing": ["error", "camelCase"], // vue组件props的key使用小驼峰命名法
"vue/this-in-template": ["error", "never"], // vue组件template中不能使用this
"vue/order-in-components": ["error", {
"order": [
"el",
"name",
"key",
"parent",
"functional",
["delimiters", "comments"],
["components", "directives"],
"extends",
"mixins",
["provide", "inject"],
"ROUTER_GUARDS",
"layout",
"middleware",
"validate",
"scrollToTop",
"transition",
"loading",
"inheritAttrs",
"model",
["props", "propsData"],
"emits",
"setup",
"asyncData",
"data",
"fetch",
"head",
"watchQuery",
"LIFECYCLE_HOOKS",
"methods",
"filters",
"computed",
"watch",
["template", "render"],
"renderError"
]
}],
// -----------------------------ECMAScript 6------------------------------------- // -----------------------------ECMAScript 6-------------------------------------
/** /**
* ECMAScript 6 * ECMAScript 6
...@@ -215,15 +271,11 @@ module.exports = { ...@@ -215,15 +271,11 @@ module.exports = {
"no-dupe-class-members": 2, "no-dupe-class-members": 2,
// 禁止重复 import 模块 // 禁止重复 import 模块
"no-duplicate-imports": 2, "no-duplicate-imports": 2,
//@off 以后可能会开启 禁止 var //@off 禁止 var
"no-var": 0, "no-var": 2,
// ---------------------------------被关闭的规则----------------------- // ---------------------------------被关闭的规则-----------------------
// parseInt必须指定第二个参数 parseInt("071",10); // parseInt必须指定第二个参数 parseInt("071",10);
radix: 0, radix: 0,
//强制使用一致的反勾号、双引号或单引号 (quotes) 关闭
quotes: 0,
//要求或禁止函数圆括号之前有一个空格
"space-before-function-paren": [0, "always"],
//禁止或强制圆括号内的空格 //禁止或强制圆括号内的空格
"space-in-parens": [0, "never"], "space-in-parens": [0, "never"],
//关键字后面是否要空一格 //关键字后面是否要空一格
......
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2020-08-14 10:52:37
* @LastEditors: 无尘
* @LastEditTime: 2020-08-14 11:22:03
*/
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'scope-empty': [0],
'scope-case': [0],
'subject-full-stop': [0, 'never'],
'subject-case': [0, 'never'],
'type-enum': [ // commit type 类型
2,
'always',
[
'add', // 新功能
'feat', // 新功能
'fix', // 修改问题
'update', // 更新
'style', // 样式
'test', // 测试
'docs', // 文档
'refactor', // 重构
'chore' // 依赖包/辅助工具的变动
]
]
}
};
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>达摩开放平台</title><link href=./static/css/app.3ed6f4d22c3b0aa6f70e627a87b8b3bd.css rel=stylesheet></head><body class=damolish><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.a9fab41d9a484993b980.js></script><script type=text/javascript src=./static/js/vendor.0f5b275d4a227ad49647.js></script><script type=text/javascript src=./static/js/app.a8ebc62c61d06b24fac4.js></script></body></html> <!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>达摩开放平台</title><link href=./static/css/app.4e33b36fb12ec7a6b39d306d895a3d2a.css rel=stylesheet></head><body class=damolish><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.0026c387c99d64d58a79.js></script><script type=text/javascript src=./static/js/vendor.0f5b275d4a227ad49647.js></script><script type=text/javascript src=./static/js/app.16d75874567554f134cb.js></script></body></html>
\ No newline at end of file \ No newline at end of file
webpackJsonp([1],{"1mHX":function(M,L){},"2X9c":function(M,L,j){M.exports=j.p+"static/img/error_500.ed0cba4.svg"},CkW6:function(M,L){M.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDAwIDMzNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDAwIDMzNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0ZBRkNGRjt9DQoJLnN0MXtmaWxsOiNEQkU1RjE7fQ0KCS5zdDJ7ZmlsbDojREVFN0Y0O30NCgkuc3Qze2ZpbGw6I0I5QzdEQjt9DQoJLnN0NHtmaWxsOiNGRkZGRkY7fQ0KCS5zdDV7ZmlsbDpub25lO3N0cm9rZTojQjlDN0RCO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0I2QzdEODtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0NSIgZD0iTTI3NC41LDI0MS4zYy01LjMtNS4zLTQuNCw0LjQtNi43LDYuN2MtMy4xLDMuMS02LjMsNi05LjcsOC42SDEyNS4yYy0zLjQtMi43LTYuNi01LjYtOS43LTguNw0KCWMtMjguNC0yOC41LTM4LjYtNzAuNS0yNi42LTEwOWwtMTAuNS0xMC42Yy01LjMtNS4zLTUuMy0xMy44LDAtMTkuMmM1LjItNS4zLDEzLjctNS4zLDE5LTAuMWMwLDAsMCwwLDAuMSwwLjFsNi42LDYuOA0KCWMzLjEsMy4yLDguMiwzLjIsMTEuNCwwbDAsMGMzLjItMy4yLDMuMi04LjMsMC0xMS41TDEwMy4xLDkyYy0zLjItMy4yLTMuMi04LjMsMC0xMS41YzMuMS0zLjIsOC4yLTMuMiwxMS40LDBsMCwwbDE3LjIsMTcuMg0KCWMtMC45LDMuNywwLjksNy42LDQuNCw5LjNjMy41LDEuNyw3LjcsMC42LDkuOS0yLjVjMi4zLTMuMSwyLjEtNy40LTAuNS0xMC4zYy0zLjMtMy44LTYuNS03LjItNi41LTcuMmwtNy4zLTcuNA0KCWMzNC44LTIxLjMsODIuNi0yMS43LDExNy4yLDBjMzQuNSwyMS43LDUzLjksNjEuMiw1MCwxMDEuOWwxNS40LDE1LjZjMy4yLDMuMiwzLjIsOC4zLDAsMTEuNWMtMy4xLDMuMi04LjIsMy4yLTExLjQsMGwwLDANCglsLTE1LjEtMTUuM2MtMy4xLTMuMi04LjItMy4yLTExLjQsMGwwLDBjLTMuMiwzLjItMy4yLDguMywwLDExLjVsMTcuMSwxNy4yYzUuMiw1LjMsNS4yLDEzLjgsMCwxOS4xDQoJQzI4OC40LDI0Ni42LDI3OS45LDI0Ni42LDI3NC41LDI0MS4zQzI3NC42LDI0MS4zLDI3NC42LDI0MS4zLDI3NC41LDI0MS4zTDI3NC41LDI0MS4zeiIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTg2LjYsNzEuNGMwLDQuNywzLjgsOC41LDguNSw4LjVjMS41LDAsMy0wLjQsNC4zLTEuMWM0LjEtMi4zLDUuNS03LjUsMy4xLTExLjZjLTEuNS0yLjYtNC4zLTQuMy03LjQtNC4zDQoJQzkwLjQsNjIuOSw4Ni42LDY2LjcsODYuNiw3MS40Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjE2LjQsMTQ1LjRoMjQuM2wtNy40LDE3LjljMi42LDEuOCw0LjUsMy44LDUuOCw2YzEuMiwyLjIsMS45LDQuOCwxLjksNy44YzAsNC42LTEuNiw4LjQtNC44LDExLjINCgljLTMuMiwyLjktNy4zLDQuMy0xMi4zLDQuM2MtMi41LDAtNS4xLTAuNC03LjUtMS4xdi0xMy4xYzIsMC45LDMuOSwxLjQsNS41LDEuNHMyLjktMC41LDMuNy0xLjRjMC45LTEsMS4zLTIuMywxLjMtNC4xDQoJYzAtMS45LTAuOC0zLjQtMi40LTQuNmMtMS42LTEuMi0zLjctMS43LTYuNC0xLjdsMy40LTkuMWgtNS4xVjE0NS40TDIxNi40LDE0NS40eiBNMjA3LjUsMTgxLjZjMCwxLjUtMC4zLDMtMC44LDQuMw0KCXMtMS4zLDIuNS0yLjMsMy41cy0yLjIsMS44LTMuNCwyLjNjLTEuMywwLjYtMi44LDAuOS00LjMsMC45aC05LjZjLTEuNSwwLTIuOS0wLjMtNC4zLTAuOWMtMS4zLTAuNi0yLjUtMS4zLTMuNC0yLjMNCgljLTAuNC0wLjQtMC44LTAuOS0xLjItMS40bDExLjctMTcuM3Y2YzAsMC42LDAuMiwxLjEsMC42LDEuNGMwLjQsMC40LDAuOCwwLjYsMS40LDAuNmMxLjEsMCwyLTAuOCwyLTEuOXYtMC4xdi0xMS45bDEwLjktMTYuMQ0KCWMxLjgsMiwyLjgsNC42LDIuNyw3LjNMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZ6IE0xNzcuMSwxODUuOWMtMC42LTEuNC0wLjktMi44LTAuOC00LjNWMTU2YzAtMS41LDAuMy0zLDAuOC00LjMNCglzMS4zLTIuNSwyLjMtMy41czIuMi0xLjgsMy40LTIuM2MxLjMtMC42LDIuOC0wLjksNC4zLTAuOWg5LjZjMS41LDAsMi45LDAuMyw0LjMsMC45YzEuMywwLjUsMi40LDEuMywzLjQsMi4zbC0xMC41LDE1LjR2LTIuNw0KCWMwLTAuNS0wLjItMS4xLTAuNi0xLjRjLTAuNC0wLjQtMC45LTAuNi0xLjQtMC42Yy0xLjEsMC0yLDAuOC0yLDEuOXYwLjF2OC42bC0xMi4xLDE3LjlDMTc3LjUsMTg2LjksMTc3LjMsMTg2LjQsMTc3LjEsMTg1LjkNCglMMTc3LjEsMTg1Ljl6IE0yNDMuOCwxOTIuN2MzLjUtNy40LDUuMy0xNS41LDUuMy0yMy43YzAtMzAuNS0yNC40LTU1LjItNTQuNi01NS4ycy01NC42LDI0LjctNTQuNiw1NS4yYzAsMC40LDAsMC44LDAsMS4xDQoJbDE5LjYtMjQuNmgxMS40TDE1NCwxNzEuM2g1LjV2LTYuNWwxMS43LTE4LjV2NDYuOGgtMTEuN3YtOS44aC0xNy44YzUuMSwxOS4yLDIwLjEsMzQuMywzOS4yLDM5LjJjLTEuMiwzLjEtNC44LDEwLjctMTAuNywxMg0KCWMtNy4zLDEuNywxOS45LDAuNCwzOS40LTEyLjVjMTQuOS00LjQsMjcuMi0xNSwzMy45LTI4LjlMMjQzLjgsMTkyLjdMMjQzLjgsMTkyLjd6Ii8+DQo8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMjM4LjksMTU0LjNsLTI0LjQsMzUuNGwwLjUsMC4zbDI0LjQtMzUuNEwyMzguOSwxNTQuM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yNjYuMiw2Ni42aDhjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjIsMC4zLTAuNiwwLjQtMC45LDAuNGgtOA0KCWMtMC40LDAtMC43LTAuMS0wLjktMC40Yy0wLjUtMC41LTAuNS0xLjQsMC0xLjlDMjY1LjUsNjYuNywyNjUuOCw2Ni42LDI2Ni4yLDY2LjYgTTExNi41LDIwMS45Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJczgtMy42LDgtOC4xUzEyMC45LDIwMS45LDExNi41LDIwMS45TDExNi41LDIwMS45eiBNMTIxLjQsMjEyLjFjLTAuOCwyLTIuOCwzLjMtNC45LDMuM2MtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4xLDMuMy01DQoJYzItMC44LDQuMy0wLjQsNS44LDEuMkMxMjEuOCwyMDcuNywxMjIuMiwyMTAsMTIxLjQsMjEyLjFMMTIxLjQsMjEyLjF6IE0xOTEuMyw3OC43Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJYzIuMSwwLDQuMi0wLjksNS43LTIuNHMyLjMtMy42LDIuMy01LjdDMTk5LjMsODIuNCwxOTUuNyw3OC43LDE5MS4zLDc4Ljd6IE0xOTYuMyw4OC45Yy0wLjgsMi0yLjgsMy4zLTQuOSwzLjMNCgljLTMsMC01LjMtMi40LTUuMy01LjRjMC0yLjIsMS4zLTQuMiwzLjMtNXM0LjMtMC40LDUuOCwxLjJDMTk2LjYsODQuNiwxOTcuMSw4Ni45LDE5Ni4zLDg4LjlMMTk2LjMsODguOXogTTI3MC4yLDE2Mi42DQoJYy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xczgtMy42LDgtOC4xQzI3OC4yLDE2Ni4zLDI3NC42LDE2Mi42LDI3MC4yLDE2Mi42eiBNMjc1LjEsMTcyLjhjLTAuOCwyLTIuOCwzLjMtNC45LDMuMw0KCWMtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4yLDMuMy01czQuMy0wLjQsNS44LDEuMlMyNzUuOSwxNzAuOCwyNzUuMSwxNzIuOHogTTIzMC4xLDMxLjRjLTQuNCwwLTgsMy42LTgsOC4xczMuNiw4LjEsOCw4LjENCgljMi4xLDAsNC4yLTAuOSw1LjctMi40czIuMy0zLjYsMi4zLTUuN0MyMzguMSwzNSwyMzQuNSwzMS40LDIzMC4xLDMxLjR6IE0yMzUsNDEuNmMtMC44LDItMi44LDMuMy00LjksMy4zYy0zLDAtNS4zLTIuNC01LjMtNS40DQoJYzAtMi4yLDEuMy00LjIsMy4zLTVzNC4zLTAuNCw1LjgsMS4yQzIzNS40LDM3LjIsMjM1LjgsMzkuNSwyMzUsNDEuNnoiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNjMuMiw0NS45aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuNSwwLjUsMC41LDEuMywwLDEuOWwwLDBjLTAuMywwLjMtMC42LDAuNC0xLDAuNGgtOC4yDQoJYy0wLjQsMC0wLjctMC4xLTEtMC40Yy0wLjUtMC41LTAuNS0xLjMsMC0xLjlsMCwwQzE2Mi40LDQ2LjEsMTYyLjgsNDUuOSwxNjMuMiw0NS45IE0yNzEuNyw2My41djhjMCwwLjQtMC4xLDAuNy0wLjQsMC45DQoJYy0wLjMsMC4zLTAuNiwwLjQtMSwwLjRjLTAuNywwLTEuNC0wLjYtMS40LTEuM2wwLDB2LThjMC0wLjQsMC4xLTAuNywwLjQtMC45YzAuNS0wLjUsMS40LTAuNSwxLjksMA0KCUMyNzEuNiw2Mi44LDI3MS43LDYzLjIsMjcxLjcsNjMuNSIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTEwNy40LDE1NC44aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuMywwLjIsMC40LDAuNiwwLjQsMC45YzAsMC43LTAuNiwxLjMtMS40LDEuM2gtOC4yDQoJYy0wLjUsMC0wLjktMC4zLTEuMi0wLjdjLTAuMi0wLjQtMC4yLTAuOSwwLTEuM0MxMDYuNCwxNTUuMSwxMDYuOSwxNTQuOCwxMDcuNCwxNTQuOCBNMTY5LDQyLjd2OGMwLDAuNC0wLjEsMC43LTAuNCwwLjkNCgljLTAuNSwwLjUtMS40LDAuNS0yLDBjLTAuMi0wLjItMC40LTAuNi0wLjQtMC45di04YzAtMC40LDAuMS0wLjcsMC40LTAuOWMwLjUtMC41LDEuNC0wLjUsMS45LDBDMTY4LjgsNDIsMTY5LDQyLjMsMTY5LDQyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yMzAuOSwxMTAuM2g4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS40YzAsMC43LTAuNiwxLjMtMS4zLDEuNGgtOC4xYy0wLjgsMC0xLjQtMC42LTEuNC0xLjQNCgljMC0wLjQsMC4xLTAuNywwLjQtMUMyMzAuMiwxMTAuNCwyMzAuNiwxMTAuMywyMzAuOSwxMTAuMyIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTExNC42LDE2My44djguMmMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjUsMC41LTEuNCwwLjUtMS45LDBjLTAuMy0wLjMtMC40LTAuNi0wLjQtMXYtOC4yYzAtMC40LDAuMS0wLjcsMC40LTENCgljMC41LTAuNSwxLjQtMC41LDEuOSwwbDAsMEMxMTQuNCwxNjMuMSwxMTQuNiwxNjMuNCwxMTQuNiwxNjMuOCIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTEyNiwyNzIuN2g2MC40YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40SDEyNmMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzEyNC43LDI3My4zLDEyNS4zLDI3Mi43LDEyNiwyNzIuNyIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTIxOC42LDI3Mi43aDM0LjljMC43LDAsMS4zLDAuNiwxLjMsMS4zYzAsMC43LTAuNiwxLjMtMS4zLDEuM2gtMzQuOWMtMC43LDAtMS4zLTAuNi0xLjQtMS4zDQoJYzAtMC40LDAuMS0wLjcsMC40LTFDMjE3LjksMjcyLjksMjE4LjIsMjcyLjcsMjE4LjYsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNTguMiwyODIuMmgxMzEuNWMwLjcsMCwxLjMsMC42LDEuNCwxLjNjMCwwLjQtMC4xLDAuNy0wLjQsMWMtMC4zLDAuMy0wLjYsMC40LTEsMC40SDE1OC4yDQoJYy0wLjcsMC0xLjMtMC42LTEuMy0xLjNsMCwwQzE1Ni45LDI4Mi44LDE1Ny41LDI4Mi4yLDE1OC4yLDI4Mi4yIi8+DQo8cGF0aCBjbGFzcz0ic3QxIiBkPSJNOTMuOCwyODIuMmgzNC45YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40bDAsMEg5My44Yy0wLjcsMC0xLjMtMC42LTEuNC0xLjMNCgljMC0wLjQsMC4xLTAuNywwLjQtMUM5My4xLDI4Mi4zLDkzLjUsMjgyLjIsOTMuOCwyODIuMiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTE5Ny4xLDI3Mi43aDguMWMwLjcsMCwxLjMsMC42LDEuMywxLjNjMCwwLjctMC42LDEuMy0xLjMsMS4zaC04LjFjLTAuNywwLjEtMS40LTAuNS0xLjQtMS4zDQoJYy0wLjEtMC43LDAuNS0xLjQsMS4zLTEuNEMxOTcsMjcyLjcsMTk3LjEsMjcyLjcsMTk3LjEsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yODQuNCwyNjQuNmg4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNy0wLjYsMS4zLTEuMywxLjNoLTguMWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzI4MywyNjUuMywyODMuNiwyNjQuNiwyODQuNCwyNjQuNiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTk5LjIsMjY0LjZoMTcxLjdjMC40LDAsMC43LDAuMSwwLjksMC40YzAuNCwwLjQsMC41LDEsMC4zLDEuNWMtMC4yLDAuNS0wLjcsMC44LTEuMiwwLjhIOTkuMQ0KCWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zQzk3LjgsMjY1LjMsOTguNCwyNjQuNiw5OS4yLDI2NC42Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjM1LDk1Ljh2OC4xYzAsMC43LTAuNiwxLjMtMS4zLDEuM3MtMS4zLTAuNi0xLjMtMS4zdi04LjFjMC0wLjcsMC42LTEuMywxLjMtMS40QzIzNC40LDk0LjQsMjM1LDk1LDIzNSw5NS44Ig0KCS8+DQo8L3N2Zz4NCg=="},Minx:function(M,L,j){M.exports=j.p+"static/img/error_404.bf58747.svg"},ODjX:function(M,L,j){"use strict";Object.defineProperty(L,"__esModule",{value:!0});var N=j("CkW6"),u=j.n(N),w=j("Minx"),D=j.n(w),C=j("2X9c"),s=j.n(C),y={name:"errpage",data:function(){return{imgSrc:"",message:"",srcList:{403:u.a,404:D.a,500:s.a},msgList:{403:"抱歉,你无权访问该页面",404:"抱歉,你访问的页面不存在",500:"抱歉,服务器出错了"}}},mounted:function(){var M=this.$route.path.split("/")[1];this.imgSrc=this.srcList[M],this.message=this.msgList[M]}},t={render:function(){var M=this.$createElement,L=this._self._c||M;return L("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100vh"}},[L("div",{staticClass:"wscn-http404"},[L("div",{staticClass:"pic-404"},[L("img",{staticClass:"pic-404__parent",attrs:{src:this.imgSrc,alt:"404"}})]),this._v(" "),L("div",{staticClass:"bullshit"},[L("div",{staticClass:"bullshit__headline"},[this._v(this._s(this.message))]),this._v(" "),L("a",{staticClass:"bullshit__return-home",attrs:{href:"#/index"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var i=j("VU/8")(y,t,!1,function(M){j("1mHX")},"data-v-584b140e",null);L.default=i.exports}});
\ No newline at end of file
webpackJsonp([1],{"2X9c":function(M,L,j){M.exports=j.p+"static/img/error_500.ed0cba4.svg"},CkW6:function(M,L){M.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDAwIDMzNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDAwIDMzNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0ZBRkNGRjt9DQoJLnN0MXtmaWxsOiNEQkU1RjE7fQ0KCS5zdDJ7ZmlsbDojREVFN0Y0O30NCgkuc3Qze2ZpbGw6I0I5QzdEQjt9DQoJLnN0NHtmaWxsOiNGRkZGRkY7fQ0KCS5zdDV7ZmlsbDpub25lO3N0cm9rZTojQjlDN0RCO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0I2QzdEODtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0NSIgZD0iTTI3NC41LDI0MS4zYy01LjMtNS4zLTQuNCw0LjQtNi43LDYuN2MtMy4xLDMuMS02LjMsNi05LjcsOC42SDEyNS4yYy0zLjQtMi43LTYuNi01LjYtOS43LTguNw0KCWMtMjguNC0yOC41LTM4LjYtNzAuNS0yNi42LTEwOWwtMTAuNS0xMC42Yy01LjMtNS4zLTUuMy0xMy44LDAtMTkuMmM1LjItNS4zLDEzLjctNS4zLDE5LTAuMWMwLDAsMCwwLDAuMSwwLjFsNi42LDYuOA0KCWMzLjEsMy4yLDguMiwzLjIsMTEuNCwwbDAsMGMzLjItMy4yLDMuMi04LjMsMC0xMS41TDEwMy4xLDkyYy0zLjItMy4yLTMuMi04LjMsMC0xMS41YzMuMS0zLjIsOC4yLTMuMiwxMS40LDBsMCwwbDE3LjIsMTcuMg0KCWMtMC45LDMuNywwLjksNy42LDQuNCw5LjNjMy41LDEuNyw3LjcsMC42LDkuOS0yLjVjMi4zLTMuMSwyLjEtNy40LTAuNS0xMC4zYy0zLjMtMy44LTYuNS03LjItNi41LTcuMmwtNy4zLTcuNA0KCWMzNC44LTIxLjMsODIuNi0yMS43LDExNy4yLDBjMzQuNSwyMS43LDUzLjksNjEuMiw1MCwxMDEuOWwxNS40LDE1LjZjMy4yLDMuMiwzLjIsOC4zLDAsMTEuNWMtMy4xLDMuMi04LjIsMy4yLTExLjQsMGwwLDANCglsLTE1LjEtMTUuM2MtMy4xLTMuMi04LjItMy4yLTExLjQsMGwwLDBjLTMuMiwzLjItMy4yLDguMywwLDExLjVsMTcuMSwxNy4yYzUuMiw1LjMsNS4yLDEzLjgsMCwxOS4xDQoJQzI4OC40LDI0Ni42LDI3OS45LDI0Ni42LDI3NC41LDI0MS4zQzI3NC42LDI0MS4zLDI3NC42LDI0MS4zLDI3NC41LDI0MS4zTDI3NC41LDI0MS4zeiIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTg2LjYsNzEuNGMwLDQuNywzLjgsOC41LDguNSw4LjVjMS41LDAsMy0wLjQsNC4zLTEuMWM0LjEtMi4zLDUuNS03LjUsMy4xLTExLjZjLTEuNS0yLjYtNC4zLTQuMy03LjQtNC4zDQoJQzkwLjQsNjIuOSw4Ni42LDY2LjcsODYuNiw3MS40Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjE2LjQsMTQ1LjRoMjQuM2wtNy40LDE3LjljMi42LDEuOCw0LjUsMy44LDUuOCw2YzEuMiwyLjIsMS45LDQuOCwxLjksNy44YzAsNC42LTEuNiw4LjQtNC44LDExLjINCgljLTMuMiwyLjktNy4zLDQuMy0xMi4zLDQuM2MtMi41LDAtNS4xLTAuNC03LjUtMS4xdi0xMy4xYzIsMC45LDMuOSwxLjQsNS41LDEuNHMyLjktMC41LDMuNy0xLjRjMC45LTEsMS4zLTIuMywxLjMtNC4xDQoJYzAtMS45LTAuOC0zLjQtMi40LTQuNmMtMS42LTEuMi0zLjctMS43LTYuNC0xLjdsMy40LTkuMWgtNS4xVjE0NS40TDIxNi40LDE0NS40eiBNMjA3LjUsMTgxLjZjMCwxLjUtMC4zLDMtMC44LDQuMw0KCXMtMS4zLDIuNS0yLjMsMy41cy0yLjIsMS44LTMuNCwyLjNjLTEuMywwLjYtMi44LDAuOS00LjMsMC45aC05LjZjLTEuNSwwLTIuOS0wLjMtNC4zLTAuOWMtMS4zLTAuNi0yLjUtMS4zLTMuNC0yLjMNCgljLTAuNC0wLjQtMC44LTAuOS0xLjItMS40bDExLjctMTcuM3Y2YzAsMC42LDAuMiwxLjEsMC42LDEuNGMwLjQsMC40LDAuOCwwLjYsMS40LDAuNmMxLjEsMCwyLTAuOCwyLTEuOXYtMC4xdi0xMS45bDEwLjktMTYuMQ0KCWMxLjgsMiwyLjgsNC42LDIuNyw3LjNMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZ6IE0xNzcuMSwxODUuOWMtMC42LTEuNC0wLjktMi44LTAuOC00LjNWMTU2YzAtMS41LDAuMy0zLDAuOC00LjMNCglzMS4zLTIuNSwyLjMtMy41czIuMi0xLjgsMy40LTIuM2MxLjMtMC42LDIuOC0wLjksNC4zLTAuOWg5LjZjMS41LDAsMi45LDAuMyw0LjMsMC45YzEuMywwLjUsMi40LDEuMywzLjQsMi4zbC0xMC41LDE1LjR2LTIuNw0KCWMwLTAuNS0wLjItMS4xLTAuNi0xLjRjLTAuNC0wLjQtMC45LTAuNi0xLjQtMC42Yy0xLjEsMC0yLDAuOC0yLDEuOXYwLjF2OC42bC0xMi4xLDE3LjlDMTc3LjUsMTg2LjksMTc3LjMsMTg2LjQsMTc3LjEsMTg1LjkNCglMMTc3LjEsMTg1Ljl6IE0yNDMuOCwxOTIuN2MzLjUtNy40LDUuMy0xNS41LDUuMy0yMy43YzAtMzAuNS0yNC40LTU1LjItNTQuNi01NS4ycy01NC42LDI0LjctNTQuNiw1NS4yYzAsMC40LDAsMC44LDAsMS4xDQoJbDE5LjYtMjQuNmgxMS40TDE1NCwxNzEuM2g1LjV2LTYuNWwxMS43LTE4LjV2NDYuOGgtMTEuN3YtOS44aC0xNy44YzUuMSwxOS4yLDIwLjEsMzQuMywzOS4yLDM5LjJjLTEuMiwzLjEtNC44LDEwLjctMTAuNywxMg0KCWMtNy4zLDEuNywxOS45LDAuNCwzOS40LTEyLjVjMTQuOS00LjQsMjcuMi0xNSwzMy45LTI4LjlMMjQzLjgsMTkyLjdMMjQzLjgsMTkyLjd6Ii8+DQo8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMjM4LjksMTU0LjNsLTI0LjQsMzUuNGwwLjUsMC4zbDI0LjQtMzUuNEwyMzguOSwxNTQuM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yNjYuMiw2Ni42aDhjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjIsMC4zLTAuNiwwLjQtMC45LDAuNGgtOA0KCWMtMC40LDAtMC43LTAuMS0wLjktMC40Yy0wLjUtMC41LTAuNS0xLjQsMC0xLjlDMjY1LjUsNjYuNywyNjUuOCw2Ni42LDI2Ni4yLDY2LjYgTTExNi41LDIwMS45Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJczgtMy42LDgtOC4xUzEyMC45LDIwMS45LDExNi41LDIwMS45TDExNi41LDIwMS45eiBNMTIxLjQsMjEyLjFjLTAuOCwyLTIuOCwzLjMtNC45LDMuM2MtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4xLDMuMy01DQoJYzItMC44LDQuMy0wLjQsNS44LDEuMkMxMjEuOCwyMDcuNywxMjIuMiwyMTAsMTIxLjQsMjEyLjFMMTIxLjQsMjEyLjF6IE0xOTEuMyw3OC43Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJYzIuMSwwLDQuMi0wLjksNS43LTIuNHMyLjMtMy42LDIuMy01LjdDMTk5LjMsODIuNCwxOTUuNyw3OC43LDE5MS4zLDc4Ljd6IE0xOTYuMyw4OC45Yy0wLjgsMi0yLjgsMy4zLTQuOSwzLjMNCgljLTMsMC01LjMtMi40LTUuMy01LjRjMC0yLjIsMS4zLTQuMiwzLjMtNXM0LjMtMC40LDUuOCwxLjJDMTk2LjYsODQuNiwxOTcuMSw4Ni45LDE5Ni4zLDg4LjlMMTk2LjMsODguOXogTTI3MC4yLDE2Mi42DQoJYy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xczgtMy42LDgtOC4xQzI3OC4yLDE2Ni4zLDI3NC42LDE2Mi42LDI3MC4yLDE2Mi42eiBNMjc1LjEsMTcyLjhjLTAuOCwyLTIuOCwzLjMtNC45LDMuMw0KCWMtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4yLDMuMy01czQuMy0wLjQsNS44LDEuMlMyNzUuOSwxNzAuOCwyNzUuMSwxNzIuOHogTTIzMC4xLDMxLjRjLTQuNCwwLTgsMy42LTgsOC4xczMuNiw4LjEsOCw4LjENCgljMi4xLDAsNC4yLTAuOSw1LjctMi40czIuMy0zLjYsMi4zLTUuN0MyMzguMSwzNSwyMzQuNSwzMS40LDIzMC4xLDMxLjR6IE0yMzUsNDEuNmMtMC44LDItMi44LDMuMy00LjksMy4zYy0zLDAtNS4zLTIuNC01LjMtNS40DQoJYzAtMi4yLDEuMy00LjIsMy4zLTVzNC4zLTAuNCw1LjgsMS4yQzIzNS40LDM3LjIsMjM1LjgsMzkuNSwyMzUsNDEuNnoiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNjMuMiw0NS45aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuNSwwLjUsMC41LDEuMywwLDEuOWwwLDBjLTAuMywwLjMtMC42LDAuNC0xLDAuNGgtOC4yDQoJYy0wLjQsMC0wLjctMC4xLTEtMC40Yy0wLjUtMC41LTAuNS0xLjMsMC0xLjlsMCwwQzE2Mi40LDQ2LjEsMTYyLjgsNDUuOSwxNjMuMiw0NS45IE0yNzEuNyw2My41djhjMCwwLjQtMC4xLDAuNy0wLjQsMC45DQoJYy0wLjMsMC4zLTAuNiwwLjQtMSwwLjRjLTAuNywwLTEuNC0wLjYtMS40LTEuM2wwLDB2LThjMC0wLjQsMC4xLTAuNywwLjQtMC45YzAuNS0wLjUsMS40LTAuNSwxLjksMA0KCUMyNzEuNiw2Mi44LDI3MS43LDYzLjIsMjcxLjcsNjMuNSIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTEwNy40LDE1NC44aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuMywwLjIsMC40LDAuNiwwLjQsMC45YzAsMC43LTAuNiwxLjMtMS40LDEuM2gtOC4yDQoJYy0wLjUsMC0wLjktMC4zLTEuMi0wLjdjLTAuMi0wLjQtMC4yLTAuOSwwLTEuM0MxMDYuNCwxNTUuMSwxMDYuOSwxNTQuOCwxMDcuNCwxNTQuOCBNMTY5LDQyLjd2OGMwLDAuNC0wLjEsMC43LTAuNCwwLjkNCgljLTAuNSwwLjUtMS40LDAuNS0yLDBjLTAuMi0wLjItMC40LTAuNi0wLjQtMC45di04YzAtMC40LDAuMS0wLjcsMC40LTAuOWMwLjUtMC41LDEuNC0wLjUsMS45LDBDMTY4LjgsNDIsMTY5LDQyLjMsMTY5LDQyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yMzAuOSwxMTAuM2g4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS40YzAsMC43LTAuNiwxLjMtMS4zLDEuNGgtOC4xYy0wLjgsMC0xLjQtMC42LTEuNC0xLjQNCgljMC0wLjQsMC4xLTAuNywwLjQtMUMyMzAuMiwxMTAuNCwyMzAuNiwxMTAuMywyMzAuOSwxMTAuMyIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTExNC42LDE2My44djguMmMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjUsMC41LTEuNCwwLjUtMS45LDBjLTAuMy0wLjMtMC40LTAuNi0wLjQtMXYtOC4yYzAtMC40LDAuMS0wLjcsMC40LTENCgljMC41LTAuNSwxLjQtMC41LDEuOSwwbDAsMEMxMTQuNCwxNjMuMSwxMTQuNiwxNjMuNCwxMTQuNiwxNjMuOCIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTEyNiwyNzIuN2g2MC40YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40SDEyNmMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzEyNC43LDI3My4zLDEyNS4zLDI3Mi43LDEyNiwyNzIuNyIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTIxOC42LDI3Mi43aDM0LjljMC43LDAsMS4zLDAuNiwxLjMsMS4zYzAsMC43LTAuNiwxLjMtMS4zLDEuM2gtMzQuOWMtMC43LDAtMS4zLTAuNi0xLjQtMS4zDQoJYzAtMC40LDAuMS0wLjcsMC40LTFDMjE3LjksMjcyLjksMjE4LjIsMjcyLjcsMjE4LjYsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNTguMiwyODIuMmgxMzEuNWMwLjcsMCwxLjMsMC42LDEuNCwxLjNjMCwwLjQtMC4xLDAuNy0wLjQsMWMtMC4zLDAuMy0wLjYsMC40LTEsMC40SDE1OC4yDQoJYy0wLjcsMC0xLjMtMC42LTEuMy0xLjNsMCwwQzE1Ni45LDI4Mi44LDE1Ny41LDI4Mi4yLDE1OC4yLDI4Mi4yIi8+DQo8cGF0aCBjbGFzcz0ic3QxIiBkPSJNOTMuOCwyODIuMmgzNC45YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40bDAsMEg5My44Yy0wLjcsMC0xLjMtMC42LTEuNC0xLjMNCgljMC0wLjQsMC4xLTAuNywwLjQtMUM5My4xLDI4Mi4zLDkzLjUsMjgyLjIsOTMuOCwyODIuMiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTE5Ny4xLDI3Mi43aDguMWMwLjcsMCwxLjMsMC42LDEuMywxLjNjMCwwLjctMC42LDEuMy0xLjMsMS4zaC04LjFjLTAuNywwLjEtMS40LTAuNS0xLjQtMS4zDQoJYy0wLjEtMC43LDAuNS0xLjQsMS4zLTEuNEMxOTcsMjcyLjcsMTk3LjEsMjcyLjcsMTk3LjEsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yODQuNCwyNjQuNmg4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNy0wLjYsMS4zLTEuMywxLjNoLTguMWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzI4MywyNjUuMywyODMuNiwyNjQuNiwyODQuNCwyNjQuNiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTk5LjIsMjY0LjZoMTcxLjdjMC40LDAsMC43LDAuMSwwLjksMC40YzAuNCwwLjQsMC41LDEsMC4zLDEuNWMtMC4yLDAuNS0wLjcsMC44LTEuMiwwLjhIOTkuMQ0KCWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zQzk3LjgsMjY1LjMsOTguNCwyNjQuNiw5OS4yLDI2NC42Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjM1LDk1Ljh2OC4xYzAsMC43LTAuNiwxLjMtMS4zLDEuM3MtMS4zLTAuNi0xLjMtMS4zdi04LjFjMC0wLjcsMC42LTEuMywxLjMtMS40QzIzNC40LDk0LjQsMjM1LDk1LDIzNSw5NS44Ig0KCS8+DQo8L3N2Zz4NCg=="},Minx:function(M,L,j){M.exports=j.p+"static/img/error_404.bf58747.svg"},ODjX:function(M,L,j){"use strict";Object.defineProperty(L,"__esModule",{value:!0});var N=j("CkW6"),u=j.n(N),w=j("Minx"),D=j.n(w),C=j("2X9c"),s=j.n(C),y={name:"Errpage",data:function(){return{imgSrc:"",message:"",srcList:{403:u.a,404:D.a,500:s.a},msgList:{403:"抱歉,你无权访问该页面",404:"抱歉,你访问的页面不存在",500:"抱歉,服务器出错了"}}},mounted:function(){var M=this.$route.path.split("/")[1];this.imgSrc=this.srcList[M],this.message=this.msgList[M]}},t={render:function(){var M=this.$createElement,L=this._self._c||M;return L("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100vh"}},[L("div",{staticClass:"wscn-http404"},[L("div",{staticClass:"pic-404"},[L("img",{staticClass:"pic-404__parent",attrs:{src:this.imgSrc,alt:"404"}})]),this._v(" "),L("div",{staticClass:"bullshit"},[L("div",{staticClass:"bullshit__headline"},[this._v("\n "+this._s(this.message)+"\n ")]),this._v(" "),L("a",{staticClass:"bullshit__return-home",attrs:{href:"#/index"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var i=j("VU/8")(y,t,!1,function(M){j("bAGp")},"data-v-3ba746e1",null);L.default=i.exports},bAGp:function(M,L){}});
\ No newline at end of file
webpackJsonp([10],{AejC:function(t,s,i){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var e=i("Minx"),a=i.n(e),n={name:"page404",data:function(){return{img_404:a.a}},computed:{message:function(){return"抱歉,你访问的页面不存在"}},mounted:function(){}},r={render:function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[s("div",{staticClass:"wscn-http404"},[s("div",{staticClass:"pic-404"},[s("img",{staticClass:"pic-404__parent",attrs:{src:this.img_404,alt:"404"}})]),this._v(" "),s("div",{staticClass:"bullshit"},[s("div",{staticClass:"bullshit__headline"},[this._v(this._s(this.message))]),this._v(" "),s("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var c=i("VU/8")(n,r,!1,function(t){i("AsY3")},"data-v-18a2f51c",null);s.default=c.exports},AsY3:function(t,s){},Minx:function(t,s,i){t.exports=i.p+"static/img/error_404.bf58747.svg"}});
\ No newline at end of file
webpackJsonp([10],{U6qK:function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=i("auNG"),s=i("LlAa"),n={components:{},data:function(){return{noticeList:[],pageNumber:1,pageSize:10,total:0,totalPage:0}},mounted:function(){this.getNoticeData()},methods:{toDetail:function(t){this.$router.push("/noticeDetail?noticeId="+t.noticeId)},handleCurrentChange:function(t){this.pageNumber=t,this.getNoticeData()},getNoticeData:function(){var t=this,e={pageNumber:t.pageNumber,pageSize:t.pageSize};Object(a.b)(e).then(function(e){var i=e.data;if("0000"==i.code)return t.noticeList=i.result.result||[],t.total=i.result.totalCount,void(t.totalPage=i.result.totalPage);s.a.errorMsg(i)}).catch(function(e){t.$message.error({duration:1e3,message:e.message})})}}},l={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"notice-list"},[i("div",{staticClass:"notice-list-body"},[i("h2",[t._v("公告")]),t._v(" "),i("ul",{staticClass:"notice-list-ul"},[t._m(0),t._v(" "),t._l(t.noticeList,function(e,a){return[i("li",{key:a+"notice",staticClass:"notice-list-li notice-list-cell flex",on:{click:function(i){t.toDetail(e)}}},[i("div",{staticClass:"notice-list-left"},[i("span",[t._v("【"+t._s(e.groupName)+"】")]),i("span",{staticClass:"p-l-10"},[t._v(t._s(e.title))])]),t._v(" "),i("div",{staticClass:"notice-list-right"},[t._v("\n "+t._s(t._f("timeStampToLineYmd")(e.effectiveTime))+"\n ")])])]})],2),t._v(" "),t.total?t._e():i("div",{staticClass:"el-table__empty-block"},[t._m(1)]),t._v(" "),t.total?i("div",{staticClass:"page-wrap"},[i("el-pagination",{attrs:{total:t.total,"page-size":t.pageSize,"current-page":t.pageNumber,background:"",layout:"prev, pager, next"},on:{"current-change":t.handleCurrentChange}}),i("span",{staticClass:"p-l-48"},[t._v("共 "+t._s(t.totalPage)+" 页 "+t._s(t.total)+" 条")])],1):t._e()])])},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("li",{staticClass:"notice-list-li flex li-th"},[e("div",{staticClass:"notice-list-left font-w-700"},[this._v("\n 公告标题\n ")]),this._v(" "),e("div",{staticClass:"notice-list-right font-w-700"},[this._v("\n 公告时间\n ")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"el-table__empty-text"},[e("p",{staticClass:"font-14 color-909399"},[this._v("\n 暂无数据\n ")])])}]};var o=i("VU/8")(n,l,!1,function(t){i("iqsV")},"data-v-7631f5cf",null);e.default=o.exports},iqsV:function(t,e){}});
\ No newline at end of file
webpackJsonp([6],{"2X9c":function(t,s,i){t.exports=i.p+"static/img/error_500.ed0cba4.svg"},FskK:function(t,s,i){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var e=i("2X9c"),a=i.n(e),n={name:"Page500",data:function(){return{imgService:a.a}},computed:{message:function(){return"抱歉,服务器出错了"}}},r={render:function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[s("div",{staticClass:"wscn-http404"},[s("div",{staticClass:"pic-404"},[s("img",{staticClass:"pic-404__parent",attrs:{src:this.imgService,alt:"500"}})]),this._v(" "),s("div",{staticClass:"bullshit"},[s("div",{staticClass:"bullshit__headline"},[this._v("\n "+this._s(this.message)+"\n ")]),this._v(" "),s("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var c=i("VU/8")(n,r,!1,function(t){i("rhNJ")},"data-v-8796280c",null);s.default=c.exports},rhNJ:function(t,s){}});
\ No newline at end of file
webpackJsonp([7],{"4KIk":function(M,L){},"6XGN":function(M,L,j){"use strict";Object.defineProperty(L,"__esModule",{value:!0});var N=j("CkW6"),u=j.n(N),w={name:"Page403",data:function(){return{imgForbid:u.a}},computed:{message:function(){return"抱歉,你无权访问该页面"}}},D={render:function(){var M=this.$createElement,L=this._self._c||M;return L("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[L("div",{staticClass:"wscn-http404"},[L("div",{staticClass:"pic-404"},[L("img",{staticClass:"pic-404__parent",attrs:{src:this.imgForbid,alt:"403"}})]),this._v(" "),L("div",{staticClass:"bullshit"},[L("div",{staticClass:"bullshit__headline"},[this._v("\n "+this._s(this.message)+"\n ")]),this._v(" "),L("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var C=j("VU/8")(w,D,!1,function(M){j("4KIk")},"data-v-71d192ea",null);L.default=C.exports},CkW6:function(M,L){M.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDAwIDMzNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDAwIDMzNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0ZBRkNGRjt9DQoJLnN0MXtmaWxsOiNEQkU1RjE7fQ0KCS5zdDJ7ZmlsbDojREVFN0Y0O30NCgkuc3Qze2ZpbGw6I0I5QzdEQjt9DQoJLnN0NHtmaWxsOiNGRkZGRkY7fQ0KCS5zdDV7ZmlsbDpub25lO3N0cm9rZTojQjlDN0RCO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0I2QzdEODtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0NSIgZD0iTTI3NC41LDI0MS4zYy01LjMtNS4zLTQuNCw0LjQtNi43LDYuN2MtMy4xLDMuMS02LjMsNi05LjcsOC42SDEyNS4yYy0zLjQtMi43LTYuNi01LjYtOS43LTguNw0KCWMtMjguNC0yOC41LTM4LjYtNzAuNS0yNi42LTEwOWwtMTAuNS0xMC42Yy01LjMtNS4zLTUuMy0xMy44LDAtMTkuMmM1LjItNS4zLDEzLjctNS4zLDE5LTAuMWMwLDAsMCwwLDAuMSwwLjFsNi42LDYuOA0KCWMzLjEsMy4yLDguMiwzLjIsMTEuNCwwbDAsMGMzLjItMy4yLDMuMi04LjMsMC0xMS41TDEwMy4xLDkyYy0zLjItMy4yLTMuMi04LjMsMC0xMS41YzMuMS0zLjIsOC4yLTMuMiwxMS40LDBsMCwwbDE3LjIsMTcuMg0KCWMtMC45LDMuNywwLjksNy42LDQuNCw5LjNjMy41LDEuNyw3LjcsMC42LDkuOS0yLjVjMi4zLTMuMSwyLjEtNy40LTAuNS0xMC4zYy0zLjMtMy44LTYuNS03LjItNi41LTcuMmwtNy4zLTcuNA0KCWMzNC44LTIxLjMsODIuNi0yMS43LDExNy4yLDBjMzQuNSwyMS43LDUzLjksNjEuMiw1MCwxMDEuOWwxNS40LDE1LjZjMy4yLDMuMiwzLjIsOC4zLDAsMTEuNWMtMy4xLDMuMi04LjIsMy4yLTExLjQsMGwwLDANCglsLTE1LjEtMTUuM2MtMy4xLTMuMi04LjItMy4yLTExLjQsMGwwLDBjLTMuMiwzLjItMy4yLDguMywwLDExLjVsMTcuMSwxNy4yYzUuMiw1LjMsNS4yLDEzLjgsMCwxOS4xDQoJQzI4OC40LDI0Ni42LDI3OS45LDI0Ni42LDI3NC41LDI0MS4zQzI3NC42LDI0MS4zLDI3NC42LDI0MS4zLDI3NC41LDI0MS4zTDI3NC41LDI0MS4zeiIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTg2LjYsNzEuNGMwLDQuNywzLjgsOC41LDguNSw4LjVjMS41LDAsMy0wLjQsNC4zLTEuMWM0LjEtMi4zLDUuNS03LjUsMy4xLTExLjZjLTEuNS0yLjYtNC4zLTQuMy03LjQtNC4zDQoJQzkwLjQsNjIuOSw4Ni42LDY2LjcsODYuNiw3MS40Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjE2LjQsMTQ1LjRoMjQuM2wtNy40LDE3LjljMi42LDEuOCw0LjUsMy44LDUuOCw2YzEuMiwyLjIsMS45LDQuOCwxLjksNy44YzAsNC42LTEuNiw4LjQtNC44LDExLjINCgljLTMuMiwyLjktNy4zLDQuMy0xMi4zLDQuM2MtMi41LDAtNS4xLTAuNC03LjUtMS4xdi0xMy4xYzIsMC45LDMuOSwxLjQsNS41LDEuNHMyLjktMC41LDMuNy0xLjRjMC45LTEsMS4zLTIuMywxLjMtNC4xDQoJYzAtMS45LTAuOC0zLjQtMi40LTQuNmMtMS42LTEuMi0zLjctMS43LTYuNC0xLjdsMy40LTkuMWgtNS4xVjE0NS40TDIxNi40LDE0NS40eiBNMjA3LjUsMTgxLjZjMCwxLjUtMC4zLDMtMC44LDQuMw0KCXMtMS4zLDIuNS0yLjMsMy41cy0yLjIsMS44LTMuNCwyLjNjLTEuMywwLjYtMi44LDAuOS00LjMsMC45aC05LjZjLTEuNSwwLTIuOS0wLjMtNC4zLTAuOWMtMS4zLTAuNi0yLjUtMS4zLTMuNC0yLjMNCgljLTAuNC0wLjQtMC44LTAuOS0xLjItMS40bDExLjctMTcuM3Y2YzAsMC42LDAuMiwxLjEsMC42LDEuNGMwLjQsMC40LDAuOCwwLjYsMS40LDAuNmMxLjEsMCwyLTAuOCwyLTEuOXYtMC4xdi0xMS45bDEwLjktMTYuMQ0KCWMxLjgsMiwyLjgsNC42LDIuNyw3LjNMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZ6IE0xNzcuMSwxODUuOWMtMC42LTEuNC0wLjktMi44LTAuOC00LjNWMTU2YzAtMS41LDAuMy0zLDAuOC00LjMNCglzMS4zLTIuNSwyLjMtMy41czIuMi0xLjgsMy40LTIuM2MxLjMtMC42LDIuOC0wLjksNC4zLTAuOWg5LjZjMS41LDAsMi45LDAuMyw0LjMsMC45YzEuMywwLjUsMi40LDEuMywzLjQsMi4zbC0xMC41LDE1LjR2LTIuNw0KCWMwLTAuNS0wLjItMS4xLTAuNi0xLjRjLTAuNC0wLjQtMC45LTAuNi0xLjQtMC42Yy0xLjEsMC0yLDAuOC0yLDEuOXYwLjF2OC42bC0xMi4xLDE3LjlDMTc3LjUsMTg2LjksMTc3LjMsMTg2LjQsMTc3LjEsMTg1LjkNCglMMTc3LjEsMTg1Ljl6IE0yNDMuOCwxOTIuN2MzLjUtNy40LDUuMy0xNS41LDUuMy0yMy43YzAtMzAuNS0yNC40LTU1LjItNTQuNi01NS4ycy01NC42LDI0LjctNTQuNiw1NS4yYzAsMC40LDAsMC44LDAsMS4xDQoJbDE5LjYtMjQuNmgxMS40TDE1NCwxNzEuM2g1LjV2LTYuNWwxMS43LTE4LjV2NDYuOGgtMTEuN3YtOS44aC0xNy44YzUuMSwxOS4yLDIwLjEsMzQuMywzOS4yLDM5LjJjLTEuMiwzLjEtNC44LDEwLjctMTAuNywxMg0KCWMtNy4zLDEuNywxOS45LDAuNCwzOS40LTEyLjVjMTQuOS00LjQsMjcuMi0xNSwzMy45LTI4LjlMMjQzLjgsMTkyLjdMMjQzLjgsMTkyLjd6Ii8+DQo8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMjM4LjksMTU0LjNsLTI0LjQsMzUuNGwwLjUsMC4zbDI0LjQtMzUuNEwyMzguOSwxNTQuM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yNjYuMiw2Ni42aDhjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjIsMC4zLTAuNiwwLjQtMC45LDAuNGgtOA0KCWMtMC40LDAtMC43LTAuMS0wLjktMC40Yy0wLjUtMC41LTAuNS0xLjQsMC0xLjlDMjY1LjUsNjYuNywyNjUuOCw2Ni42LDI2Ni4yLDY2LjYgTTExNi41LDIwMS45Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJczgtMy42LDgtOC4xUzEyMC45LDIwMS45LDExNi41LDIwMS45TDExNi41LDIwMS45eiBNMTIxLjQsMjEyLjFjLTAuOCwyLTIuOCwzLjMtNC45LDMuM2MtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4xLDMuMy01DQoJYzItMC44LDQuMy0wLjQsNS44LDEuMkMxMjEuOCwyMDcuNywxMjIuMiwyMTAsMTIxLjQsMjEyLjFMMTIxLjQsMjEyLjF6IE0xOTEuMyw3OC43Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJYzIuMSwwLDQuMi0wLjksNS43LTIuNHMyLjMtMy42LDIuMy01LjdDMTk5LjMsODIuNCwxOTUuNyw3OC43LDE5MS4zLDc4Ljd6IE0xOTYuMyw4OC45Yy0wLjgsMi0yLjgsMy4zLTQuOSwzLjMNCgljLTMsMC01LjMtMi40LTUuMy01LjRjMC0yLjIsMS4zLTQuMiwzLjMtNXM0LjMtMC40LDUuOCwxLjJDMTk2LjYsODQuNiwxOTcuMSw4Ni45LDE5Ni4zLDg4LjlMMTk2LjMsODguOXogTTI3MC4yLDE2Mi42DQoJYy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xczgtMy42LDgtOC4xQzI3OC4yLDE2Ni4zLDI3NC42LDE2Mi42LDI3MC4yLDE2Mi42eiBNMjc1LjEsMTcyLjhjLTAuOCwyLTIuOCwzLjMtNC45LDMuMw0KCWMtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4yLDMuMy01czQuMy0wLjQsNS44LDEuMlMyNzUuOSwxNzAuOCwyNzUuMSwxNzIuOHogTTIzMC4xLDMxLjRjLTQuNCwwLTgsMy42LTgsOC4xczMuNiw4LjEsOCw4LjENCgljMi4xLDAsNC4yLTAuOSw1LjctMi40czIuMy0zLjYsMi4zLTUuN0MyMzguMSwzNSwyMzQuNSwzMS40LDIzMC4xLDMxLjR6IE0yMzUsNDEuNmMtMC44LDItMi44LDMuMy00LjksMy4zYy0zLDAtNS4zLTIuNC01LjMtNS40DQoJYzAtMi4yLDEuMy00LjIsMy4zLTVzNC4zLTAuNCw1LjgsMS4yQzIzNS40LDM3LjIsMjM1LjgsMzkuNSwyMzUsNDEuNnoiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNjMuMiw0NS45aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuNSwwLjUsMC41LDEuMywwLDEuOWwwLDBjLTAuMywwLjMtMC42LDAuNC0xLDAuNGgtOC4yDQoJYy0wLjQsMC0wLjctMC4xLTEtMC40Yy0wLjUtMC41LTAuNS0xLjMsMC0xLjlsMCwwQzE2Mi40LDQ2LjEsMTYyLjgsNDUuOSwxNjMuMiw0NS45IE0yNzEuNyw2My41djhjMCwwLjQtMC4xLDAuNy0wLjQsMC45DQoJYy0wLjMsMC4zLTAuNiwwLjQtMSwwLjRjLTAuNywwLTEuNC0wLjYtMS40LTEuM2wwLDB2LThjMC0wLjQsMC4xLTAuNywwLjQtMC45YzAuNS0wLjUsMS40LTAuNSwxLjksMA0KCUMyNzEuNiw2Mi44LDI3MS43LDYzLjIsMjcxLjcsNjMuNSIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTEwNy40LDE1NC44aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuMywwLjIsMC40LDAuNiwwLjQsMC45YzAsMC43LTAuNiwxLjMtMS40LDEuM2gtOC4yDQoJYy0wLjUsMC0wLjktMC4zLTEuMi0wLjdjLTAuMi0wLjQtMC4yLTAuOSwwLTEuM0MxMDYuNCwxNTUuMSwxMDYuOSwxNTQuOCwxMDcuNCwxNTQuOCBNMTY5LDQyLjd2OGMwLDAuNC0wLjEsMC43LTAuNCwwLjkNCgljLTAuNSwwLjUtMS40LDAuNS0yLDBjLTAuMi0wLjItMC40LTAuNi0wLjQtMC45di04YzAtMC40LDAuMS0wLjcsMC40LTAuOWMwLjUtMC41LDEuNC0wLjUsMS45LDBDMTY4LjgsNDIsMTY5LDQyLjMsMTY5LDQyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yMzAuOSwxMTAuM2g4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS40YzAsMC43LTAuNiwxLjMtMS4zLDEuNGgtOC4xYy0wLjgsMC0xLjQtMC42LTEuNC0xLjQNCgljMC0wLjQsMC4xLTAuNywwLjQtMUMyMzAuMiwxMTAuNCwyMzAuNiwxMTAuMywyMzAuOSwxMTAuMyIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTExNC42LDE2My44djguMmMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjUsMC41LTEuNCwwLjUtMS45LDBjLTAuMy0wLjMtMC40LTAuNi0wLjQtMXYtOC4yYzAtMC40LDAuMS0wLjcsMC40LTENCgljMC41LTAuNSwxLjQtMC41LDEuOSwwbDAsMEMxMTQuNCwxNjMuMSwxMTQuNiwxNjMuNCwxMTQuNiwxNjMuOCIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTEyNiwyNzIuN2g2MC40YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40SDEyNmMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzEyNC43LDI3My4zLDEyNS4zLDI3Mi43LDEyNiwyNzIuNyIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTIxOC42LDI3Mi43aDM0LjljMC43LDAsMS4zLDAuNiwxLjMsMS4zYzAsMC43LTAuNiwxLjMtMS4zLDEuM2gtMzQuOWMtMC43LDAtMS4zLTAuNi0xLjQtMS4zDQoJYzAtMC40LDAuMS0wLjcsMC40LTFDMjE3LjksMjcyLjksMjE4LjIsMjcyLjcsMjE4LjYsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNTguMiwyODIuMmgxMzEuNWMwLjcsMCwxLjMsMC42LDEuNCwxLjNjMCwwLjQtMC4xLDAuNy0wLjQsMWMtMC4zLDAuMy0wLjYsMC40LTEsMC40SDE1OC4yDQoJYy0wLjcsMC0xLjMtMC42LTEuMy0xLjNsMCwwQzE1Ni45LDI4Mi44LDE1Ny41LDI4Mi4yLDE1OC4yLDI4Mi4yIi8+DQo8cGF0aCBjbGFzcz0ic3QxIiBkPSJNOTMuOCwyODIuMmgzNC45YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40bDAsMEg5My44Yy0wLjcsMC0xLjMtMC42LTEuNC0xLjMNCgljMC0wLjQsMC4xLTAuNywwLjQtMUM5My4xLDI4Mi4zLDkzLjUsMjgyLjIsOTMuOCwyODIuMiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTE5Ny4xLDI3Mi43aDguMWMwLjcsMCwxLjMsMC42LDEuMywxLjNjMCwwLjctMC42LDEuMy0xLjMsMS4zaC04LjFjLTAuNywwLjEtMS40LTAuNS0xLjQtMS4zDQoJYy0wLjEtMC43LDAuNS0xLjQsMS4zLTEuNEMxOTcsMjcyLjcsMTk3LjEsMjcyLjcsMTk3LjEsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yODQuNCwyNjQuNmg4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNy0wLjYsMS4zLTEuMywxLjNoLTguMWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzI4MywyNjUuMywyODMuNiwyNjQuNiwyODQuNCwyNjQuNiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTk5LjIsMjY0LjZoMTcxLjdjMC40LDAsMC43LDAuMSwwLjksMC40YzAuNCwwLjQsMC41LDEsMC4zLDEuNWMtMC4yLDAuNS0wLjcsMC44LTEuMiwwLjhIOTkuMQ0KCWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zQzk3LjgsMjY1LjMsOTguNCwyNjQuNiw5OS4yLDI2NC42Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjM1LDk1Ljh2OC4xYzAsMC43LTAuNiwxLjMtMS4zLDEuM3MtMS4zLTAuNi0xLjMtMS4zdi04LjFjMC0wLjcsMC42LTEuMywxLjMtMS40QzIzNC40LDk0LjQsMjM1LDk1LDIzNSw5NS44Ig0KCS8+DQo8L3N2Zz4NCg=="}});
\ No newline at end of file
webpackJsonp([7],{"2X9c":function(t,s,i){t.exports=i.p+"static/img/error_500.ed0cba4.svg"},FskK:function(t,s,i){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var a=i("2X9c"),e=i.n(a),n={name:"page500",data:function(){return{img_500:e.a}},computed:{message:function(){return"抱歉,服务器出错了"}}},c={render:function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[s("div",{staticClass:"wscn-http404"},[s("div",{staticClass:"pic-404"},[s("img",{staticClass:"pic-404__parent",attrs:{src:this.img_500,alt:"500"}})]),this._v(" "),s("div",{staticClass:"bullshit"},[s("div",{staticClass:"bullshit__headline"},[this._v(this._s(this.message))]),this._v(" "),s("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var r=i("VU/8")(n,c,!1,function(t){i("wJ+N")},"data-v-d1f21788",null);s.default=r.exports},"wJ+N":function(t,s){}});
\ No newline at end of file
webpackJsonp([8],{UF56:function(t,e){},WFv1:function(t,e){},m2x8:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={name:"ArrowNavBread",props:{menuData:{type:[Array,Object],default:function(){return[]}}},data:function(){return{requestProject:"openPlatform",titleData:[]}},mounted:function(){this.menuData&&(this.titleData=this.menuData)},methods:{changeRoute:function(t){this.$router.push(t)},redirectRoute:function(t){t&&this.changeRoute(t)}},watch:{menuData:function(t){t&&(this.titleData=t)}}},r={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"right-content-top border-box"},[a("div",{staticClass:"right-top-wrap flex flex-row flex-space-between flex-pack-center"},[a("div",{staticClass:"right-top-wrap_left flex flex-pack-center"},[a("div",{staticClass:"el-breadcrumb",attrs:{"aria-label":"Breadcrumb",role:"navigation"}},[t._l(t.titleData,function(e,n){return[a("span",{key:n,staticClass:"el-breadcrumb__item",on:{click:function(a){t.redirectRoute(e.path)}}},[a("span",{class:["el-breadcrumb__inner",e.path?"is-link":""],attrs:{role:"link"}},[t._v(t._s(e.name))]),t._v(" "),a("i",{staticClass:"el-breadcrumb__separator el-icon-arrow-right"})])]})],2)])])])},staticRenderFns:[]};var i=a("VU/8")(n,r,!1,function(t){a("WFv1")},"data-v-6607ff3e",null).exports,o=a("auNG"),s=a("LlAa"),c={components:{arrowNavBread:i},data:function(){return{menuData:[{path:"/noticeList",name:"公告列表"},{path:"",name:"公告详情"}],noticeData:{groupName:"",htmlContent:"",title:""}}},mounted:function(){this.getData()},methods:{getData:function(){var t=this,e={noticeId:t.$route.query.noticeId};Object(o.a)(e).then(function(e){var a=e.data;"0000"!=a.code?s.a.errorMsg(a):t.noticeData=a.result||{}}).catch(function(e){t.$message.error({duration:1e3,message:e.message})})}}},l={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"notice-detail"},[a("div",{staticClass:"common-body"},[a("arrow-nav-bread",{attrs:{"menu-data":t.menuData}}),t._v(" "),a("div",{staticClass:"notice-detail-body"},[a("h2",[t._v("【"+t._s(t.noticeData.groupName)+"】"+t._s(t.noticeData.title))]),t._v(" "),a("div",{staticClass:"notice-detail-content"},[a("div",{staticClass:"markdown-content",domProps:{innerHTML:t._s(t.noticeData.htmlContent)}})]),t._v(" "),a("p",{staticClass:"notice-oprate font-14 color-0a1633"},[t._v("\n "+t._s(t.noticeData.operatorName)+"\n ")]),t._v(" "),a("p",{staticClass:"notice-date font-14 color-0a1633"},[t._v("\n "+t._s(t._f("timeStampToLineYmd")(t.noticeData.effectiveTime))+"\n ")])])],1)])},staticRenderFns:[]};var u=a("VU/8")(c,l,!1,function(t){a("UF56")},"data-v-58d7ec90",null);e.default=u.exports}});
\ No newline at end of file
webpackJsonp([8],{"8Cff":function(t,e){},"R8S/":function(t,e){},m2x8:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={name:"arrow-nav-bread",props:{menuData:{type:[Array,Object],default:function(){return[]}}},data:function(){return{requestProject:"openPlatform",titleData:[]}},watch:{menuData:function(t){t&&(this.titleData=t)}},mounted:function(){this.menuData&&(this.titleData=this.menuData)},methods:{changeRoute:function(t){this.$router.push(t)},redirectRoute:function(t){t&&this.changeRoute(t)}}},r={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"right-content-top border-box"},[a("div",{staticClass:"right-top-wrap flex flex-row flex-space-between flex-pack-center"},[a("div",{staticClass:"right-top-wrap_left flex flex-pack-center"},[a("div",{staticClass:"el-breadcrumb",attrs:{"aria-label":"Breadcrumb",role:"navigation"}},[t._l(t.titleData,function(e,n){return[a("span",{key:n,staticClass:"el-breadcrumb__item",on:{click:function(a){t.redirectRoute(e.path)}}},[a("span",{class:["el-breadcrumb__inner",e.path?"is-link":""],attrs:{role:"link"}},[t._v(t._s(e.name))]),t._v(" "),a("i",{staticClass:"el-breadcrumb__separator el-icon-arrow-right"})])]})],2)])])])},staticRenderFns:[]};var i=a("VU/8")(n,r,!1,function(t){a("8Cff")},"data-v-52a5e988",null).exports,o=a("auNG"),s=a("LlAa"),c={components:{arrowNavBread:i},data:function(){return{menuData:[{path:"/noticeList",name:"公告列表"},{path:"",name:"公告详情"}],noticeData:{groupName:"",htmlContent:"",title:""}}},methods:{getData:function(){var t=this,e={noticeId:t.$route.query.noticeId};Object(o.a)(e).then(function(e){var a=e.data;"0000"!=a.code?s.a.errorMsg(a):t.noticeData=a.result||{}}).catch(function(e){t.$message.error({duration:1e3,message:e.message})})}},mounted:function(){this.getData()}},l={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"notice-detail"},[a("div",{staticClass:"common-body"},[a("arrow-nav-bread",{attrs:{menuData:t.menuData}}),t._v(" "),a("div",{staticClass:"notice-detail-body"},[a("h2",[t._v("【"+t._s(t.noticeData.groupName)+"】"+t._s(t.noticeData.title))]),t._v(" "),a("div",{staticClass:"notice-detail-content"},[a("div",{staticClass:"markdown-content",domProps:{innerHTML:t._s(t.noticeData.htmlContent)}})]),t._v(" "),a("p",{staticClass:"notice-oprate font-14 color-0a1633"},[t._v(t._s(t.noticeData.operatorName))]),t._v(" "),a("p",{staticClass:"notice-date font-14 color-0a1633"},[t._v(t._s(t._f("timeStampToLineYmd")(t.noticeData.effectiveTime)))])])],1)])},staticRenderFns:[]};var u=a("VU/8")(c,l,!1,function(t){a("R8S/")},"data-v-44e7cb02",null);e.default=u.exports}});
\ No newline at end of file
webpackJsonp([9],{"6XGN":function(M,L,j){"use strict";Object.defineProperty(L,"__esModule",{value:!0});var N=j("CkW6"),u=j.n(N),w={name:"page403",data:function(){return{img_403:u.a}},computed:{message:function(){return"抱歉,你无权访问该页面"}}},D={render:function(){var M=this.$createElement,L=this._self._c||M;return L("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[L("div",{staticClass:"wscn-http404"},[L("div",{staticClass:"pic-404"},[L("img",{staticClass:"pic-404__parent",attrs:{src:this.img_403,alt:"403"}})]),this._v(" "),L("div",{staticClass:"bullshit"},[L("div",{staticClass:"bullshit__headline"},[this._v(this._s(this.message))]),this._v(" "),L("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var C=j("VU/8")(w,D,!1,function(M){j("GVON")},"data-v-34b4b20b",null);L.default=C.exports},CkW6:function(M,L){M.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5Zu+5bGCXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDAwIDMzNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDAwIDMzNTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0ZBRkNGRjt9DQoJLnN0MXtmaWxsOiNEQkU1RjE7fQ0KCS5zdDJ7ZmlsbDojREVFN0Y0O30NCgkuc3Qze2ZpbGw6I0I5QzdEQjt9DQoJLnN0NHtmaWxsOiNGRkZGRkY7fQ0KCS5zdDV7ZmlsbDpub25lO3N0cm9rZTojQjlDN0RCO3N0cm9rZS13aWR0aDo0O3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Q2e2ZpbGw6bm9uZTtzdHJva2U6I0I2QzdEODtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0NSIgZD0iTTI3NC41LDI0MS4zYy01LjMtNS4zLTQuNCw0LjQtNi43LDYuN2MtMy4xLDMuMS02LjMsNi05LjcsOC42SDEyNS4yYy0zLjQtMi43LTYuNi01LjYtOS43LTguNw0KCWMtMjguNC0yOC41LTM4LjYtNzAuNS0yNi42LTEwOWwtMTAuNS0xMC42Yy01LjMtNS4zLTUuMy0xMy44LDAtMTkuMmM1LjItNS4zLDEzLjctNS4zLDE5LTAuMWMwLDAsMCwwLDAuMSwwLjFsNi42LDYuOA0KCWMzLjEsMy4yLDguMiwzLjIsMTEuNCwwbDAsMGMzLjItMy4yLDMuMi04LjMsMC0xMS41TDEwMy4xLDkyYy0zLjItMy4yLTMuMi04LjMsMC0xMS41YzMuMS0zLjIsOC4yLTMuMiwxMS40LDBsMCwwbDE3LjIsMTcuMg0KCWMtMC45LDMuNywwLjksNy42LDQuNCw5LjNjMy41LDEuNyw3LjcsMC42LDkuOS0yLjVjMi4zLTMuMSwyLjEtNy40LTAuNS0xMC4zYy0zLjMtMy44LTYuNS03LjItNi41LTcuMmwtNy4zLTcuNA0KCWMzNC44LTIxLjMsODIuNi0yMS43LDExNy4yLDBjMzQuNSwyMS43LDUzLjksNjEuMiw1MCwxMDEuOWwxNS40LDE1LjZjMy4yLDMuMiwzLjIsOC4zLDAsMTEuNWMtMy4xLDMuMi04LjIsMy4yLTExLjQsMGwwLDANCglsLTE1LjEtMTUuM2MtMy4xLTMuMi04LjItMy4yLTExLjQsMGwwLDBjLTMuMiwzLjItMy4yLDguMywwLDExLjVsMTcuMSwxNy4yYzUuMiw1LjMsNS4yLDEzLjgsMCwxOS4xDQoJQzI4OC40LDI0Ni42LDI3OS45LDI0Ni42LDI3NC41LDI0MS4zQzI3NC42LDI0MS4zLDI3NC42LDI0MS4zLDI3NC41LDI0MS4zTDI3NC41LDI0MS4zeiIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTg2LjYsNzEuNGMwLDQuNywzLjgsOC41LDguNSw4LjVjMS41LDAsMy0wLjQsNC4zLTEuMWM0LjEtMi4zLDUuNS03LjUsMy4xLTExLjZjLTEuNS0yLjYtNC4zLTQuMy03LjQtNC4zDQoJQzkwLjQsNjIuOSw4Ni42LDY2LjcsODYuNiw3MS40Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjE2LjQsMTQ1LjRoMjQuM2wtNy40LDE3LjljMi42LDEuOCw0LjUsMy44LDUuOCw2YzEuMiwyLjIsMS45LDQuOCwxLjksNy44YzAsNC42LTEuNiw4LjQtNC44LDExLjINCgljLTMuMiwyLjktNy4zLDQuMy0xMi4zLDQuM2MtMi41LDAtNS4xLTAuNC03LjUtMS4xdi0xMy4xYzIsMC45LDMuOSwxLjQsNS41LDEuNHMyLjktMC41LDMuNy0xLjRjMC45LTEsMS4zLTIuMywxLjMtNC4xDQoJYzAtMS45LTAuOC0zLjQtMi40LTQuNmMtMS42LTEuMi0zLjctMS43LTYuNC0xLjdsMy40LTkuMWgtNS4xVjE0NS40TDIxNi40LDE0NS40eiBNMjA3LjUsMTgxLjZjMCwxLjUtMC4zLDMtMC44LDQuMw0KCXMtMS4zLDIuNS0yLjMsMy41cy0yLjIsMS44LTMuNCwyLjNjLTEuMywwLjYtMi44LDAuOS00LjMsMC45aC05LjZjLTEuNSwwLTIuOS0wLjMtNC4zLTAuOWMtMS4zLTAuNi0yLjUtMS4zLTMuNC0yLjMNCgljLTAuNC0wLjQtMC44LTAuOS0xLjItMS40bDExLjctMTcuM3Y2YzAsMC42LDAuMiwxLjEsMC42LDEuNGMwLjQsMC40LDAuOCwwLjYsMS40LDAuNmMxLjEsMCwyLTAuOCwyLTEuOXYtMC4xdi0xMS45bDEwLjktMTYuMQ0KCWMxLjgsMiwyLjgsNC42LDIuNyw3LjNMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZMMjA3LjUsMTgxLjZ6IE0xNzcuMSwxODUuOWMtMC42LTEuNC0wLjktMi44LTAuOC00LjNWMTU2YzAtMS41LDAuMy0zLDAuOC00LjMNCglzMS4zLTIuNSwyLjMtMy41czIuMi0xLjgsMy40LTIuM2MxLjMtMC42LDIuOC0wLjksNC4zLTAuOWg5LjZjMS41LDAsMi45LDAuMyw0LjMsMC45YzEuMywwLjUsMi40LDEuMywzLjQsMi4zbC0xMC41LDE1LjR2LTIuNw0KCWMwLTAuNS0wLjItMS4xLTAuNi0xLjRjLTAuNC0wLjQtMC45LTAuNi0xLjQtMC42Yy0xLjEsMC0yLDAuOC0yLDEuOXYwLjF2OC42bC0xMi4xLDE3LjlDMTc3LjUsMTg2LjksMTc3LjMsMTg2LjQsMTc3LjEsMTg1LjkNCglMMTc3LjEsMTg1Ljl6IE0yNDMuOCwxOTIuN2MzLjUtNy40LDUuMy0xNS41LDUuMy0yMy43YzAtMzAuNS0yNC40LTU1LjItNTQuNi01NS4ycy01NC42LDI0LjctNTQuNiw1NS4yYzAsMC40LDAsMC44LDAsMS4xDQoJbDE5LjYtMjQuNmgxMS40TDE1NCwxNzEuM2g1LjV2LTYuNWwxMS43LTE4LjV2NDYuOGgtMTEuN3YtOS44aC0xNy44YzUuMSwxOS4yLDIwLjEsMzQuMywzOS4yLDM5LjJjLTEuMiwzLjEtNC44LDEwLjctMTAuNywxMg0KCWMtNy4zLDEuNywxOS45LDAuNCwzOS40LTEyLjVjMTQuOS00LjQsMjcuMi0xNSwzMy45LTI4LjlMMjQzLjgsMTkyLjdMMjQzLjgsMTkyLjd6Ii8+DQo8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMjM4LjksMTU0LjNsLTI0LjQsMzUuNGwwLjUsMC4zbDI0LjQtMzUuNEwyMzguOSwxNTQuM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yNjYuMiw2Ni42aDhjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjIsMC4zLTAuNiwwLjQtMC45LDAuNGgtOA0KCWMtMC40LDAtMC43LTAuMS0wLjktMC40Yy0wLjUtMC41LTAuNS0xLjQsMC0xLjlDMjY1LjUsNjYuNywyNjUuOCw2Ni42LDI2Ni4yLDY2LjYgTTExNi41LDIwMS45Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJczgtMy42LDgtOC4xUzEyMC45LDIwMS45LDExNi41LDIwMS45TDExNi41LDIwMS45eiBNMTIxLjQsMjEyLjFjLTAuOCwyLTIuOCwzLjMtNC45LDMuM2MtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4xLDMuMy01DQoJYzItMC44LDQuMy0wLjQsNS44LDEuMkMxMjEuOCwyMDcuNywxMjIuMiwyMTAsMTIxLjQsMjEyLjFMMTIxLjQsMjEyLjF6IE0xOTEuMyw3OC43Yy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xDQoJYzIuMSwwLDQuMi0wLjksNS43LTIuNHMyLjMtMy42LDIuMy01LjdDMTk5LjMsODIuNCwxOTUuNyw3OC43LDE5MS4zLDc4Ljd6IE0xOTYuMyw4OC45Yy0wLjgsMi0yLjgsMy4zLTQuOSwzLjMNCgljLTMsMC01LjMtMi40LTUuMy01LjRjMC0yLjIsMS4zLTQuMiwzLjMtNXM0LjMtMC40LDUuOCwxLjJDMTk2LjYsODQuNiwxOTcuMSw4Ni45LDE5Ni4zLDg4LjlMMTk2LjMsODguOXogTTI3MC4yLDE2Mi42DQoJYy00LjQsMC04LDMuNi04LDguMXMzLjYsOC4xLDgsOC4xczgtMy42LDgtOC4xQzI3OC4yLDE2Ni4zLDI3NC42LDE2Mi42LDI3MC4yLDE2Mi42eiBNMjc1LjEsMTcyLjhjLTAuOCwyLTIuOCwzLjMtNC45LDMuMw0KCWMtMywwLTUuMy0yLjQtNS4zLTUuNGMwLTIuMiwxLjMtNC4yLDMuMy01czQuMy0wLjQsNS44LDEuMlMyNzUuOSwxNzAuOCwyNzUuMSwxNzIuOHogTTIzMC4xLDMxLjRjLTQuNCwwLTgsMy42LTgsOC4xczMuNiw4LjEsOCw4LjENCgljMi4xLDAsNC4yLTAuOSw1LjctMi40czIuMy0zLjYsMi4zLTUuN0MyMzguMSwzNSwyMzQuNSwzMS40LDIzMC4xLDMxLjR6IE0yMzUsNDEuNmMtMC44LDItMi44LDMuMy00LjksMy4zYy0zLDAtNS4zLTIuNC01LjMtNS40DQoJYzAtMi4yLDEuMy00LjIsMy4zLTVzNC4zLTAuNCw1LjgsMS4yQzIzNS40LDM3LjIsMjM1LjgsMzkuNSwyMzUsNDEuNnoiLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xNjMuMiw0NS45aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuNSwwLjUsMC41LDEuMywwLDEuOWwwLDBjLTAuMywwLjMtMC42LDAuNC0xLDAuNGgtOC4yDQoJYy0wLjQsMC0wLjctMC4xLTEtMC40Yy0wLjUtMC41LTAuNS0xLjMsMC0xLjlsMCwwQzE2Mi40LDQ2LjEsMTYyLjgsNDUuOSwxNjMuMiw0NS45IE0yNzEuNyw2My41djhjMCwwLjQtMC4xLDAuNy0wLjQsMC45DQoJYy0wLjMsMC4zLTAuNiwwLjQtMSwwLjRjLTAuNywwLTEuNC0wLjYtMS40LTEuM2wwLDB2LThjMC0wLjQsMC4xLTAuNywwLjQtMC45YzAuNS0wLjUsMS40LTAuNSwxLjksMA0KCUMyNzEuNiw2Mi44LDI3MS43LDYzLjIsMjcxLjcsNjMuNSIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTEwNy40LDE1NC44aDguMmMwLjQsMCwwLjcsMC4xLDEsMC40YzAuMywwLjIsMC40LDAuNiwwLjQsMC45YzAsMC43LTAuNiwxLjMtMS40LDEuM2gtOC4yDQoJYy0wLjUsMC0wLjktMC4zLTEuMi0wLjdjLTAuMi0wLjQtMC4yLTAuOSwwLTEuM0MxMDYuNCwxNTUuMSwxMDYuOSwxNTQuOCwxMDcuNCwxNTQuOCBNMTY5LDQyLjd2OGMwLDAuNC0wLjEsMC43LTAuNCwwLjkNCgljLTAuNSwwLjUtMS40LDAuNS0yLDBjLTAuMi0wLjItMC40LTAuNi0wLjQtMC45di04YzAtMC40LDAuMS0wLjcsMC40LTAuOWMwLjUtMC41LDEuNC0wLjUsMS45LDBDMTY4LjgsNDIsMTY5LDQyLjMsMTY5LDQyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yMzAuOSwxMTAuM2g4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS40YzAsMC43LTAuNiwxLjMtMS4zLDEuNGgtOC4xYy0wLjgsMC0xLjQtMC42LTEuNC0xLjQNCgljMC0wLjQsMC4xLTAuNywwLjQtMUMyMzAuMiwxMTAuNCwyMzAuNiwxMTAuMywyMzAuOSwxMTAuMyIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTExNC42LDE2My44djguMmMwLDAuNC0wLjEsMC43LTAuNCwxYy0wLjUsMC41LTEuNCwwLjUtMS45LDBjLTAuMy0wLjMtMC40LTAuNi0wLjQtMXYtOC4yYzAtMC40LDAuMS0wLjcsMC40LTENCgljMC41LTAuNSwxLjQtMC41LDEuOSwwbDAsMEMxMTQuNCwxNjMuMSwxMTQuNiwxNjMuNCwxMTQuNiwxNjMuOCIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTEyNiwyNzIuN2g2MC40YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40SDEyNmMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzEyNC43LDI3My4zLDEyNS4zLDI3Mi43LDEyNiwyNzIuNyIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTIxOC42LDI3Mi43aDM0LjljMC43LDAsMS4zLDAuNiwxLjMsMS4zYzAsMC43LTAuNiwxLjMtMS4zLDEuM2gtMzQuOWMtMC43LDAtMS4zLTAuNi0xLjQtMS4zDQoJYzAtMC40LDAuMS0wLjcsMC40LTFDMjE3LjksMjcyLjksMjE4LjIsMjcyLjcsMjE4LjYsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xNTguMiwyODIuMmgxMzEuNWMwLjcsMCwxLjMsMC42LDEuNCwxLjNjMCwwLjQtMC4xLDAuNy0wLjQsMWMtMC4zLDAuMy0wLjYsMC40LTEsMC40SDE1OC4yDQoJYy0wLjcsMC0xLjMtMC42LTEuMy0xLjNsMCwwQzE1Ni45LDI4Mi44LDE1Ny41LDI4Mi4yLDE1OC4yLDI4Mi4yIi8+DQo8cGF0aCBjbGFzcz0ic3QxIiBkPSJNOTMuOCwyODIuMmgzNC45YzAuNywwLDEuMywwLjYsMS4zLDEuM2wwLDBjMCwwLjctMC42LDEuMy0xLjMsMS40bDAsMEg5My44Yy0wLjcsMC0xLjMtMC42LTEuNC0xLjMNCgljMC0wLjQsMC4xLTAuNywwLjQtMUM5My4xLDI4Mi4zLDkzLjUsMjgyLjIsOTMuOCwyODIuMiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTE5Ny4xLDI3Mi43aDguMWMwLjcsMCwxLjMsMC42LDEuMywxLjNjMCwwLjctMC42LDEuMy0xLjMsMS4zaC04LjFjLTAuNywwLjEtMS40LTAuNS0xLjQtMS4zDQoJYy0wLjEtMC43LDAuNS0xLjQsMS4zLTEuNEMxOTcsMjcyLjcsMTk3LjEsMjcyLjcsMTk3LjEsMjcyLjciLz4NCjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yODQuNCwyNjQuNmg4LjFjMC43LDAsMS4zLDAuNiwxLjMsMS4zbDAsMGMwLDAuNy0wLjYsMS4zLTEuMywxLjNoLTguMWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zDQoJQzI4MywyNjUuMywyODMuNiwyNjQuNiwyODQuNCwyNjQuNiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTk5LjIsMjY0LjZoMTcxLjdjMC40LDAsMC43LDAuMSwwLjksMC40YzAuNCwwLjQsMC41LDEsMC4zLDEuNWMtMC4yLDAuNS0wLjcsMC44LTEuMiwwLjhIOTkuMQ0KCWMtMC43LDAtMS4zLTAuNi0xLjMtMS4zQzk3LjgsMjY1LjMsOTguNCwyNjQuNiw5OS4yLDI2NC42Ii8+DQo8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMjM1LDk1Ljh2OC4xYzAsMC43LTAuNiwxLjMtMS4zLDEuM3MtMS4zLTAuNi0xLjMtMS4zdi04LjFjMC0wLjcsMC42LTEuMywxLjMtMS40QzIzNC40LDk0LjQsMjM1LDk1LDIzNSw5NS44Ig0KCS8+DQo8L3N2Zz4NCg=="},GVON:function(M,L){}});
\ No newline at end of file
webpackJsonp([9],{"72Fo":function(t,s){},AejC:function(t,s,i){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var e=i("Minx"),a=i.n(e),n={name:"Page404",data:function(){return{imgNotFound:a.a}},computed:{message:function(){return"抱歉,你访问的页面不存在"}}},r={render:function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticStyle:{background:"#f0f2f5","margin-top":"-20px",height:"100%"}},[s("div",{staticClass:"wscn-http404"},[s("div",{staticClass:"pic-404"},[s("img",{staticClass:"pic-404__parent",attrs:{src:this.imgNotFound,alt:"404"}})]),this._v(" "),s("div",{staticClass:"bullshit"},[s("div",{staticClass:"bullshit__headline"},[this._v("\n "+this._s(this.message)+"\n ")]),this._v(" "),s("a",{staticClass:"bullshit__return-home",attrs:{href:"#/companyGroup"}},[this._v("返回首页")])])])])},staticRenderFns:[]};var c=i("VU/8")(n,r,!1,function(t){i("72Fo")},"data-v-26373a9e",null);s.default=c.exports},Minx:function(t,s,i){t.exports=i.p+"static/img/error_404.bf58747.svg"}});
\ No newline at end of file
webpackJsonp([12],{0:function(e,t,n){n("j1ja"),e.exports=n("NHnr")},"4qCZ":function(e,t){},"5tgt":function(e,t,n){e.exports=function(e,t){return function(o){n("Opzk")("./"+e+"/"+t+".vue").then(function(e){o(e)})}}},NHnr:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n("fZjL"),a=n.n(o),r=(n("j1ja"),n("hKoQ")),i=n.n(r),u=n("lRwf"),s=n.n(u),c={render:function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"app"}},[t("transition",{attrs:{name:"fade",mode:"out-in"}},[t("router-view")],1)],1)},staticRenderFns:[]};var f=n("VU/8")({name:"App",data:function(){return{}}},c,!1,function(e){n("OQzs")},null,null).exports,l=n("pRNm"),m=n.n(l),g=n("5tgt"),p=n.n(g);s.a.use(m.a);var d,v=function(e){n.e(1).then(n.bind(null,"ODjX")).then(function(t){e(t)})},h=[{path:"/",name:"/",redirect:"home"},{path:"/login",name:"登录",component:p()("login","index")},{path:"/index",name:"首页",redirect:"home",component:p()("index","index"),children:[{path:"/home",name:"首页",component:p()("index","home")},{path:"/noticeDetail",name:"公告详情",component:p()("index","noticeDetail")},{path:"/noticeList",name:"公告列表",component:p()("index","noticeList")}]},{path:"/document",name:"文档中心",component:p()("document","index")},{path:"/403",name:"无权访问",component:v},{path:"/404",name:"error404",component:v},{path:"/500",name:"error500",component:v},{path:"*",redirect:"/404",hidden:!0}],I=new m.a({routes:h,scrollBehavior:function(){return{y:0}}}),x=n("zL8q"),D=n.n(x),S=n("Rf8U"),w=n.n(S),M=n("mtWM"),k=n.n(M),R=n("bOdI"),b=n.n(R),H=n("mvHQ"),U=n.n(H),j=n("SJI6"),O=n.n(j);s.a.use(O.a);var F=new O.a.Store({state:{userInfo:{},token:null,title:"",show:!1,bgHeight:window.screen.availHeight-440-24+"px",baseInfo:{},frontInfo:{},backInfo:{},resultInfo:{}},mutations:(d={},b()(d,"login",function(e,t){sessionStorage.token=t,e.token=t}),b()(d,"logout",function(e){sessionStorage.removeItem("token"),e.token=null}),b()(d,"title",function(e,t){e.title=t}),b()(d,"show",function(e,t){e.show=t}),b()(d,"saveUser",function(e,t){localStorage.removeItem("userInfo"),localStorage.setItem("userInfo",U()(t)),e.userInfo=JSON.parse(localStorage.getItem("userInfo"))}),b()(d,"clearUser",function(e){e.userInfo={},localStorage.getItem("userInfo")&&localStorage.removeItem("userInfo")}),b()(d,"saveBase",function(e,t){e.baseInfo=t}),b()(d,"saveFront",function(e,t){e.frontInfo=t}),b()(d,"saveBack",function(e,t){e.backInfo=t}),b()(d,"saveResult",function(e,t){e.resultInfo=t}),b()(d,"clearData",function(e){e.baseInfo={},e.frontInfo={},e.backInfo={},e.resultInfo={}}),d),actions:{saveUserInfo:function(e,t){e.commit("saveUser",t)},clearUserInfo:function(e,t){e.commit("clearUser",t)},saveBaseInfo:function(e,t){e.commit("saveBase",t)},saveFrontInfo:function(e,t){e.commit("saveFront",t)},saveBackInfo:function(e,t){e.commit("saveBack",t)},saveResultInfo:function(e,t){e.commit("saveResult",t)},clearApiData:function(e,t){e.commit("clearData")}}}),T=(n("4qCZ"),n("tvR6"),n("uKUT"),n("Xcu2"),{dateFormat:function(e,t){if(e){e=10===e.toString().length?1e3*e:e;var n=new Date(e),o={"M+":n.getMonth()+1,"D+":n.getDate(),W:"日一二三四五六".charAt(n.getDay()),"h+":n.getHours(),"m+":n.getMinutes(),"s+":n.getSeconds(),"q+":Math.floor((n.getMonth()+3)/3),S:n.getMilliseconds()};for(var a in/(Y+)/.test(t)&&(t=t.replace(RegExp.$1,(n.getFullYear()+"").substr(4-RegExp.$1.length))),o)new RegExp("("+a+")").test(t)&&(t=t.replace(RegExp.$1,1===RegExp.$1.length?o[a]:("00"+o[a]).substr((""+o[a]).length)));return t}},formatTimeStamp:function(e){if(!e)return"";var t=new Date(e),n=t.getMonth()+1,o=t.getDate()<10?"0"+t.getDate():t.getDate(),a=n<10?"0"+n:n,r=t.getHours()<10?"0"+t.getHours():t.getHours(),i=t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes(),u=t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds();return t.getFullYear()+"-"+a+"-"+o+" "+r+":"+i+":"+u},timeStampToYmd:function(e){if(!e)return"";var t=new Date(e),n=t.getMonth()+1,o=t.getDate()<10?"0"+t.getDate():t.getDate(),a=n<10?"0"+n:n;return t.getFullYear()+"-"+a+"-"+o},timeStampToLineYmd:function(e){if(!e)return"";var t=new Date(e),n=t.getMonth()+1,o=t.getDate()<10?"0"+t.getDate():t.getDate(),a=n<10?"0"+n:n;return t.getFullYear()+"/"+a+"/"+o},timeStampToHms:function(e){if(!e)return"";var t=new Date(e);return(t.getHours()<10?"0"+t.getHours():t.getHours())+":"+(t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes())+":"+(t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds())},timeStampToMd:function(e){if(!e)return"";var t=new Date(e),n=t.getMonth()+1,o=t.getDate()<10?"0"+t.getDate():t.getDate();return(n<10?"0"+n:n)+"-"+o}});i.a.polyfill(),s.a.config.productionTip=!1,s.a.use(D.a,{size:"large"}),s.a.use(w.a,k.a),s.a.axios.defaults.withCredentials=!0,a()(T).forEach(function(e){s.a.filter(e,T[e])}),new s.a({el:"#app",router:I,store:F,components:{App:f},template:"<App/>"})},OQzs:function(e,t){},Opzk:function(e,t,n){var o={"./document/index.vue":["UYHc",0,3],"./errorPage/403.vue":["6XGN",7],"./errorPage/404.vue":["AejC",9],"./errorPage/500.vue":["FskK",6],"./errorPage/index.vue":["ODjX",1],"./index/home.vue":["BB8f",0,4],"./index/index.vue":["JXTs",0,2],"./index/noticeDetail.vue":["m2x8",0,8],"./index/noticeList.vue":["U6qK",0,10],"./login/index.vue":["T+/8",0,5]};function a(e){var t=o[e];return t?Promise.all(t.slice(1).map(n.e)).then(function(){return n(t[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}a.keys=function(){return Object.keys(o)},a.id="Opzk",e.exports=a},SJI6:function(e,t){e.exports=Vuex},Xcu2:function(e,t){},lRwf:function(e,t){e.exports=Vue},pRNm:function(e,t){e.exports=VueRouter},tvR6:function(e,t){},uKUT:function(e,t){}},[0]);
\ No newline at end of file
webpackJsonp([12],{"/NA0":function(e,t){},0:function(e,t,n){n("j1ja"),e.exports=n("NHnr")},"4qCZ":function(e,t){},"5tgt":function(e,t,n){e.exports=function(e,t){return function(o){n("Opzk")("./"+e+"/"+t+".vue").then(function(e){o(e)})}}},NHnr:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n("fZjL"),a=n.n(o),r=(n("j1ja"),n("hKoQ")),i=n.n(r),u={render:function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"app"}},[t("transition",{attrs:{name:"fade",mode:"out-in"}},[t("router-view")],1)],1)},staticRenderFns:[]};var s=n("VU/8")({name:"App",data:function(){return{}}},u,!1,function(e){n("/NA0")},null,null).exports,c=n("lRwf"),f=n.n(c),l=n("pRNm"),m=n.n(l),g=n("5tgt"),p=n.n(g);f.a.use(m.a);var d,v=function(e){n.e(1).then(n.bind(null,"ODjX")).then(function(t){e(t)})},h=[{path:"/",name:"/",redirect:"home"},{path:"/login",name:"登录",component:p()("login","index")},{path:"/index",name:"首页",redirect:"home",component:p()("index","index"),children:[{path:"/home",name:"首页",component:p()("index","home")},{path:"/noticeDetail",name:"公告详情",component:p()("index","noticeDetail")},{path:"/noticeList",name:"公告列表",component:p()("index","noticeList")}]},{path:"/document",name:"文档中心",component:p()("document","index")},{path:"/403",name:"无权访问",component:v},{path:"/404",name:"error404",component:v},{path:"/500",name:"error500",component:v},{path:"*",redirect:"/404",hidden:!0}],I=new m.a({routes:h,scrollBehavior:function(){return{y:0}}}),x=n("zL8q"),D=n.n(x),S=n("Rf8U"),w=n.n(S),M=n("mtWM"),k=n.n(M),R=n("bOdI"),b=n.n(R),H=n("mvHQ"),U=n.n(H),j=n("SJI6"),F=n.n(j);f.a.use(F.a);var T=new F.a.Store({state:{userInfo:{},token:null,title:"",show:!1,bgHeight:window.screen.availHeight-440-24+"px",baseInfo:{},frontInfo:{},backInfo:{},resultInfo:{}},mutations:(d={},b()(d,"login",function(e,t){sessionStorage.token=t,e.token=t}),b()(d,"logout",function(e){sessionStorage.removeItem("token"),e.token=null}),b()(d,"title",function(e,t){e.title=t}),b()(d,"show",function(e,t){e.show=t}),b()(d,"saveUser",function(e,t){localStorage.removeItem("userInfo"),localStorage.setItem("userInfo",U()(t)),e.userInfo=JSON.parse(localStorage.getItem("userInfo"))}),b()(d,"clearUser",function(e){e.userInfo={},localStorage.getItem("userInfo")&&localStorage.removeItem("userInfo")}),b()(d,"saveBase",function(e,t){e.baseInfo=t}),b()(d,"saveFront",function(e,t){e.frontInfo=t}),b()(d,"saveBack",function(e,t){e.backInfo=t}),b()(d,"saveResult",function(e,t){e.resultInfo=t}),b()(d,"clearData",function(e){e.baseInfo={},e.frontInfo={},e.backInfo={},e.resultInfo={}}),d),actions:{saveUserInfo:function(e,t){e.commit("saveUser",t)},clearUserInfo:function(e,t){e.commit("clearUser",t)},saveBaseInfo:function(e,t){e.commit("saveBase",t)},saveFrontInfo:function(e,t){e.commit("saveFront",t)},saveBackInfo:function(e,t){e.commit("saveBack",t)},saveResultInfo:function(e,t){e.commit("saveResult",t)},clearApiData:function(e,t){e.commit("clearData")}}}),V=(n("4qCZ"),n("tvR6"),n("uKUT"),n("Xcu2"),{dateFormat:function(e,t){if(e){e=10===e.toString().length?1e3*e:e;var n=new Date(e),o={"M+":n.getMonth()+1,"D+":n.getDate(),W:"日一二三四五六".charAt(n.getDay()),"h+":n.getHours(),"m+":n.getMinutes(),"s+":n.getSeconds(),"q+":Math.floor((n.getMonth()+3)/3),S:n.getMilliseconds()};for(var a in/(Y+)/.test(t)&&(t=t.replace(RegExp.$1,(n.getFullYear()+"").substr(4-RegExp.$1.length))),o)new RegExp("("+a+")").test(t)&&(t=t.replace(RegExp.$1,1===RegExp.$1.length?o[a]:("00"+o[a]).substr((""+o[a]).length)));return t}},formatTimeStamp:function(e){if(e){var t=new Date(e),n=t.getMonth()+1,o=t.getDate()<10?"0"+t.getDate():t.getDate(),a=n<10?"0"+n:n,r=t.getHours()<10?"0"+t.getHours():t.getHours(),i=t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes(),u=t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds();return t.getFullYear()+"-"+a+"-"+o+" "+r+":"+i+":"+u}},timeStampToYmd:function(e){if(e){var t=new Date(e),n=t.getMonth()+1,o=t.getDate()<10?"0"+t.getDate():t.getDate(),a=n<10?"0"+n:n;return t.getFullYear()+"-"+a+"-"+o}},timeStampToLineYmd:function(e){if(e){var t=new Date(e),n=t.getMonth()+1,o=t.getDate()<10?"0"+t.getDate():t.getDate(),a=n<10?"0"+n:n;return t.getFullYear()+"/"+a+"/"+o}},timeStampToHms:function(e){if(e){var t=new Date(e);return(t.getHours()<10?"0"+t.getHours():t.getHours())+":"+(t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes())+":"+(t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds())}},timeStampToMd:function(e){if(e){var t=new Date(e),n=t.getMonth()+1,o=t.getDate()<10?"0"+t.getDate():t.getDate();return(n<10?"0"+n:n)+"-"+o}}});i.a.polyfill(),Vue.config.productionTip=!1,Vue.use(D.a,{size:"large"}),Vue.use(w.a,k.a),Vue.axios.defaults.withCredentials=!0,a()(V).forEach(function(e){Vue.filter(e,V[e])}),new Vue({el:"#app",router:I,store:T,components:{App:s},template:"<App/>"})},Opzk:function(e,t,n){var o={"./document/index.vue":["UYHc",0,4],"./errorPage/403.vue":["6XGN",9],"./errorPage/404.vue":["AejC",10],"./errorPage/500.vue":["FskK",7],"./errorPage/index.vue":["ODjX",1],"./index/home.vue":["BB8f",0,5],"./index/index.vue":["JXTs",0,2],"./index/noticeDetail.vue":["m2x8",0,8],"./index/noticeList.vue":["U6qK",0,3],"./login/index.vue":["T+/8",0,6]};function a(e){var t=o[e];return t?Promise.all(t.slice(1).map(n.e)).then(function(){return n(t[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}a.keys=function(){return Object.keys(o)},a.id="Opzk",e.exports=a},SJI6:function(e,t){e.exports=Vuex},Xcu2:function(e,t){},lRwf:function(e,t){e.exports=Vue},pRNm:function(e,t){e.exports=VueRouter},tvR6:function(e,t){},uKUT:function(e,t){}},[0]);
\ No newline at end of file
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var f,d,i,u=0,s=[];u<r.length;u++)d=r[u],t[d]&&s.push(t[d][0]),t[d]=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e[f]=a[f]);for(n&&n(r,a,c);s.length;)s.shift()();if(c)for(u=0;u<c.length;u++)i=o(o.s=c[u]);return i};var r={},t={13:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"e1d089808563a1dca4d0",1:"adba71f29a9630854db5",2:"4bd9c9c2ec13daf1cf39",3:"231f095d460a0a20ec8f",4:"439037e8f0a5d537c267",5:"63315e8802cd8fe1e72a",6:"737da25334f9daa2d713",7:"7a9f6ebfddf9cc979084",8:"ef8bd7ef9c9f7f52d202",9:"9caad4c0ba5b8b4813ee",10:"63807a09986add449f8a"}[e]+".js";var f=setTimeout(d,12e4);function d(){c.onerror=c.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=d,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]); !function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var f,i,u,d=0,s=[];d<r.length;d++)i=r[d],t[i]&&s.push(t[i][0]),t[i]=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e[f]=a[f]);for(n&&n(r,a,c);s.length;)s.shift()();if(c)for(d=0;d<c.length;d++)u=o(o.s=c[d]);return u};var r={},t={13:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"078b4ad21dda67208e32",1:"df770e873d9091216d0d",2:"2137a9223f0e7f090a1a",3:"d6f38581aca47e122118",4:"99c51118eebabe16abdd",5:"beeba803fd72c7e13b92",6:"5995a649f0979da574a5",7:"043eb7c183929f5a4562",8:"ef0c83eb84fdb328b64e",9:"e13953392f9cfe8f3e21",10:"e9cf4faaade8b4703187"}[e]+".js";var f=setTimeout(i,12e4);function i(){c.onerror=c.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=i,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file \ No newline at end of file
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev", "start": "npm run dev",
"build": "node build/build.js", "build": "node build/build.js",
"lint": "eslint --ext .js,.vue src",
"format": "onchange 'test/**/*.js' 'src/**/*.js' 'src/**/*.vue' -- prettier --write {{changed}}", "format": "onchange 'test/**/*.js' 'src/**/*.js' 'src/**/*.vue' -- prettier --write {{changed}}",
"formater": "onchange \"test/**/*.js\" \"src/**/*.js\" \"src/**/*.vue\" -- prettier --write {{changed}}", "formater": "onchange \"test/**/*.js\" \"src/**/*.js\" \"src/**/*.vue\" -- prettier --write {{changed}}",
"version": "conventional-changelog -p angular -i changelog.md -s -r 0 && git add changelog.md" "version": "conventional-changelog -p angular -i changelog.md -s -r 0 && git add changelog.md"
...@@ -28,6 +29,8 @@ ...@@ -28,6 +29,8 @@
"xlsx": "^0.13.5" "xlsx": "^0.13.5"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^11.0.0",
"@commitlint/config-conventional": "^11.0.0",
"autoprefixer": "^7.1.2", "autoprefixer": "^7.1.2",
"axios": "^0.18.0", "axios": "^0.18.0",
"babel-core": "^6.22.1", "babel-core": "^6.22.1",
...@@ -53,15 +56,16 @@ ...@@ -53,15 +56,16 @@
"eslint-plugin-prettier": "^3.0.1", "eslint-plugin-prettier": "^3.0.1",
"eslint-plugin-promise": "^3.4.0", "eslint-plugin-promise": "^3.4.0",
"eslint-plugin-standard": "^3.0.1", "eslint-plugin-standard": "^3.0.1",
"eslint-plugin-vue": "^4.0.0", "eslint-plugin-vue": "^6.2.2",
"extract-text-webpack-plugin": "^3.0.0", "extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4", "file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1", "friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1", "html-webpack-plugin": "^2.30.1",
"husky": "^4.3.0",
"less": "^3.0.4", "less": "^3.0.4",
"less-loader": "^4.1.0", "less-loader": "^4.1.0",
"lint-staged": "^10.4.0",
"node-notifier": "^5.1.2", "node-notifier": "^5.1.2",
"node-sass": "^4.9.0",
"onchange": "^5.2.0", "onchange": "^5.2.0",
"optimize-css-assets-webpack-plugin": "^3.2.0", "optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0", "ora": "^1.2.0",
...@@ -71,7 +75,8 @@ ...@@ -71,7 +75,8 @@
"postcss-url": "^7.2.1", "postcss-url": "^7.2.1",
"prettier": "^1.16.4", "prettier": "^1.16.4",
"rimraf": "^2.6.0", "rimraf": "^2.6.0",
"sass-loader": "^7.0.1", "sass": "^1.26.11",
"sass-loader": "^7.3.1",
"semver": "^5.3.0", "semver": "^5.3.0",
"shelljs": "^0.7.6", "shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1", "uglifyjs-webpack-plugin": "^1.1.1",
...@@ -86,6 +91,18 @@ ...@@ -86,6 +91,18 @@
"webpack-dev-server": "^2.9.1", "webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0" "webpack-merge": "^4.1.0"
}, },
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"lint-staged": {
"*.{js,vue}": [
"eslint --fix",
"git add"
]
},
"engines": { "engines": {
"node": ">= 6.0.0", "node": ">= 6.0.0",
"npm": ">= 3.0.0" "npm": ">= 3.0.0"
......
<template> <template>
<div id="app"> <div id="app">
<transition name="fade" mode="out-in"> <transition
<router-view></router-view> name="fade"
mode="out-in">
<router-view />
</transition> </transition>
</div> </div>
</template> </template>
......
...@@ -41,13 +41,12 @@ Vue.axios.interceptors.response.use( ...@@ -41,13 +41,12 @@ Vue.axios.interceptors.response.use(
} }
); );
/* /**
* * @description: get
* 统一 get 请求方法 * @param {String} url
* @url: 请求的 url * @param {Object} params
* @params: 请求带的参数 * @return {Function}
* @header: 带 token * @author: 无尘
*
*/ */
export const getRequest = (url, params) => { export const getRequest = (url, params) => {
params.requestProject = 'open-platform-web'; params.requestProject = 'open-platform-web';
...@@ -63,12 +62,11 @@ export const getRequest = (url, params) => { ...@@ -63,12 +62,11 @@ export const getRequest = (url, params) => {
}; };
/** /**
* * @description: post formdata
* 统一 post 请求方法 * @param {String} url
* url: 请求的 url * @param {Object} params
* @params: 请求带的参数 * @return {Function}
* @header: * @author: 无尘
*
*/ */
export const postRequest = (url, params) => { export const postRequest = (url, params) => {
params.requestProject = 'open-platform-web'; params.requestProject = 'open-platform-web';
...@@ -94,11 +92,11 @@ export const postJsonRequest = (url, params) => { ...@@ -94,11 +92,11 @@ export const postJsonRequest = (url, params) => {
}; };
/** /**
* method: 'post' * @description: post json
* 'Content-Type': 'application/json;charset=UTF-8' * @param {String} url
* @data: params * @param {Object} params
* @requestProject: 'open-platform-web' * @return {Function}
* * @author: 无尘
*/ */
export const postJson = (url, params) => { export const postJson = (url, params) => {
// params.requestProject = "open-platform-web"; // params.requestProject = "open-platform-web";
...@@ -112,9 +110,11 @@ export const postJson = (url, params) => { ...@@ -112,9 +110,11 @@ export const postJson = (url, params) => {
}; };
/** /**
* method: 'post' * @description: post
* data: params * @param {String} url
* * @param {Object} params
* @return {Function}
* @author: 无尘
*/ */
export const postForm = (url, params) => { export const postForm = (url, params) => {
params.requestProject = 'open-platform-web'; params.requestProject = 'open-platform-web';
...@@ -127,9 +127,12 @@ export const postForm = (url, params) => { ...@@ -127,9 +127,12 @@ export const postForm = (url, params) => {
}; };
/** /**
* post excel * @description: post excel
* @param {String} url
* @param {Object} params
* @return {Function}
* @author: 无尘
*/ */
export const postExcel = (url, params) => { export const postExcel = (url, params) => {
params.requestProject = 'open-platform-web'; params.requestProject = 'open-platform-web';
return Vue.axios({ return Vue.axios({
......
// 防抖 /**
export function _debounce(fn, delay) { * @description: 防抖
var delay = delay || 200; * @param {Function} fn
var timer; * @param {Number} delays
* @returns {Function}
* @author: 无尘
*/
export function _debounce(fn, delays) {
let delay = delays || 200;
let timer;
// console.log(fn) // console.log(fn)
return function() { return function() {
var that = this; let that = this;
var args = arguments; let args = arguments;
if (timer) { if (timer) {
clearTimeout(timer); clearTimeout(timer);
} }
...@@ -15,15 +21,21 @@ export function _debounce(fn, delay) { ...@@ -15,15 +21,21 @@ export function _debounce(fn, delay) {
}, delay); }, delay);
}; };
} }
// 节流 /**
export function _throttle(fn, interval) { * @description: 节流
var last; * @param {Function} fn
var timer; * @param {Number} intervals
var interval = interval || 200; * @returns {Function}
* @author: 无尘
*/
export function _throttle(fn, intervals) {
let last;
let timer;
let interval = intervals || 200;
return function() { return function() {
var that = this; let that = this;
var args = arguments; let args = arguments;
var now = +new Date(); let now = +new Date();
if (last && now - last < interval) { if (last && now - last < interval) {
clearTimeout(timer); clearTimeout(timer);
timer = setTimeout(function() { timer = setTimeout(function() {
...@@ -38,8 +50,10 @@ export function _throttle(fn, interval) { ...@@ -38,8 +50,10 @@ export function _throttle(fn, interval) {
} }
/** /**
* 手机号格式化 * @description: 手机号格式化
* @param {String} phone * @param {String} phone
* @returns {String}
* @author: 无尘
*/ */
export function formatPhone(phone) { export function formatPhone(phone) {
phone = phone.toString(); phone = phone.toString();
...@@ -47,7 +61,9 @@ export function formatPhone(phone) { ...@@ -47,7 +61,9 @@ export function formatPhone(phone) {
} }
/** /**
* 时间戳格式化 * @description: 时间戳格式化
* @param {Number} num
* @author: 无尘
*/ */
function formatDig(num) { function formatDig(num) {
...@@ -66,12 +82,15 @@ export function formatDate(time) { ...@@ -66,12 +82,15 @@ export function formatDate(time) {
} }
/** /**
* 千位分割 * @description: 千位分割
* @param {Number} num
* @returns {String}
* @author: 无尘
*/ */
export function formatNum(num) { export function formatNum(num) {
let number = num.toString().split('.'); // 分隔小数点 let number = num.toString().split('.'); // 分隔小数点
let dot = '0.' + (number[1] || 0); let dot = '0.' + (number[1] || 0);
var reg = /\d{1,3}(?=(\d{3})+$)/g; let reg = /\d{1,3}(?=(\d{3})+$)/g;
return ( return (
(number[0] + '').replace(reg, '$&,') + (number[0] + '').replace(reg, '$&,') +
'.' + '.' +
...@@ -83,7 +102,10 @@ export function formatNum(num) { ...@@ -83,7 +102,10 @@ export function formatNum(num) {
} }
/** /**
* 重复判断 * @description: 重复判断
* @param {Array} arr
* @returns {Boolean}
* @author: 无尘
*/ */
export function isRepeat(arr) { export function isRepeat(arr) {
let hash = {}; let hash = {};
...@@ -95,9 +117,14 @@ export function isRepeat(arr) { ...@@ -95,9 +117,14 @@ export function isRepeat(arr) {
} }
return false; return false;
} }
/**
// json <---> jsonSchema * @description: json < -- - > jsonSchema, 如果传入的是对象, 处理对象, 返回结果
// 如果传入的是对象,处理对象,返回结果 * @param {Object} object
* @param {Object} output
* @param {Boolean} nested
* @returns {Array}
* @author: 无尘
*/
export function processObject(object, output, nested) { export function processObject(object, output, nested) {
let arr = []; let arr = [];
for (let key in object.properties) { for (let key in object.properties) {
......
/**
* 判断字符长度
* @param: str
*/
export default { export default {
/** /**
* 一个汉字算两个字符,一个英文字母或数字算一个字符 * @description: 一个汉字算两个字符, 一个英文字母或数字算一个字符
* @param {String} val
* @returns {Number}
* @author: 无尘
*/ */
getByteLen: function(val) { getByteLen: function(val) {
let valStr = val == '' || val == null ? '' : val; let valStr = val == '' || val == null ? '' : val;
...@@ -21,7 +19,10 @@ export default { ...@@ -21,7 +19,10 @@ export default {
return len; return len;
}, },
/** /**
* 一个汉字算一个字,一个英文字母或数字算半个字 * @description: 一个汉字算一个字, 一个英文字母或数字算半个字
* @param {String} val
* @returns {Number}
* @author: 无尘
*/ */
getZhLen: function(val) { getZhLen: function(val) {
let valStr = val == '' || val == null ? '' : val; let valStr = val == '' || val == null ? '' : val;
...@@ -37,26 +38,38 @@ export default { ...@@ -37,26 +38,38 @@ export default {
return Math.ceil(len); return Math.ceil(len);
}, },
/*暂无用*/ /**
*
* @description: 暂无用
* @param {String} str
* @param {Number} len
* @param {Number} type
* @returns {String}
* @author: 无尘
*/
cutStr: function(str, len, type) { cutStr: function(str, len, type) {
let char_length = 0; let charLength = 0;
for (let i = 0; i < str.length; i++) { for (let i = 0; i < str.length; i++) {
let son_str = str.charAt(i); let sonStr = str.charAt(i);
if (type == 1) { if (type == 1) {
encodeURI(son_str).length > 2 ? (char_length += 1) : (char_length += 0.5); encodeURI(sonStr).length > 2 ? (charLength += 1) : (charLength += 0.5);
} }
if (type == 2) { if (type == 2) {
char_length += 1; charLength += 1;
} }
if (char_length >= len) { if (charLength >= len) {
let sub_len = char_length == len ? i + 1 : i; let subLen = charLength == len ? i + 1 : i;
return str.substr(0, sub_len); return str.substr(0, subLen);
} }
} }
}, },
/** /**
* 限制字数用, 一个汉字算一个字,两个英文/字母算一个字 * @description: 限制字数用, 一个汉字算一个字, 两个英文 / 字母算一个字
* @param {String} val
* @param {Number} max
* @returns {String}
* @author: 无尘
*/ */
getByteVal: function(val, max) { getByteVal: function(val, max) {
let valStr = val == '' || val == null ? '' : val; let valStr = val == '' || val == null ? '' : val;
...@@ -72,7 +85,11 @@ export default { ...@@ -72,7 +85,11 @@ export default {
}, },
/** /**
* 限制字符数用, 一个汉字算两个字符,一个英文/字母算一个字符 * @description: 限制字符数用, 一个汉字算两个字符, 一个英文 / 字母算一个字符
* @param {String} val
* @param {Number} max
* @returns {String}
* @author: 无尘
*/ */
getCharVal: function(val, max) { getCharVal: function(val, max) {
let valStr = val == '' || val == null ? '' : val; let valStr = val == '' || val == null ? '' : val;
...@@ -88,7 +105,10 @@ export default { ...@@ -88,7 +105,10 @@ export default {
}, },
/** /**
* 正则校验,校验非负数字 * @description: 正则校验, 校验非负数字
* @param {String} v
* @returns {Boolean}
* @author: 无尘
*/ */
regPos: function(v) { regPos: function(v) {
let regTest = /^\d+(\.\d+)?$/; let regTest = /^\d+(\.\d+)?$/;
......
...@@ -9,32 +9,32 @@ export default { ...@@ -9,32 +9,32 @@ export default {
* var storeBusinessTime="10:00-22:00" to * var storeBusinessTime="10:00-22:00" to
*/ */
timeToDate: function(val) { timeToDate: function(val) {
var date = new Date() let date = new Date();
var y = date.getFullYear(); let y = date.getFullYear();
var m = date.getMonth() +1; let m = date.getMonth() + 1;
var day = date.getDate(); let day = date.getDate();
var d = [],newArr = []; let d = [];
var dArr = val.split('-'); let newArr = [];
dArr.forEach(function(ele,index){ let dArr = val.split('-');
newArr.push(ele.split(':')) dArr.forEach(function(ele, index){
}) newArr.push(ele.split(':'));
d = [new Date(y,m,day,newArr[0][0],newArr[0][1]),new Date(y,m,day,newArr[1][0],newArr[1][1])] });
d = [ new Date(y, m, day, newArr[0][0], newArr[0][1]), new Date(y, m, day, newArr[1][0], newArr[1][1]) ];
return d; return d;
}, },
dateToTime(val) { dateToTime(val) {
console.log(val) console.log(val);
// (0-9)年月数字的显示 // (0-9)年月数字的显示
function formatDig(num) { function formatDig(num) {
return num > 9 ? '' + num : '0' + num; return num > 9 ? '' + num : '0' + num;
} }
var t; let t;
var t1 = formatDig(new Date(val[0]).getHours())+':'+formatDig(new Date(val[0]).getMinutes()) let t1 = formatDig(new Date(val[0]).getHours()) + ':' + formatDig(new Date(val[0]).getMinutes());
var t2 = formatDig(new Date(val[1]).getHours())+':'+formatDig(new Date(val[1]).getMinutes()) let t2 = formatDig(new Date(val[1]).getHours()) + ':' + formatDig(new Date(val[1]).getMinutes());
t= t1+'-'+t2 t = t1 + '-' + t2;
return t; return t;
} }
} };
var SIGN_REGEXP = /([yMdhsm])(\1*)/g;
var DEFAULT_PATTERN = 'yyyy-MM-dd';
function padding(s, len) {
var len = len - (s + '').length;
for (var i = 0; i < len; i++) { s = '0' + s; }
return s;
};
export default {
getQueryStringByName: function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
},
formatDate: {
format: function (date, pattern) {
pattern = pattern || DEFAULT_PATTERN;
return pattern.replace(SIGN_REGEXP, function ($0) {
switch ($0.charAt(0)) {
case 'y': return padding(date.getFullYear(), $0.length);
case 'M': return padding(date.getMonth() + 1, $0.length);
case 'd': return padding(date.getDate(), $0.length);
case 'w': return date.getDay() + 1;
case 'h': return padding(date.getHours(), $0.length);
case 'm': return padding(date.getMinutes(), $0.length);
case 's': return padding(date.getSeconds(), $0.length);
}
});
},
parse: function (dateString, pattern) {
var matchs1 = pattern.match(SIGN_REGEXP);
var matchs2 = dateString.match(/(\d)+/g);
if (matchs1.length == matchs2.length) {
var _date = new Date(1970, 0, 1);
for (var i = 0; i < matchs1.length; i++) {
var _int = parseInt(matchs2[i]);
var sign = matchs1[i];
switch (sign.charAt(0)) {
case 'y': _date.setFullYear(_int); break;
case 'M': _date.setMonth(_int - 1); break;
case 'd': _date.setDate(_int); break;
case 'h': _date.setHours(_int); break;
case 'm': _date.setMinutes(_int); break;
case 's': _date.setSeconds(_int); break;
}
}
return _date;
}
return null;
}
}
};
...@@ -10,52 +10,105 @@ components: { ...@@ -10,52 +10,105 @@ components: {
--> -->
<template> <template>
<div class="api-detail-wrap"> <div class="api-detail-wrap">
<div class="api-detail-h2">{{ menuItemData.interfaceName }}(v{{ menuItemData.version }}</div> <div class="api-detail-h2">
{{ menuItemData.interfaceName }}(v{{ menuItemData.version }}
</div>
<div class="api-detail-descripe"> <div class="api-detail-descripe">
<el-input disabled type="textarea" resize="none" :rows="3" placeholder="请输入内容" v-model="menuItemData.interfaceDescribe" @blur="changeValue"> </el-input> <el-input
v-model="menuItemData.interfaceDescribe"
:rows="3"
disabled
type="textarea"
resize="none"
placeholder="请输入内容"
@blur="changeValue" />
</div> </div>
<div class="api-url m-t-16"> <div class="api-url m-t-16">
<div class="api-detail-p">请求地址:{{ menuItemData.interfaceUrl }}</div> <div class="api-detail-p">
请求地址:{{ menuItemData.interfaceUrl }}
</div>
</div> </div>
<div class="api-method m-b-10 m-t-10"> <div class="api-method m-b-10 m-t-10">
<div class="api-detail-p">请求方法:{{ menuItemData.requestType }}</div> <div class="api-detail-p">
请求方法:{{ menuItemData.requestType }}
</div>
</div> </div>
<div class="api-request-param m-t-10"> <div class="api-request-param m-t-10">
<div class="api-detail-h3 m-b-10">请求参数:</div> <div class="api-detail-h3 m-b-10">
请求参数:
</div>
<div> <div>
<el-table :data="menuItemData.frontParams" row-key="currentKey" style="width: 100%;margin-bottom: 20px;" border default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> <el-table
<el-table-column prop="currentKey" label="名称"> </el-table-column> :data="menuItemData.frontParams"
<el-table-column prop="type" label="类型"> </el-table-column> :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
<el-table-column prop="example" label="示例值"> </el-table-column> row-key="currentKey"
<el-table-column prop="description" label="描述"> </el-table-column> style="width: 100%;margin-bottom: 20px;"
border
default-expand-all>
<el-table-column
prop="currentKey"
label="名称" />
<el-table-column
prop="type"
label="类型" />
<el-table-column
prop="example"
label="示例值" />
<el-table-column
prop="description"
label="描述" />
</el-table> </el-table>
</div> </div>
</div> </div>
<div class="api-response-param"> <div class="api-response-param">
<div class="api-detail-h3 m-b-10 m-t-27">响应参数:</div> <div class="api-detail-h3 m-b-10 m-t-27">
响应参数:
</div>
<div> <div>
<el-table :data="menuItemData.resultParams" row-key="currentKey" style="width: 100%;margin-bottom: 20px;" border default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> <el-table
<el-table-column prop="currentKey" label="名称"> </el-table-column> :data="menuItemData.resultParams"
<el-table-column prop="type" label="类型"> </el-table-column> :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
<el-table-column prop="example" label="示例值"> </el-table-column> row-key="currentKey"
<el-table-column prop="description" label="描述"> </el-table-column> style="width: 100%;margin-bottom: 20px;"
border
default-expand-all>
<el-table-column
prop="currentKey"
label="名称" />
<el-table-column
prop="type"
label="类型" />
<el-table-column
prop="example"
label="示例值" />
<el-table-column
prop="description"
label="描述" />
</el-table> </el-table>
</div> </div>
</div> </div>
<div class="api-request-demo" v-if="false"> <div
<div class="api-detail-h3 m-b-10 m-t-27">请求示例:</div> v-if="false"
class="api-request-demo">
<div class="api-detail-h3 m-b-10 m-t-27">
请求示例:
</div>
<div class="api-demo-text"> <div class="api-demo-text">
<pre>{{ menuItemData }}</pre> <pre>{{ menuItemData }}</pre>
</div> </div>
</div> </div>
<div class="api-response-success"> <div class="api-response-success">
<div class="api-detail-h3 m-b-10 m-t-27">成功响应示例:</div> <div class="api-detail-h3 m-b-10 m-t-27">
成功响应示例:
</div>
<div class="api-demo-text"> <div class="api-demo-text">
<pre>{{ menuItemData.sucReturn }}</pre> <pre>{{ menuItemData.sucReturn }}</pre>
</div> </div>
</div> </div>
<div class="api-response-error"> <div class="api-response-error">
<div class="api-detail-h3 m-b-10 m-t-27">失败响应示例:</div> <div class="api-detail-h3 m-b-10 m-t-27">
失败响应示例:
</div>
<div class="api-demo-text"> <div class="api-demo-text">
<pre>{{ menuItemData.errReturn }}</pre> <pre>{{ menuItemData.errReturn }}</pre>
</div> </div>
...@@ -72,7 +125,7 @@ export default { ...@@ -72,7 +125,7 @@ export default {
} }
}, },
apiData: { apiData: {
type: [Object, Array], type: [ Object, Array ],
default() { default() {
return {}; return {};
} }
...@@ -84,6 +137,13 @@ export default { ...@@ -84,6 +137,13 @@ export default {
describeValue: this.value describeValue: this.value
}; };
}, },
mounted() {
const that = this;
that.$nextTick(() => {
that.menuItemData = that.apiData;
that.describeValue = that.value;
});
},
methods: { methods: {
changeValue(e) { changeValue(e) {
const that = this; const that = this;
...@@ -93,23 +153,10 @@ export default { ...@@ -93,23 +153,10 @@ export default {
watch: { watch: {
value(newData, oldDate) { value(newData, oldDate) {
this.describeValue = newData; this.describeValue = newData;
/* eslint-disable */
console.log(this.apiData, this.value, newData);
}, },
apiData(newData, oldDate) { apiData(newData, oldDate) {
this.menuItemData = newData; this.menuItemData = newData;
/* eslint-disable */
console.log(this.apiData, this.menuItemData, newData);
} }
},
mounted() {
const that = this;
that.$nextTick(() => {
that.menuItemData = that.apiData;
that.describeValue = that.value;
/* eslint-disable */
console.log(that.apiData, that.value);
});
} }
}; };
</script> </script>
......
...@@ -10,9 +10,16 @@ components: { ...@@ -10,9 +10,16 @@ components: {
--> -->
<template> <template>
<div class="error-code-wrap"> <div class="error-code-wrap">
<el-table :data="errorCodeData" style="width: 100%"> <el-table
<el-table-column prop="errorCode" label="错误码"> </el-table-column> :data="errorCodeData"
<el-table-column prop="errorInfo" label="错误信息" show-overflow-tooltip> </el-table-column> style="width: 100%">
<el-table-column
prop="errorCode"
label="错误码" />
<el-table-column
prop="errorInfo"
label="错误信息"
show-overflow-tooltip />
</el-table> </el-table>
</div> </div>
</template> </template>
...@@ -20,7 +27,7 @@ components: { ...@@ -20,7 +27,7 @@ components: {
export default { export default {
props: { props: {
errorCodeData: { errorCodeData: {
type: [Object, Array], type: [ Object, Array ],
default() { default() {
return {}; return {};
} }
......
...@@ -11,22 +11,28 @@ ...@@ -11,22 +11,28 @@
</limitInput> </limitInput>
--> -->
<template> <template>
<div :class="['input-line-cell', limitClass]" :style="{ width: inputWidth + 'px' }"> <div
<el-input :style="{ width: inputWidth + 'px' }" v-model="itemValue" :disabled="disflag" :placeholder="holder" @blur="inputBlur()" @focus="inputFocus()" @keyup.native="value => toInput(value)"> </el-input> :class="['input-line-cell', limitClass]"
<span class="tip" :style="{ width: inputWidth + 'px' }">
><span class="len_span">{{ inputNum }}</span <el-input
>/{{ limitLength }}</span v-model="itemValue"
> :style="{ width: inputWidth + 'px' }"
:disabled="disflag"
:placeholder="holder"
@blur="inputBlur()"
@keyup.native="value => toInput(value)" />
<span
class="tip"><span class="len_span">{{ inputNum }}</span>/{{ limitLength }}</span>
</div> </div>
</template> </template>
<script> <script>
import strLength from '@/assets/js/strlen'; import strLength from '@/assets/js/strlen';
export default { export default {
name: 'limitinput', name: 'Limitinput',
props: { props: {
// 传入 input value // 传入 input value
inputValue: { inputValue: {
type: [String, Number], type: [ String, Number ],
default() { default() {
return ''; return '';
} }
...@@ -69,10 +75,23 @@ export default { ...@@ -69,10 +75,23 @@ export default {
itemValue: '' itemValue: ''
}; };
}, },
/* 接收数据 */
mounted() {
let that = this;
that.limitLength = that.maxLength;
that.itemValue = that.inputValue || '';
if (that.getByType == 'word') {
that.inputNum = strLength.getZhLen(that.inputValue);
} else {
that.inputNum = strLength.getByteLen(that.inputValue);
}
},
methods: { methods: {
/* eslint-disable */ /**
inputFocus(num) {}, * @description: 输入
// 输入 * @param {Object} value
* @author: 无尘
*/
toInput: function(value) { toInput: function(value) {
const that = this; const that = this;
let temp = ''; let temp = '';
...@@ -106,17 +125,6 @@ export default { ...@@ -106,17 +125,6 @@ export default {
that.inputNum = strLength.getByteLen(that.itemValue); that.inputNum = strLength.getByteLen(that.itemValue);
} }
} }
},
/* 接收数据 */
mounted() {
let that = this;
that.limitLength = that.maxLength;
that.itemValue = that.inputValue || '';
if (that.getByType == 'word') {
that.inputNum = strLength.getZhLen(that.inputValue);
} else {
that.inputNum = strLength.getByteLen(that.inputValue);
}
} }
}; };
</script> </script>
......
...@@ -10,18 +10,26 @@ ...@@ -10,18 +10,26 @@
</limit-textarea> </limit-textarea>
--> -->
<template> <template>
<div class="input-line-cell" :style="{ width: inputWidth + 'px' }"> <div
<el-input :style="{ width: inputWidth + 'px' }" v-model="itemValue" :placeholder="holder" type="textarea" :rows="3" :disabled="disInput" @blur="inputBlur()" @focus="inputFocus()" @keyup.native="value => toInput(value)"> </el-input> class="input-line-cell"
<span class="tip" :style="{ width: inputWidth + 'px' }">
><span class="len_span">{{ inputNum }}</span <el-input
>/{{ limitLength }}</span v-model="itemValue"
> :style="{ width: inputWidth + 'px' }"
:placeholder="holder"
type="textarea"
:rows="3"
:disabled="disInput"
@blur="inputBlur()"
@keyup.native="value => toInput(value)" />
<span
class="tip"><span class="len_span">{{ inputNum }}</span>/{{ limitLength }}</span>
</div> </div>
</template> </template>
<script> <script>
import strLength from '@/assets/js/strlen'; import strLength from '@/assets/js/strlen';
export default { export default {
name: 'limittextarea', name: 'Limittextarea',
props: { props: {
inputValue: { inputValue: {
// 传入 input value // 传入 input value
...@@ -64,10 +72,23 @@ export default { ...@@ -64,10 +72,23 @@ export default {
itemValue: '' itemValue: ''
}; };
}, },
/* 接收数据 */
mounted() {
const that = this;
that.limitLength = that.maxLength;
that.itemValue = that.inputValue || '';
if (that.getByType == 'word') {
that.inputNum = strLength.getZhLen(that.inputValue);
}else {
that.inputNum = strLength.getByteLen(that.inputValue);
}
},
methods: { methods: {
/* eslint-disable */ /**
inputFocus(num) {}, * @description: 输入
// 输入 * @param {Object} value
* @author: 无尘
*/
toInput: function(value) { toInput: function(value) {
const that = this; const that = this;
let temp = ''; let temp = '';
...@@ -101,17 +122,6 @@ export default { ...@@ -101,17 +122,6 @@ export default {
that.inputNum = strLength.getByteLen(that.itemValue); that.inputNum = strLength.getByteLen(that.itemValue);
} }
} }
},
/* 接收数据 */
mounted() {
const that = this;
that.limitLength = that.maxLength;
that.itemValue = that.inputValue || '';
if (that.getByType == 'word') {
that.inputNum = strLength.getZhLen(that.inputValue);
}else {
that.inputNum = strLength.getByteLen(that.inputValue);
}
} }
}; };
</script> </script>
......
...@@ -12,18 +12,13 @@ import markdownContent from '@/components/markdown-content.vue'; ...@@ -12,18 +12,13 @@ import markdownContent from '@/components/markdown-content.vue';
--> -->
<template> <template>
<div class="markdown-content" style="display:none;" v-htmlContent="formData.htmlContent"></div> <div
v-htmlContent="formData.htmlContent"
class="markdown-content"
style="display:none;" />
</template> </template>
<script> <script>
export default { export default {
props: {
markdownData: {
type: [Object, Array],
default() {
return {};
}
}
},
directives: { directives: {
htmlContent: { htmlContent: {
// 指令的定义 // 指令的定义
...@@ -32,19 +27,27 @@ export default { ...@@ -32,19 +27,27 @@ export default {
} }
} }
}, },
props: {
markdownData: {
type: [ Object, Array ],
default() {
return {};
}
}
},
data() { data() {
return { return {
formData: this.markdownData formData: this.markdownData
}; };
}, },
mounted() {
this.formData = JSON.parse(JSON.stringify(this.markdownData));
},
watch: { watch: {
markdownData(newData, oldData) { markdownData(newData, oldData) {
this.formData = JSON.parse(JSON.stringify(newData)); this.formData = JSON.parse(JSON.stringify(newData));
} }
}, },
mounted() {
this.formData = JSON.parse(JSON.stringify(this.markdownData));
}
}; };
</script> </script>
<style lang="less"> <style lang="less">
......
...@@ -12,11 +12,19 @@ components: { ...@@ -12,11 +12,19 @@ components: {
<div class="right-content-top border-box"> <div class="right-content-top border-box">
<div class="right-top-wrap flex flex-row flex-space-between flex-pack-center"> <div class="right-top-wrap flex flex-row flex-space-between flex-pack-center">
<div class="right-top-wrap_left flex flex-pack-center"> <div class="right-top-wrap_left flex flex-pack-center">
<div aria-label="Breadcrumb" role="navigation" class="el-breadcrumb"> <div
aria-label="Breadcrumb"
role="navigation"
class="el-breadcrumb">
<template v-for="(item, index) in titleData"> <template v-for="(item, index) in titleData">
<span class="el-breadcrumb__item" :key="index" @click="redirectRoute(item.path)"> <span
<span role="link" :class="['el-breadcrumb__inner', !!item.path ? 'is-link' : '']">{{ item.name }}</span> :key="index"
<i class="el-breadcrumb__separator el-icon-arrow-right"></i> class="el-breadcrumb__item"
@click="redirectRoute(item.path)">
<span
:class="['el-breadcrumb__inner', !!item.path ? 'is-link' : '']"
role="link">{{ item.name }}</span>
<i class="el-breadcrumb__separator el-icon-arrow-right" />
</span> </span>
</template> </template>
</div> </div>
...@@ -26,10 +34,10 @@ components: { ...@@ -26,10 +34,10 @@ components: {
</template> </template>
<script> <script>
export default { export default {
name: 'arrow-nav-bread', name: 'ArrowNavBread',
props: { props: {
menuData: { menuData: {
type: [Array, Object], type: [ Array, Object ],
default() { default() {
return []; return [];
} }
...@@ -41,13 +49,6 @@ export default { ...@@ -41,13 +49,6 @@ export default {
titleData: [] titleData: []
}; };
}, },
watch: {
menuData(newDate) {
if (!!newDate) {
this.titleData = newDate;
}
}
},
mounted() { mounted() {
let that = this; let that = this;
if (!!that.menuData) { if (!!that.menuData) {
...@@ -56,19 +57,27 @@ export default { ...@@ -56,19 +57,27 @@ export default {
}, },
methods: { methods: {
/** /**
* 路由跳转 * @description: 路由跳转
* @param {String} path
* @author: 无尘
*/ */
changeRoute(path) { changeRoute(path) {
this.$router.push(path); this.$router.push(path);
}, },
redirectRoute(path) { redirectRoute(path) {
let that = this; let that = this;
if (!!path) { if (!!path) {
that.changeRoute(path); that.changeRoute(path);
} }
} }
} },
watch: {
menuData(newDate) {
if (!!newDate) {
this.titleData = newDate;
}
}
},
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</template> </template>
<script> <script>
export default { export default {
name: 'index', name: 'Index',
data() { data() {
return {}; return {};
} }
......
...@@ -5,16 +5,32 @@ ...@@ -5,16 +5,32 @@
<template> <template>
<div class="open-header"> <div class="open-header">
<div class="open-header-wrap border-box flex "> <div class="open-header-wrap border-box flex ">
<div class="open-header-left" @click="toHome"><img src="../assets/document/logo.png" alt="" /></div> <div
class="open-header-left"
@click="toHome">
<img
src="../assets/document/logo.png"
alt="">
</div>
<div class="open-header-right border-box"> <div class="open-header-right border-box">
<div class="open-header-right_wrap flex flex-space-between"> <div class="open-header-right_wrap flex flex-space-between">
<ul class="flex"> <ul class="flex">
<li v-for="(item, index) in openMenuData" :key="index + 'menu'" :class="['menu-li border-box', currentMenuTab == item.menuId ? 'active-tab' : '']" @click.stop.prevent="toRedirect(item)"> <li
v-for="(item, index) in openMenuData"
:key="index + 'menu'"
:class="['menu-li border-box', currentMenuTab == item.menuId ? 'active-tab' : '']"
@click.stop.prevent="toRedirect(item)">
<span>{{ item.menuName }}</span> <span>{{ item.menuName }}</span>
</li> </li>
</ul> </ul>
<div class="search-wrap"> <div class="search-wrap">
<el-input clearable placeholder="请输入搜索内容" prefix-icon="el-icon-search" v-model="searchValue" @keyup.native="value => searchData(value)" @clear="clearInput"> </el-input> <el-input
v-model="searchValue"
clearable
placeholder="请输入搜索内容"
prefix-icon="el-icon-search"
@keyup.native="value => searchData(value)"
@clear="clearInput" />
</div> </div>
</div> </div>
</div> </div>
...@@ -25,10 +41,10 @@ ...@@ -25,10 +41,10 @@
<script> <script>
import { _debounce } from '@/assets/js/public'; import { _debounce } from '@/assets/js/public';
export default { export default {
name: 'vue-open-header', name: 'VueOpenHeader',
props: { props: {
currentTab: { currentTab: {
type: [String, Number], type: [ String, Number ],
default() { default() {
return '2'; return '2';
} }
...@@ -52,8 +68,17 @@ export default { ...@@ -52,8 +68,17 @@ export default {
searchValue: '' searchValue: ''
}; };
}, },
/* 接收数据 */
mounted() {
const that = this;
that.currentMenuTab = that.$route.query.currentTab || '2';
},
methods: { methods: {
/**
* @description: 跳转
* @param {Object} item
* @author: 无尘
*/
toRedirect(item) { toRedirect(item) {
const that = this; const that = this;
that.currentMenuTab = item.menuId; that.currentMenuTab = item.menuId;
...@@ -64,15 +89,16 @@ export default { ...@@ -64,15 +89,16 @@ export default {
that.$router.push('/home'); that.$router.push('/home');
}, },
/** /**
* 搜索 * @description: 搜索
* @author: 无尘
*/ */
searchData: _debounce(function(value) { searchData: _debounce(function() {
const that = this; const that = this;
that.$emit('searchMenu', that.searchValue, that.currentMenuTab); that.$emit('searchMenu', that.searchValue, that.currentMenuTab);
}, 500), }, 500),
/** /**
* 搜索清除 * @description: 搜索清除
* @author: 无尘
*/ */
clearInput() { clearInput() {
const that = this; const that = this;
...@@ -92,11 +118,7 @@ export default { ...@@ -92,11 +118,7 @@ export default {
that.currentMenuTab = newData; that.currentMenuTab = newData;
} }
}, },
/* 接收数据 */
mounted() {
const that = this;
that.currentMenuTab = that.$route.query.currentTab || '2';
}
}; };
</script> </script>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* @Author: 无尘 * @Author: 无尘
* @Date: 2019-09-11 16:35:07 * @Date: 2019-09-11 16:35:07
* @LastEditors: 无尘 * @LastEditors: 无尘
* @LastEditTime: 2019-12-11 18:05:26 * @LastEditTime: 2020-09-23 12:38:35
--> -->
<!-- <!--
<open-doc-left :currentTab="currentTab" @changeDoc="changeDoc"></open-doc-left> <open-doc-left :currentTab="currentTab" @changeDoc="changeDoc"></open-doc-left>
...@@ -15,33 +15,53 @@ ...@@ -15,33 +15,53 @@
<ul class="document-ul"> <ul class="document-ul">
<template v-for="(item, index) in menuData"> <template v-for="(item, index) in menuData">
<li :key="index + 'level1'"> <li :key="index + 'level1'">
<div :class="['li-cell flex flex-space-between', activeId == item.menuId ? 'active-menu' : '']" @click="changeMenu(item)"> <div
:class="['li-cell flex flex-space-between', activeId == item.menuId ? 'active-menu' : '']"
@click="changeMenu(item)">
<span class="li-cell-name">{{ item.menuName }}</span> <span class="li-cell-name">{{ item.menuName }}</span>
<span v-if="!item.leaf" :class="['li-cell-icon font_family icon-arrow_right', item.expanded ? 'rotate-icon' : '']"></span> <span
<span v-if="item.leaf" class="li-cell-icon icon-round"></span> v-if="!item.leaf"
:class="['li-cell-icon font_family icon-arrow_right', item.expanded ? 'rotate-icon' : '']" />
<span
v-if="item.leaf"
class="li-cell-icon icon-round" />
</div> </div>
<ul v-if="item.children && item.children.length && item.expanded"> <ul v-if="item.children && item.children.length && item.expanded">
<template v-for="(levelTwo, two) in item.children"> <template v-for="(levelTwo, two) in item.children">
<li :key="two + 'level1'"> <li :key="two + 'level1'">
<div :class="['li-cell flex flex-space-between', activeId == levelTwo.menuId ? 'active-menu' : '']" @click="changeMenu(levelTwo)"> <div
:class="['li-cell flex flex-space-between', activeId == levelTwo.menuId ? 'active-menu' : '']"
@click="changeMenu(levelTwo)">
<span class="p-l-15 li-cell-name border-box">{{ levelTwo.menuName }}</span> <span class="p-l-15 li-cell-name border-box">{{ levelTwo.menuName }}</span>
<span v-if="!levelTwo.leaf" :class="['li-cell-icon font_family icon-arrow_right', levelTwo.expanded ? 'rotate-icon' : '']"></span> <span
<span v-if="levelTwo.leaf" class="li-cell-icon icon-round"></span> v-if="!levelTwo.leaf"
:class="['li-cell-icon font_family icon-arrow_right', levelTwo.expanded ? 'rotate-icon' : '']" />
<span
v-if="levelTwo.leaf"
class="li-cell-icon icon-round" />
</div> </div>
<ul v-if="levelTwo.children && levelTwo.children.length && levelTwo.expanded"> <ul v-if="levelTwo.children && levelTwo.children.length && levelTwo.expanded">
<template v-for="(levelThree, three) in levelTwo.children"> <template v-for="(levelThree, three) in levelTwo.children">
<li :key="three + 'level1'"> <li :key="three + 'level1'">
<div :class="['li-cell flex flex-space-between', activeId == levelThree.menuId ? 'active-menu' : '']" @click="changeMenu(levelThree)"> <div
:class="['li-cell flex flex-space-between', activeId == levelThree.menuId ? 'active-menu' : '']"
@click="changeMenu(levelThree)">
<span class="li-cell-name border-box p-l-30">{{ levelThree.menuName }}</span> <span class="li-cell-name border-box p-l-30">{{ levelThree.menuName }}</span>
<span v-if="!levelThree.leaf" :class="['li-cell-icon font_family icon-arrow_right', levelThree.expanded ? 'rotate-icon' : '']"></span> <span
<span v-if="levelThree.leaf" class="li-cell-icon icon-round"></span> v-if="!levelThree.leaf"
:class="['li-cell-icon font_family icon-arrow_right', levelThree.expanded ? 'rotate-icon' : '']" />
<span
v-if="levelThree.leaf"
class="li-cell-icon icon-round" />
</div> </div>
<ul v-if="levelThree.children && levelThree.children.length && levelThree.expanded"> <ul v-if="levelThree.children && levelThree.children.length && levelThree.expanded">
<template v-for="(levelFour, four) in levelThree.children"> <template v-for="(levelFour, four) in levelThree.children">
<li :key="four + 'level1'"> <li :key="four + 'level1'">
<div :class="['li-cell flex flex-space-between', activeId == levelFour.menuId ? 'active-menu' : '']" @click="changeMenu(levelFour)"> <div
:class="['li-cell flex flex-space-between', activeId == levelFour.menuId ? 'active-menu' : '']"
@click="changeMenu(levelFour)">
<span class="li-cell-name border-box p-l-45">{{ levelFour.menuName }}</span> <span class="li-cell-name border-box p-l-45">{{ levelFour.menuName }}</span>
<span class="li-cell-icon icon-round"></span> <span class="li-cell-icon icon-round" />
</div> </div>
</li> </li>
</template> </template>
...@@ -63,7 +83,7 @@ import errMsg from '@/assets/js/error'; ...@@ -63,7 +83,7 @@ import errMsg from '@/assets/js/error';
export default { export default {
props: { props: {
currentTab: { currentTab: {
type: [String, Number], type: [ String, Number ],
default() { default() {
return '2'; return '2';
} }
...@@ -93,9 +113,18 @@ export default { ...@@ -93,9 +113,18 @@ export default {
] ]
}; };
}, },
mounted() {
const that = this;
that.parentId = that.$route.query.currentTab || '2';
that.activeId = that.$route.query.menuId || '';
that.getMenuData(that.parentId);
},
methods: { methods: {
/** /**
* 菜单切换 * @description: 菜单切换
* @param {Object} item
* @return {Boolean}
* @author: 无尘
*/ */
async changeMenu(item) { async changeMenu(item) {
const that = this; const that = this;
...@@ -116,7 +145,9 @@ export default { ...@@ -116,7 +145,9 @@ export default {
} }
}, },
/** /**
* 处理递归判断 * @description: 处理递归判断
* @param {Object} itemData
* @author: 无尘
*/ */
handleResultData(itemData) { handleResultData(itemData) {
const that = this; const that = this;
...@@ -131,12 +162,17 @@ export default { ...@@ -131,12 +162,17 @@ export default {
}); });
} }
}, },
/**
* @description: 处理递归判断
* @param {String} parentId
* @param {Object} node
* @author: 无尘
*/
getMenuData(parentId, node) { getMenuData(parentId, node) {
const that = this; const that = this;
let para = { let para = {
parentId: parentId parentId: parentId
}; };
/* eslint-disable */
getMenu(para) getMenu(para)
.then(res => { .then(res => {
let resData = res.data; let resData = res.data;
...@@ -158,7 +194,7 @@ export default { ...@@ -158,7 +194,7 @@ export default {
resData.result.forEach(ele => { resData.result.forEach(ele => {
ele.expanded = false; ele.expanded = false;
ele.children = []; ele.children = [];
}) });
node.children = resData.result; node.children = resData.result;
return false; return false;
} }
...@@ -180,12 +216,6 @@ export default { ...@@ -180,12 +216,6 @@ export default {
this.parentId = newData; this.parentId = newData;
this.getMenuData(newData); this.getMenuData(newData);
} }
},
mounted() {
const that = this;
that.parentId = that.$route.query.currentTab || '2';
that.activeId = that.$route.query.menuId || '';
that.getMenuData(that.parentId);
} }
}; };
</script> </script>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* @Author: 无尘 * @Author: 无尘
* @Date: 2019-09-11 16:35:18 * @Date: 2019-09-11 16:35:18
* @LastEditors: 无尘 * @LastEditors: 无尘
* @LastEditTime: 2019-12-11 17:31:53 * @LastEditTime: 2020-09-23 13:35:56
--> -->
<!-- <!--
<open-doc-right ref="docContent" :currentDoc="currentDoc" :currentTab="currentTab" :searchData="searchData"></open-doc-right> <open-doc-right ref="docContent" :currentDoc="currentDoc" :currentTab="currentTab" :searchData="searchData"></open-doc-right>
...@@ -15,33 +15,56 @@ import openDocRight from '@/components/open-doc-right.vue'; ...@@ -15,33 +15,56 @@ import openDocRight from '@/components/open-doc-right.vue';
<div class="document-right"> <div class="document-right">
<div class="document-right-body border-box"> <div class="document-right-body border-box">
<!-- 搜索结果 --> <!-- 搜索结果 -->
<div class="search-contain" v-if="searchFlag"> <div
v-if="searchFlag"
class="search-contain">
<h2>搜索结果({{ totalCount }})</h2> <h2>搜索结果({{ totalCount }})</h2>
<div class="search-list" v-if="searchList.length"> <div
v-if="searchList.length"
class="search-list">
<ul> <ul>
<li class="search-list-cell border-box" v-for="(item, index) in searchList" :key="index + 'search'" @click="toDocMenuDetail(item)"> <li
v-for="(item, index) in searchList"
:key="index + 'search'"
class="search-list-cell border-box"
@click="toDocMenuDetail(item)">
{{ item.menuName }} {{ item.menuName }}
</li> </li>
</ul> </ul>
<div v-if="totalCount > searchList.length" class="load-more-data" @click="loadMoreData">加载更多</div> <div
v-if="totalCount > searchList.length"
class="load-more-data"
@click="loadMoreData">
加载更多
</div>
</div> </div>
<div v-if="!searchList.length" class="no-search-data"> <div
v-if="!searchList.length"
class="no-search-data">
什么都没找到。 什么都没找到。
</div> </div>
</div> </div>
<div v-if="!searchFlag"> <div v-if="!searchFlag">
<!-- 内容 --> <!-- 内容 -->
<div class="article-contain" v-if="formData.content"> <div
<div class="markdown-content" v-html="formData.htmlContent"></div> v-if="formData.content"
<markdown-content :markdownData="formData"></markdown-content> class="article-contain">
<div
class="markdown-content"
v-html="formData.htmlContent" />
<markdown-content :markdown-data="formData" />
</div> </div>
<!-- api --> <!-- api -->
<api-detail v-if="Object.keys(apiData).length" :apiData="apiData"></api-detail> <api-detail
v-if="Object.keys(apiData).length"
:api-data="apiData" />
<!-- 错误码 --> <!-- 错误码 -->
<error-code-table v-if="errorCodeData.length" :errorCodeData="errorCodeData"></error-code-table> <error-code-table
v-if="errorCodeData.length"
:error-code-data="errorCodeData" />
</div> </div>
</div> </div>
<open-doc-footer></open-doc-footer> <open-doc-footer />
</div> </div>
</template> </template>
<script> <script>
...@@ -56,15 +79,21 @@ import { processObject } from '@/assets/js/public'; ...@@ -56,15 +79,21 @@ import { processObject } from '@/assets/js/public';
/* import MarkdownIt from 'markdown-it'; /* import MarkdownIt from 'markdown-it';
let marked = new MarkdownIt(); */ let marked = new MarkdownIt(); */
export default { export default {
components: {
openDocFooter,
errorCodeTable,
apiDetail,
markdownContent
},
props: { props: {
currentDoc: { currentDoc: {
type: [Object, Array], type: [ Object, Array ],
default() { default() {
return {}; return {};
} }
}, },
currentTab: { currentTab: {
type: [String, Number], type: [ String, Number ],
default() { default() {
return '2'; return '2';
} }
...@@ -76,12 +105,6 @@ export default { ...@@ -76,12 +105,6 @@ export default {
} }
} }
}, },
components: {
openDocFooter,
errorCodeTable,
apiDetail,
markdownContent
},
data() { data() {
return { return {
menuDetailData: {}, // 菜单数据 menuDetailData: {}, // 菜单数据
...@@ -95,9 +118,19 @@ export default { ...@@ -95,9 +118,19 @@ export default {
totalCount: 0 totalCount: 0
}; };
}, },
mounted() {
const that = this;
that.menuDetailData = that.currentDoc;
that.$nextTick(() => {
that.handleMenuData();
});
},
methods: { methods: {
/** /**
* 跳转 * @description: 跳转
* @param {Object} item
* @returns {Boolean}
* @author: 无尘
*/ */
toDocMenuDetail(item) { toDocMenuDetail(item) {
const that = this; const that = this;
...@@ -108,7 +141,9 @@ export default { ...@@ -108,7 +141,9 @@ export default {
window.open(`#/document?currentTab=${that.currentTab}&menuId=${item.menuId}`); window.open(`#/document?currentTab=${that.currentTab}&menuId=${item.menuId}`);
}, },
/** /**
* 加载更多 * @description: 加载更多
* @returns {Boolean}
* @author: 无尘
*/ */
loadMoreData() { loadMoreData() {
const that = this; const that = this;
...@@ -119,7 +154,8 @@ export default { ...@@ -119,7 +154,8 @@ export default {
that.getSearchData(); that.getSearchData();
}, },
/** /**
* 获取搜索数据 * @description: 获取搜索数据
* @author: 无尘
*/ */
getSearchData() { getSearchData() {
const that = this; const that = this;
...@@ -153,7 +189,8 @@ export default { ...@@ -153,7 +189,8 @@ export default {
}); });
}, },
/** /**
* 获取错误码数据 * @description: 获取错误码数据
* @author: 无尘
*/ */
getErrorCodeData() { getErrorCodeData() {
const that = this; const that = this;
...@@ -175,7 +212,9 @@ export default { ...@@ -175,7 +212,9 @@ export default {
}); });
}, },
/** /**
* 获取api详情 * @description: 获取api详情
* @param {String} interfaceId
* @author: 无尘
*/ */
getApiDetailData(interfaceId) { getApiDetailData(interfaceId) {
const that = this; const that = this;
...@@ -205,7 +244,9 @@ export default { ...@@ -205,7 +244,9 @@ export default {
}); });
}, },
/** /**
* 获取内容详情 * @description: 获取内容详情
* @param {String} articleId
* @author: 无尘
*/ */
getData(articleId) { getData(articleId) {
const that = this; const that = this;
...@@ -230,7 +271,8 @@ export default { ...@@ -230,7 +271,8 @@ export default {
}); });
}, },
/** /**
* 处理菜单数据,根据关联类型判断调用哪些接口 * @description: 处理菜单数据,根据关联类型判断调用哪些接口
* @author: 无尘
*/ */
handleMenuData() { handleMenuData() {
const that = this; const that = this;
...@@ -282,13 +324,6 @@ export default { ...@@ -282,13 +324,6 @@ export default {
that.getSearchData(); that.getSearchData();
} }
}, },
mounted() {
const that = this;
that.menuDetailData = that.currentDoc;
that.$nextTick(() => {
that.handleMenuData();
});
}
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
...@@ -7,19 +7,44 @@ ...@@ -7,19 +7,44 @@
--> -->
<template> <template>
<div class="single-upload-wrap"> <div class="single-upload-wrap">
<el-upload class="avatar-uploader" :action="uploadUrl()" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"> <el-upload
<img v-if="imgSrc" :src="imgSrc" class="avatar" @mouseover="showImage(imgSrc)" /> class="avatar-uploader"
<i v-else class="el-icon-plus avatar-uploader-icon"></i> :action="uploadUrl()"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload">
<img
v-if="imgSrc"
:src="imgSrc"
class="avatar"
@mouseover="showImage(imgSrc)">
<i
v-else
class="el-icon-plus avatar-uploader-icon" />
</el-upload> </el-upload>
<p class="upload-tip w-500" v-if="field == 'businessCard'"> <p
v-if="field == 'businessCard'"
class="upload-tip w-500">
上传营业执照复印件加盖公章,手写“仅用于好办认证”字样;照片搜索信息要求清晰可见,内容真实有效,不得做任何修改;支持jpp、jpeg、bmg、gif、png格式,大小不超过8M。 上传营业执照复印件加盖公章,手写“仅用于好办认证”字样;照片搜索信息要求清晰可见,内容真实有效,不得做任何修改;支持jpp、jpeg、bmg、gif、png格式,大小不超过8M。
</p> </p>
<p class="upload-tip w-500" v-if="field == 'cardUrl'"> <p
v-if="field == 'cardUrl'"
class="upload-tip w-500">
支持jpg、jpeg、pdf、bmg、gif格式照片,大小不超过2M,只能上传一张,再次上传覆盖前一张 支持jpg、jpeg、pdf、bmg、gif格式照片,大小不超过2M,只能上传一张,再次上传覆盖前一张
</p> </p>
<p class="upload-tip w-500" v-if="field == 'authUrl'">点击可以<a class="color-1890ff" href="https://other-1251519181.cos.ap-shanghai.myqcloud.com/doc/20190529092413/好办认证授权书.docx" download="好办认证授权书.docx">下载授权书</a>模板,支持jpg、jpeg、pdf、bmg、gif格式照片,大小不超过2M,只能上传一张,再次上传覆盖前一张</p> <p
v-if="field == 'authUrl'"
class="upload-tip w-500">
点击可以<a
class="color-1890ff"
href="https://other-1251519181.cos.ap-shanghai.myqcloud.com/doc/20190529092413/好办认证授权书.docx"
download="好办认证授权书.docx">下载授权书</a>模板,支持jpg、jpeg、pdf、bmg、gif格式照片,大小不超过2M,只能上传一张,再次上传覆盖前一张
</p>
<!-- 图片预览 --> <!-- 图片预览 -->
<vue-gic-img-preview :imgUrl="imgUrl" :imgShowFlag="imgShowFlag" @hideImage="hideImage"></vue-gic-img-preview> <vue-gic-img-preview
:img-url="imgUrl"
:img-show-flag="imgShowFlag"
@hideImage="hideImage" />
</div> </div>
</template> </template>
<script> <script>
...@@ -29,7 +54,7 @@ import errMsg from '@/common/js/error'; ...@@ -29,7 +54,7 @@ import errMsg from '@/common/js/error';
// import { _debounce } from '@/common/js/public'; // import { _debounce } from '@/common/js/public';
// import { getRequest } from '@/api/api'; // import { getRequest } from '@/api/api';
export default { export default {
name: 'single-upload', name: 'SingleUpload',
props: { props: {
imgSrc: { imgSrc: {
// 传入 input value // 传入 input value
...@@ -65,7 +90,9 @@ export default { ...@@ -65,7 +90,9 @@ export default {
}, },
methods: { methods: {
/** /**
* 上传图片 * @description: 上传图片
* @returns {String}
* @author: 无尘
*/ */
uploadUrl() { uploadUrl() {
const that = this; const that = this;
...@@ -82,7 +109,11 @@ export default { ...@@ -82,7 +109,11 @@ export default {
}, },
/** /**
* 上传图片 * @description: 上传图片
* @param {Object} res
* @param {Object} file
* @param {String} type
* @author: 无尘
*/ */
handleAvatarSuccess(res, file, type) { handleAvatarSuccess(res, file, type) {
const that = this; const that = this;
...@@ -110,9 +141,8 @@ export default { ...@@ -110,9 +141,8 @@ export default {
reader.onload = function(event) { reader.onload = function(event) {
let image = new Image(); let image = new Image();
image.onload = function() { image.onload = function() {
/* eslint-disable */ // let width = this.width;
let width = this.width; // let height = this.height;
let height = this.height;
// if (width !== 750 && height !== 750){ // if (width !== 750 && height !== 750){
// that.$message.error('图片尺寸必须为750px*750px!'); // that.$message.error('图片尺寸必须为750px*750px!');
// reject(); // reject();
...@@ -126,9 +156,11 @@ export default { ...@@ -126,9 +156,11 @@ export default {
}) })
); );
}, },
/** /**
* 上传图片预览 * @description: 上传图片预览
* @param {String} src
* @returns {Boolean}
* @author: 无尘
*/ */
showImage(src) { showImage(src) {
const that = this; const that = this;
...@@ -138,6 +170,11 @@ export default { ...@@ -138,6 +170,11 @@ export default {
that.imgShowFlag = true; that.imgShowFlag = true;
that.imgUrl = src; that.imgUrl = src;
}, },
/**
* @description: 隐藏图片
* @param {Boolean} val
* @author: 无尘
*/
hideImage(val) { hideImage(val) {
const that = this; const that = this;
that.imgShowFlag = val; that.imgShowFlag = val;
......
...@@ -10,13 +10,24 @@ activeSelTab: '' ...@@ -10,13 +10,24 @@ activeSelTab: ''
<div class="api-body-left border-box"> <div class="api-body-left border-box">
<ul class="tab-left-list border-box"> <ul class="tab-left-list border-box">
<template v-for="(item, index) in leftMenuData"> <template v-for="(item, index) in leftMenuData">
<li :class="['tab-left-list-cell color-606266 font-14 border-box my-first-level', item.tabCode == activeTab ? 'active-tab' : '']" :key="index" @click="selectTab(item, false, index)"> <li
<i :class="['iconfont tab-icon', item.tabIcon, !!item.onlyIconActive ? 'iconActive' : '']"></i>{{ item.tabName }} :key="index"
:class="['tab-left-list-cell color-606266 font-14 border-box my-first-level', item.tabCode == activeTab ? 'active-tab' : '']"
@click="selectTab(item, false, index)">
<i :class="['iconfont tab-icon', item.tabIcon, !!item.onlyIconActive ? 'iconActive' : '']" />{{ item.tabName }}
<!-- <i v-if="!!item.children && !!item.children.length" :class="[!!item.collapsFlag ? 'el-icon-arrow-up' : 'el-icon-arrow-down']"></i> --> <!-- <i v-if="!!item.children && !!item.children.length" :class="[!!item.collapsFlag ? 'el-icon-arrow-up' : 'el-icon-arrow-down']"></i> -->
</li> </li>
<ul class="child-tab-left-list" :key="'childitem' + index" v-if="item.collapsFlag"> <ul
v-if="item.collapsFlag"
:key="'childitem' + index"
class="child-tab-left-list">
<template v-for="(childitem, childIndex) in item.children"> <template v-for="(childitem, childIndex) in item.children">
<li :class="['tab-left-list-cell color-606266 font-14 border-box', childitem.tabCode == activeTab ? 'active-tab' : '']" :key="childIndex" @click="selectTab(childitem, 'child', index)">{{ childitem.tabName }}</li> <li
:key="childIndex"
:class="['tab-left-list-cell color-606266 font-14 border-box', childitem.tabCode == activeTab ? 'active-tab' : '']"
@click="selectTab(childitem, 'child', index)">
{{ childitem.tabName }}
</li>
</template> </template>
</ul> </ul>
</template> </template>
...@@ -26,7 +37,7 @@ activeSelTab: '' ...@@ -26,7 +37,7 @@ activeSelTab: ''
<script> <script>
import { getRequest } from '@/api/api'; import { getRequest } from '@/api/api';
export default { export default {
name: 'vue-api-aside', name: 'VueApiAside',
props: { props: {
activeSelTab: { activeSelTab: {
type: String, type: String,
...@@ -138,9 +149,20 @@ export default { ...@@ -138,9 +149,20 @@ export default {
] ]
}; };
}, },
/* 接收数据 */
mounted() {
const that = this;
that.activeTab = that.activeSelTab;
},
methods: { methods: {
/** /**
* 选择后触发方法,返回 code * @description: 选择后触发方法,返回 code
* @param {Object} item
* @param {Boolean} flag
* @param {Number} index
* @returns {Boolean}
* @author: 无尘
*/ */
selectTab(item, flag, index) { selectTab(item, flag, index) {
let that = this; let that = this;
...@@ -169,7 +191,8 @@ export default { ...@@ -169,7 +191,8 @@ export default {
that.$emit('setSelectTab', item); that.$emit('setSelectTab', item);
}, },
/** /**
* 获取左侧菜单 * @description: 获取左侧菜单
* @author: 无尘
*/ */
getLeftMenu() { getLeftMenu() {
const that = this; const that = this;
...@@ -213,12 +236,6 @@ export default { ...@@ -213,12 +236,6 @@ export default {
activeSelTab: function(val, oldVal) { activeSelTab: function(val, oldVal) {
this.activeTab = val; this.activeTab = val;
} }
},
/* 接收数据 */
mounted() {
const that = this;
that.activeTab = that.activeSelTab;
} }
}; };
</script> </script>
......
...@@ -4,23 +4,44 @@ ...@@ -4,23 +4,44 @@
* @Author: 无尘 * @Author: 无尘
* @Date: 2019-09-03 10:04:44 * @Date: 2019-09-03 10:04:44
* @LastEditors: 无尘 * @LastEditors: 无尘
* @LastEditTime: 2020-05-09 14:14:55 * @LastEditTime: 2020-09-23 13:43:40
--> -->
<template> <template>
<div class="home-footer-content"> <div class="home-footer-content">
<div class="home-footer"> <div class="home-footer">
<div class="home-footer-body flex flex-space-between"> <div class="home-footer-body flex flex-space-between">
<div class="home-footer-left"> <div class="home-footer-left">
<a class="demogic" href="javascript:;"> <a
<img src="../assets/demogic.png" draggable="false" /> class="demogic"
href="javascript:;">
<img
src="../assets/demogic.png"
draggable="false">
</a> </a>
<p class="fonr-14 color-9ba5b4 m-t-9">浙江达摩网络科技有限公司</p> <p class="fonr-14 color-9ba5b4 m-t-9">
浙江达摩网络科技有限公司
</p>
<div class="qrcode-content m-t-30 font-0"> <div class="qrcode-content m-t-30 font-0">
<template v-for="(item, index) in qrcodeList"> <template v-for="(item, index) in qrcodeList">
<el-popover placement="bottom" width="70" trigger="hover" popper-class="el-qrcode-popper" :key="index + 'qrcode'"> <el-popover
<img :src="item.img_qrcode" alt="" style="width: 70px" /> :key="index + 'qrcode'"
<span slot="reference" :class="[index != 0 ? 'qrcode-popper' : '']"> placement="bottom"
<img class="qrcode-wx qrcode-common-img font-12" :src="activeIndex == index ? item.img_active : item.img" alt="" @mouseover="changeIndex($event, index)" @mouseleave="setIndex" /> width="70"
trigger="hover"
popper-class="el-qrcode-popper">
<img
:src="item.imgQrcode"
alt=""
style="width: 70px">
<span
slot="reference"
:class="[index != 0 ? 'qrcode-popper' : '']">
<img
:src="activeIndex == index ? item.imgActive : item.img"
class="qrcode-wx qrcode-common-img font-12"
alt=""
@mouseover="changeIndex($event, index)"
@mouseleave="setIndex">
</span> </span>
</el-popover> </el-popover>
</template> </template>
...@@ -29,9 +50,24 @@ ...@@ -29,9 +50,24 @@
<div class="content clearfix flex flex-space-between"> <div class="content clearfix flex flex-space-between">
<ul class="flex-1"> <ul class="flex-1">
<li>关于我们</li> <li>关于我们</li>
<li><a href="http://www.demogic.com" target="_blank" ref="noopener norefferrer">达摩官网</a></li> <li>
<li><a href="/damo-system/login" target="_blank" ref="noopener norefferrer">达摩商户后台</a></li> <a
<li><a href="/gic-app-center/#/login" target="_blank" ref="noopener norefferrer">达摩开发者中心</a></li> ref="noopener norefferrer"
href="http://www.demogic.com"
target="_blank">达摩官网</a>
</li>
<li>
<a
ref="noopener norefferrer"
href="/damo-system/login"
target="_blank">达摩商户后台</a>
</li>
<li>
<a
ref="noopener norefferrer"
href="/gic-app-center/#/login"
target="_blank">达摩开发者中心</a>
</li>
</ul> </ul>
<ul class="flex-1"> <ul class="flex-1">
<li>用户指南</li> <li>用户指南</li>
...@@ -40,8 +76,18 @@ ...@@ -40,8 +76,18 @@
</ul> </ul>
<ul class="flex-1"> <ul class="flex-1">
<li>快捷入口</li> <li>快捷入口</li>
<li><a href="/market/gic/index" target="_blank" ref="noopener norefferrer">GIC服务市场</a></li> <li>
<li><a href="/market/hb/index" target="_blank" ref="noopener norefferrer">好办服务市场</a></li> <a
ref="noopener norefferrer"
href="/market/gic/index"
target="_blank">GIC服务市场</a>
</li>
<li>
<a
ref="noopener norefferrer"
href="/market/hb/index"
target="_blank">好办服务市场</a>
</li>
</ul> </ul>
</div> </div>
</div> </div>
...@@ -53,26 +99,26 @@ ...@@ -53,26 +99,26 @@
</template> </template>
<script> <script>
export default { export default {
name: 'index', name: 'Index',
data() { data() {
return { return {
/* eslint-disable */
activeIndex: null, activeIndex: null,
/* eslint-disable */
qrcodeList: [ qrcodeList: [
{ {
img: require('../assets/index/wx.png'), img: require('../assets/index/wx.png'),
img_active: require('../assets/index/wx_active.png'), imgActive: require('../assets/index/wx_active.png'),
img_qrcode: require('../assets/index/wx_qrcode.png') imgQrcode: require('../assets/index/wx_qrcode.png')
}, },
{ {
img: require('../assets/index/iOS.png'), img: require('../assets/index/iOS.png'),
img_active: require('../assets/index/iOS_active.png'), imgActive: require('../assets/index/iOS_active.png'),
img_qrcode: require('../assets/index/app_qrcode.png') imgQrcode: require('../assets/index/app_qrcode.png')
}, },
{ {
img: require('../assets/index/android.png'), img: require('../assets/index/android.png'),
img_active: require('../assets/index/android_active.png'), imgActive: require('../assets/index/android_active.png'),
img_qrcode: require('../assets/index/app_qrcode.png') imgQrcode: require('../assets/index/app_qrcode.png')
} }
] ]
}; };
...@@ -82,7 +128,7 @@ export default { ...@@ -82,7 +128,7 @@ export default {
const that = this; const that = this;
that.activeIndex = index; that.activeIndex = index;
}, },
changeIndex(e,index) { changeIndex(e, index) {
const that = this; const that = this;
that.activeIndex = index; that.activeIndex = index;
}, },
......
...@@ -12,15 +12,32 @@ ...@@ -12,15 +12,32 @@
<template> <template>
<div class="open-header border-box"> <div class="open-header border-box">
<div class="open-header-wrap border-box flex "> <div class="open-header-wrap border-box flex ">
<div class="open-header-left" @click="toHome"><img src="../assets/logo_01.png" alt="" /></div> <div
class="open-header-left"
@click="toHome">
<img
src="../assets/logo_01.png"
alt="">
</div>
<div class="open-header-right"> <div class="open-header-right">
<ul class="flex"> <ul class="flex">
<li v-for="(item, index) in openMenuData" :key="index + 'menu'" class="menu-li border-box" @click.stop.prevent="toRedirect(item)"> <li
<span>{{ item.menuName }}</span v-for="(item, index) in openMenuData"
><span v-if="item.children && item.children.length"><i class="font_family icon-arrow_right color-16214a font-12"></i></span> :key="index + 'menu'"
<div v-if="item.children && item.children.length" class="menu-child"> class="menu-li border-box"
@click.stop.prevent="toRedirect(item)">
<span>{{ item.menuName }}</span><span v-if="item.children && item.children.length"><i class="font_family icon-arrow_right color-16214a font-12" /></span>
<div
v-if="item.children && item.children.length"
class="menu-child">
<ul class="child-menu-ul"> <ul class="child-menu-ul">
<li v-for="(childItem, child) in item.children" :key="child + 'child'" class="child-item-menu" @click.stop.prevent="toRedirect(childItem)">{{ childItem.menuName }}</li> <li
v-for="(childItem, child) in item.children"
:key="child + 'child'"
class="child-item-menu"
@click.stop.prevent="toRedirect(childItem)">
{{ childItem.menuName }}
</li>
</ul> </ul>
</div> </div>
</li> </li>
...@@ -32,7 +49,7 @@ ...@@ -32,7 +49,7 @@
<script> <script>
export default { export default {
name: 'vue-open-header', name: 'VueOpenHeader',
data() { data() {
return { return {
openMenuData: [ openMenuData: [
...@@ -76,6 +93,11 @@ export default { ...@@ -76,6 +93,11 @@ export default {
] ]
}; };
}, },
/* 接收数据 */
mounted() {
let that = this;
that.pathName = that.$route.path;
},
methods: { methods: {
toRedirect(item) { toRedirect(item) {
...@@ -100,11 +122,6 @@ export default { ...@@ -100,11 +122,6 @@ export default {
deep: true deep: true
} }
}, },
/* 接收数据 */
mounted() {
var that = this;
that.pathName = that.$route.path;
}
}; };
</script> </script>
......
/* 全局过滤器 */ /* 全局过滤器 */
/**
* @description: 当前函数信息
* @param {Number} timeSpan
* @param {String} format
* @return {String}
* @author: 无尘
*/
const dateFormat = function(timeSpan, format) { const dateFormat = function(timeSpan, format) {
if (!timeSpan) return; if (!timeSpan) return;
timeSpan = timeSpan.toString().length === 10 ? timeSpan * 1000 : timeSpan; timeSpan = timeSpan.toString().length === 10 ? timeSpan * 1000 : timeSpan;
...@@ -26,12 +32,14 @@ const dateFormat = function(timeSpan, format) { ...@@ -26,12 +32,14 @@ const dateFormat = function(timeSpan, format) {
}; };
/** /**
* 时间戳---> 年-月-日 时:分:秒 * @description: 时间戳-- - > 年 - 月 - 日 时: 分: 秒
* @param timestamp * @param {Number} data
* @return {String}
* @author: 无尘
*/ */
const formatTimeStamp = function(data) { const formatTimeStamp = function(data) {
if (!data) { if (!data) {
return; return '';
} }
let date = new Date(data); let date = new Date(data);
let month = date.getMonth() + 1; let month = date.getMonth() + 1;
...@@ -44,12 +52,14 @@ const formatTimeStamp = function(data) { ...@@ -44,12 +52,14 @@ const formatTimeStamp = function(data) {
}; };
/** /**
* 时间戳---> 月-日 * @description: 时间戳-- - > 月 - 日
* @param timestamp * @param {Number} data
* @return {String}
* @author: 无尘
*/ */
const timeStampToMd = function(data) { const timeStampToMd = function(data) {
if (!data) { if (!data) {
return; return '';
} }
let date = new Date(data); let date = new Date(data);
let month = date.getMonth() + 1; let month = date.getMonth() + 1;
...@@ -59,12 +69,14 @@ const timeStampToMd = function(data) { ...@@ -59,12 +69,14 @@ const timeStampToMd = function(data) {
}; };
/** /**
* 时间戳---> 年-月-日 * @description: 时间戳-- - > 年 - 月 - 日
* @param timestamp * @param {Number} data
* @return {String}
* @author: 无尘
*/ */
const timeStampToYmd = function(data) { const timeStampToYmd = function(data) {
if (!data) { if (!data) {
return; return '';
} }
let date = new Date(data); let date = new Date(data);
let month = date.getMonth() + 1; let month = date.getMonth() + 1;
...@@ -74,12 +86,14 @@ const timeStampToYmd = function(data) { ...@@ -74,12 +86,14 @@ const timeStampToYmd = function(data) {
}; };
/** /**
* 时间戳---> 年/月/日 * @description: 时间戳-- - > 年 / 月 / 日
* @param timestamp * @param {Number} data
* @return {String}
* @author: 无尘
*/ */
const timeStampToLineYmd = function(data) { const timeStampToLineYmd = function(data) {
if (!data) { if (!data) {
return; return '';
} }
let date = new Date(data); let date = new Date(data);
let month = date.getMonth() + 1; let month = date.getMonth() + 1;
...@@ -89,12 +103,14 @@ const timeStampToLineYmd = function(data) { ...@@ -89,12 +103,14 @@ const timeStampToLineYmd = function(data) {
}; };
/** /**
* 时间戳---> 时:分:秒 * @description: 时间戳-- - > 时: 分: 秒
* @param timestamp * @param {Number} data
* @return {String}
* @author: 无尘
*/ */
const timeStampToHms = function(data) { const timeStampToHms = function(data) {
if (!data) { if (!data) {
return; return '';
} }
let date = new Date(data); let date = new Date(data);
let hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); let hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
......
/*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2019-08-28 18:57:27
* @LastEditors: 无尘
* @LastEditTime: 2020-09-23 13:45:36
*/
import 'babel-polyfill'; import 'babel-polyfill';
import promise from 'es6-promise'; import promise from 'es6-promise';
promise.polyfill(); promise.polyfill();
// import Vue from 'vue'; import Vue from 'vue';
import App from './App'; import App from './App';
import router from './router'; import router from './router';
import ElementUI from 'element-ui'; import ElementUI from 'element-ui';
import VueAxios from 'vue-axios'; import VueAxios from 'vue-axios';
import axios from 'axios'; import axios from 'axios';
import store from './store/store'; import store from './store/store';
/* eslint-disable */ // eslint-disable-next-line
import * as types from './store/types'; import * as types from './store/types';
import '../static/css/index.less'; import '../static/css/index.less';
import 'element-ui/lib/theme-chalk/index.css' import 'element-ui/lib/theme-chalk/index.css';
import '../static/font/iconfont.css'; import '../static/font/iconfont.css';
import '../theme/index.css'; import '../theme/index.css';
import filters from './filters/index.js'; import filters from './filters/index.js';
......
/* eslint-disable */ /*
* @Descripttion: 当前组件信息
* @version: 1.0.0
* @Author: 无尘
* @Date: 2019-09-03 10:04:44
* @LastEditors: 无尘
* @LastEditTime: 2020-09-23 13:46:11
*/
/**
* @description: 导入文件
* @param {String} parantfile
* @param {String} file
* @author: 无尘
*/
// eslint-disable-next-line
module.exports = (parantfile, file) => r => { module.exports = (parantfile, file) => r => {
import('views/' + parantfile + '/' + file + '.vue').then(module => { import('views/' + parantfile + '/' + file + '.vue').then(module => {
r(module); r(module);
......
import Vue from 'vue'
import Clipboard from 'clipboard'
function clipboardSuccess() {
Vue.prototype.$message({
message: 'Copy successfully',
type: 'success',
duration: 1500
})
}
function clipboardError() {
Vue.prototype.$message({
message: 'Copy failed',
type: 'error'
})
}
export default function handleClipboard(text, event) {
const clipboard = new Clipboard(event.target, {
text: () => text
})
clipboard.on('success', () => {
clipboardSuccess()
clipboard.off('error')
clipboard.off('success')
clipboard.destroy()
})
clipboard.on('error', () => {
clipboardError()
clipboard.off('error')
clipboard.off('success')
clipboard.destroy()
})
clipboard.onClick(event)
}
/*设置cookie*/
export function setCookie(c_name,value,expire) {
var date=new Date();
date.setSeconds(date.getSeconds()+expire);
document.cookie = c_name + "="+ encodeURI(value)+"; expires="+date.toGMTString();
}
/*获取cookie*/
export function getCookie(c_name){
if(document.cookie.length>0){
var name = encodeURI(c_name);
var allcookies = document.cookie;
name += "=";
var pos = allcookies.indexOf(name);
if(pos != -1){
var start = pos + name.length;
var end = allcookies.indexOf(";",start);
if(end == -1){
end = allcookies.length;
}
var value = allcookies.substring(start,end);
return decodeURI(value);
} else{
return "";
}
}
}
/*删除cookie*/
export function delCookie(c_name){
setCookie(c_name, "", -1);
}
/**
* Created by jiachenpan on 17/3/8.
*/
export default function createUniqueString() {
const timestamp = +new Date() + ''
const randomNum = parseInt((1 + Math.random()) * 65536) + ''
return (+(randomNum + timestamp)).toString(32)
}
import { date } from "index";
export default function (value, format) {
if (!value) return "";
value = date.getdate(value, format);
return value;
};
/**
*Created by jiachenpan on 16/11/29.
* @param {Sting} url
* @param {Sting} title
* @param {Number} w
* @param {Number} h
*/
export default function openWindow(url, title, w, h) {
// Fixes dual-screen position Most browsers Firefox
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top
const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width
const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height
const left = ((width / 2) - (w / 2)) + dualScreenLeft
const top = ((height / 2) - (h / 2)) + dualScreenTop
const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left)
// Puts focus on the newWindow
if (window.focus) {
newWindow.focus()
}
}
import axios from 'axios'
import { Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'
// create an axios instance
const service = axios.create({
baseURL: process.env.BASE_API, // api的base_url
timeout: 5000 // request timeout
})
// request interceptor
service.interceptors.request.use(config => {
// Do something before request is sent
if (store.getters.token) {
config.headers['X-Token'] = getToken() // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
}
return config
}, error => {
// Do something with request error
console.log(error) // for debug
Promise.reject(error)
})
// respone interceptor
service.interceptors.response.use(
response => response,
/**
* 下面的注释为通过response自定义code来标示请求状态,当code返回如下情况为权限有问题,登出并返回到登录页
* 如通过xmlhttprequest 状态码标识 逻辑可写在下面error中
*/
// const res = response.data;
// if (res.code !== 20000) {
// Message({
// message: res.message,
// type: 'error',
// duration: 5 * 1000
// });
// // 50008:非法的token; 50012:其他客户端登录了; 50014:Token 过期了;
// if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
// MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
// confirmButtonText: '重新登录',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// store.dispatch('FedLogOut').then(() => {
// location.reload();// 为了重新实例化vue-router对象 避免bug
// });
// })
// }
// return Promise.reject('error');
// } else {
// return response.data;
// }
error => {
console.log('err' + error)// for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
})
export default service
/**
* Created by jiachenpan on 16/11/18.
*/
export function isvalidUsername(str) {
const valid_map = ['admin', 'editor']
return valid_map.indexOf(str.trim()) >= 0
}
/* 合法uri*/
export function validateURL(textval) {
const urlregex = /^(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.,?'\\+&%$#=~_-]+))*$/
return urlregex.test(textval)
}
/* 小写字母*/
export function validateLowerCase(str) {
const reg = /^[a-z]+$/
return reg.test(str)
}
/* 大写字母*/
export function validateUpperCase(str) {
const reg = /^[A-Z]+$/
return reg.test(str)
}
/* 大小写字母*/
export function validateAlphabets(str) {
const reg = /^[A-Za-z]+$/
return reg.test(str)
}
/**
* validate email
* @param email
* @returns {boolean}
*/
export function validateEmail(email) {
const re = /^(([^<>()\[\]\\.,;:\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,}))$/
return re.test(email)
}
...@@ -8,14 +8,23 @@ ...@@ -8,14 +8,23 @@
--> -->
<template> <template>
<div class="document-center"> <div class="document-center">
<open-doc-header :currentTab="currentTab" @changeTab="changeTab" @searchMenu="searchMenu"></open-doc-header> <open-doc-header
:current-tab="currentTab"
@changeTab="changeTab"
@searchMenu="searchMenu" />
<div class="document-center-body"> <div class="document-center-body">
<div class="document-center-body_wrap flex"> <div class="document-center-body_wrap flex">
<div class="document-center-left border-box"> <div class="document-center-left border-box">
<open-doc-left :currentTab="currentTab" @changeDoc="changeDoc"></open-doc-left> <open-doc-left
:current-tab="currentTab"
@changeDoc="changeDoc" />
</div> </div>
<div class="document-center-right"> <div class="document-center-right">
<open-doc-right ref="docContent" :currentDoc="currentDoc" :currentTab="currentTab" :searchData="searchData"></open-doc-right> <open-doc-right
ref="docContent"
:current-doc="currentDoc"
:current-tab="currentTab"
:search-data="searchData" />
</div> </div>
</div> </div>
</div> </div>
...@@ -38,6 +47,10 @@ export default { ...@@ -38,6 +47,10 @@ export default {
searchData: '' // 搜索数据 searchData: '' // 搜索数据
}; };
}, },
mounted() {
const that = this;
that.currentTab = that.$route.query.currentTab || '2';
},
methods: { methods: {
// 头部 tab 切换 // 头部 tab 切换
changeTab(tab) { changeTab(tab) {
...@@ -59,10 +72,6 @@ export default { ...@@ -59,10 +72,6 @@ export default {
that.$refs.docContent.searchList = []; that.$refs.docContent.searchList = [];
} }
}, },
mounted() {
const that = this;
that.currentTab = that.$route.query.currentTab || '2';
}
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
...@@ -2,25 +2,32 @@ ...@@ -2,25 +2,32 @@
<div style="background:#f0f2f5;margin-top: -20px;height:100%;"> <div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404"> <div class="wscn-http404">
<div class="pic-404"> <div class="pic-404">
<img class="pic-404__parent" :src="img_403" alt="403" /> <img
:src="imgForbid"
class="pic-404__parent"
alt="403">
</div> </div>
<div class="bullshit"> <div class="bullshit">
<!-- <div class="bullshit__oops">403</div> --> <!-- <div class="bullshit__oops">403</div> -->
<div class="bullshit__headline">{{ message }}</div> <div class="bullshit__headline">
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a> {{ message }}
</div>
<a
href="#/companyGroup"
class="bullshit__return-home">返回首页</a>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import img_403 from '@/assets/403_images/error_403.svg'; import imgForbid from '@/assets/403_images/error_403.svg';
export default { export default {
name: 'page403', name: 'Page403',
data() { data() {
return { return {
img_403 imgForbid
}; };
}, },
computed: { computed: {
......
...@@ -2,35 +2,38 @@ ...@@ -2,35 +2,38 @@
<div style="background:#f0f2f5;margin-top: -20px;height:100%;"> <div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404"> <div class="wscn-http404">
<div class="pic-404"> <div class="pic-404">
<img class="pic-404__parent" :src="img_404" alt="404" /> <img
:src="imgNotFound"
class="pic-404__parent"
alt="404">
</div> </div>
<div class="bullshit"> <div class="bullshit">
<!-- <div class="bullshit__oops">404</div> --> <!-- <div class="bullshit__oops">404</div> -->
<div class="bullshit__headline">{{ message }}</div> <div class="bullshit__headline">
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a> {{ message }}
</div>
<a
href="#/companyGroup"
class="bullshit__return-home">返回首页</a>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import img_404 from '@/assets/404_images/error_404.svg'; import imgNotFound from '@/assets/404_images/error_404.svg';
export default { export default {
name: 'page404', name: 'Page404',
data() { data() {
return { return {
img_404 imgNotFound
}; };
}, },
computed: { computed: {
message() { message() {
return '抱歉,你访问的页面不存在'; return '抱歉,你访问的页面不存在';
} }
},
/* eslint-disable */
mounted() {
} }
}; };
</script> </script>
......
...@@ -2,25 +2,32 @@ ...@@ -2,25 +2,32 @@
<div style="background:#f0f2f5;margin-top: -20px;height:100%;"> <div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404"> <div class="wscn-http404">
<div class="pic-404"> <div class="pic-404">
<img class="pic-404__parent" :src="img_500" alt="500" /> <img
:src="imgService"
class="pic-404__parent"
alt="500">
</div> </div>
<div class="bullshit"> <div class="bullshit">
<!-- <div class="bullshit__oops">500</div> --> <!-- <div class="bullshit__oops">500</div> -->
<div class="bullshit__headline">{{ message }}</div> <div class="bullshit__headline">
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a> {{ message }}
</div>
<a
href="#/companyGroup"
class="bullshit__return-home">返回首页</a>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import img_500 from '@/assets/500_images/error_500.svg'; import imgService from '@/assets/500_images/error_500.svg';
export default { export default {
name: 'page500', name: 'Page500',
data() { data() {
return { return {
img_500 imgService
}; };
}, },
computed: { computed: {
......
...@@ -2,32 +2,39 @@ ...@@ -2,32 +2,39 @@
<div style="background:#f0f2f5;margin-top: -20px;height:100vh;"> <div style="background:#f0f2f5;margin-top: -20px;height:100vh;">
<div class="wscn-http404"> <div class="wscn-http404">
<div class="pic-404"> <div class="pic-404">
<img class="pic-404__parent" :src="imgSrc" alt="404" /> <img
:src="imgSrc"
class="pic-404__parent"
alt="404">
</div> </div>
<div class="bullshit"> <div class="bullshit">
<!-- <div class="bullshit__oops">404</div> --> <!-- <div class="bullshit__oops">404</div> -->
<div class="bullshit__headline">{{ message }}</div> <div class="bullshit__headline">
<a href="#/index" class="bullshit__return-home">返回首页</a> {{ message }}
</div>
<a
href="#/index"
class="bullshit__return-home">返回首页</a>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import img_403 from '@/assets/403_images/error_403.svg'; import imgForbid from '@/assets/403_images/error_403.svg';
import img_404 from '@/assets/404_images/error_404.svg'; import imgNotFound from '@/assets/404_images/error_404.svg';
import img_500 from '@/assets/500_images/error_500.svg'; import imgService from '@/assets/500_images/error_500.svg';
export default { export default {
name: 'errpage', name: 'Errpage',
data() { data() {
return { return {
imgSrc: '', imgSrc: '',
message: '', message: '',
srcList: { srcList: {
403: img_403, 403: imgForbid,
404: img_404, 404: imgNotFound,
500: img_500 500: imgService
}, },
msgList: { msgList: {
403: '抱歉,你无权访问该页面', 403: '抱歉,你无权访问该页面',
...@@ -37,8 +44,8 @@ export default { ...@@ -37,8 +44,8 @@ export default {
}; };
}, },
mounted() { mounted() {
var that = this; let that = this;
var path = that.$route.path.split('/')[1]; let path = that.$route.path.split('/')[1];
that.imgSrc = that.srcList[path]; that.imgSrc = that.srcList[path];
that.message = that.msgList[path]; that.message = that.msgList[path];
} }
......
...@@ -4,16 +4,24 @@ ...@@ -4,16 +4,24 @@
* @Author: 无尘 * @Author: 无尘
* @Date: 2019-09-11 11:43:00 * @Date: 2019-09-11 11:43:00
* @LastEditors: 无尘 * @LastEditors: 无尘
* @LastEditTime: 2020-05-06 18:19:17 * @LastEditTime: 2020-09-23 13:51:00
--> -->
<template> <template>
<div class="open-body-wrap border-box"> <div class="open-body-wrap border-box">
<div class="swiper-content"> <div class="swiper-content">
<div class="swiper-content-body"> <div class="swiper-content-body">
<el-carousel :interval="5000" arrow="never" height="480px" indicator-position="none"> <el-carousel
<el-carousel-item v-for="item in 1" :key="item"> :interval="5000"
arrow="never"
height="480px"
indicator-position="none">
<el-carousel-item
v-for="item in 1"
:key="item">
<div class="flex flex-pack-center"> <div class="flex flex-pack-center">
<img src="../../assets/index/banner.png" alt="" /> <img
src="../../assets/index/banner.png"
alt="">
</div> </div>
</el-carousel-item> </el-carousel-item>
</el-carousel> </el-carousel>
...@@ -22,17 +30,28 @@ ...@@ -22,17 +30,28 @@
<div class="notice-container"> <div class="notice-container">
<div class="notice-inner"> <div class="notice-inner">
<div class="notice-box clearfix flex"> <div class="notice-box clearfix flex">
<div class="notice-tips"><i class="font_family icon-tongzhigonggao color-fff font-14"></i></div> <div class="notice-tips">
<i class="font_family icon-tongzhigonggao color-fff font-14" />
</div>
<ul class="notice-ul clearfix"> <ul class="notice-ul clearfix">
<template v-for="(item, index) in noticeList"> <template v-for="(item, index) in noticeList">
<li class="notice-li clearfix" :key="index + 'notice'"> <li
<a class="font-14" target="_blank" rel="noopener noreferrer" :href="`#/noticeDetail?noticeId=${item.noticeId}`" :key="index + 'notice'"
><span>{{ item.effectiveTime | timeStampToMd }}</span><span class="notice-txt">{{ item.title }}</span> class="notice-li clearfix">
<a
:href="`#/noticeDetail?noticeId=${item.noticeId}`"
class="font-14"
target="_blank"
rel="noopener noreferrer"><span>{{ item.effectiveTime | timeStampToMd }}</span><span class="notice-txt">{{ item.title }}</span>
</a> </a>
</li> </li>
</template> </template>
<li class="more-notice"> <li class="more-notice">
<a class="color-fff font-14" target="_blank" rel="noopener noreferrer" href="#/noticeList">查看更多&gt;</a> <a
class="color-fff font-14"
target="_blank"
rel="noopener noreferrer"
href="#/noticeList">查看更多&gt;</a>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -44,16 +63,22 @@ ...@@ -44,16 +63,22 @@
<div class="home-service"> <div class="home-service">
<div class="home-content-service commont-width"> <div class="home-content-service commont-width">
<div class="homepage-title"> <div class="homepage-title">
<h2 class="open-service">开放业务</h2> <h2 class="open-service">
<div class="common-border-line"></div> 开放业务
</h2>
<div class="common-border-line" />
</div> </div>
<div class="home-content-body"> <div class="home-content-body">
<div class="open-service-list"> <div class="open-service-list">
<ul class="flex"> <ul class="flex">
<template v-for="(item, index) in serviceList"> <template v-for="(item, index) in serviceList">
<li :key="index"> <li :key="index">
<img :src="item.serviceIcon" alt="" /> <img
<h3 class="font-w-500">{{ item.serviceName }}</h3> :src="item.serviceIcon"
alt="">
<h3 class="font-w-500">
{{ item.serviceName }}
</h3>
<p>{{ item.serviceContent }}</p> <p>{{ item.serviceContent }}</p>
</li> </li>
</template> </template>
...@@ -64,29 +89,45 @@ ...@@ -64,29 +89,45 @@
</div> </div>
<div class="home-content-guide commont-width"> <div class="home-content-guide commont-width">
<div class="homepage-title"> <div class="homepage-title">
<h2 class="access-guide">接入指南</h2> <h2 class="access-guide">
<div class="common-border-line"></div> 接入指南
</h2>
<div class="common-border-line" />
</div> </div>
<div class="home-content-body"> <div class="home-content-body">
<div class="access-guide-item"> <div class="access-guide-item">
<ul class="flex flex-space-between"> <ul class="flex flex-space-between">
<li> <li>
<img src="../../assets/index/banner03.png" alt="" /> <img
src="../../assets/index/banner03.png"
alt="">
<div class="inner-li"> <div class="inner-li">
<h3 class="font-w-500">平台服务商</h3> <h3 class="font-w-500">
平台服务商
</h3>
<p>面向企业内部开发人员和定制服务商,自主开发内部应用,供企业内部使用,对接已有的后台系统。</p> <p>面向企业内部开发人员和定制服务商,自主开发内部应用,供企业内部使用,对接已有的后台系统。</p>
<div> <div>
<el-button plain @click="toRedirect">立即入驻<i class="font_family icon-jiantou color-000 p-l-8"></i></el-button> <el-button
plain
@click="toRedirect">
立即入驻<i class="font_family icon-jiantou color-000 p-l-8" />
</el-button>
</div> </div>
</div> </div>
</li> </li>
<li class="m-l-40"> <li class="m-l-40">
<img src="../../assets/index/banner04.png" alt="" /> <img
src="../../assets/index/banner04.png"
alt="">
<div class="inner-li"> <div class="inner-li">
<h3>企业开发者</h3> <h3>企业开发者</h3>
<p>面向企业内部开发人员和定制服务商,自主开发内部应用,供企业内部使用,对接已有的后台系统。</p> <p>面向企业内部开发人员和定制服务商,自主开发内部应用,供企业内部使用,对接已有的后台系统。</p>
<div> <div>
<el-button plain @click="toRedirect">立即入驻<i class="font_family icon-jiantou color-000 p-l-8"></i></el-button> <el-button
plain
@click="toRedirect">
立即入驻<i class="font_family icon-jiantou color-000 p-l-8" />
</el-button>
</div> </div>
</div> </div>
</li> </li>
...@@ -101,7 +142,7 @@ ...@@ -101,7 +142,7 @@
import { getThreeNotice } from '@/api/notice'; import { getThreeNotice } from '@/api/notice';
import errMsg from '@/assets/js/error'; import errMsg from '@/assets/js/error';
export default { export default {
name: 'index', name: 'Index',
data() { data() {
return { return {
projectName: '', // 当前项目名 projectName: '', // 当前项目名
...@@ -141,23 +182,30 @@ export default { ...@@ -141,23 +182,30 @@ export default {
] ]
}; };
}, },
mounted() {
const that = this;
that.getNoticeData();
},
methods: { methods: {
/** /**
* 路由跳转 * @description: 路由跳转
* @param {String} route
* @author: 无尘
*/ */
changeRoute(route) { changeRoute(route) {
this.$router.push(route); this.$router.push(route);
}, },
/** /**
* 入驻 * @description: 入驻
* @author: 无尘
*/ */
toRedirect() { toRedirect() {
window.open(`/gic-app-center/#/login`); window.open(`/gic-app-center/#/login`);
}, },
/** /**
* 处理路由跳转 * @description: 处理路由跳转
* @param {Object} val
* @author: 无尘
*/ */
toRouterView(val) { toRouterView(val) {
const that = this; const that = this;
...@@ -170,16 +218,18 @@ export default { ...@@ -170,16 +218,18 @@ export default {
path: val.path path: val.path
}); });
}, },
/** /**
* 各路由返回 tabId * @description: 各路由返回 tabId
* @param {String} id
* @author: 无尘
*/ */
showTab(id) { showTab(id) {
let that = this; let that = this;
that.activeSelTab = id; that.activeSelTab = id;
}, },
/** /**
* 获取公告 * @description: 获取公告
* @author: 无尘
*/ */
getNoticeData() { getNoticeData() {
const that = this; const that = this;
...@@ -201,10 +251,6 @@ export default { ...@@ -201,10 +251,6 @@ export default {
}); });
}, },
},
mounted() {
const that = this;
that.getNoticeData();
} }
}; };
</script> </script>
......
<template> <template>
<div id="index"> <div id="index">
<vue-open-header></vue-open-header> <vue-open-header />
<div class="open-body border-box"> <div class="open-body border-box">
<transition name="fade" mode="out-in"> <transition
<router-view></router-view> name="fade"
mode="out-in">
<router-view />
</transition> </transition>
</div> </div>
<vue-open-footer></vue-open-footer> <vue-open-footer />
</div> </div>
</template> </template>
<script> <script>
...@@ -15,7 +17,11 @@ import vueOpenFooter from '@/components/vue-open-footer.vue'; ...@@ -15,7 +17,11 @@ import vueOpenFooter from '@/components/vue-open-footer.vue';
import { getThreeNotice } from '@/api/notice'; import { getThreeNotice } from '@/api/notice';
import errMsg from '@/assets/js/error'; import errMsg from '@/assets/js/error';
export default { export default {
name: 'index', name: 'IndexPage',
components: {
vueOpenHeader,
vueOpenFooter
},
data() { data() {
return { return {
projectName: '', // 当前项目名 projectName: '', // 当前项目名
...@@ -55,16 +61,23 @@ export default { ...@@ -55,16 +61,23 @@ export default {
] ]
}; };
}, },
mounted() {
const that = this;
that.getNoticeData();
},
methods: { methods: {
/** /**
* 路由跳转 * @description: 路由跳转
* @param {String} route
* @author: 无尘
*/ */
changeRoute(route) { changeRoute(route) {
this.$router.push(route); this.$router.push(route);
}, },
/** /**
* 处理路由跳转 * @description: 处理路由跳转
* @param {Object} val
* @author: 无尘
*/ */
toRouterView(val) { toRouterView(val) {
const that = this; const that = this;
...@@ -77,16 +90,18 @@ export default { ...@@ -77,16 +90,18 @@ export default {
path: val.path path: val.path
}); });
}, },
/** /**
* 各路由返回 tabId * @description: 各路由返回 tabId
* @param {String} id
* @author: 无尘
*/ */
showTab(id) { showTab(id) {
let that = this; let that = this;
that.activeSelTab = id; that.activeSelTab = id;
}, },
/** /**
* 获取公告 * @description: 获取公告
* @author: 无尘
*/ */
getNoticeData() { getNoticeData() {
const that = this; const that = this;
...@@ -109,14 +124,7 @@ export default { ...@@ -109,14 +124,7 @@ export default {
}, },
}, },
mounted() {
const that = this;
that.getNoticeData();
},
components: {
vueOpenHeader,
vueOpenFooter
}
}; };
</script> </script>
<style lang="less"> <style lang="less">
......
...@@ -9,14 +9,20 @@ ...@@ -9,14 +9,20 @@
<template> <template>
<div class="notice-detail"> <div class="notice-detail">
<div class="common-body"> <div class="common-body">
<arrow-nav-bread :menuData="menuData"></arrow-nav-bread> <arrow-nav-bread :menu-data="menuData" />
<div class="notice-detail-body"> <div class="notice-detail-body">
<h2>{{ noticeData.groupName }}{{ noticeData.title }}</h2> <h2>{{ noticeData.groupName }}{{ noticeData.title }}</h2>
<div class="notice-detail-content"> <div class="notice-detail-content">
<div class="markdown-content" v-html="noticeData.htmlContent"></div> <div
class="markdown-content"
v-html="noticeData.htmlContent" />
</div> </div>
<p class="notice-oprate font-14 color-0a1633">{{ noticeData.operatorName }}</p> <p class="notice-oprate font-14 color-0a1633">
<p class="notice-date font-14 color-0a1633">{{ noticeData.effectiveTime | timeStampToLineYmd }}</p> {{ noticeData.operatorName }}
</p>
<p class="notice-date font-14 color-0a1633">
{{ noticeData.effectiveTime | timeStampToLineYmd }}
</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -51,6 +57,10 @@ export default { ...@@ -51,6 +57,10 @@ export default {
} }
}; };
}, },
mounted() {
const that = this;
that.getData();
},
methods: { methods: {
getData() { getData() {
const that = this; const that = this;
...@@ -75,10 +85,6 @@ export default { ...@@ -75,10 +85,6 @@ export default {
}); });
} }
}, },
mounted() {
const that = this;
that.getData();
}
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
...@@ -4,39 +4,60 @@ ...@@ -4,39 +4,60 @@
<h2>公告</h2> <h2>公告</h2>
<ul class="notice-list-ul"> <ul class="notice-list-ul">
<li class="notice-list-li flex li-th"> <li class="notice-list-li flex li-th">
<div class="notice-list-left font-w-700">公告标题</div> <div class="notice-list-left font-w-700">
<div class="notice-list-right font-w-700">公告时间</div> 公告标题
</div>
<div class="notice-list-right font-w-700">
公告时间
</div>
</li> </li>
<template v-for="(item, index) in noticeList"> <template v-for="(item, index) in noticeList">
<li :key="index + 'notice'" class="notice-list-li notice-list-cell flex" @click="toDetail(item)"> <li
:key="index + 'notice'"
class="notice-list-li notice-list-cell flex"
@click="toDetail(item)">
<div class="notice-list-left"> <div class="notice-list-left">
<span>{{ item.groupName }}</span><span class="p-l-10">{{ item.title }}</span> <span>{{ item.groupName }}</span><span class="p-l-10">{{ item.title }}</span>
</div> </div>
<div class="notice-list-right">{{ item.effectiveTime | timeStampToLineYmd }}</div> <div class="notice-list-right">
{{ item.effectiveTime | timeStampToLineYmd }}
</div>
</li> </li>
</template> </template>
</ul> </ul>
<div class="el-table__empty-block" v-if="!total"> <div
v-if="!total"
class="el-table__empty-block">
<div class="el-table__empty-text"> <div class="el-table__empty-text">
<p class="font-14 color-909399">暂无数据</p> <p class="font-14 color-909399">
暂无数据
</p>
</div> </div>
</div> </div>
<div class="page-wrap" v-if="total"> <div
<el-pagination background layout="prev, pager, next" :total="total" :page-size="pageSize" :current-page="pageNumber" @current-change="handleCurrentChange"> </el-pagination><span class="p-l-48">共 {{ totalPage }} 页 {{ total }} 条</span> v-if="total"
class="page-wrap">
<el-pagination
:total="total"
:page-size="pageSize"
:current-page="pageNumber"
background
layout="prev, pager, next"
@current-change="handleCurrentChange" /><span class="p-l-48">共 {{ totalPage }} 页 {{ total }} 条</span>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import vueOpenHeader from '@/components/vue-open-header.vue'; // import vueOpenHeader from '@/components/vue-open-header.vue';
import vueOpenFooter from '@/components/vue-open-footer.vue'; // import vueOpenFooter from '@/components/vue-open-footer.vue';
import { getNoticeList } from '@/api/notice'; import { getNoticeList } from '@/api/notice';
import errMsg from '@/assets/js/error'; import errMsg from '@/assets/js/error';
export default { export default {
components: { components: {
vueOpenHeader, // vueOpenHeader,
vueOpenFooter // vueOpenFooter
}, },
data() { data() {
return { return {
...@@ -47,16 +68,33 @@ export default { ...@@ -47,16 +68,33 @@ export default {
totalPage: 0 totalPage: 0
}; };
}, },
mounted() {
const that = this;
that.getNoticeData();
},
methods: { methods: {
/**
* @description: 跳转公告详情
* @param {Object} item
* @author: 无尘
*/
toDetail(item) { toDetail(item) {
const that = this; const that = this;
that.$router.push(`/noticeDetail?noticeId=${item.noticeId}`); that.$router.push(`/noticeDetail?noticeId=${item.noticeId}`);
}, },
// 分页 /**
* @description: 分页
* @param {Number} val
* @author: 无尘
*/
handleCurrentChange(val) { handleCurrentChange(val) {
this.pageNumber = val; this.pageNumber = val;
this.getNoticeData(); this.getNoticeData();
}, },
/**
* @description: 获取公告
* @author: 无尘
*/
getNoticeData() { getNoticeData() {
const that = this; const that = this;
let para = { let para = {
...@@ -82,10 +120,6 @@ export default { ...@@ -82,10 +120,6 @@ export default {
}); });
} }
}, },
mounted() {
const that = this;
that.getNoticeData();
}
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
<template> <template>
<div class="login-wrap" :style="{ height: windowH }"> <div
:style="{ height: windowH }"
class="login-wrap">
<header> <header>
<div class="login-wrap-header"> <div class="login-wrap-header">
<img class="login-wrap-inline" src="../../assets/logo_01.png" alt="logo" /> <img
class="login-wrap-inline"
src="../../assets/logo_01.png"
alt="logo">
<span class="login-wrap-inline">API网关管理后台</span> <span class="login-wrap-inline">API网关管理后台</span>
</div> </div>
</header> </header>
<section> <section>
<div class="login-wrap-body"> <div class="login-wrap-body">
<div class="login-wrap-form"> <div class="login-wrap-form">
<div class="form-title font-24 color-303133 text-center">登录</div> <div class="form-title font-24 color-303133 text-center">
<el-form :model="loginForm" :rules="rules" ref="loginForm" class="loginForm"> 登录
<el-form-item label="" prop="userName"> </div>
<el-input class="w-318" v-model="loginForm.userName" placeholder="请输入账号"> <el-form
<i slot="prefix" class="el-input__icon el-icon-search"></i> ref="loginForm"
:model="loginForm"
:rules="rules"
class="loginForm">
<el-form-item
label=""
prop="userName">
<el-input
v-model="loginForm.userName"
class="w-318"
placeholder="请输入账号">
<i
slot="prefix"
class="el-input__icon el-icon-search" />
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="" prop="password"> <el-form-item
<el-input class="w-318" type="password" v-model="loginForm.password" placeholder="请输入密码"> label=""
<i slot="prefix" class="el-input__icon el-icon-search"></i> prop="password">
<el-input
v-model="loginForm.password"
class="w-318"
type="password"
placeholder="请输入密码">
<i
slot="prefix"
class="el-input__icon el-icon-search" />
</el-input> </el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="" prop="checked"> <!-- <el-form-item label="" prop="checked">
<el-checkbox v-model="loginForm.checked">记住我的登录状态</el-checkbox> <el-checkbox v-model="loginForm.checked">记住我的登录状态</el-checkbox>
</el-form-item> --> </el-form-item> -->
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm('loginForm')">登录</el-button> <el-button
type="primary"
@click="submitForm('loginForm')">
登录
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
</div> </div>
</section> </section>
<div class="login-footer font-12 color-909399">Copyright {{ new Date().getFullYear() }} Demogic.com All Rights Reserved 浙ICP备15033117号-1</div> <div class="login-footer font-12 color-909399">
Copyright {{ new Date().getFullYear() }} Demogic.com All Rights Reserved 浙ICP备15033117号-1
</div>
</div> </div>
</template> </template>
<script> <script>
...@@ -41,7 +73,7 @@ import showMsg from '@/assets/js/showmsg'; ...@@ -41,7 +73,7 @@ import showMsg from '@/assets/js/showmsg';
import { postRequest } from '@/api/api'; import { postRequest } from '@/api/api';
import md5 from 'js-md5'; import md5 from 'js-md5';
export default { export default {
name: 'login', name: 'LoginPage',
data() { data() {
return { return {
windowH: window.screen.availHeight - 104 + 'px', windowH: window.screen.availHeight - 104 + 'px',
...@@ -52,30 +84,20 @@ export default { ...@@ -52,30 +84,20 @@ export default {
checked: false checked: false
}, },
rules: { rules: {
userName: [{ required: true, message: '请输入账号', trigger: 'blur' }], userName: [ { required: true, message: '请输入账号', trigger: 'blur' } ],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }] password: [ { required: true, message: '请输入密码', trigger: 'blur' } ]
} }
}; };
}, },
computed: {}, mounted() {
const that = this;
that.getUserInfo();
// console.log(that.$store.state.userInfo);
},
methods: { methods: {
/** /**
* 处理路由跳转 * @description: 登录
*/ * @author: 无尘
toRouterView(val) {
const that = this;
// 模拟检查数据,有两个参数
/*{
name:,
path:
}*/
that.$router.push({
path: val.path
});
},
/**
* 登录
*/ */
submitForm: _debounce(function(formName) { submitForm: _debounce(function(formName) {
const that = this; const that = this;
...@@ -111,7 +133,8 @@ export default { ...@@ -111,7 +133,8 @@ export default {
}); });
}, },
/** /**
* 获取用户信息-判断用户是否登录 * @description: 获取用户信息-判断用户是否登录
* @author: 无尘
*/ */
getUserInfo() { getUserInfo() {
const that = this; const that = this;
...@@ -126,13 +149,7 @@ export default { ...@@ -126,13 +149,7 @@ export default {
}) })
.catch(function(error) {}); .catch(function(error) {});
} }
}, }
mounted() {
const that = this;
that.getUserInfo();
// console.log(that.$store.state.userInfo);
},
components: {}
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment