chenrui  vor 2 Jahren
Ursprung
Commit
2b221420de
100 geänderte Dateien mit 3703 neuen und 0 gelöschten Zeilen
  1. 3 0
      .browserslistrc
  2. 39 0
      .editorconfig
  3. 3 0
      .env
  4. 3 0
      .env.development
  5. 3 0
      .env.preview
  6. 75 0
      .eslintrc.js
  7. 5 0
      .eslintrc.json
  8. 1 0
      .gitattributes
  9. 23 0
      .gitignore
  10. 6 0
      .prettierrc
  11. 7 0
      .travis.yml
  12. 28 0
      babel.config.js
  13. 49 0
      config/plugin.config.js
  14. 115 0
      config/themePluginConfig.js
  15. 31 0
      docs/add-page-loading-animate.md
  16. 40 0
      docs/webpack-bundle-analyzer.md
  17. 23 0
      jest.config.js
  18. 11 0
      jsconfig.json
  19. 68 0
      package.json
  20. 5 0
      postcss.config.js
  21. 1 0
      public/axios.min.js
  22. 33 0
      public/index.html
  23. BIN
      public/logo.png
  24. 5 0
      public/vue-router.min.js
  25. 5 0
      public/vue.min.js
  26. 5 0
      public/vuex.min.js
  27. 28 0
      src/App.vue
  28. 72 0
      src/api/login.js
  29. 70 0
      src/api/manage.js
  30. 9 0
      src/api/menu.js
  31. 49 0
      src/api/monitor/cache.js
  32. 79 0
      src/api/monitor/job.js
  33. 35 0
      src/api/monitor/jobLog.js
  34. 35 0
      src/api/monitor/loginLog.js
  35. 18 0
      src/api/monitor/online.js
  36. 35 0
      src/api/monitor/operlog.js
  37. 9 0
      src/api/monitor/server.js
  38. 69 0
      src/api/monitor/sysDataPermissionsDefRule.js
  39. 78 0
      src/api/monitor/sysDataPermissionsMethod.js
  40. 61 0
      src/api/monitor/sysDataPermissionsRule.js
  41. 82 0
      src/api/statistics/statistics.js
  42. 53 0
      src/api/system/apiLog.js
  43. 68 0
      src/api/system/cargoDetail.js
  44. 69 0
      src/api/system/config.js
  45. 145 0
      src/api/system/dept.js
  46. 77 0
      src/api/system/dict/data.js
  47. 69 0
      src/api/system/dict/type.js
  48. 112 0
      src/api/system/menu.js
  49. 57 0
      src/api/system/notice.js
  50. 53 0
      src/api/system/optimizationSuggestionRule.js
  51. 70 0
      src/api/system/post.js
  52. 61 0
      src/api/system/riskGoodsNameKeySuggest.js
  53. 124 0
      src/api/system/role.js
  54. 53 0
      src/api/system/runLog.js
  55. 61 0
      src/api/system/specialCode.js
  56. 53 0
      src/api/system/syncEmergencyFlight.js
  57. 53 0
      src/api/system/sysNoticeUserRead.js
  58. 93 0
      src/api/system/sysPortalConfig.js
  59. 79 0
      src/api/system/sysPortlet.js
  60. 27 0
      src/api/system/sysTableConfig.js
  61. 60 0
      src/api/system/sysThemeConfig.js
  62. 53 0
      src/api/system/tCasebaseAwb.js
  63. 17 0
      src/api/system/upload.js
  64. 174 0
      src/api/system/user.js
  65. 53 0
      src/api/system/vCsisBusinessAsd.js
  66. 53 0
      src/api/system/vCsisBusinessRecord.js
  67. 53 0
      src/api/system/vCsisBusinessRelease.js
  68. 53 0
      src/api/system/vInternationalAsd.js
  69. 53 0
      src/api/system/vInternationalRecord.js
  70. 53 0
      src/api/system/vInternationalRelease.js
  71. 53 0
      src/api/system/vInternationalUnpacking.js
  72. 53 0
      src/api/system/waybill.js
  73. 101 0
      src/api/tool/gen.js
  74. 98 0
      src/api/tool/genConfigTemplate.js
  75. 69 0
      src/assets/background.svg
  76. 1 0
      src/assets/icons/Alipay.svg
  77. 0 0
      src/assets/icons/DragColumn.svg
  78. 1 0
      src/assets/icons/QRcode.svg
  79. 0 0
      src/assets/icons/Sina.svg
  80. 0 0
      src/assets/icons/WeChat.svg
  81. 1 0
      src/assets/icons/bug.svg
  82. 1 0
      src/assets/icons/build.svg
  83. 0 0
      src/assets/icons/button.svg
  84. 1 0
      src/assets/icons/bxAnalyse.svg
  85. 0 0
      src/assets/icons/cascader.svg
  86. 1 0
      src/assets/icons/chart.svg
  87. 1 0
      src/assets/icons/checkbox.svg
  88. 1 0
      src/assets/icons/clipboard.svg
  89. 1 0
      src/assets/icons/codeNew.svg
  90. 0 0
      src/assets/icons/color.svg
  91. 1 0
      src/assets/icons/company.svg
  92. 1 0
      src/assets/icons/companyFill.svg
  93. 0 0
      src/assets/icons/component.svg
  94. 1 0
      src/assets/icons/compress.svg
  95. 1 0
      src/assets/icons/connections.svg
  96. 0 0
      src/assets/icons/dashboardNew.svg
  97. 0 0
      src/assets/icons/date.svg
  98. 0 0
      src/assets/icons/dateRange.svg
  99. 0 0
      src/assets/icons/dict.svg
  100. 1 0
      src/assets/icons/dingtalk.svg

+ 3 - 0
.browserslistrc

@@ -0,0 +1,3 @@
+> 1%
+last 2 versions
+not ie <= 10

+ 39 - 0
.editorconfig

@@ -0,0 +1,39 @@
+[*]
+charset=utf-8
+end_of_line=lf
+insert_final_newline=false
+indent_style=space
+indent_size=2
+
+[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}]
+indent_style=space
+indent_size=2
+
+[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}]
+indent_style=space
+indent_size=2
+
+[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}]
+indent_style=space
+indent_size=2
+
+[*.svg]
+indent_style=space
+indent_size=2
+
+[*.js.map]
+indent_style=space
+indent_size=2
+
+[*.less]
+indent_style=space
+indent_size=2
+
+[*.vue]
+indent_style=space
+indent_size=2
+
+[{.analysis_options,*.yml,*.yaml}]
+indent_style=space
+indent_size=2
+

+ 3 - 0
.env

@@ -0,0 +1,3 @@
+NODE_ENV=production
+VUE_APP_PREVIEW=false
+VUE_APP_BASE_API=/api

+ 3 - 0
.env.development

@@ -0,0 +1,3 @@
+NODE_ENV=development
+VUE_APP_PREVIEW=true
+VUE_APP_BASE_API=/api

+ 3 - 0
.env.preview

@@ -0,0 +1,3 @@
+NODE_ENV=production
+VUE_APP_PREVIEW=true
+VUE_APP_BASE_API=/api

+ 75 - 0
.eslintrc.js

@@ -0,0 +1,75 @@
+module.exports = {
+  root: false,
+  env: {
+    node: false
+  },
+  'extends': [
+    'plugin:vue/strongly-recommended',
+    '@vue/standard'
+  ],
+  rules: {
+    'no-console': 'off',
+    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+    'generator-star-spacing': 'off',
+    'no-mixed-operators': 0,
+    'vue/max-attributes-per-line': [
+      2,
+      {
+        'singleline': 5,
+        'multiline': {
+          'max': 1,
+          'allowFirstLine': false
+        }
+      }
+    ],
+    'vue/attribute-hyphenation': 0,
+    'vue/html-self-closing': 0,
+    'vue/component-name-in-template-casing': 0,
+    'vue/html-closing-bracket-spacing': 0,
+    'vue/singleline-html-element-content-newline': 0,
+    'vue/no-unused-components': 0,
+    'vue/multiline-html-element-content-newline': 0,
+    'vue/no-use-v-if-with-v-for': 0,
+    'vue/html-closing-bracket-newline': 0,
+    'vue/no-parsing-error': 0,
+    'no-tabs': 0,
+    'quotes': [
+      2,
+      'single',
+      {
+        'avoidEscape': true,
+        'allowTemplateLiterals': true
+      }
+    ],
+    'semi': [
+      2,
+      'never',
+      {
+        'beforeStatementContinuationChars': 'never'
+      }
+    ],
+    'no-delete-var': 2,
+    'prefer-const': [
+      2,
+      {
+        'ignoreReadBeforeAssign': false
+      }
+    ],
+    'template-curly-spacing': 'off',
+    'indent': 'off'
+  },
+  parserOptions: {
+    parser: 'babel-eslint'
+  },
+  overrides: [
+    {
+      files: [
+        '**/__tests__/*.{j,t}s?(x)',
+        '**/tests/unit/**/*.spec.{j,t}s?(x)'
+      ],
+      env: {
+        jest: false
+      }
+    }
+  ]
+}

+ 5 - 0
.eslintrc.json

@@ -0,0 +1,5 @@
+{
+  "rules": {
+    "space-before-function-paren": 0
+  }
+}

+ 1 - 0
.gitattributes

@@ -0,0 +1 @@
+public/* linguist-vendored

+ 23 - 0
.gitignore

@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw*
+package-lock.json
+yarn.lock

+ 6 - 0
.prettierrc

@@ -0,0 +1,6 @@
+{
+  "printWidth": 120,
+  "semi": false,
+  "singleQuote": true,
+  "prettier.spaceBeforeFunctionParen": true
+}

+ 7 - 0
.travis.yml

@@ -0,0 +1,7 @@
+language: node_js
+node_js:
+  - 10.15.0
+cache: yarn
+script:
+  - yarn
+  - yarn run lint --no-fix && yarn run build

+ 28 - 0
babel.config.js

@@ -0,0 +1,28 @@
+const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
+
+const plugins = []
+if (IS_PROD) {
+  plugins.push('transform-remove-console')
+}
+
+// lazy load ant-design-vue
+// if your use import on Demand, Use this code
+plugins.push(['import', {
+  'libraryName': 'ant-design-vue',
+  'libraryDirectory': 'es',
+  'style': true // `style: true` 会加载 less 文件
+}])
+
+module.exports = {
+  presets: [
+    '@vue/cli-plugin-babel/preset',
+    [
+      '@babel/preset-env',
+      {
+        'useBuiltIns': 'entry',
+        'corejs': 3
+      }
+    ]
+  ],
+  plugins
+}

+ 49 - 0
config/plugin.config.js

@@ -0,0 +1,49 @@
+const ThemeColorReplacer = require('webpack-theme-color-replacer')
+const generate = require('@ant-design/colors/lib/generate').default
+
+const getAntdSerials = (color) => {
+  // 淡化(即less的tint)
+  const lightens = new Array(9).fill().map((t, i) => {
+    return ThemeColorReplacer.varyColor.lighten(color, i / 10)
+  })
+  const colorPalettes = generate(color)
+  const rgb = ThemeColorReplacer.varyColor.toNum3(color.replace('#', '')).join(',')
+  return lightens.concat(colorPalettes).concat(rgb)
+}
+
+const themePluginOption = {
+  fileName: 'css/theme-colors-[contenthash:8].css',
+  matchColors: getAntdSerials('#1890ff'), // 主色系列
+  // 改变样式选择器,解决样式覆盖问题
+  changeSelector (selector) {
+    switch (selector) {
+      case '.ant-calendar-today .ant-calendar-date':
+        return ':not(.ant-calendar-selected-date):not(.ant-calendar-selected-day)' + selector
+      case '.ant-btn:focus,.ant-btn:hover':
+        return '.ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger)'
+      case '.ant-btn.active,.ant-btn:active':
+        return '.ant-btn.active:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:active:not(.ant-btn-primary):not(.ant-btn-danger)'
+      case '.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon':
+      case '.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon':
+        return ':not(.ant-steps-item-process)' + selector
+      // fixed https://github.com/vueComponent/ant-design-vue-pro/issues/876
+      case '.ant-steps-item-process .ant-steps-item-icon':
+        return ':not(.ant-steps-item-custom)' + selector
+      case '.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item-open,.ant-menu-horizontal>.ant-menu-item-selected,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu-active,.ant-menu-horizontal>.ant-menu-submenu-open,.ant-menu-horizontal>.ant-menu-submenu-selected,.ant-menu-horizontal>.ant-menu-submenu:hover':
+      case '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal > .ant-menu-submenu-selected,.ant-menu-horizontal > .ant-menu-submenu:hover':
+        return '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover'
+      case '.ant-menu-horizontal > .ant-menu-item-selected > a':
+      case '.ant-menu-horizontal>.ant-menu-item-selected>a':
+        return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item-selected > a'
+      case '.ant-menu-horizontal > .ant-menu-item > a:hover':
+      case '.ant-menu-horizontal>.ant-menu-item>a:hover':
+        return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item > a:hover'
+      default :
+        return selector
+    }
+  }
+}
+
+const createThemeColorReplacerPlugin = () => new ThemeColorReplacer(themePluginOption)
+
+module.exports = createThemeColorReplacerPlugin

+ 115 - 0
config/themePluginConfig.js

@@ -0,0 +1,115 @@
+export default {
+  theme: [
+    {
+      key: 'dark',
+      fileName: 'dark.css',
+      theme: 'dark'
+    },
+    {
+      key: '#F5222D',
+      fileName: '#F5222D.css',
+      modifyVars: {
+        '@primary-color': '#F5222D'
+      }
+    },
+    {
+      key: '#FA541C',
+      fileName: '#FA541C.css',
+      modifyVars: {
+        '@primary-color': '#FA541C'
+      }
+    },
+    {
+      key: '#FAAD14',
+      fileName: '#FAAD14.css',
+      modifyVars: {
+        '@primary-color': '#FAAD14'
+      }
+    },
+    {
+      key: '#13C2C2',
+      fileName: '#13C2C2.css',
+      modifyVars: {
+        '@primary-color': '#13C2C2'
+      }
+    },
+    {
+      key: '#52C41A',
+      fileName: '#52C41A.css',
+      modifyVars: {
+        '@primary-color': '#52C41A'
+      }
+    },
+    {
+      key: '#2F54EB',
+      fileName: '#2F54EB.css',
+      modifyVars: {
+        '@primary-color': '#2F54EB'
+      }
+    },
+    {
+      key: '#722ED1',
+      fileName: '#722ED1.css',
+      modifyVars: {
+        '@primary-color': '#722ED1'
+      }
+    },
+
+    {
+      key: '#F5222D',
+      theme: 'dark',
+      fileName: 'dark-#F5222D.css',
+      modifyVars: {
+        '@primary-color': '#F5222D'
+      }
+    },
+    {
+      key: '#FA541C',
+      theme: 'dark',
+      fileName: 'dark-#FA541C.css',
+      modifyVars: {
+        '@primary-color': '#FA541C'
+      }
+    },
+    {
+      key: '#FAAD14',
+      theme: 'dark',
+      fileName: 'dark-#FAAD14.css',
+      modifyVars: {
+        '@primary-color': '#FAAD14'
+      }
+    },
+    {
+      key: '#13C2C2',
+      theme: 'dark',
+      fileName: 'dark-#13C2C2.css',
+      modifyVars: {
+        '@primary-color': '#13C2C2'
+      }
+    },
+    {
+      key: '#52C41A',
+      theme: 'dark',
+      fileName: 'dark-#52C41A.css',
+      modifyVars: {
+        '@primary-color': '#52C41A'
+      }
+    },
+    {
+      key: '#2F54EB',
+      theme: 'dark',
+      fileName: 'dark-#2F54EB.css',
+      modifyVars: {
+        '@primary-color': '#2F54EB'
+      }
+    },
+    {
+      key: '#722ED1',
+      theme: 'dark',
+      fileName: 'dark-#722ED1.css',
+      modifyVars: {
+        '@primary-color': '#722ED1'
+      }
+    }
+  ]
+}

+ 31 - 0
docs/add-page-loading-animate.md

@@ -0,0 +1,31 @@
+为首屏增加 加载动画
+====
+
+
+
+## 需求
+
+> 为了缓解用户第一次访问时,加载 JS 过大所导致用户等待白屏时间过长导致的用户体验不好,进行的一个优化动效。
+
+
+
+## 实现方案
+
+1. 将 动画加载 dom 元素放在 #app 内,Vue 生命周期开始时,会自动清掉 #app 下的所有元素。
+2. 将 动画加载 dom 元素放在 body 下,Vue 生命周期开始时 App.vue (created, mounted) 调用 `@/utils/utll` 下的 removeLoadingAnimate(#id, timeout) 则会移除加载动画
+
+最后一步:
+​	将样式插入到 `public/index.html` 文件的 `<head></head>` 最好写成内联 `<style>动画样式</style>` 
+
+
+
+----
+
+目前提供有两个样式,均在 `public/loading` 文件夹内。且 pro 已经默认使用了一套 loading 动画方案,可以直接参考 `public/index.html`
+
+
+## 写在最后
+
+目前 pro 有页面 overflow 显示出浏览器滚动条时,页面会抖动一下的问题。
+
+欢迎各位提供能解决的方案和实现 demo。如果在条件允许的情况下,建议请直接使用 pro 进行改造,也欢迎直接 PR 到 pro 的仓库

+ 40 - 0
docs/webpack-bundle-analyzer.md

@@ -0,0 +1,40 @@
+先增加依赖
+
+```bash
+// npm
+$ npm install --save-dev webpack-bundle-analyzer
+
+// or yarn
+$ yarn add webpack-bundle-analyzer -D
+```
+
+配置文件 `vue.config.js` 增加 `configureWebpack.plugins` 参数
+
+```
+const path = require('path')
+const webpack = require('webpack')
+const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
+
+function resolve (dir) {
+  return path.join(__dirname, dir)
+}
+
+// vue.config.js
+module.exports = {
+  configureWebpack: {
+    plugins: [
+      // Ignore all locale files of moment.js
+      new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
+      // 依赖大小分析工具
+      new BundleAnalyzerPlugin(),
+    ]
+  },
+  
+  
+  ...
+}
+```
+
+
+
+启动 `cli` 的 `build` 命令进行项目编译,编译完成时,会自动运行一个 http://localhost:8888 的地址,完整显示了支持库依赖

+ 23 - 0
jest.config.js

@@ -0,0 +1,23 @@
+module.exports = {
+  moduleFileExtensions: [
+    'js',
+    'jsx',
+    'json',
+    'vue'
+  ],
+  transform: {
+    '^.+\\.vue$': 'vue-jest',
+    '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
+    '^.+\\.jsx?$': 'babel-jest'
+  },
+  moduleNameMapper: {
+    '^@/(.*)$': '<rootDir>/src/$1'
+  },
+  snapshotSerializers: [
+    'jest-serializer-vue'
+  ],
+  testMatch: [
+    '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
+  ],
+  testURL: 'http://localhost/'
+}

+ 11 - 0
jsconfig.json

@@ -0,0 +1,11 @@
+{
+  "compilerOptions": {
+    "target": "es6",
+    "baseUrl": ".",
+    "paths": {
+      "@/*": ["src/*"]
+    }
+  },
+  "exclude": ["node_modules", "dist"],
+  "include": ["src/**/*"]
+}

+ 68 - 0
package.json

@@ -0,0 +1,68 @@
+{
+  "name": "vue-antd-pro",
+  "version": "3.0.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "test:unit": "vue-cli-service test:unit",
+    "lint": "vue-cli-service lint",
+    "build:preview": "vue-cli-service build --mode preview",
+    "lint:nofix": "vue-cli-service lint --no-fix"
+  },
+  "dependencies": {
+    "ant-design-vue": "1.7.2",
+    "axios": "^0.19.0",
+    "core-js": "^3.1.2",
+    "crypto-js": "^4.1.1",
+    "echarts": "^5.3.3",
+    "enquire.js": "^2.1.6",
+    "file-saver": "^2.0.5",
+    "highlight.js": "^10.5.0",
+    "lodash.clonedeep": "^4.5.0",
+    "lodash.get": "^4.4.2",
+    "lodash.pick": "^4.4.0",
+    "md5": "^2.2.1",
+    "mockjs2": "1.0.8",
+    "moment": "^2.24.0",
+    "nprogress": "^0.2.0",
+    "sortablejs": "^1.10.2",
+    "store": "^2.0.12",
+    "v-viewer": "^1.5.1",
+    "vditor": "^3.7.3",
+    "vue": "^2.6.12",
+    "vue-clipboard2": "^0.2.1",
+    "vue-container-query": "^0.1.0",
+    "vue-copy-to-clipboard": "^1.0.3",
+    "vue-cropper": "0.4.9",
+    "vue-grid-layout": "^2.3.12",
+    "vue-i18n": "^8.17.4",
+    "vue-router": "^3.1.2",
+    "vue-svg-component-runtime": "^1.0.1",
+    "vue-upload-component": "^2.8.20",
+    "vuex": "^3.1.1",
+    "xlsx": "^0.16.9"
+  },
+  "devDependencies": {
+    "@ant-design/colors": "^3.2.1",
+    "@vue/cli-plugin-babel": "^4.0.4",
+    "@vue/cli-plugin-router": "^4.0.4",
+    "@vue/cli-plugin-unit-jest": "^4.0.4",
+    "@vue/cli-plugin-vuex": "^4.0.4",
+    "@vue/cli-service": "^4.0.4",
+    "@vue/test-utils": "^1.0.0-beta.29",
+    "babel-plugin-import": "^1.12.2",
+    "babel-plugin-transform-remove-console": "^6.9.4",
+    "compression-webpack-plugin": "^5.0.1",
+    "git-revision-webpack-plugin": "^3.0.6",
+    "less": "^3.0.4",
+    "less-loader": "^5.0.0",
+    "opencollective": "^1.0.3",
+    "opencollective-postinstall": "^2.0.2",
+    "vue-svg-icon-loader": "^2.1.1",
+    "vue-template-compiler": "^2.6.12",
+    "webpack-theme-color-replacer": "^1.3.12",
+    "sass": "^1.53.0",
+    "sass-loader": "^8.0.2"
+  }
+}

+ 5 - 0
postcss.config.js

@@ -0,0 +1,5 @@
+module.exports = {
+  plugins: {
+    autoprefixer: {}
+  }
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 1 - 0
public/axios.min.js


+ 33 - 0
public/index.html

@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html lang="zh-cmn-Hans">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <link rel="icon" href="<%= BASE_URL %>logo.png">
+    <title>运单管理系统</title>
+    <style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style>
+    <!-- require cdn assets css -->
+    <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
+    <link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" />
+    <% } %>
+  </head>
+  <body>
+    <noscript>
+      <strong>请启用JavaScript后再使用运单管理系统</strong>
+    </noscript>
+    <div id="app">
+      <div class="first-loading-wrp">
+        <div class="loading-wrp">
+          <span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
+        </div>
+        <!-- <div style="display: flex; justify-content: center; align-items: center;">Aidex Sharp</div> -->
+      </div>
+    </div>
+    <!-- require cdn assets js -->
+    <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
+    <script type="text/javascript" src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
+    <% } %>
+    <!-- built files will be auto injected -->
+  </body>
+</html>

BIN
public/logo.png


Datei-Diff unterdrückt, da er zu groß ist
+ 5 - 0
public/vue-router.min.js


Datei-Diff unterdrückt, da er zu groß ist
+ 5 - 0
public/vue.min.js


Datei-Diff unterdrückt, da er zu groß ist
+ 5 - 0
public/vuex.min.js


+ 28 - 0
src/App.vue

@@ -0,0 +1,28 @@
+<template>
+  <a-config-provider :locale="locale">
+    <div id="app">
+      <router-view/>
+    </div>
+  </a-config-provider>
+</template>
+
+<script>
+import { domTitle, setDocumentTitle } from '@/utils/domUtil'
+import { i18nRender } from '@/locales'
+
+export default {
+  data () {
+    return {
+    }
+  },
+  computed: {
+    locale () {
+      // 只是为了切换语言时,更新标题
+      const { title } = this.$route.meta
+      title && (setDocumentTitle(`${i18nRender(title)} - ${domTitle}`))
+
+      return this.$i18n.getLocaleMessage(this.$store.getters.lang).antLocale
+    }
+  }
+}
+</script>

+ 72 - 0
src/api/login.js

@@ -0,0 +1,72 @@
+import request from '@/utils/request'
+
+const userApi = {
+  Login: '/login',
+  Logout: '/logout',
+  // get my info
+  UserInfo: '/getInfo',
+  SendSms: '/system/sysSms/sendSms'
+}
+
+/**
+ * login func
+ * @param parameter
+ * @returns {*}
+ */
+export function login (parameter) {
+  return request({
+    url: userApi.Login,
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * login func
+ * @param parameter
+ * @returns {*}
+ */
+export function loginBySms (parameter) {
+  return request({
+    url: '/system/sysSms/loginBySms',
+    method: 'post',
+    data: parameter
+  })
+}
+
+export function getInfo () {
+  return request({
+    url: userApi.UserInfo,
+    method: 'get',
+    headers: {
+      'Content-Type': 'application/json;charset=UTF-8'
+    }
+  })
+}
+
+export function logout () {
+  return request({
+    url: userApi.Logout,
+    method: 'delete',
+    headers: {
+      'Content-Type': 'application/json;charset=UTF-8'
+    }
+  })
+}
+
+// 获取验证码
+export function getCodeImg () {
+  return request({
+    url: '/captchaImage',
+    method: 'get'
+  })
+}
+
+// 获取手机验证码
+export function getSmsCaptcha (parameter) {
+  return request({
+    url: userApi.SendSms,
+    method: 'post',
+    data: parameter
+  })
+}

+ 70 - 0
src/api/manage.js

@@ -0,0 +1,70 @@
+import request from '@/utils/request'
+
+const api = {
+  user: '/user',
+  role: '/role',
+  service: '/service',
+  permission: '/permission',
+  permissionNoPager: '/permission/no-pager',
+  orgTree: '/org/tree'
+}
+
+export default api
+
+export function getUserList (parameter) {
+  return request({
+    url: api.user,
+    method: 'get',
+    params: parameter
+  })
+}
+
+export function getRoleList (parameter) {
+  return request({
+    url: api.role,
+    method: 'get',
+    params: parameter
+  })
+}
+
+export function getServiceList (parameter) {
+  return request({
+    url: api.service,
+    method: 'get',
+    params: parameter
+  })
+}
+
+export function getPermissions (parameter) {
+  return request({
+    url: api.permissionNoPager,
+    method: 'get',
+    params: parameter
+  })
+}
+
+export function getOrgTree (parameter) {
+  return request({
+    url: api.orgTree,
+    method: 'get',
+    params: parameter
+  })
+}
+
+// id == 0 add     post
+// id != 0 update  put
+export function saveService (parameter) {
+  return request({
+    url: api.service,
+    method: parameter.id === 0 ? 'post' : 'put',
+    data: parameter
+  })
+}
+
+export function saveSub (sub) {
+  return request({
+    url: '/sub',
+    method: sub.id === 0 ? 'post' : 'put',
+    data: sub
+  })
+}

+ 9 - 0
src/api/menu.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 获取路由
+export const getRouters = () => {
+  return request({
+    url: '/getRouters',
+    method: 'get'
+  })
+}

+ 49 - 0
src/api/monitor/cache.js

@@ -0,0 +1,49 @@
+import request from '@/utils/request'
+
+// 查询缓存详细
+export function getCache () {
+  return request({
+    url: '/monitor/cache',
+    method: 'get'
+  })
+}
+
+// 查询缓存名称列表
+export function listCacheName () {
+  return request({
+    url: '/monitor/cache/listCacheName',
+    method: 'get'
+  })
+}
+
+// 删除角色
+export function clearCache (cacheId) {
+  return request({
+    url: '/monitor/cache/clearCache/' + cacheId,
+    method: 'delete'
+  })
+}
+
+// 查询缓存详细
+export function listCacheKey (cacheId) {
+  return request({
+    url: '/monitor/cache/listCacheKey/' + cacheId,
+    method: 'get'
+  })
+}
+
+// 删除角色
+export function clearCacheByKey (cacheId, cacheKey) {
+  return request({
+    url: '/monitor/cache/clearCacheByKey/' + cacheId + '/' + cacheKey,
+    method: 'delete'
+  })
+}
+
+// 查询缓存详细
+export function getCacheValue (cacheId, cacheKey) {
+  return request({
+    url: '/monitor/cache/getCacheValue/' + cacheId + '/' + cacheKey,
+    method: 'get'
+  })
+}

+ 79 - 0
src/api/monitor/job.js

@@ -0,0 +1,79 @@
+import request from '@/utils/request'
+
+// 查询定时任务调度列表
+export function listJob (query) {
+  return request({
+    url: '/monitor/job/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询定时任务调度详细
+export function getJob (jobId) {
+  return request({
+    url: '/monitor/job/' + jobId,
+    method: 'get'
+  })
+}
+
+// 新增定时任务调度
+export function addJob (data) {
+  return request({
+    url: '/monitor/job',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改定时任务调度
+export function updateJob (data) {
+  return request({
+    url: '/monitor/job',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除定时任务调度
+export function delJob (jobId) {
+  return request({
+    url: '/monitor/job/' + jobId,
+    method: 'delete'
+  })
+}
+
+// 导出定时任务调度
+export function exportJob (query) {
+  return request({
+    url: '/monitor/job/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 任务状态修改
+export function changeJobStatus (jobId, status) {
+  const data = {
+    jobId,
+    status
+  }
+  return request({
+    url: '/monitor/job/changeStatus',
+    method: 'put',
+    data: data
+  })
+}
+
+// 定时任务立即执行一次
+export function runJob (jobId, jobGroup) {
+  const data = {
+    jobId,
+    jobGroup
+  }
+  return request({
+    url: '/monitor/job/run',
+    method: 'put',
+    data: data
+  })
+}

+ 35 - 0
src/api/monitor/jobLog.js

@@ -0,0 +1,35 @@
+import request from '@/utils/request'
+
+// 查询调度日志列表
+export function listJobLog (query) {
+  return request({
+    url: '/monitor/jobLog/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 删除调度日志
+export function delJobLog (jobLogId) {
+  return request({
+    url: '/monitor/jobLog/' + jobLogId,
+    method: 'delete'
+  })
+}
+
+// 清空调度日志
+export function cleanJobLog () {
+  return request({
+    url: '/monitor/jobLog/clean',
+    method: 'delete'
+  })
+}
+
+// 导出调度日志
+export function exportJobLog (query) {
+  return request({
+    url: '/monitor/jobLog/export',
+    method: 'get',
+    params: query
+  })
+}

+ 35 - 0
src/api/monitor/loginLog.js

@@ -0,0 +1,35 @@
+import request from '@/utils/request'
+
+// 查询登录日志列表
+export function list (query) {
+  return request({
+    url: '/monitor/loginLog/page',
+    method: 'get',
+    params: query
+  })
+}
+
+// 删除登录日志
+export function delLoginLog (infoId) {
+  return request({
+    url: '/monitor/loginLog/' + infoId,
+    method: 'delete'
+  })
+}
+
+// 清空登录日志
+export function cleanLoginLog () {
+  return request({
+    url: '/monitor/loginLog/clean',
+    method: 'delete'
+  })
+}
+
+// 导出登录日志
+export function exportLoginLog (query) {
+  return request({
+    url: '/monitor/loginLog/export',
+    method: 'get',
+    params: query
+  })
+}

+ 18 - 0
src/api/monitor/online.js

@@ -0,0 +1,18 @@
+import request from '@/utils/request'
+
+// 查询在线用户列表
+export function list (query) {
+  return request({
+    url: '/monitor/online/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 强退用户
+export function forceLogout (tokenId) {
+  return request({
+    url: '/monitor/online/' + tokenId,
+    method: 'delete'
+  })
+}

+ 35 - 0
src/api/monitor/operlog.js

@@ -0,0 +1,35 @@
+import request from '@/utils/request'
+
+// 查询操作日志列表
+export function list (query) {
+  return request({
+    url: '/monitor/operlog/page',
+    method: 'get',
+    params: query
+  })
+}
+
+// 删除操作日志
+export function delOperlog (operId) {
+  return request({
+    url: '/monitor/operlog/' + operId,
+    method: 'delete'
+  })
+}
+
+// 清空操作日志
+export function cleanOperlog () {
+  return request({
+    url: '/monitor/operlog/clean',
+    method: 'delete'
+  })
+}
+
+// 导出操作日志
+export function exportOperlog (query) {
+  return request({
+    url: '/monitor/operlog/export',
+    method: 'get',
+    params: query
+  })
+}

+ 9 - 0
src/api/monitor/server.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 查询服务器详细
+export function getServer () {
+  return request({
+    url: '/monitor/server',
+    method: 'get'
+  })
+}

+ 69 - 0
src/api/monitor/sysDataPermissionsDefRule.js

@@ -0,0 +1,69 @@
+import request from '@/utils/request'
+
+// 查询默认规则维护列表
+export function listSysDataPermissionsDefRule (query) {
+  return request({
+    url: '/monitor/sysDataPermissionsDefRule/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询默认规则维护详细
+export function getSysDataPermissionsDefRule (id) {
+  return request({
+    url: '/monitor/sysDataPermissionsDefRule/' + id,
+    method: 'get'
+  })
+}
+
+// 新增默认规则维护
+export function addSysDataPermissionsDefRule (data) {
+  return request({
+    url: '/monitor/sysDataPermissionsDefRule',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改默认规则维护
+export function updateSysDataPermissionsDefRule (data) {
+  return request({
+    url: '/monitor/sysDataPermissionsDefRule',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除默认规则维护
+export function delSysDataPermissionsDefRule (id) {
+  return request({
+    url: '/monitor/sysDataPermissionsDefRule/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出默认规则维护
+export function exportSysDataPermissionsDefRule (query) {
+  return request({
+    url: '/monitor/sysDataPermissionsDefRule/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询菜单同层最大排序
+export function findMaxSort () {
+  return request({
+    url: '/monitor/sysDataPermissionsDefRule/findMaxSort',
+    method: 'get'
+  })
+}
+
+// 获得全部的且已启用的默认规则
+export function getAllDefaultRule () {
+  return request({
+    url: '/monitor/sysDataPermissionsDefRule/getAllDefaultRule',
+    method: 'get'
+  })
+}

+ 78 - 0
src/api/monitor/sysDataPermissionsMethod.js

@@ -0,0 +1,78 @@
+import request from '@/utils/request'
+
+// 查询数据权限方法维护列表
+export function listSysDataPermissionsMethod (query) {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询数据权限方法维护详细
+export function getSysDataPermissionsMethod (id) {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod/' + id,
+    method: 'get'
+  })
+}
+
+// 新增数据权限方法维护
+export function addSysDataPermissionsMethod (data) {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改数据权限方法维护
+export function updateSysDataPermissionsMethod (data) {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除数据权限方法维护
+export function delSysDataPermissionsMethod (id) {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出数据权限方法维护
+export function exportSysDataPermissionsMethod (query) {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 新增数据权限方法维护
+export function getAllMapperData () {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod/getAllMapperData',
+    method: 'get'
+  })
+}
+
+// 新增数据权限方法维护
+export function getMapperName (searchInfo) {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod/getMapperName',
+    method: 'get',
+    params: searchInfo
+  })
+}
+
+export function getMethodHtml (searchInfo) {
+  return request({
+    url: '/monitor/sysDataPermissionsMethod/getMethodHtml',
+    method: 'get',
+    params: searchInfo
+  })
+}

+ 61 - 0
src/api/monitor/sysDataPermissionsRule.js

@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 查询数据权限规则维护子表列表
+export function listSysDataPermissionsRule (query) {
+  return request({
+    url: '/monitor/sysDataPermissionsRule/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询数据权限规则维护子表详细
+export function getSysDataPermissionsRule (id) {
+  return request({
+    url: '/monitor/sysDataPermissionsRule/' + id,
+    method: 'get'
+  })
+}
+
+// 新增数据权限规则维护子表
+export function addSysDataPermissionsRule (data) {
+  return request({
+    url: '/monitor/sysDataPermissionsRule',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改数据权限规则维护子表
+export function updateSysDataPermissionsRule (data) {
+  return request({
+    url: '/monitor/sysDataPermissionsRule',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除数据权限规则维护子表
+export function delSysDataPermissionsRule (id) {
+  return request({
+    url: '/monitor/sysDataPermissionsRule/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出数据权限规则维护子表
+export function exportSysDataPermissionsRule (query) {
+  return request({
+    url: '/monitor/sysDataPermissionsRule/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 导出数据权限规则维护子表
+export function getDataPermissionsMethodInfo (methodId) {
+  return request({
+    url: '/monitor/sysDataPermissionsRule/getDataPermissionsMethodInfo/' + methodId,
+    method: 'get'
+  })
+}

+ 82 - 0
src/api/statistics/statistics.js

@@ -0,0 +1,82 @@
+import request from '@/utils/request2'
+
+// 安检通道综合效率统计接口
+export function correlation(query) {
+  return request({
+    url: '/risk/report/securityCheck',
+    method: 'POST',
+    data: query
+  })
+}
+
+// 获取航空货物综合统计接口1
+export function comprehensive(query) {
+  return request({
+    url: '/system/waybill/count',
+    method: 'get',
+    params: query
+  })
+}
+
+// 获取航空货物综合统计接口2
+export function comprehensiveTable(query) {
+  return request({
+    url: '/system/waybill/countinfo',
+    method: 'get',
+    params: query
+  })
+}
+
+// 获取货物运单列表接口
+export function waybill(query) {
+  return request({
+    url: '/system/waybill/page',
+    method: 'get',
+    params: query
+  })
+}
+
+// // 航线货物关联统计接口
+export function agent(query) {
+  return request({
+    url: '/risk/report/airlineCargo',
+    method: 'POST',
+    data: query
+  })
+}
+
+// 航线货物关联统计接口
+// export function agent(query) {
+//   return request({
+//     url: 'system/syncEmergencyFlight/list',
+//     method: 'POST',
+//     data: query
+//   })
+// }
+
+// 代理人信用等级视角安检综合效率统计接口
+export function emergency(query) {
+  return request({
+    url: '/risk/report/agentCredit',
+    method: 'POST',
+    data: query
+  })
+}
+
+// 代理人
+export function emergencys(query) {
+  return request({
+    url: '/system/waybill/countinfo',
+    method: 'get',
+    data: query
+  })
+}
+
+// 代理人
+export function routeall(query) {
+  return request({
+    url: '/risk/report/queryAirline',
+    method: 'get',
+    data: query
+  })
+}

+ 53 - 0
src/api/system/apiLog.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询接口日志列表
+export function listApiLog (query) {
+  return request({
+    url: '/system/apiLog/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询接口日志详细
+export function getApiLog (id) {
+  return request({
+    url: '/system/apiLog/' + id,
+    method: 'get'
+  })
+}
+
+// 新增接口日志
+export function addApiLog (data) {
+  return request({
+    url: '/system/apiLog',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改接口日志
+export function updateApiLog (data) {
+  return request({
+    url: '/system/apiLog',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除接口日志
+export function delApiLog (id) {
+  return request({
+    url: '/system/apiLog/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出接口日志
+export function exportApiLog (query) {
+  return request({
+    url: '/system/apiLog/export',
+    method: 'get',
+    params: query
+  })
+}

+ 68 - 0
src/api/system/cargoDetail.js

@@ -0,0 +1,68 @@
+import request from '@/utils/request'
+
+// 查询货品清单列表
+export function listCargoDetail (query) {
+  return request({
+    url: '/system/cargoDetail/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询货品清单详细
+export function getCargoDetail (id) {
+  return request({
+    url: '/system/cargoDetail/' + id,
+    method: 'get'
+  })
+}
+
+// 新增货品清单
+export function addCargoDetail (data) {
+  return request({
+    url: '/system/cargoDetail',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改货品清单
+export function updateCargoDetail (data) {
+  return request({
+    url: '/system/cargoDetail',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除货品清单
+export function delCargoDetail (id) {
+  return request({
+    url: '/system/cargoDetail/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出货品清单
+export function exportCargoDetail (query) {
+  return request({
+    url: '/system/cargoDetail/export',
+    method: 'get',
+    params: query
+  })
+}
+
+export function apply (data) {
+  return request({
+    url: '/system/cargoDetail/apply',
+    method: 'post',
+    data
+  })
+}
+
+export function importTemplate () {
+  return request({
+    url: '/system/cargoDetail/importTemplate',
+    method: 'get'
+  })
+}

+ 69 - 0
src/api/system/config.js

@@ -0,0 +1,69 @@
+import request from '@/utils/request'
+
+// 查询参数列表
+export function listConfig (query) {
+  return request({
+    url: '/system/config/page',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询参数详细
+export function getConfig (configId) {
+  return request({
+    url: '/system/config/' + configId,
+    method: 'get'
+  })
+}
+
+// 根据参数键名查询参数值
+export function getConfigKey (configKey) {
+  return request({
+    url: '/system/config/configKey/' + configKey,
+    method: 'get'
+  })
+}
+
+// 新增参数配置
+export function saveConfig (data) {
+  return request({
+    url: '/system/config',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除参数配置
+export function delConfig (configId) {
+  return request({
+    url: '/system/config/' + configId,
+    method: 'delete'
+  })
+}
+
+// 清理参数缓存
+export function clearCache () {
+  return request({
+    url: '/system/config/clearCache',
+    method: 'delete'
+  })
+}
+
+// 导出参数
+export function exportConfig (query) {
+  return request({
+    url: '/system/config/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 参数列表唯一校验
+export function checkConfigKeyUnique (data) {
+  return request({
+    url: 'system/config/checkConfigKeyUnique',
+    method: 'get',
+    params: data
+  })
+}

+ 145 - 0
src/api/system/dept.js

@@ -0,0 +1,145 @@
+import request from '@/utils/request'
+
+// 查询部门列表
+export function listDept (query, deptId, expandLevel) {
+  if (deptId == null || deptId === '') {
+    deptId = '0'
+  }
+  if (expandLevel == null || expandLevel === '') {
+    expandLevel = '1'
+  }
+  return request({
+    url: '/system/dept/list/' + expandLevel + '/' + deptId,
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询部门树列表(排除节点)
+export function listDeptExcludeChild (deptId) {
+  return request({
+    url: '/system/dept/listTreeExcludeChild/10/0/' + deptId,
+    method: 'get'
+  })
+}
+
+// 查询部门树列表(排除当前节点及子节点)
+export function listDeptTree (deptId, expandLevel) {
+	if (deptId == null || deptId === '') {
+		deptId = '0'
+	}
+  if (expandLevel == null || expandLevel === '') {
+    expandLevel = '1'
+  }
+  return request({
+    url: '/system/dept/listTree/' + expandLevel + '/' + deptId,
+    method: 'get'
+  })
+}
+
+// 查询部门详细
+export function getDept (deptId) {
+  return request({
+    url: '/system/dept/' + deptId,
+    method: 'get'
+  })
+}
+
+// 根据角色ID查询部门树结构
+export function roleDeptTreeselect (roleId) {
+  return request({
+    url: '/system/dept/roleDeptTreeselect/' + roleId,
+    method: 'get'
+  })
+}
+
+// 新增部门
+export function addDept (data) {
+  return request({
+    url: '/system/dept',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改部门
+export function updateDept (data) {
+  return request({
+    url: '/system/dept',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除部门
+export function delDept (deptId) {
+  return request({
+    url: '/system/dept/' + deptId,
+    method: 'delete'
+  })
+}
+
+// 查询部门下拉树结构
+export function findMaxSort (parentId) {
+  return request({
+    url: '/system/dept/findMaxSort/' + parentId,
+    method: 'get'
+  })
+}
+
+// 校验部门名称是否存在
+export function validateDeptNameUnique (deptName, parentId, id) {
+  if (id === undefined) {
+    id = ''
+  }
+  return request({
+    url: '/system/dept/validateDeptNameUnique/' + deptName + '/' + parentId + '/' + id,
+    method: 'get'
+  })
+}
+// 部门树检索
+export function searchDept (searchInfo) {
+  return request({
+    url: '/system/dept/search',
+    method: 'get',
+    params: searchInfo
+  })
+}
+// 部门树检索
+export function searchDeptList (searchInfo) {
+  return request({
+    url: '/system/dept/searchDeptList',
+    method: 'get',
+    params: searchInfo
+  })
+}
+// 按部门分组人员树
+export function userSelectTree (deptId, expandLevel) {
+	if (deptId == null || deptId === '') {
+		deptId = '0'
+	}
+  if (expandLevel == null || expandLevel === '') {
+    expandLevel = '1'
+  }
+  return request({
+    url: '/system/dept/userSelectList/' + expandLevel + '/' + deptId,
+    method: 'get'
+  })
+}
+// 按部门树检索用户
+export function searchDeptUserList (searchInfo) {
+  return request({
+    url: '/system/dept/searchDeptUserList',
+    method: 'get',
+    params: searchInfo
+  })
+}
+
+// 查询部门详细
+export function getDeptInfoByIds (userIds) {
+  return request({
+    url: '/system/dept/getDeptInfoByIds',
+    method: 'post',
+    data: userIds
+  })
+}

+ 77 - 0
src/api/system/dict/data.js

@@ -0,0 +1,77 @@
+import request from '@/utils/request'
+
+// 查询字典数据列表
+export function listData (query) {
+  return request({
+    url: '/system/dict/data/page',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询字典数据详细
+export function getData (dictCode) {
+  return request({
+    url: '/system/dict/data/' + dictCode,
+    method: 'get'
+  })
+}
+
+// 根据字典类型查询字典数据信息
+export function getDicts (dictType) {
+  return request({
+    url: '/system/dict/data/type/' + dictType,
+    method: 'get'
+  })
+}
+
+// 根据字典类型查询字典数据信息
+export function getAllDicts (dictType) {
+  return request({
+    url: '/system/dict/data/all/type/' + dictType,
+    method: 'get'
+  })
+}
+
+// 新增字典数据
+export function saveData (data) {
+  return request({
+    url: '/system/dict/data',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除字典数据
+export function delData (dictCode) {
+  return request({
+    url: '/system/dict/data/' + dictCode,
+    method: 'delete'
+  })
+}
+
+// 导出字典数据
+export function exportData (query) {
+  return request({
+    url: '/system/dict/data/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询字典类型列表
+export function checkDictDataValueUnique (data) {
+  return request({
+    url: 'system/dict/data/checkDictDataValueUnique',
+    method: 'get',
+    params: data
+  })
+}
+
+// 查询最大排序
+export function findMaxSort (dictType) {
+  return request({
+    url: '/system/dict/data/findMaxSort/' + dictType,
+    method: 'get'
+  })
+}

+ 69 - 0
src/api/system/dict/type.js

@@ -0,0 +1,69 @@
+import request from '@/utils/request'
+
+// 查询字典类型列表
+export function listType (query) {
+  return request({
+    url: '/system/dict/type/page',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询字典类型详细
+export function getType (dictId) {
+  return request({
+    url: '/system/dict/type/' + dictId,
+    method: 'get'
+  })
+}
+
+// 新增字典类型
+export function saveType (data) {
+  return request({
+    url: '/system/dict/type',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除字典类型
+export function delType (dictId) {
+  return request({
+    url: '/system/dict/type/' + dictId,
+    method: 'delete'
+  })
+}
+
+// 清理参数缓存
+export function clearCache () {
+  return request({
+    url: '/system/dict/type/clearCache',
+    method: 'delete'
+  })
+}
+
+// 导出字典类型
+export function exportType (query) {
+  return request({
+    url: '/system/dict/type/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 获取字典选择框列表
+export function optionselect () {
+  return request({
+    url: '/system/dict/type/optionselect',
+    method: 'get'
+  })
+}
+
+// 查询字典类型列表
+export function checkDictTypeUnique (data) {
+  return request({
+    url: 'system/dict/type/checkDictTypeUnique',
+    method: 'get',
+    params: data
+  })
+}

+ 112 - 0
src/api/system/menu.js

@@ -0,0 +1,112 @@
+import request from '@/utils/request'
+
+// 查询菜单列表
+export function listMenu (query, menuId, expandLevel) {
+  if (menuId == null || menuId === '') {
+    menuId = '0'
+  }
+  if (expandLevel == null || expandLevel === '') {
+    expandLevel = '2'
+  }
+  return request({
+    url: '/system/menu/list/' + expandLevel + '/' + menuId,
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询菜单详细
+export function getMenu (menuId) {
+  return request({
+    url: '/system/menu/' + menuId,
+    method: 'get'
+  })
+}
+
+// 查询菜单下拉树结构
+export function treeselect (menuId, expandLevel) {
+  if (menuId == null || menuId === '') {
+    menuId = '0'
+  }
+  if (expandLevel == null || expandLevel === '') {
+    expandLevel = '2'
+  }
+  return request({
+    url: '/system/menu/treeselect/' + expandLevel + '/' + menuId,
+    method: 'get'
+  })
+}
+
+// 查询菜单下拉树结构
+export function menuTreeExcludeButton (menuId, expandLevel) {
+  if (menuId == null || menuId === '') {
+    menuId = '0'
+  }
+  if (expandLevel == null || expandLevel === '') {
+    expandLevel = '2'
+  }
+  return request({
+    url: '/system/menu/menuTreeExcludeButton/' + expandLevel + '/' + menuId,
+    method: 'get'
+  })
+}
+
+// 根据角色ID查询菜单下拉树结构
+export function roleMenuTreeselect (roleId) {
+  return request({
+    url: '/system/menu/roleMenuTreeselect/' + roleId,
+    method: 'get'
+  })
+}
+
+// 新增菜单
+export function saveMenu (data) {
+  return request({
+    url: '/system/menu',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除菜单
+export function delMenu (menuId) {
+  return request({
+    url: '/system/menu/' + menuId,
+    method: 'delete'
+  })
+}
+
+// 菜单树检索
+export function searchMenuList (searchInfo) {
+  return request({
+    url: '/system/menu/searchMenuList',
+    method: 'get',
+    params: searchInfo
+  })
+}
+
+// 菜单名称唯一校验
+export function checkMenuNameUnique (data) {
+  return request({
+    url: 'system/menu/checkMenuNameUnique',
+    method: 'get',
+    params: data
+  })
+}
+
+// 路由地址唯一校验
+export function checkMenuCodeUnique (data) {
+  return request({
+    url: 'system/menu/checkMenuCodeUnique',
+    method: 'get',
+    params: data
+  })
+}
+
+// 查询菜单同层最大排序
+export function findMaxSort (parentId) {
+  return request({
+    url: '/system/menu/findMaxSort/' + parentId,
+    method: 'get'
+  })
+}

+ 57 - 0
src/api/system/notice.js

@@ -0,0 +1,57 @@
+import request from '@/utils/request'
+
+// 查询公告列表
+export function listNotice (query) {
+  return request({
+    url: '/system/notice/page',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询公告详细
+export function getNotice (noticeId) {
+  return request({
+    url: '/system/notice/' + noticeId,
+    method: 'get'
+  })
+}
+
+// 新增公告
+export function saveNotice (data) {
+  return request({
+    url: '/system/notice',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除公告
+export function delNotice (noticeId) {
+  return request({
+    url: '/system/notice/' + noticeId,
+    method: 'delete'
+  })
+}
+// 查看页面查询公告详细
+export function getNoticeView (noticeId) {
+  return request({
+    url: '/system/notice/getNoticeView/' + noticeId,
+    method: 'get'
+  })
+}
+// 查询个人公告阅读列表
+export function listNoticeByUser (query) {
+  return request({
+    url: '/system/notice/listNoticeByUser/page',
+    method: 'get',
+    params: query
+  })
+}
+// 新增公告
+export function updateNoticeToRead (noticeIds) {
+  return request({
+    url: '/system/notice/updateNoticeToRead/' + noticeIds,
+    method: 'put'
+  })
+}

+ 53 - 0
src/api/system/optimizationSuggestionRule.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询优化建议规则设置列表
+export function listOptimizationSuggestionRule (query) {
+  return request({
+    url: '/system/optimizationSuggestionRule/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询优化建议规则设置详细
+export function getOptimizationSuggestionRule () {
+  return request({
+    url: '/system/optimizationSuggestionRule',
+    method: 'get'
+  })
+}
+
+// 新增优化建议规则设置
+export function addOptimizationSuggestionRule (data) {
+  return request({
+    url: '/system/optimizationSuggestionRule',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改优化建议规则设置
+export function updateOptimizationSuggestionRule (data) {
+  return request({
+    url: '/system/optimizationSuggestionRule',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除优化建议规则设置
+export function delOptimizationSuggestionRule (id) {
+  return request({
+    url: '/system/optimizationSuggestionRule/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出优化建议规则设置
+export function exportOptimizationSuggestionRule (query) {
+  return request({
+    url: '/system/optimizationSuggestionRule/export',
+    method: 'get',
+    params: query
+  })
+}

+ 70 - 0
src/api/system/post.js

@@ -0,0 +1,70 @@
+import request from '@/utils/request'
+
+// 查询岗位列表
+export function listPost (query) {
+  return request({
+    url: '/system/post/page',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询岗位详细
+export function getPost (id) {
+  return request({
+    url: '/system/post/' + id,
+    method: 'get'
+  })
+}
+
+// 新增岗位
+export function savePost (data) {
+  return request({
+    url: '/system/post',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除岗位
+export function delPost (id) {
+  return request({
+    url: '/system/post/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出岗位
+export function exportPost (query) {
+  return request({
+    url: '/system/post/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 岗位编码唯一校验
+export function checkPostCodeUnique (data) {
+  return request({
+    url: 'system/post/checkPostCodeUnique',
+    method: 'get',
+    params: data
+  })
+}
+
+// 岗位名称唯一校验
+export function checkPostNameUnique (data) {
+  return request({
+    url: 'system/post/checkPostNameUnique',
+    method: 'get',
+    params: data
+  })
+}
+
+// 查询岗位最大排序
+export function findMaxSort () {
+  return request({
+    url: '/system/post/findMaxSort',
+    method: 'get'
+  })
+}

+ 61 - 0
src/api/system/riskGoodsNameKeySuggest.js

@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 查询优化建议信息列表
+export function listRiskGoodsNameKeySuggest (query) {
+  return request({
+    url: '/system/riskGoodsNameKeySuggest/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询优化建议信息详细
+export function getRiskGoodsNameKeySuggest (id) {
+  return request({
+    url: '/system/riskGoodsNameKeySuggest/' + id,
+    method: 'get'
+  })
+}
+
+// 新增优化建议信息
+export function addRiskGoodsNameKeySuggest (data) {
+  return request({
+    url: '/system/riskGoodsNameKeySuggest',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改优化建议信息
+export function updateRiskGoodsNameKeySuggest (data) {
+  return request({
+    url: '/system/riskGoodsNameKeySuggest',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除优化建议信息
+export function delRiskGoodsNameKeySuggest (id) {
+  return request({
+    url: '/system/riskGoodsNameKeySuggest/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出优化建议信息
+export function exportRiskGoodsNameKeySuggest (query) {
+  return request({
+    url: '/system/riskGoodsNameKeySuggest/export',
+    method: 'get',
+    params: query
+  })
+}
+
+export function apply (data) {
+  return request({
+    url: '/system/riskGoodsNameKeySuggest/apply',
+    method: 'post',
+    data
+  })
+}

+ 124 - 0
src/api/system/role.js

@@ -0,0 +1,124 @@
+import request from '@/utils/request'
+
+// 查询角色列表
+export function listRole (query) {
+  return request({
+    url: '/system/role/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询角色详细
+export function getRole (roleId) {
+  return request({
+    url: '/system/role/' + roleId,
+    method: 'get'
+  })
+}
+
+// 新增角色
+export function addRole (data) {
+  return request({
+    url: '/system/role',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改角色
+export function updateRole (data) {
+  return request({
+    url: '/system/role',
+    method: 'put',
+    data: data
+  })
+}
+
+// 角色数据权限
+export function dataScope (data) {
+  return request({
+    url: '/system/role/dataScope',
+    method: 'put',
+    data: data
+  })
+}
+
+// 角色状态修改
+export function changeRoleStatus (id, status) {
+  const data = {
+    id,
+    status
+  }
+  return request({
+    url: '/system/role/changeStatus',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除角色
+export function delRole (roleId) {
+  return request({
+    url: '/system/role/' + roleId,
+    method: 'delete'
+  })
+}
+
+// 导出角色
+export function exportRole (query) {
+  return request({
+    url: '/system/role/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 校验角色名称唯一性
+export function checkRoleNameUnique (data) {
+  return request({
+    url: '/system/role/checkRoleNameUnique',
+    method: 'get',
+    params: data
+  })
+}
+
+// 校验角色名称唯一性
+export function checkRoleKeyUnique (data) {
+  return request({
+    url: '/system/role/checkRoleKeyUnique',
+    method: 'get',
+    params: data
+  })
+}
+
+// 查询最大排序
+export function findMaxSort () {
+  return request({
+    url: '/system/role/findMaxSort',
+    method: 'get'
+  })
+}
+// 新增角色
+export function batchSaveRole (data) {
+  return request({
+    url: '/system/role/batchSave',
+    method: 'post',
+    data: data
+  })
+}
+// 删除角色
+export function delRoleUser (roleId, userIds) {
+  return request({
+    url: '/system/role/deleteRoleUser/' + roleId + '/' + userIds,
+    method: 'delete'
+  })
+}
+// 给小页授权
+export function saveRolePortlet (data) {
+  return request({
+    url: '/system/role/saveRolePortlet',
+    method: 'post',
+    data: data
+  })
+}

+ 53 - 0
src/api/system/runLog.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询运单接收日志列表
+export function listRunLog (query) {
+  return request({
+    url: '/system/runLog/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询运单接收日志详细
+export function getRunLog (id) {
+  return request({
+    url: '/system/runLog/' + id,
+    method: 'get'
+  })
+}
+
+// 新增运单接收日志
+export function addRunLog (data) {
+  return request({
+    url: '/system/runLog',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改运单接收日志
+export function updateRunLog (data) {
+  return request({
+    url: '/system/runLog',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除运单接收日志
+export function delRunLog (id) {
+  return request({
+    url: '/system/runLog/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出运单接收日志
+export function exportRunLog (query) {
+  return request({
+    url: '/system/runLog/export',
+    method: 'get',
+    params: query
+  })
+}

+ 61 - 0
src/api/system/specialCode.js

@@ -0,0 +1,61 @@
+import request from '@/utils/request'
+
+// 查询特货代码列表
+export function listSpecialCode (query) {
+  return request({
+    url: '/system/specialCode/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询特货代码列表
+export function listAll () {
+  return request({
+    url: '/system/specialCode/all',
+    method: 'get'
+  })
+}
+
+// 查询特货代码详细
+export function getSpecialCode (id) {
+  return request({
+    url: '/system/specialCode/' + id,
+    method: 'get'
+  })
+}
+
+// 新增特货代码
+export function addSpecialCode (data) {
+  return request({
+    url: '/system/specialCode',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改特货代码
+export function updateSpecialCode (data) {
+  return request({
+    url: '/system/specialCode',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除特货代码
+export function delSpecialCode (id) {
+  return request({
+    url: '/system/specialCode/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出特货代码
+export function exportSpecialCode (query) {
+  return request({
+    url: '/system/specialCode/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/syncEmergencyFlight.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询重点航班信息列表
+export function listSyncEmergencyFlight (query) {
+  return request({
+    url: '/system/syncEmergencyFlight/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询重点航班信息详细
+export function getSyncEmergencyFlight (id) {
+  return request({
+    url: '/system/syncEmergencyFlight/' + id,
+    method: 'get'
+  })
+}
+
+// 新增重点航班信息
+export function addSyncEmergencyFlight (data) {
+  return request({
+    url: '/system/syncEmergencyFlight',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改重点航班信息
+export function updateSyncEmergencyFlight (data) {
+  return request({
+    url: '/system/syncEmergencyFlight',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除重点航班信息
+export function delSyncEmergencyFlight (id) {
+  return request({
+    url: '/system/syncEmergencyFlight/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出重点航班信息
+export function exportSyncEmergencyFlight (query) {
+  return request({
+    url: '/system/syncEmergencyFlight/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/sysNoticeUserRead.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询通知公告用户阅读列表
+export function listSysNoticeUserRead (query) {
+  return request({
+    url: '/system/sysNoticeUserRead/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询通知公告用户阅读详细
+export function getSysNoticeUserRead (id) {
+  return request({
+    url: '/system/sysNoticeUserRead/' + id,
+    method: 'get'
+  })
+}
+
+// 新增通知公告用户阅读
+export function addSysNoticeUserRead (data) {
+  return request({
+    url: '/system/sysNoticeUserRead',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改通知公告用户阅读
+export function updateSysNoticeUserRead (data) {
+  return request({
+    url: '/system/sysNoticeUserRead',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除通知公告用户阅读
+export function delSysNoticeUserRead (id) {
+  return request({
+    url: '/system/sysNoticeUserRead/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出通知公告用户阅读
+export function exportSysNoticeUserRead (query) {
+  return request({
+    url: '/system/sysNoticeUserRead/export',
+    method: 'get',
+    params: query
+  })
+}

+ 93 - 0
src/api/system/sysPortalConfig.js

@@ -0,0 +1,93 @@
+import request from '@/utils/request'
+
+// 查询多栏目门户配置列表
+export function listSysPortalConfig (query) {
+  return request({
+    url: '/system/sysPortalConfig/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询多栏目门户配置详细
+export function getSysPortalConfig (id) {
+  return request({
+    url: '/system/sysPortalConfig/' + id,
+    method: 'get'
+  })
+}
+
+// 新增多栏目门户配置
+export function addSysPortalConfig (data) {
+  return request({
+    url: '/system/sysPortalConfig',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改多栏目门户配置
+export function updateSysPortalConfig (data) {
+  return request({
+    url: '/system/sysPortalConfig',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除多栏目门户配置
+export function delSysPortalConfig (id) {
+  return request({
+    url: '/system/sysPortalConfig/' + id,
+    method: 'delete'
+  })
+}
+
+// 查询最大编号
+export function findMaxSort () {
+  return request({
+    url: '/system/sysPortalConfig/findMaxSort',
+    method: 'get'
+  })
+}
+// 校验小页编码是否存在
+export function checkCodeUnique (id, code) {
+  if (id === undefined) {
+    id = ''
+  }
+  return request({
+    url: '/system/sysPortalConfig/checkCodeUnique/' + code + '/' + id,
+    method: 'get'
+  })
+}
+
+// 导出多栏目门户配置
+export function exportSysPortalConfig (query) {
+  return request({
+    url: '/system/sysPortalConfig/export',
+    method: 'get',
+    params: query
+  })
+}
+// 查询多栏目门户配置详细
+export function getConfigAndPortalList (id) {
+  return request({
+    url: '/system/sysPortalConfig/getConfigAndPortalList/' + id,
+    method: 'get'
+  })
+}
+// 修改多栏目门户配置
+export function updateDefaultPortalConfig (data) {
+  return request({
+    url: '/system/sysPortalConfig/updateDefaultPortalConfig',
+    method: 'put',
+    data: data
+  })
+}
+// 查询模板列表
+export function getPortalTemplateList () {
+  return request({
+    url: '/system/sysPortalConfig/getPortalTemplateList',
+    method: 'get'
+  })
+}

+ 79 - 0
src/api/system/sysPortlet.js

@@ -0,0 +1,79 @@
+import request from '@/utils/request'
+
+// 查询工作台小页管理列表
+export function listSysPortlet (query) {
+  return request({
+    url: '/system/sysPortlet/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询工作台小页管理详细
+export function getSysPortlet (id) {
+  return request({
+    url: '/system/sysPortlet/' + id,
+    method: 'get'
+  })
+}
+
+// 新增工作台小页管理
+export function addSysPortlet (data) {
+  return request({
+    url: '/system/sysPortlet',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改工作台小页管理
+export function updateSysPortlet (data) {
+  return request({
+    url: '/system/sysPortlet',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除工作台小页管理
+export function delSysPortlet (id) {
+  return request({
+    url: '/system/sysPortlet/' + id,
+    method: 'delete'
+  })
+}
+
+// 查询最大编号
+export function findMaxSort () {
+  return request({
+    url: '/system/sysPortlet/findMaxSort',
+    method: 'get'
+  })
+}
+// 校验小页编码是否存在
+export function checkCodeUnique (id, code) {
+  if (id === undefined) {
+    id = ''
+  }
+  return request({
+    url: '/system/sysPortlet/checkCodeUnique/' + code + '/' + id,
+    method: 'get'
+  })
+}
+
+// 导出工作台小页管理
+export function exportSysPortlet (query) {
+  return request({
+    url: '/system/sysPortlet/export',
+    method: 'get',
+    params: query
+  })
+}
+// 查询工作台小页管理列表
+export function listSysPortletByRoleId (query) {
+  return request({
+    url: '/system/sysPortlet/getSysPortletByRoleId',
+    method: 'get',
+    params: query
+  })
+}

+ 27 - 0
src/api/system/sysTableConfig.js

@@ -0,0 +1,27 @@
+import request from '@/utils/request'
+
+// 查询个性化配置详细
+export function getSysTableConfig (tableKey) {
+  return request({
+    url: '/system/sysTableConfig/getInfoByTableKey/' + tableKey,
+    method: 'get'
+  })
+}
+
+// 新增个性化配置
+export function addSysTableConfig (data) {
+  return request({
+    url: '/system/sysTableConfig',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改个性化配置
+export function updateSysTableConfig (data) {
+  return request({
+    url: '/system/sysTableConfig',
+    method: 'put',
+    data: data
+  })
+}

+ 60 - 0
src/api/system/sysThemeConfig.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询用户主题信息记录列表
+export function listSysThemeConfig (query) {
+  return request({
+    url: '/sysThemeConfig/sysThemeConfig/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询用户主题信息记录详细
+export function getSysThemeConfig (id) {
+  return request({
+    url: '/sysThemeConfig/sysThemeConfig/' + id,
+    method: 'get'
+  })
+}
+
+// 新增用户主题信息记录
+export function addSysThemeConfig (data) {
+  return request({
+    url: '/sysThemeConfig/sysThemeConfig',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改用户主题信息记录
+export function updateSysThemeConfig (data) {
+  return request({
+    url: '/sysThemeConfig/sysThemeConfig',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除用户主题信息记录
+export function delSysThemeConfig (id) {
+  return request({
+    url: '/sysThemeConfig/sysThemeConfig/' + id,
+    method: 'delete'
+  })
+}
+
+// 查询最大编号
+export function findMaxSort () {
+  return request({
+    url: '/sysThemeConfig/sysThemeConfig/findMaxSort',
+    method: 'get'
+  })
+}
+// 导出用户主题信息记录
+export function exportSysThemeConfig (query) {
+  return request({
+    url: '/sysThemeConfig/sysThemeConfig/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/tCasebaseAwb.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询运单安检基础信息列表
+export function listTCasebaseAwb (query) {
+  return request({
+    url: '/system/tCasebaseAwb/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询运单安检基础信息详细
+export function getTCasebaseAwb (id) {
+  return request({
+    url: '/system/tCasebaseAwb/' + id,
+    method: 'get'
+  })
+}
+
+// 新增运单安检基础信息
+export function addTCasebaseAwb (data) {
+  return request({
+    url: '/system/tCasebaseAwb',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改运单安检基础信息
+export function updateTCasebaseAwb (data) {
+  return request({
+    url: '/system/tCasebaseAwb',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除运单安检基础信息
+export function delTCasebaseAwb (id) {
+  return request({
+    url: '/system/tCasebaseAwb/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出运单安检基础信息
+export function exportTCasebaseAwb (query) {
+  return request({
+    url: '/system/tCasebaseAwb/export',
+    method: 'get',
+    params: query
+  })
+}

+ 17 - 0
src/api/system/upload.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+// 上传附件
+export function baseUpload (data) {
+  return request({
+    url: '/common/attach/baseupload/v1',
+    method: 'post',
+    data: data
+  })
+}
+// 仅上传附件到磁盘不保存数据库
+export function uploadDisk (data) {
+  return request({
+    url: '/common/attach/uploadDisk/v1',
+    method: 'post',
+    data: data
+  })
+}

+ 174 - 0
src/api/system/user.js

@@ -0,0 +1,174 @@
+import request from '@/utils/request'
+import { praseStrEmpty } from '@/utils/aidex'
+
+// 查询用户列表
+export function listUser (query) {
+  return request({
+    url: '/system/user/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询用户详细
+export function getUser (userId) {
+  return request({
+    url: '/system/user/' + praseStrEmpty(userId),
+    method: 'get'
+  })
+}
+
+// 新增用户
+export function addUser (data) {
+  return request({
+    url: '/system/user',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改用户
+export function updateUser (data) {
+  return request({
+    url: '/system/user',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除用户
+export function delUser (userId) {
+  return request({
+    url: '/system/user/' + userId,
+    method: 'delete'
+  })
+}
+
+// 导出用户
+export function exportUser (query) {
+  return request({
+    url: '/system/user/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 用户密码重置
+export function resetUserPwd (id, password) {
+  const data = {
+    id,
+    password
+  }
+  return request({
+    url: '/system/user/resetPwd',
+    method: 'put',
+    data: data
+  })
+}
+
+// 用户状态修改
+export function changeUserStatus (id, status) {
+  const data = {
+    id,
+    status
+  }
+  return request({
+    url: '/system/user/changeStatus',
+    method: 'put',
+    data: data
+  })
+}
+
+// 查询用户个人信息
+export function getUserProfile () {
+  return request({
+    url: '/system/user/profile',
+    method: 'get'
+  })
+}
+
+// 修改用户个人信息
+export function updateUserProfile (data) {
+  return request({
+    url: '/system/user/profile',
+    method: 'put',
+    data: data
+  })
+}
+
+// 用户密码重置
+export function updateUserPwd (oldPassword, newPassword) {
+  const data = {
+    oldPassword,
+    newPassword
+  }
+  return request({
+    url: '/system/user/profile/updatePwd',
+    method: 'put',
+    params: data
+  })
+}
+
+// 用户头像上传
+export function uploadAvatar (data) {
+  return request({
+    url: '/system/user/profile/avatar',
+    method: 'post',
+    data: data
+  })
+}
+
+// 下载用户导入模板
+export function importTemplate () {
+  return request({
+    url: '/system/user/importTemplate',
+    method: 'get'
+  })
+}
+
+// 校验用户名称唯一性
+export function checkUserNameUnique (data) {
+  return request({
+    url: '/system/user/checkUserNameUnique',
+    method: 'get',
+    params: data
+  })
+}
+export function checkEmailUnique (data) {
+  return request({
+    url: '/system/user/checkEmailUnique',
+    method: 'get',
+    params: data
+  })
+}
+export function checkPhoneUnique (data) {
+  return request({
+    url: '/system/user/checkPhoneUnique',
+    method: 'get',
+    params: data
+  })
+}
+// 查询用户详细
+export function getUserInfoByIds (userIds) {
+  return request({
+    url: '/system/user/getUserInfoByIds',
+    method: 'post',
+    data: userIds
+  })
+}
+// 查询角色下用户列表
+export function getRoleUserList (query) {
+  return request({
+    url: '/system/user/roleUserList',
+    method: 'get',
+    params: query
+  })
+}
+// 插入角色用户
+export function saveRoleUser (data) {
+  return request({
+    url: '/system/user/addRoleUser',
+    method: 'post',
+    data: data
+  })
+}

+ 53 - 0
src/api/system/vCsisBusinessAsd.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询申报数据列表
+export function listVCsisBusinessAsd (query) {
+  return request({
+    url: '/system/vCsisBusinessAsd/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询申报数据详细
+export function getVCsisBusinessAsd (id) {
+  return request({
+    url: '/system/vCsisBusinessAsd/' + id,
+    method: 'get'
+  })
+}
+
+// 新增申报数据
+export function addVCsisBusinessAsd (data) {
+  return request({
+    url: '/system/vCsisBusinessAsd',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改申报数据
+export function updateVCsisBusinessAsd (data) {
+  return request({
+    url: '/system/vCsisBusinessAsd',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除申报数据
+export function delVCsisBusinessAsd (id) {
+  return request({
+    url: '/system/vCsisBusinessAsd/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出申报数据
+export function exportVCsisBusinessAsd (query) {
+  return request({
+    url: '/system/vCsisBusinessAsd/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/vCsisBusinessRecord.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询国内过检数据列表
+export function listVCsisBusinessRecord (query) {
+  return request({
+    url: '/system/vCsisBusinessRecord/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询国内过检数据详细
+export function getVCsisBusinessRecord (id) {
+  return request({
+    url: '/system/vCsisBusinessRecord/' + id,
+    method: 'get'
+  })
+}
+
+// 新增国内过检数据
+export function addVCsisBusinessRecord (data) {
+  return request({
+    url: '/system/vCsisBusinessRecord',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改国内过检数据
+export function updateVCsisBusinessRecord (data) {
+  return request({
+    url: '/system/vCsisBusinessRecord',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除国内过检数据
+export function delVCsisBusinessRecord (id) {
+  return request({
+    url: '/system/vCsisBusinessRecord/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出国内过检数据
+export function exportVCsisBusinessRecord (query) {
+  return request({
+    url: '/system/vCsisBusinessRecord/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/vCsisBusinessRelease.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询国内放行数据列表
+export function listVCsisBusinessRelease (query) {
+  return request({
+    url: '/system/vCsisBusinessRelease/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询国内放行数据详细
+export function getVCsisBusinessRelease (id) {
+  return request({
+    url: '/system/vCsisBusinessRelease/' + id,
+    method: 'get'
+  })
+}
+
+// 新增国内放行数据
+export function addVCsisBusinessRelease (data) {
+  return request({
+    url: '/system/vCsisBusinessRelease',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改国内放行数据
+export function updateVCsisBusinessRelease (data) {
+  return request({
+    url: '/system/vCsisBusinessRelease',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除国内放行数据
+export function delVCsisBusinessRelease (id) {
+  return request({
+    url: '/system/vCsisBusinessRelease/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出国内放行数据
+export function exportVCsisBusinessRelease (query) {
+  return request({
+    url: '/system/vCsisBusinessRelease/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/vInternationalAsd.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询国际申报数据列表
+export function listVInternationalAsd (query) {
+  return request({
+    url: '/system/vInternationalAsd/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询国际申报数据详细
+export function getVInternationalAsd (id) {
+  return request({
+    url: '/system/vInternationalAsd/' + id,
+    method: 'get'
+  })
+}
+
+// 新增国际申报数据
+export function addVInternationalAsd (data) {
+  return request({
+    url: '/system/vInternationalAsd',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改国际申报数据
+export function updateVInternationalAsd (data) {
+  return request({
+    url: '/system/vInternationalAsd',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除国际申报数据
+export function delVInternationalAsd (id) {
+  return request({
+    url: '/system/vInternationalAsd/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出国际申报数据
+export function exportVInternationalAsd (query) {
+  return request({
+    url: '/system/vInternationalAsd/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/vInternationalRecord.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询国际过检数据列表
+export function listVInternationalRecord (query) {
+  return request({
+    url: '/system/vInternationalRecord/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询国际过检数据详细
+export function getVInternationalRecord (id) {
+  return request({
+    url: '/system/vInternationalRecord/' + id,
+    method: 'get'
+  })
+}
+
+// 新增国际过检数据
+export function addVInternationalRecord (data) {
+  return request({
+    url: '/system/vInternationalRecord',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改国际过检数据
+export function updateVInternationalRecord (data) {
+  return request({
+    url: '/system/vInternationalRecord',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除国际过检数据
+export function delVInternationalRecord (id) {
+  return request({
+    url: '/system/vInternationalRecord/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出国际过检数据
+export function exportVInternationalRecord (query) {
+  return request({
+    url: '/system/vInternationalRecord/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/vInternationalRelease.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询国际放行数据列表
+export function listVInternationalRelease (query) {
+  return request({
+    url: '/system/vInternationalRelease/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询国际放行数据详细
+export function getVInternationalRelease (id) {
+  return request({
+    url: '/system/vInternationalRelease/' + id,
+    method: 'get'
+  })
+}
+
+// 新增国际放行数据
+export function addVInternationalRelease (data) {
+  return request({
+    url: '/system/vInternationalRelease',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改国际放行数据
+export function updateVInternationalRelease (data) {
+  return request({
+    url: '/system/vInternationalRelease',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除国际放行数据
+export function delVInternationalRelease (id) {
+  return request({
+    url: '/system/vInternationalRelease/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出国际放行数据
+export function exportVInternationalRelease (query) {
+  return request({
+    url: '/system/vInternationalRelease/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/vInternationalUnpacking.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询国际开箱数据列表
+export function listVInternationalUnpacking (query) {
+  return request({
+    url: '/system/vInternationalUnpacking/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询国际开箱数据详细
+export function getVInternationalUnpacking (id) {
+  return request({
+    url: '/system/vInternationalUnpacking/' + id,
+    method: 'get'
+  })
+}
+
+// 新增国际开箱数据
+export function addVInternationalUnpacking (data) {
+  return request({
+    url: '/system/vInternationalUnpacking',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改国际开箱数据
+export function updateVInternationalUnpacking (data) {
+  return request({
+    url: '/system/vInternationalUnpacking',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除国际开箱数据
+export function delVInternationalUnpacking (id) {
+  return request({
+    url: '/system/vInternationalUnpacking/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出国际开箱数据
+export function exportVInternationalUnpacking (query) {
+  return request({
+    url: '/system/vInternationalUnpacking/export',
+    method: 'get',
+    params: query
+  })
+}

+ 53 - 0
src/api/system/waybill.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询运单管理列表
+export function listWaybill (query) {
+  return request({
+    url: '/system/waybill/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询运单管理详细
+export function getWaybill (id) {
+  return request({
+    url: '/system/waybill/' + id,
+    method: 'get'
+  })
+}
+
+// 新增运单管理
+export function addWaybill (data) {
+  return request({
+    url: '/system/waybill',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改运单管理
+export function updateWaybill (data) {
+  return request({
+    url: '/system/waybill',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除运单管理
+export function delWaybill (id) {
+  return request({
+    url: '/system/waybill/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出运单管理
+export function exportWaybill (query) {
+  return request({
+    url: '/system/waybill/export',
+    method: 'get',
+    params: query
+  })
+}

+ 101 - 0
src/api/tool/gen.js

@@ -0,0 +1,101 @@
+import request from '@/utils/request'
+
+// 查询生成表数据
+export function listTable (query) {
+  return request({
+    url: '/tool/gen/list',
+    method: 'get',
+    params: query
+  })
+}
+// 查询db数据库列表
+export function listDbTable (query) {
+  return request({
+    url: '/tool/gen/db/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询表详细信息
+export function getGenTable (tableId) {
+  return request({
+    url: '/tool/gen/' + tableId,
+    method: 'get'
+  })
+}
+
+// 修改代码生成信息并同步生成代码
+export function updateGenTableGenCode (data) {
+  return request({
+    url: '/tool/gen/genCode',
+    method: 'put',
+    data: data
+  })
+}
+
+// 修改代码生成信息
+export function updateGenTableNoValidated (data) {
+  return request({
+    url: '/tool/gen/editNoValidated',
+    method: 'post',
+    data: data
+  })
+}
+// 修改代码生成信息
+export function updateGenTable (data) {
+  return request({
+    url: '/tool/gen',
+    method: 'put',
+    data: data
+  })
+}
+
+// 导入表
+export function importTable (data) {
+  return request({
+    url: '/tool/gen/importTable',
+    method: 'post',
+    params: data
+  })
+}
+
+// 预览生成代码
+export function previewTable (tableId) {
+  return request({
+    url: '/tool/gen/preview/' + tableId,
+    method: 'get'
+  })
+}
+
+// 删除表数据
+export function delTable (tableId) {
+  return request({
+    url: '/tool/gen/' + tableId,
+    method: 'delete'
+  })
+}
+
+// 生成代码(自定义路径)
+export function genCode (tableName) {
+  return request({
+    url: '/tool/gen/genCode/' + tableName,
+    method: 'get'
+  })
+}
+
+// 同步数据库
+export function synchDb (tableName) {
+  return request({
+    url: '/tool/gen/synchDb/' + tableName,
+    method: 'get'
+  })
+}
+
+// 生成菜单
+export function addMenu (tableName) {
+  return request({
+    url: '/tool/gen/addMenu/' + tableName,
+    method: 'get'
+  })
+}

+ 98 - 0
src/api/tool/genConfigTemplate.js

@@ -0,0 +1,98 @@
+import request from '@/utils/request'
+
+// 查询模板配置列表
+export function listTemplate (query) {
+  return request({
+    url: '/system/template/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询模板配置详细
+export function getTemplate (id) {
+  return request({
+    url: '/system/template/' + id,
+    method: 'get'
+  })
+}
+
+// 新增模板配置
+export function addTemplate (data) {
+  return request({
+    url: '/system/template',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改模板配置
+export function updateTemplate (data) {
+  return request({
+    url: '/system/template',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除模板配置
+export function delTemplate (id) {
+  return request({
+    url: '/system/template/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出模板配置
+export function exportTemplate (query) {
+  return request({
+    url: '/system/template/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 状态修改
+export function changeStatus (id, status) {
+  const data = {
+    id,
+    status
+  }
+  return request({
+    url: '/system/template/changeStatus',
+    method: 'put',
+    data: data
+  })
+}
+
+// 状态修改
+export function changeTemplateDefault (id, templateDefault) {
+  const data = {
+    id,
+    templateDefault
+  }
+  return request({
+    url: '/system/template/changeTemplateDefault',
+    method: 'put',
+    data: data
+  })
+}
+
+// 查询最大编号
+export function findMaxSort () {
+  return request({
+    url: '/system/template/findMaxSort',
+    method: 'get'
+  })
+}
+
+// 校验模板名称是否存在
+export function checkTemplateUnique (id, templateName) {
+  if (id === undefined) {
+    id = ''
+  }
+  return request({
+    url: '/system/template/checkTemplateNameUnique/' + templateName + '/' + id,
+    method: 'get'
+  })
+}

+ 69 - 0
src/assets/background.svg

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="1361px" height="609px" viewBox="0 0 1361 609" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
+    <title>Group 21</title>
+    <desc>Created with Sketch.</desc>
+    <defs></defs>
+    <g id="Ant-Design-Pro-3.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="账户密码登录-校验" transform="translate(-79.000000, -82.000000)">
+            <g id="Group-21" transform="translate(77.000000, 73.000000)">
+                <g id="Group-18" opacity="0.8" transform="translate(74.901416, 569.699158) rotate(-7.000000) translate(-74.901416, -569.699158) translate(4.901416, 525.199158)">
+                    <ellipse id="Oval-11" fill="#CFDAE6" opacity="0.25" cx="63.5748792" cy="32.468367" rx="21.7830479" ry="21.766008"></ellipse>
+                    <ellipse id="Oval-3" fill="#CFDAE6" opacity="0.599999964" cx="5.98746479" cy="13.8668601" rx="5.2173913" ry="5.21330997"></ellipse>
+                    <path d="M38.1354514,88.3520215 C43.8984227,88.3520215 48.570234,83.6838647 48.570234,77.9254015 C48.570234,72.1669383 43.8984227,67.4987816 38.1354514,67.4987816 C32.3724801,67.4987816 27.7006688,72.1669383 27.7006688,77.9254015 C27.7006688,83.6838647 32.3724801,88.3520215 38.1354514,88.3520215 Z" id="Oval-3-Copy" fill="#CFDAE6" opacity="0.45"></path>
+                    <path d="M64.2775582,33.1704963 L119.185836,16.5654915" id="Path-12" stroke="#CFDAE6" stroke-width="1.73913043" stroke-linecap="round" stroke-linejoin="round"></path>
+                    <path d="M42.1431708,26.5002681 L7.71190162,14.5640702" id="Path-16" stroke="#E0B4B7" stroke-width="0.702678964" opacity="0.7" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.405357899873153,2.108036953469981"></path>
+                    <path d="M63.9262187,33.521561 L43.6721326,69.3250951" id="Path-15" stroke="#BACAD9" stroke-width="0.702678964" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.405357899873153,2.108036953469981"></path>
+                    <g id="Group-17" transform="translate(126.850922, 13.543654) rotate(30.000000) translate(-126.850922, -13.543654) translate(117.285705, 4.381889)" fill="#CFDAE6">
+                        <ellipse id="Oval-4" opacity="0.45" cx="9.13482653" cy="9.12768076" rx="9.13482653" ry="9.12768076"></ellipse>
+                        <path d="M18.2696531,18.2553615 C18.2696531,13.2142826 14.1798519,9.12768076 9.13482653,9.12768076 C4.08980114,9.12768076 0,13.2142826 0,18.2553615 L18.2696531,18.2553615 Z" id="Oval-4" transform="translate(9.134827, 13.691521) scale(-1, -1) translate(-9.134827, -13.691521) "></path>
+                    </g>
+                </g>
+                <g id="Group-14" transform="translate(216.294700, 123.725600) rotate(-5.000000) translate(-216.294700, -123.725600) translate(106.294700, 35.225600)">
+                    <ellipse id="Oval-2" fill="#CFDAE6" opacity="0.25" cx="29.1176471" cy="29.1402439" rx="29.1176471" ry="29.1402439"></ellipse>
+                    <ellipse id="Oval-2" fill="#CFDAE6" opacity="0.3" cx="29.1176471" cy="29.1402439" rx="21.5686275" ry="21.5853659"></ellipse>
+                    <ellipse id="Oval-2-Copy" stroke="#CFDAE6" opacity="0.4" cx="179.019608" cy="138.146341" rx="23.7254902" ry="23.7439024"></ellipse>
+                    <ellipse id="Oval-2" fill="#BACAD9" opacity="0.5" cx="29.1176471" cy="29.1402439" rx="10.7843137" ry="10.7926829"></ellipse>
+                    <path d="M29.1176471,39.9329268 L29.1176471,18.347561 C23.1616351,18.347561 18.3333333,23.1796097 18.3333333,29.1402439 C18.3333333,35.1008781 23.1616351,39.9329268 29.1176471,39.9329268 Z" id="Oval-2" fill="#BACAD9"></path>
+                    <g id="Group-9" opacity="0.45" transform="translate(172.000000, 131.000000)" fill="#E6A1A6">
+                        <ellipse id="Oval-2-Copy-2" cx="7.01960784" cy="7.14634146" rx="6.47058824" ry="6.47560976"></ellipse>
+                        <path d="M0.549019608,13.6219512 C4.12262681,13.6219512 7.01960784,10.722722 7.01960784,7.14634146 C7.01960784,3.56996095 4.12262681,0.670731707 0.549019608,0.670731707 L0.549019608,13.6219512 Z" id="Oval-2-Copy-2" transform="translate(3.784314, 7.146341) scale(-1, 1) translate(-3.784314, -7.146341) "></path>
+                    </g>
+                    <ellipse id="Oval-10" fill="#CFDAE6" cx="218.382353" cy="138.685976" rx="1.61764706" ry="1.61890244"></ellipse>
+                    <ellipse id="Oval-10-Copy-2" fill="#E0B4B7" opacity="0.35" cx="179.558824" cy="175.381098" rx="1.61764706" ry="1.61890244"></ellipse>
+                    <ellipse id="Oval-10-Copy" fill="#E0B4B7" opacity="0.35" cx="180.098039" cy="102.530488" rx="2.15686275" ry="2.15853659"></ellipse>
+                    <path d="M28.9985381,29.9671598 L171.151018,132.876024" id="Path-11" stroke="#CFDAE6" opacity="0.8"></path>
+                </g>
+                <g id="Group-10" opacity="0.799999952" transform="translate(1054.100635, 36.659317) rotate(-11.000000) translate(-1054.100635, -36.659317) translate(1026.600635, 4.659317)">
+                    <ellipse id="Oval-7" stroke="#CFDAE6" stroke-width="0.941176471" cx="43.8135593" cy="32" rx="11.1864407" ry="11.2941176"></ellipse>
+                    <g id="Group-12" transform="translate(34.596774, 23.111111)" fill="#BACAD9">
+                        <ellipse id="Oval-7" opacity="0.45" cx="9.18534718" cy="8.88888889" rx="8.47457627" ry="8.55614973"></ellipse>
+                        <path d="M9.18534718,17.4450386 C13.8657264,17.4450386 17.6599235,13.6143199 17.6599235,8.88888889 C17.6599235,4.16345787 13.8657264,0.332739156 9.18534718,0.332739156 L9.18534718,17.4450386 Z" id="Oval-7"></path>
+                    </g>
+                    <path d="M34.6597385,24.809694 L5.71666084,4.76878945" id="Path-2" stroke="#CFDAE6" stroke-width="0.941176471"></path>
+                    <ellipse id="Oval" stroke="#CFDAE6" stroke-width="0.941176471" cx="3.26271186" cy="3.29411765" rx="3.26271186" ry="3.29411765"></ellipse>
+                    <ellipse id="Oval-Copy" fill="#F7E1AD" cx="2.79661017" cy="61.1764706" rx="2.79661017" ry="2.82352941"></ellipse>
+                    <path d="M34.6312443,39.2922712 L5.06366663,59.785082" id="Path-10" stroke="#CFDAE6" stroke-width="0.941176471"></path>
+                </g>
+                <g id="Group-19" opacity="0.33" transform="translate(1282.537219, 446.502867) rotate(-10.000000) translate(-1282.537219, -446.502867) translate(1142.537219, 327.502867)">
+                    <g id="Group-17" transform="translate(141.333539, 104.502742) rotate(275.000000) translate(-141.333539, -104.502742) translate(129.333539, 92.502742)" fill="#BACAD9">
+                        <circle id="Oval-4" opacity="0.45" cx="11.6666667" cy="11.6666667" r="11.6666667"></circle>
+                        <path d="M23.3333333,23.3333333 C23.3333333,16.8900113 18.1099887,11.6666667 11.6666667,11.6666667 C5.22334459,11.6666667 0,16.8900113 0,23.3333333 L23.3333333,23.3333333 Z" id="Oval-4" transform="translate(11.666667, 17.500000) scale(-1, -1) translate(-11.666667, -17.500000) "></path>
+                    </g>
+                    <circle id="Oval-5-Copy-6" fill="#CFDAE6" cx="201.833333" cy="87.5" r="5.83333333"></circle>
+                    <path d="M143.5,88.8126685 L155.070501,17.6038544" id="Path-17" stroke="#BACAD9" stroke-width="1.16666667"></path>
+                    <path d="M17.5,37.3333333 L127.466252,97.6449735" id="Path-18" stroke="#BACAD9" stroke-width="1.16666667"></path>
+                    <polyline id="Path-19" stroke="#CFDAE6" stroke-width="1.16666667" points="143.902597 120.302281 174.935455 231.571342 38.5 147.510847 126.366941 110.833333"></polyline>
+                    <path d="M159.833333,99.7453842 L195.416667,89.25" id="Path-20" stroke="#E0B4B7" stroke-width="1.16666667" opacity="0.6"></path>
+                    <path d="M205.333333,82.1372105 L238.719406,36.1666667" id="Path-24" stroke="#BACAD9" stroke-width="1.16666667"></path>
+                    <path d="M266.723424,132.231988 L207.083333,90.4166667" id="Path-25" stroke="#CFDAE6" stroke-width="1.16666667"></path>
+                    <circle id="Oval-5" fill="#C1D1E0" cx="156.916667" cy="8.75" r="8.75"></circle>
+                    <circle id="Oval-5-Copy-3" fill="#C1D1E0" cx="39.0833333" cy="148.75" r="5.25"></circle>
+                    <circle id="Oval-5-Copy-2" fill-opacity="0.6" fill="#D1DEED" cx="8.75" cy="33.25" r="8.75"></circle>
+                    <circle id="Oval-5-Copy-4" fill-opacity="0.6" fill="#D1DEED" cx="243.833333" cy="30.3333333" r="5.83333333"></circle>
+                    <circle id="Oval-5-Copy-5" fill="#E0B4B7" cx="175.583333" cy="232.75" r="5.25"></circle>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 1 - 0
src/assets/icons/Alipay.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1611819992583" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4283" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M230.4 576.512c-12.288 9.728-25.088 24.064-28.672 41.984-5.12 24.576-1.024 55.296 22.528 79.872 28.672 29.184 72.704 37.376 91.648 38.912 51.2 3.584 105.984-22.016 147.456-50.688 16.384-11.264 44.032-34.304 70.144-69.632-59.392-30.72-133.632-64.512-212.48-61.44-40.448 1.536-69.632 9.728-90.624 20.992z m752.64 135.68C1009.152 650.752 1024 583.168 1024 512 1024 229.888 794.112 0 512 0S0 229.888 0 512s229.888 512 512 512c170.496 0 321.536-83.968 414.72-211.968-88.064-43.52-232.96-115.712-322.56-159.232-42.496 48.64-105.472 97.28-176.64 118.272-44.544 13.312-84.992 18.432-126.976 9.728-41.984-8.704-72.704-28.16-90.624-47.616-9.216-10.24-19.456-22.528-27.136-37.888 0.512 1.024 1.024 2.048 1.024 3.072 0 0-4.608-7.68-7.68-19.456-1.536-6.144-3.072-11.776-3.584-17.92-0.512-4.096-0.512-8.704 0-12.8-0.512-7.68 0-15.872 1.536-24.064 4.096-20.48 12.8-44.032 35.328-65.536 49.152-48.128 114.688-50.688 148.992-50.176 50.176 0.512 138.24 22.528 211.968 48.64 20.48-43.52 33.792-90.112 41.984-121.344h-307.2v-33.28h157.696v-66.56H272.384V302.08h190.464v-66.56c0-9.216 2.048-16.384 16.384-16.384h74.752v82.944h207.36v33.28h-207.36v66.56h165.888s-16.896 92.672-68.608 184.32c115.2 40.96 278.016 104.448 331.776 125.952z" p-id="4284"></path></svg>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/DragColumn.svg


+ 1 - 0
src/assets/icons/QRcode.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1611900658489" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8196" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M312.401987 313.238588V157.455059H156.618458l155.783529 155.783529z m632.863791 233.674458h77.894274v243.40915h-77.894274v-77.892601h-77.889255v-87.625621H789.483922v-77.892601h77.892601v77.892601h77.889255v-77.890928zM546.074771 1.673203v467.347241h477.085281V1.673203H546.074771z m399.191007 389.457987H623.967373V79.564131h321.298405v311.567059zM468.183843 1.673203H0.836601m866.541595 155.781856h-155.783529v155.783529h155.783529V157.455059z" fill="" p-id="8197"></path><path d="M0.836601 1.673203h467.347242v467.347241L389.856209 391.529412V78.640523l-312.801882 0.923608zM546.074771 3.346405h477.085281v467.347242L945.359477 393.202614V80.313725l-321.392104 0.923608zM546.074771 546.914719h165.523242v77.892601h-87.628967zM865.704993 714.457516L865.045752 624.80732h-75.407896l-0.152261-77.894274h77.892601v76.217725L943.686275 623.267974l1.579503-76.354928h77.894274v243.40915h-77.894274v-77.892601h-76.214379L868.392157 868.392157l78.551843 1.495843L945.359477 945.359477l77.803922 0.747922V1024L711.598013 712.432941" fill="" p-id="8198"></path></svg>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/Sina.svg


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/WeChat.svg


+ 1 - 0
src/assets/icons/bug.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1608877719378" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3862" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M844.8 533.333333c0-21.845333-1.834667-43.093333-4.522667-64h95.829334V384h-114.986667a423.850667 423.850667 0 0 0-71.765333-134.314667l91.52-91.52-60.330667-60.330666-92.330667 92.288C637.056 150.997333 576.768 128 512 128s-125.056 22.997333-176.213333 62.122667L243.498667 97.834667 183.168 158.165333l91.52 91.52A423.850667 423.850667 0 0 0 202.922667 384H85.333333v85.333333h98.432c-2.730667 20.906667-4.565333 42.154667-4.565333 64 0 21.973333 1.834667 43.434667 4.608 64.469334H85.333333v85.333333h117.717334c9.728 29.568 22.186667 57.429333 37.034666 83.114667l-99.584 99.584 60.330667 60.330666 90.368-90.368C350.037333 899.541333 427.264 938.666667 512 938.666667s161.962667-39.125333 220.8-102.869334l90.368 90.368 60.330667-60.330666-99.584-99.584c14.890667-25.685333 27.349333-53.546667 37.034666-83.114667H938.666667v-85.333333h-98.517334c2.816-21.034667 4.650667-42.496 4.650667-64.469334zM512 213.333333c94.762667 0 177.109333 69.290667 218.709333 170.666667H293.290667C334.890667 282.624 417.237333 213.333333 512 213.333333z m42.666667 634.88V554.666667h-85.333334v293.546666c-116.181333-26.24-204.8-157.312-204.8-314.88 0-21.930667 1.706667-43.306667 4.992-64h484.906667c3.285333 20.693333 4.992 42.069333 4.992 64 0.042667 157.610667-88.576 288.64-204.757333 314.88z" p-id="3863"></path></svg>

+ 1 - 0
src/assets/icons/build.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1568899741379" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2054" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M960 591.424V368.96c0-0.288 0.16-0.512 0.16-0.768S960 367.68 960 367.424V192a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v175.424c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768v222.464c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768V864a32 32 0 0 0 32 32h832a32 32 0 0 0 32-32v-271.04c0-0.288 0.16-0.512 0.16-0.768S960 591.68 960 591.424z m-560-31.232v-160H608v160h-208z m208 64V832h-208v-207.808H608z m-480-224h208v160H128v-160z m544 0h224v160h-224v-160zM896 224v112.192H128V224h768zM128 624.192h208V832H128v-207.808zM672 832v-207.808h224V832h-224z" p-id="2055"></path></svg>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/button.svg


+ 1 - 0
src/assets/icons/bxAnalyse.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1551058675966" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7872" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M85.333333 512h85.333334a340.736 340.736 0 0 1 99.712-241.621333 337.493333 337.493333 0 0 1 108.458666-72.96 346.453333 346.453333 0 0 1 261.546667-1.749334A106.154667 106.154667 0 0 0 746.666667 298.666667C805.802667 298.666667 853.333333 251.136 853.333333 192S805.802667 85.333333 746.666667 85.333333c-29.397333 0-55.978667 11.776-75.221334 30.933334-103.722667-41.514667-222.848-40.874667-325.76 2.517333a423.594667 423.594667 0 0 0-135.68 91.264 423.253333 423.253333 0 0 0-91.306666 135.637333A426.88 426.88 0 0 0 85.333333 512z m741.248 133.205333c-17.109333 40.618667-41.685333 77.141333-72.96 108.416s-67.797333 55.850667-108.458666 72.96a346.453333 346.453333 0 0 1-261.546667 1.749334A106.154667 106.154667 0 0 0 277.333333 725.333333C218.197333 725.333333 170.666667 772.864 170.666667 832S218.197333 938.666667 277.333333 938.666667c29.397333 0 55.978667-11.776 75.221334-30.933334A425.173333 425.173333 0 0 0 512 938.666667a425.941333 425.941333 0 0 0 393.258667-260.352A426.325333 426.325333 0 0 0 938.666667 512h-85.333334a341.034667 341.034667 0 0 1-26.752 133.205333z" p-id="7873"></path><path d="M512 318.378667c-106.752 0-193.621333 86.869333-193.621333 193.621333S405.248 705.621333 512 705.621333s193.621333-86.869333 193.621333-193.621333S618.752 318.378667 512 318.378667z m0 301.909333c-59.690667 0-108.288-48.597333-108.288-108.288S452.309333 403.712 512 403.712s108.288 48.597333 108.288 108.288-48.597333 108.288-108.288 108.288z" p-id="7874"></path></svg>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/cascader.svg


+ 1 - 0
src/assets/icons/chart.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1608878489551" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5535" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" p-id="5536"></path><path d="M272 728h536c4.4 0 8-3.6 8-8V284c0-7.2-8.7-10.7-13.7-5.7L592 488.6l-125.4-124c-3.1-3.1-8.2-3.1-11.3 0l-189 189.6c-1.5 1.5-2.3 3.5-2.3 5.6V720c0 4.4 3.6 8 8 8z" p-id="5537"></path></svg>

+ 1 - 0
src/assets/icons/checkbox.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1575982282951" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="902" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M828.40625 90.125H195.59375C137.375 90.125 90.125 137.375 90.125 195.59375v632.8125c0 58.21875 47.25 105.46875 105.46875 105.46875h632.8125c58.21875 0 105.46875-47.25 105.46875-105.46875V195.59375c0-58.21875-47.25-105.46875-105.46875-105.46875z m52.734375 738.28125c0 29.16-23.57015625 52.734375-52.734375 52.734375H195.59375c-29.109375 0-52.734375-23.574375-52.734375-52.734375V195.59375c0-29.109375 23.625-52.734375 52.734375-52.734375h632.8125c29.16 0 52.734375 23.625 52.734375 52.734375v632.8125z" p-id="903"></path><path d="M421.52890625 709.55984375a36.28125 36.28125 0 0 1-27.55265625-12.66890625L205.17453125 476.613125a36.28546875 36.28546875 0 0 1 55.10109375-47.22890625l164.986875 192.4846875 342.16171875-298.48078125a36.2896875 36.2896875 0 0 1 47.70984375 54.68765625L445.3859375 700.6203125a36.3234375 36.3234375 0 0 1-23.85703125 8.93953125z" p-id="904"></path></svg>

+ 1 - 0
src/assets/icons/clipboard.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1608880266404" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7147" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M438.857143 950.857143h512V585.142857h-237.714286a54.857143 54.857143 0 0 1-54.857143-54.857143V292.571429h-219.428571v658.285714z m146.285714-822.857143v-36.571429c0-9.728-8.557714-18.285714-18.285714-18.285714h-402.285714c-9.728 0-18.285714 8.557714-18.285715 18.285714v36.571429c0 9.728 8.557714 18.285714 18.285715 18.285714h402.285714c9.728 0 18.285714-8.557714 18.285714-18.285714zM731.428571 512h170.861715L731.428571 341.138286V512z m292.571429 73.142857v384a54.857143 54.857143 0 0 1-54.857143 54.857143h-548.571428a54.857143 54.857143 0 0 1-54.857143-54.857143V877.714286H54.857143A54.857143 54.857143 0 0 1 0 822.857143v-768A54.857143 54.857143 0 0 1 54.857143 0h621.714286A54.857143 54.857143 0 0 1 731.428571 54.857143v187.428571c7.424 4.571429 14.299429 9.728 20.553143 15.981715l233.142857 233.142857c21.723429 21.723429 38.838857 63.414857 38.838858 93.696z" p-id="7148"></path></svg>

+ 1 - 0
src/assets/icons/codeNew.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1546567861908" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2422" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M318.577778 819.2L17.066667 512l301.511111-307.2 45.511111 45.511111L96.711111 512l267.377778 261.688889zM705.422222 819.2l-45.511111-45.511111L927.288889 512l-267.377778-261.688889 45.511111-45.511111L1006.933333 512zM540.785778 221.866667l55.751111 11.150222L483.157333 802.133333l-55.751111-11.093333z" p-id="2423"></path></svg>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/color.svg


+ 1 - 0
src/assets/icons/company.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1612170054893" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1007" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><defs><style type="text/css"></style></defs><path d="M619.712 198.186667v603.264h44.544v-0.853334h102.762667V446.08l-102.762667-36.181333v-67.818667l144.576 50.88c12.778667 8.298667 20.864 22.037333 22.037333 37.077333l0.149334 3.797334-0.021334 367.594666h48.917334v64h-666.453334v-64h48.64l0.021334-489.493333c0-16.810667 8.661333-32.426667 22.912-41.365333l260.053333-113.770667c32.490667-20.288 74.624 3.050667 74.624 41.344z m-64 23.850666l-229.589333 100.437334v478.101333H555.733333V533.461333l-0.426666 0.192v-29.610666l0.426666 1.002666V381.866667l-0.426666 0.192v-29.525334l0.426666 0.981334v-131.477334z m-43.392 260.138667v69.226667l-142.762667 58.965333v-69.248l142.762667-58.944z m0-151.36v69.525333l-142.762667 60.757334v-69.546667l142.762667-60.736z" p-id="1008"></path></svg>

+ 1 - 0
src/assets/icons/companyFill.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1612170065244" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1295" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><defs><style type="text/css"></style></defs><path d="M619.712 198.186667v603.264h44.544V342.101333l144.576 50.88c12.778667 8.298667 20.864 22.037333 22.037333 37.077334l0.149334 3.797333-0.021334 367.594667h48.917334v64h-666.453334v-64h48.64l0.021334-489.493334c0-16.810667 8.661333-32.426667 22.912-41.365333l260.053333-113.770667c32.490667-20.288 74.624 3.050667 74.624 41.344z m-107.413333 284.010666l-142.72 58.944v69.226667l142.72-58.944v-69.226667z m0-151.36l-142.72 60.714667v69.546667l142.72-60.757334v-69.504z" p-id="1296"></path></svg>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/component.svg


+ 1 - 0
src/assets/icons/compress.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1619146697803" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8458" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24"><defs><style type="text/css"></style></defs><path d="M326 664H104c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h174v176c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V696c0-17.7-14.3-32-32-32zM342 88h-48c-8.8 0-16 7.2-16 16v176H104c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h222c17.7 0 32-14.3 32-32V104c0-8.8-7.2-16-16-16zM920 664H698c-17.7 0-32 14.3-32 32v224c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V744h174c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16zM920 280H746V104c0-8.8-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16v224c0 17.7 14.3 32 32 32h222c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16z" p-id="8459"></path></svg>

+ 1 - 0
src/assets/icons/connections.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1612170061717" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1151" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><defs><style type="text/css"></style></defs><path d="M568.896 149.333333a64 64 0 0 1 64 64v113.770667a64 64 0 0 1-64 64H544v48.597333h140.501333a96 96 0 0 1 95.893334 91.477334l0.106666 4.522666-0.021333 79.402667H810.666667a64 64 0 0 1 64 64v113.792a64 64 0 0 1-64 64h-113.770667a64 64 0 0 1-64-64v-113.792a64 64 0 0 1 64-64h19.584l0.021333-79.125333-0.149333-3.349334a32 32 0 0 0-31.850667-28.928l-348.864 0.021334c-17.664 0.746667-31.36 15.68-30.592 34.688l-0.021333 76.693333h22.08a64 64 0 0 1 64 64v113.792a64 64 0 0 1-64 64H213.333333a64 64 0 0 1-64-64v-113.792a64 64 0 0 1 64-64h27.690667l0.042667-75.349333a96 96 0 0 1 87.36-99.669334l4.501333-0.298666a96 96 0 0 1 4.053333-0.085334H480v-48.597333h-24.896a64 64 0 0 1-64-64V213.333333a64 64 0 0 1 64-64h113.792zM327.104 679.104H213.333333v113.792h113.770667v-113.792z m483.562667 0h-113.770667v113.792H810.666667v-113.792zM568.896 213.333333h-113.792v113.770667h113.792V213.333333z" p-id="1152"></path></svg>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/dashboardNew.svg


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/date.svg


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/dateRange.svg


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
src/assets/icons/dict.svg


+ 1 - 0
src/assets/icons/dingtalk.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1611824373324" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5035" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M509.4144 0C228.0704 0 0 228.0704 0 509.4144s228.0704 509.4144 509.4144 509.4144 509.4144-228.0704 509.4144-509.4144S790.7584 0 509.4144 0z m235.392 441.1904c-1.024 4.4288-3.6864 11.008-7.3472 18.8416h0.1024l-0.4096 0.768c-21.376 45.7216-77.2096 135.424-77.2096 135.424l-0.256-0.6144-16.3072 28.416h78.592l-150.144 199.5008 34.1248-135.7312h-61.8752l21.504-89.7536c-17.3824 4.1728-37.9648 9.9328-62.2848 17.7664 0 0-32.9216 19.2512-94.848-37.0432 0 0-41.7536-36.8128-17.5104-45.9776 10.2912-3.9168 49.9456-8.9088 81.1776-13.0816 42.2656-5.7088 68.1984-8.7552 68.1984-8.7552s-130.1248 1.92-160.9984-2.9184c-30.8736-4.8384-70.016-56.3456-78.3872-101.632 0 0-12.8768-24.832 27.776-13.056 40.6272 11.776 208.8448 45.824 208.8448 45.824s-218.7264-67.072-233.344-83.456c-14.592-16.2816-42.8288-89.2928-39.168-134.0928 0 0 1.5872-11.2128 13.0816-8.1408 0 0 161.7664 73.8048 272.3328 114.2784 110.592 40.4736 206.7712 61.056 194.3552 113.4336z" p-id="5036"></path></svg>

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.