Browse Source

初期化

liuxf 5 months ago
commit
5e31e7e342
100 changed files with 2317 additions and 0 deletions
  1. 8 0
      .env.development
  2. 11 0
      .env.production
  3. 11 0
      .env.staging
  4. 23 0
      .gitignore
  5. 16 0
      README.md
  6. 158 0
      html/ie.html
  7. 222 0
      index.html
  8. 44 0
      package.json
  9. BIN
      public/eiken-favicon.ico
  10. BIN
      public/favicon.ico
  11. BIN
      public/nextosd-favicon.ico
  12. BIN
      public/yamato-favicon.ico
  13. 17 0
      src/App.vue
  14. 94 0
      src/api/fcbi/certificationItem.js
  15. 13 0
      src/api/fcbi/common.js
  16. 50 0
      src/api/fcbi/examKind.js
  17. 17 0
      src/api/fcbi/fileUpload.js
  18. 85 0
      src/api/fcbi/listDisplayItem.js
  19. 74 0
      src/api/fcbi/order.js
  20. 65 0
      src/api/fcbi/result.js
  21. 60 0
      src/api/login.js
  22. 9 0
      src/api/menu.js
  23. 57 0
      src/api/monitor/cache.js
  24. 71 0
      src/api/monitor/job.js
  25. 26 0
      src/api/monitor/jobLog.js
  26. 34 0
      src/api/monitor/logininfor.js
  27. 18 0
      src/api/monitor/online.js
  28. 26 0
      src/api/monitor/operlog.js
  29. 9 0
      src/api/monitor/server.js
  30. 60 0
      src/api/system/config.js
  31. 52 0
      src/api/system/dept.js
  32. 52 0
      src/api/system/dict/data.js
  33. 60 0
      src/api/system/dict/type.js
  34. 60 0
      src/api/system/menu.js
  35. 44 0
      src/api/system/post.js
  36. 133 0
      src/api/system/role.js
  37. 147 0
      src/api/system/user.js
  38. 95 0
      src/api/tool/gen.js
  39. BIN
      src/assets/401_images/401.gif
  40. BIN
      src/assets/404_images/404.png
  41. BIN
      src/assets/404_images/404_cloud.png
  42. 3 0
      src/assets/icons/svg/404.svg
  43. 3 0
      src/assets/icons/svg/bug.svg
  44. 10 0
      src/assets/icons/svg/build.svg
  45. 9 0
      src/assets/icons/svg/button.svg
  46. 10 0
      src/assets/icons/svg/cascader.svg
  47. 3 0
      src/assets/icons/svg/chart.svg
  48. 12 0
      src/assets/icons/svg/checkbox.svg
  49. 3 0
      src/assets/icons/svg/clipboard.svg
  50. 10 0
      src/assets/icons/svg/code.svg
  51. 12 0
      src/assets/icons/svg/color.svg
  52. 10 0
      src/assets/icons/svg/component.svg
  53. 3 0
      src/assets/icons/svg/dashboard.svg
  54. 12 0
      src/assets/icons/svg/date-range.svg
  55. 10 0
      src/assets/icons/svg/date.svg
  56. 12 0
      src/assets/icons/svg/dict.svg
  57. 3 0
      src/assets/icons/svg/documentation.svg
  58. 12 0
      src/assets/icons/svg/download.svg
  59. 3 0
      src/assets/icons/svg/drag.svg
  60. 10 0
      src/assets/icons/svg/druid.svg
  61. 4 0
      src/assets/icons/svg/edit.svg
  62. 3 0
      src/assets/icons/svg/education.svg
  63. 4 0
      src/assets/icons/svg/email.svg
  64. 3 0
      src/assets/icons/svg/example.svg
  65. 4 0
      src/assets/icons/svg/excel.svg
  66. 3 0
      src/assets/icons/svg/exit-fullscreen.svg
  67. 6 0
      src/assets/icons/svg/eye-open.svg
  68. 3 0
      src/assets/icons/svg/eye.svg
  69. 3 0
      src/assets/icons/svg/form.svg
  70. 3 0
      src/assets/icons/svg/fullscreen.svg
  71. 10 0
      src/assets/icons/svg/github.svg
  72. 3 0
      src/assets/icons/svg/guide.svg
  73. 3 0
      src/assets/icons/svg/icon.svg
  74. 12 0
      src/assets/icons/svg/input.svg
  75. 3 0
      src/assets/icons/svg/international.svg
  76. 16 0
      src/assets/icons/svg/job.svg
  77. 4 0
      src/assets/icons/svg/language.svg
  78. 5 0
      src/assets/icons/svg/link.svg
  79. 3 0
      src/assets/icons/svg/list.svg
  80. 3 0
      src/assets/icons/svg/lock.svg
  81. 10 0
      src/assets/icons/svg/log.svg
  82. 12 0
      src/assets/icons/svg/logininfor.svg
  83. 3 0
      src/assets/icons/svg/message.svg
  84. 3 0
      src/assets/icons/svg/money.svg
  85. 15 0
      src/assets/icons/svg/monitor.svg
  86. 7 0
      src/assets/icons/svg/moon.svg
  87. 3 0
      src/assets/icons/svg/nested.svg
  88. 10 0
      src/assets/icons/svg/number.svg
  89. 10 0
      src/assets/icons/svg/online.svg
  90. 10 0
      src/assets/icons/svg/password.svg
  91. 3 0
      src/assets/icons/svg/pdf.svg
  92. 3 0
      src/assets/icons/svg/people.svg
  93. 4 0
      src/assets/icons/svg/peoples.svg
  94. 10 0
      src/assets/icons/svg/phone.svg
  95. 12 0
      src/assets/icons/svg/post.svg
  96. 3 0
      src/assets/icons/svg/qq.svg
  97. 10 0
      src/assets/icons/svg/question.svg
  98. 10 0
      src/assets/icons/svg/radio.svg
  99. 10 0
      src/assets/icons/svg/rate.svg
  100. 0 0
      src/assets/icons/svg/redis-list.svg

+ 8 - 0
.env.development

@@ -0,0 +1,8 @@
+# ページタイトル
+VITE_APP_TITLE = FC事業部管理システム
+
+# 開発環境設定
+VITE_APP_ENV = 'development'
+
+# 若依マネージメントシステム/開発環境
+VITE_APP_BASE_API = '/dev-api'

+ 11 - 0
.env.production

@@ -0,0 +1,11 @@
+# ページタイトル
+VITE_APP_TITLE = FC事業部管理システム
+
+# プロダクション環境設定
+VITE_APP_ENV = 'production'
+
+# FC事業部管理システム/プロダクション環境
+VITE_APP_BASE_API = '/prod-api'
+
+# ビルド時に圧縮を有効にするかどうか、gzipとbrotliをサポート
+VITE_BUILD_COMPRESS = gzip

+ 11 - 0
.env.staging

@@ -0,0 +1,11 @@
+# ページタイトル
+VITE_APP_TITLE = FC事業部管理システム
+
+# ステージング環境設定
+VITE_APP_ENV = 'staging'
+
+# FC事業部管理システム/ステージング環境
+VITE_APP_BASE_API = '/stage-api'
+
+# ビルド時に圧縮を有効にするかどうか、gzipとbrotliをサポート
+VITE_BUILD_COMPRESS = gzip

+ 23 - 0
.gitignore

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

+ 16 - 0
README.md

@@ -0,0 +1,16 @@
+## フロントエンドの実行
+
+```bash
+# プロジェクトディレクトリに移動
+cd ds-yamada-fcbi-admin
+
+# 依存関係をインストール
+npm install
+
+# サービスを起動
+npm run dev
+
+# テスト環境のビルド yarn build:stage
+# 本番環境のビルド yarn build:prod
+# フロントエンドアクセスアドレス http://localhost:80
+```

File diff suppressed because it is too large
+ 158 - 0
html/ie.html


+ 222 - 0
index.html

@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html lang="ja">
+
+<head>
+    <meta charset="utf-8">
+    <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
+    <meta content="webkit" name="renderer">
+    <meta name="format-detection" content="telephone=no">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="description" content="">
+    <meta name="keywords" content="">
+    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
+    <meta name="robots" content="noindex, nofollow" />
+    <link href="/favicon.ico" rel="icon">
+    <title>FC事業部管理システム</title>
+    <!--[if lt IE 11]>
+    <script>window.location.href = '/html/ie.html';</script>
+    <![endif]-->
+    <style>
+        html,
+        body,
+        #app {
+            height: 100%;
+            margin: 0px;
+            padding: 0px;
+        }
+
+        .chromeframe {
+            margin: 0.2em 0;
+            background: #ccc;
+            color: #000;
+            padding: 0.2em 0;
+        }
+
+        #loader-wrapper {
+            position: fixed;
+            top: 0;
+            left: 0;
+            width: 100%;
+            height: 100%;
+            z-index: 999999;
+        }
+
+        #loader {
+            display: block;
+            position: relative;
+            left: 50%;
+            top: 50%;
+            width: 150px;
+            height: 150px;
+            margin: -75px 0 0 -75px;
+            border-radius: 50%;
+            border: 3px solid transparent;
+            border-top-color: #FFF;
+            -webkit-animation: spin 2s linear infinite;
+            -ms-animation: spin 2s linear infinite;
+            -moz-animation: spin 2s linear infinite;
+            -o-animation: spin 2s linear infinite;
+            animation: spin 2s linear infinite;
+            z-index: 1001;
+        }
+
+        #loader:before {
+            content: "";
+            position: absolute;
+            top: 5px;
+            left: 5px;
+            right: 5px;
+            bottom: 5px;
+            border-radius: 50%;
+            border: 3px solid transparent;
+            border-top-color: #FFF;
+            -webkit-animation: spin 3s linear infinite;
+            -moz-animation: spin 3s linear infinite;
+            -o-animation: spin 3s linear infinite;
+            -ms-animation: spin 3s linear infinite;
+            animation: spin 3s linear infinite;
+        }
+
+        #loader:after {
+            content: "";
+            position: absolute;
+            top: 15px;
+            left: 15px;
+            right: 15px;
+            bottom: 15px;
+            border-radius: 50%;
+            border: 3px solid transparent;
+            border-top-color: #FFF;
+            -moz-animation: spin 1.5s linear infinite;
+            -o-animation: spin 1.5s linear infinite;
+            -ms-animation: spin 1.5s linear infinite;
+            -webkit-animation: spin 1.5s linear infinite;
+            animation: spin 1.5s linear infinite;
+        }
+
+
+        @-webkit-keyframes spin {
+            0% {
+                -webkit-transform: rotate(0deg);
+                -ms-transform: rotate(0deg);
+                transform: rotate(0deg);
+            }
+
+            100% {
+                -webkit-transform: rotate(360deg);
+                -ms-transform: rotate(360deg);
+                transform: rotate(360deg);
+            }
+        }
+
+        @keyframes spin {
+            0% {
+                -webkit-transform: rotate(0deg);
+                -ms-transform: rotate(0deg);
+                transform: rotate(0deg);
+            }
+
+            100% {
+                -webkit-transform: rotate(360deg);
+                -ms-transform: rotate(360deg);
+                transform: rotate(360deg);
+            }
+        }
+
+
+        #loader-wrapper .loader-section {
+            position: fixed;
+            top: 0;
+            width: 51%;
+            height: 100%;
+            background: #7171C6;
+            z-index: 1000;
+            -webkit-transform: translateX(0);
+            -ms-transform: translateX(0);
+            transform: translateX(0);
+        }
+
+        #loader-wrapper .loader-section.section-left {
+            left: 0;
+        }
+
+        #loader-wrapper .loader-section.section-right {
+            right: 0;
+        }
+
+
+        .loaded #loader-wrapper .loader-section.section-left {
+            -webkit-transform: translateX(-100%);
+            -ms-transform: translateX(-100%);
+            transform: translateX(-100%);
+            -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+            transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+        }
+
+        .loaded #loader-wrapper .loader-section.section-right {
+            -webkit-transform: translateX(100%);
+            -ms-transform: translateX(100%);
+            transform: translateX(100%);
+            -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+            transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+        }
+
+        .loaded #loader {
+            opacity: 0;
+            -webkit-transition: all 0.3s ease-out;
+            transition: all 0.3s ease-out;
+        }
+
+        .loaded #loader-wrapper {
+            visibility: hidden;
+            -webkit-transform: translateY(-100%);
+            -ms-transform: translateY(-100%);
+            transform: translateY(-100%);
+            -webkit-transition: all 0.3s 1s ease-out;
+            transition: all 0.3s 1s ease-out;
+        }
+
+        .no-js #loader-wrapper {
+            display: none;
+        }
+
+        .no-js h1 {
+            color: #222222;
+        }
+
+        #loader-wrapper .load_title {
+            //font-family: 'Open Sans';
+            color: #FFF;
+            font-size: 19px;
+            width: 100%;
+            text-align: center;
+            z-index: 9999999999999;
+            position: absolute;
+            top: 60%;
+            opacity: 1;
+            line-height: 30px;
+        }
+
+        #loader-wrapper .load_title span {
+            font-weight: normal;
+            font-style: italic;
+            font-size: 13px;
+            color: #FFF;
+            opacity: 0.5;
+        }
+    </style>
+</head>
+
+<body>
+<div id="app">
+    <div id="loader-wrapper">
+        <div id="loader"></div>
+        <div class="loader-section section-left"></div>
+        <div class="loader-section section-right"></div>
+        <div class="load_title">システムリソースを読み込み中です。少々お待ちください</div>
+    </div>
+</div>
+<script src="/src/main.js" type="module"></script>
+</body>
+
+</html>

+ 44 - 0
package.json

@@ -0,0 +1,44 @@
+{
+  "name": "nextosd-fcbi-admin",
+  "version": "1.0.0",
+  "description": "FC事業部管理システム",
+  "author": "YAMADA DENKI CO.,LTD",
+  "type": "module",
+  "scripts": {
+    "dev": "vite",
+    "build:prod": "vite build",
+    "build:stage": "vite build --mode staging",
+    "preview": "vite preview"
+  },
+  "dependencies": {
+    "@element-plus/icons-vue": "2.3.1",
+    "@vueup/vue-quill": "1.2.0",
+    "@vueuse/core": "10.11.0",
+    "axios": "0.28.1",
+    "clipboard": "2.0.11",
+    "crypto-js": "^4.2.0",
+    "echarts": "5.5.1",
+    "element-plus": "2.9.3",
+    "file-saver": "2.0.5",
+    "fuse.js": "6.6.2",
+    "js-beautify": "1.14.11",
+    "js-cookie": "3.0.5",
+    "jsencrypt": "3.3.2",
+    "nprogress": "0.2.0",
+    "pinia": "2.1.7",
+    "splitpanes": "3.1.5",
+    "vue": "3.4.31",
+    "vue-cropper": "1.1.1",
+    "vue-router": "4.4.0",
+    "vuedraggable": "4.1.0"
+  },
+  "devDependencies": {
+    "@vitejs/plugin-vue": "5.0.5",
+    "sass": "1.77.5",
+    "unplugin-auto-import": "0.17.6",
+    "unplugin-vue-setup-extend-plus": "1.0.1",
+    "vite": "5.3.2",
+    "vite-plugin-compression": "0.5.1",
+    "vite-plugin-svg-icons": "2.0.1"
+  }
+}

BIN
public/eiken-favicon.ico


BIN
public/favicon.ico


BIN
public/nextosd-favicon.ico


BIN
public/yamato-favicon.ico


+ 17 - 0
src/App.vue

@@ -0,0 +1,17 @@
+<template>
+  <router-view/>
+  <network-status-dialog />
+</template>
+
+<script setup>
+import NetworkStatusDialog from '@/components/NetworkStatus/index';
+import useSettingsStore from '@/store/modules/settings'
+import {handleThemeStyle} from '@/utils/theme'
+
+onMounted(() => {
+  nextTick(() => {
+    // テーマスタイルの初期化
+    handleThemeStyle(useSettingsStore().theme)
+  })
+})
+</script>

+ 94 - 0
src/api/fcbi/certificationItem.js

@@ -0,0 +1,94 @@
+import request from '@/utils/request'
+
+// 認証項目マスタのリストを検索
+export function listCertificationItem(query) {
+    return request({
+        url: '/fcbi/certificationItem/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 認証項目マスタの詳細情報を検索
+export function getCertificationItem(data) {
+    return request({
+        url: '/fcbi/certificationItem/id',
+        method: 'post',
+        data: data
+    })
+}
+
+// 認証項目マスタの追加
+export function addCertificationItem(data) {
+    return request({
+        url: '/fcbi/certificationItem',
+        method: 'post',
+        data: data
+    })
+}
+
+// 認証項目マスタの修正
+export function updateCertificationItem(data) {
+    return request({
+        url: '/fcbi/certificationItem',
+        method: 'put',
+        data: data
+    })
+}
+
+// 認証項目マスタの削除
+export function delCertificationItem(id) {
+    return request({
+        url: '/fcbi/certificationItem/' + id,
+        method: 'delete'
+    })
+}
+
+// 検定種類と試験名の組合リストを検索
+export function selectExamKindOptions(data) {
+    return request({
+        url: '/fcbi/common/options',
+        method: 'post',
+        data: data
+    })
+}
+
+// 認証項目マスタの削除(論理)
+export function delLogicCertificationItem(row) {
+    const { id, certificationType, branchNo, version, topVersion } = row;
+    const data = {
+        id, certificationType, branchNo, version, topVersion
+    }
+    return request({
+        url: '/fcbi/certificationItem/deleteLogic',
+        method: 'post',
+        data: data
+    })
+}
+
+// 認証項目マスタの並び順変更保存
+export function updateBatchOrderNo(data) {
+    return request({
+        url: '/fcbi/certificationItem/updateBatchOrderNo',
+        method: 'post',
+        data: data
+    })
+}
+
+// 文字種のオプションを作成する
+export function selectCharTypeOptions(data) {
+    return request({
+        url: '/fcbi/common/options',
+        method: 'post',
+        data: data
+    })
+}
+
+// 検定種類より、認証項目の最大並び順+1を取得する
+export function selectMaxOrderNoPlusOne(data) {
+    return request({
+        url: '/fcbi/certificationItem/selectMaxOrderNoPlusOne',
+        method: 'post',
+        data: data
+    })
+}

+ 13 - 0
src/api/fcbi/common.js

@@ -0,0 +1,13 @@
+import request from '@/utils/request'
+
+/**
+ * 検定種類単位で、成績紐付け状況を統計する
+ * @param data
+ */
+export function getBindResultStatus(data) {
+    return request({
+        url: '/fcbi/common/getBindResultStatus',
+        method: 'post',
+        data: data
+    })
+}

+ 50 - 0
src/api/fcbi/examKind.js

@@ -0,0 +1,50 @@
+import request from '@/utils/request'
+
+// 試験種類マスタのリストを検索
+export function listExamKind(query) {
+    return request({
+        url: '/fcbi/exam/kind/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 試験種類マスタの詳細情報を検索
+export function getExamKind(id) {
+    return request({
+        url: '/fcbi/exam/kind/' + id,
+        method: 'get'
+    })
+}
+
+// 試験種類マスタの追加
+export function addExamKind(data) {
+    return request({
+        url: '/fcbi/exam/kind',
+        method: 'post',
+        data: data
+    })
+}
+
+// 試験種類マスタの修正
+export function updateExamKind(data) {
+    return request({
+        url: '/fcbi/exam/kind',
+        method: 'put',
+        data: data
+    })
+}
+
+// 試験種類マスタの論理削除
+export function delLogicExamKind(row) {
+    const { certificationType, version } = row;
+    const data = {
+        certificationType,
+        version
+    }
+    return request({
+        url: '/fcbi/exam/kind/deleteLogic',
+        method: 'post',
+        data: data
+    })
+}

+ 17 - 0
src/api/fcbi/fileUpload.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+
+/**
+ * 成績ヘッダ情報及び成績明細情報を読込
+ * 検定種類マスタ、認証項目マスタ、一覧表示項目マスタにエクセルファイル読込
+ */
+export function uploadData(data) {
+    return request({
+        url: '/fcbi/upload/data',
+        method: 'post',
+        headers: {
+            'Content-Type': 'multipart/form-data'
+        },
+        timeout: 4000000,
+        data: data
+    })
+}

+ 85 - 0
src/api/fcbi/listDisplayItem.js

@@ -0,0 +1,85 @@
+import request from '@/utils/request'
+
+// 一覧表示項目マスタのリストを検索z
+export function listListDisplayItem(query) {
+    return request({
+        url: '/fcbi/listDisplayItem/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 一覧表示項目マスタの詳細情報を検索
+export function getListDisplayItem(data) {
+    return request({
+        url: '/fcbi/listDisplayItem/id',
+        method: 'post',
+        data: data
+    })
+}
+
+// 一覧表示項目マスタの追加
+export function addListDisplayItem(data) {
+    return request({
+        url: '/fcbi/listDisplayItem',
+        method: 'post',
+        data: data
+    })
+}
+
+// 一覧表示項目マスタの修正
+export function updateListDisplayItem(data) {
+    return request({
+        url: '/fcbi/listDisplayItem',
+        method: 'put',
+        data: data
+    })
+}
+
+// 一覧表示項目マスタの削除
+export function delListDisplayItem(id) {
+    return request({
+        url: '/fcbi/listDisplayItem/' + id,
+        method: 'delete'
+    })
+}
+
+// 検定種類と試験名の組合リストを検索
+export function selectExamKindOptions(data) {
+    return request({
+        url: '/fcbi/common/options',
+        method: 'post',
+        data: data
+    })
+}
+
+// 一覧表示項目マスタの削除(論理)
+export function delLogicListDisplayItem(row) {
+    const { id, certificationType, branchNo, version, topVersion } = row;
+    const data = {
+        id, certificationType, branchNo, version, topVersion
+    }
+    return request({
+        url: '/fcbi/listDisplayItem/deleteLogic',
+        method: 'post',
+        data: data
+    })
+}
+
+// 一覧表示項目マスタの並び順保存
+export function updateBatchOrderNo(data) {
+    return request({
+        url: '/fcbi/listDisplayItem/updateBatchOrderNo',
+        method: 'post',
+        data: data
+    })
+}
+
+// 検定種類より、認証項目の最大並び順+1を取得する
+export function selectMaxOrderNoPlusOne(data) {
+    return request({
+        url: '/fcbi/listDisplayItem/selectMaxOrderNoPlusOne',
+        method: 'post',
+        data: data
+    })
+}

+ 74 - 0
src/api/fcbi/order.js

@@ -0,0 +1,74 @@
+import request from '@/utils/request'
+
+// 查询発注管理列表
+export function listOrder(query) {
+  return request({
+    url: '/fcbi/order/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询実績管理列表
+export function listResult(query) {
+  return request({
+    url: '/fcbi/order/resultList',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询発注管理详细
+export function getOrder(data) {
+  return request({
+    url: '/fcbi/order/id',
+    method: 'post',
+    data: data
+  })
+}
+
+// 查询アクション履歴
+export function listAction(data) {
+  return request({
+    url: '/fcbi/order/action',
+    method: 'post',
+    data: data
+  })
+}
+
+// 查询発注管理指示書編集
+export function getOrderCompilation(data) {
+  return request({
+    url: '/fcbi/order/Compilation',
+    method: 'post',
+    data: data
+  })
+}
+
+// 新增発注管理
+export function addOrder(data) {
+  return request({
+    url: '/fcbi/order/add',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改発注管理
+export function updateOrder(data) {
+  return request({
+    url: '/fcbi/order/batch',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除発注管理
+export function delOrder(orderId) {
+  return request({
+    url: '/fcbi/order/' + orderId,
+    method: 'delete'
+  })
+}
+
+

+ 65 - 0
src/api/fcbi/result.js

@@ -0,0 +1,65 @@
+import request from '@/utils/request'
+
+// 查询実績管理列表
+export function listOrder(query) {
+  return request({
+    url: '/fcbi/result/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询実績管理详细
+export function getOrder(data) {
+  return request({
+    url: '/fcbi/result/id',
+    method: 'post',
+    data: data
+  })
+}
+
+// 查询アクション履歴
+export function listAction(data) {
+  return request({
+    url: '/fcbi/result/action',
+    method: 'post',
+    data: data
+  })
+}
+
+// 查询実績管理指示書編集
+export function getOrderCompilation(data) {
+  return request({
+    url: '/fcbi/result/Compilation',
+    method: 'post',
+    data: data
+  })
+}
+
+// 新增実績管理
+export function addOrder(data) {
+  return request({
+    url: '/fcbi/result/add',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改実績管理
+export function updateOrder(data) {
+  return request({
+    url: '/fcbi/result/batch',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除実績管理
+export function delOrder(resultId) {
+  return request({
+    url: '/fcbi/result/' + resultId,
+    method: 'delete'
+  })
+}
+
+

+ 60 - 0
src/api/login.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// ログイン方法
+export function login(username, password, code, uuid) {
+    const data = {
+        username,
+        password,
+        code,
+        uuid
+    }
+    return request({
+        url: '/login',
+        headers: {
+            isToken: false,
+            repeatSubmit: false
+        },
+        method: 'post',
+        data: data
+    })
+}
+
+// 登録方法
+export function register(data) {
+    return request({
+        url: '/register',
+        headers: {
+            isToken: false
+        },
+        method: 'post',
+        data: data
+    })
+}
+
+// ユーザー詳細情報を取得
+export function getInfo() {
+    return request({
+        url: '/getInfo',
+        method: 'get'
+    })
+}
+
+// ログアウト方法
+export function logout() {
+    return request({
+        url: '/logout',
+        method: 'post'
+    })
+}
+
+// 認証コードを取得
+export function getCodeImg() {
+    return request({
+        url: '/captchaImage',
+        headers: {
+            isToken: false
+        },
+        method: 'get',
+        timeout: 20000
+    })
+}

+ 9 - 0
src/api/menu.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// ルーターを取得
+export const getRouters = () => {
+    return request({
+        url: '/getRouters',
+        method: 'get'
+    })
+}

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

@@ -0,0 +1,57 @@
+import request from '@/utils/request'
+
+// 查询缓存详细
+export function getCache() {
+    return request({
+        url: '/monitor/cache',
+        method: 'get'
+    })
+}
+
+// 查询缓存名称列表
+export function listCacheName() {
+    return request({
+        url: '/monitor/cache/getNames',
+        method: 'get'
+    })
+}
+
+// 查询缓存键名列表
+export function listCacheKey(cacheName) {
+    return request({
+        url: '/monitor/cache/getKeys/' + cacheName,
+        method: 'get'
+    })
+}
+
+// 查询缓存内容
+export function getCacheValue(cacheName, cacheKey) {
+    return request({
+        url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey,
+        method: 'get'
+    })
+}
+
+// 清理指定名称缓存
+export function clearCacheName(cacheName) {
+    return request({
+        url: '/monitor/cache/clearCacheName/' + cacheName,
+        method: 'delete'
+    })
+}
+
+// 清理指定键名缓存
+export function clearCacheKey(cacheKey) {
+    return request({
+        url: '/monitor/cache/clearCacheKey/' + cacheKey,
+        method: 'delete'
+    })
+}
+
+// 清理全部缓存
+export function clearCacheAll() {
+    return request({
+        url: '/monitor/cache/clearCacheAll',
+        method: 'delete'
+    })
+}

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

@@ -0,0 +1,71 @@
+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 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
+    })
+}

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

@@ -0,0 +1,26 @@
+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'
+    })
+}

+ 34 - 0
src/api/monitor/logininfor.js

@@ -0,0 +1,34 @@
+import request from '@/utils/request'
+
+// 查询登录日志列表
+export function list(query) {
+    return request({
+        url: '/monitor/logininfor/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 删除登录日志
+export function delLogininfor(infoId) {
+    return request({
+        url: '/monitor/logininfor/' + infoId,
+        method: 'delete'
+    })
+}
+
+// 解锁用户登录状态
+export function unlockLogininfor(userName) {
+    return request({
+        url: '/monitor/logininfor/unlock/' + userName,
+        method: 'get'
+    })
+}
+
+// 清空登录日志
+export function cleanLogininfor() {
+    return request({
+        url: '/monitor/logininfor/clean',
+        method: 'delete'
+    })
+}

+ 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'
+    })
+}

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

@@ -0,0 +1,26 @@
+import request from '@/utils/request'
+
+// 查询操作日志列表
+export function list(query) {
+    return request({
+        url: '/monitor/operlog/list',
+        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'
+    })
+}

+ 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'
+    })
+}

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

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// パラメータリストを取得
+export function listConfig(query) {
+    return request({
+        url: '/system/config/list',
+        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 addConfig(data) {
+    return request({
+        url: '/system/config',
+        method: 'post',
+        data: data
+    })
+}
+
+// パラメータ設定を修正
+export function updateConfig(data) {
+    return request({
+        url: '/system/config',
+        method: 'put',
+        data: data
+    })
+}
+
+// パラメータ設定を削除
+export function delConfig(configId) {
+    return request({
+        url: '/system/config/' + configId,
+        method: 'delete'
+    })
+}
+
+// パラメータキャッシュを更新
+export function refreshCache() {
+    return request({
+        url: '/system/config/refreshCache',
+        method: 'delete'
+    })
+}

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

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 部門リストを取得
+export function listDept(query) {
+    return request({
+        url: '/system/dept/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// ノードを除外した部門リストを取得
+export function listDeptExcludeChild(deptId) {
+    return request({
+        url: '/system/dept/list/exclude/' + deptId,
+        method: 'get'
+    })
+}
+
+// 部門詳細を取得
+export function getDept(deptId) {
+    return request({
+        url: '/system/dept/' + deptId,
+        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'
+    })
+}

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

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 辞書データリストを照会
+export function listData(query) {
+    return request({
+        url: '/system/dict/data/list',
+        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 addData(data) {
+    return request({
+        url: '/system/dict/data',
+        method: 'post',
+        data: data
+    })
+}
+
+// 辞書データを更新
+export function updateData(data) {
+    return request({
+        url: '/system/dict/data',
+        method: 'put',
+        data: data
+    })
+}
+
+// 辞書データを削除
+export function delData(dictCode) {
+    return request({
+        url: '/system/dict/data/' + dictCode,
+        method: 'delete'
+    })
+}

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

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 辞書タイプリストを取得
+export function listType(query) {
+    return request({
+        url: '/system/dict/type/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 辞書タイプ詳細を取得
+export function getType(dictId) {
+    return request({
+        url: '/system/dict/type/' + dictId,
+        method: 'get'
+    })
+}
+
+// 新規辞書タイプを追加
+export function addType(data) {
+    return request({
+        url: '/system/dict/type',
+        method: 'post',
+        data: data
+    })
+}
+
+// 辞書タイプ情報を修正
+export function updateType(data) {
+    return request({
+        url: '/system/dict/type',
+        method: 'put',
+        data: data
+    })
+}
+
+// 辞書タイプを削除
+export function delType(dictId) {
+    return request({
+        url: '/system/dict/type/' + dictId,
+        method: 'delete'
+    })
+}
+
+// 辞書キャッシュをリフレッシュ
+export function refreshCache() {
+    return request({
+        url: '/system/dict/type/refreshCache',
+        method: 'delete'
+    })
+}
+
+// 辞書選択ボックスリストを取得
+export function optionselect() {
+    return request({
+        url: '/system/dict/type/optionselect',
+        method: 'get'
+    })
+}

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

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// メニューリストを取得
+export function listMenu(query) {
+    return request({
+        url: '/system/menu/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// メニュー詳細を取得
+export function getMenu(menuId) {
+    return request({
+        url: '/system/menu/' + menuId,
+        method: 'get'
+    })
+}
+
+// メニュートリーセレクト構造を取得
+export function treeSelect() {
+    return request({
+        url: '/system/menu/treeSelect',
+        method: 'get'
+    })
+}
+
+// ロールIDに基づいてメニュートリーセレクト構造を取得
+export function roleMenuTreeSelect(roleId) {
+    return request({
+        url: '/system/menu/roleMenuTreeSelect/' + roleId,
+        method: 'get'
+    })
+}
+
+// 新規メニューを追加
+export function addMenu(data) {
+    return request({
+        url: '/system/menu',
+        method: 'post',
+        data: data
+    })
+}
+
+// メニュー情報を修正
+export function updateMenu(data) {
+    return request({
+        url: '/system/menu',
+        method: 'put',
+        data: data
+    })
+}
+
+// メニューを削除
+export function delMenu(menuId) {
+    return request({
+        url: '/system/menu/' + menuId,
+        method: 'delete'
+    })
+}

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

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 岗位リストを取得
+export function listPost(query) {
+    return request({
+        url: '/system/post/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 岗位詳細を取得
+export function getPost(postId) {
+    return request({
+        url: '/system/post/' + postId,
+        method: 'get'
+    })
+}
+
+// 新規岗位を追加
+export function addPost(data) {
+    return request({
+        url: '/system/post',
+        method: 'post',
+        data: data
+    })
+}
+
+// 岗位情報を修正
+export function updatePost(data) {
+    return request({
+        url: '/system/post',
+        method: 'put',
+        data: data
+    })
+}
+
+// 岗位を削除
+export function delPost(postId) {
+    return request({
+        url: '/system/post/' + postId,
+        method: 'delete'
+    })
+}

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

@@ -0,0 +1,133 @@
+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(roleId, status) {
+    const data = {
+        roleId,
+        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 delLogicRole(row) {
+    const { roleId, version } = row;
+    const data = {
+        roleId,
+        version
+    }
+    return request({
+        url: '/system/role/delLogicRole',
+        method: 'post',
+        data: data
+    })
+}
+
+// ロールに割り当てられたユーザー一覧を取得
+export function allocatedUserList(query) {
+    return request({
+        url: '/system/role/authUser/allocatedList',
+        method: 'get',
+        params: query
+    })
+}
+
+// ロールに未割り当てのユーザー一覧を取得
+export function unallocatedUserList(query) {
+    return request({
+        url: '/system/role/authUser/unallocatedList',
+        method: 'get',
+        params: query
+    })
+}
+
+// ユーザーのロール権限をキャンセル
+export function authUserCancel(data) {
+    return request({
+        url: '/system/role/authUser/cancel',
+        method: 'put',
+        data: data
+    })
+}
+
+// ユーザーのロール権限を一括キャンセル
+export function authUserCancelAll(data) {
+    return request({
+        url: '/system/role/authUser/cancelAll',
+        method: 'put',
+        params: data
+    })
+}
+
+// ユーザーのロール権限を選択
+export function authUserSelectAll(data) {
+    return request({
+        url: '/system/role/authUser/selectAll',
+        method: 'put',
+        params: data
+    })
+}
+
+// ロールIDに基づいて部門ツリー構造を取得
+export function deptTreeSelect(roleId) {
+    return request({
+        url: '/system/role/deptTree/' + roleId,
+        method: 'get'
+    })
+}

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

@@ -0,0 +1,147 @@
+import request from '@/utils/request'
+import {parseStrEmpty} from "@/utils/yamada.js";
+import {encryptField} from "@/utils/encrypt.js";
+
+// ユーザーリストを取得
+export function listUser(query) {
+    return request({
+        url: '/system/user/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// ユーザー詳細を取得
+export function getUser(userId) {
+    return request({
+        url: '/system/user/' + parseStrEmpty(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 delLogicUser(row) {
+    const { userId, version } = row;
+    const data = {
+        userId,
+        version
+    }
+    return request({
+        url: '/system/user/delLogicUser',
+        method: 'post',
+        data: data
+    })
+}
+
+// ユーザーパスワードをリセット
+export function resetUserPwd(userId, passwordValue, version) {
+    let password = encryptField(passwordValue);
+    const data = {
+        userId,
+        password,
+        version
+    }
+    return request({
+        url: '/system/user/resetPwd',
+        method: 'put',
+        data: data
+    })
+}
+
+// ユーザーステータスを変更
+export function changeUserStatus(row) {
+    const { userId, version ,status} = row;
+    const data = {
+        userId,
+        version,
+        status
+    }
+    return request({
+        url: '/system/user/changeStatus',
+        method: 'post',
+        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(data) {
+    // const data = {
+    //     oldPassword,
+    //     newPassword
+    // }
+    return request({
+        url: '/system/user/profile/updatePwd',
+        method: 'post',
+        params: data
+    })
+}
+
+// ユーザーアバターをアップロード
+export function uploadAvatar(data) {
+    return request({
+        url: '/system/user/profile/avatar',
+        method: 'post',
+        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
+        data: data
+    })
+}
+
+// 認証されたロールを取得
+export function getAuthRole(userId) {
+    return request({
+        url: '/system/user/authRole/' + userId,
+        method: 'get'
+    })
+}
+
+// 認証ロールを保存
+export function updateAuthRole(data) {
+    return request({
+        url: '/system/user/authRole',
+        method: 'put',
+        params: data
+    })
+}
+
+// 部門ツリー構造を取得
+export function deptTreeSelect() {
+    return request({
+        url: '/system/user/deptTree',
+        method: 'get'
+    })
+}

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

@@ -0,0 +1,95 @@
+import request from '@/utils/request'
+
+// 生成表データの照会
+export function listTable(query) {
+    console.log(query);
+    return request({
+        url: '/tool/gen/list',
+        method: 'get',
+        params: query
+    })
+}
+
+export function listUser(query) {
+    return request({
+        url: '/system/user/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 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 createTable(data) {
+    return request({
+        url: '/tool/gen/createTable',
+        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'
+    })
+}

BIN
src/assets/401_images/401.gif


BIN
src/assets/404_images/404.png


BIN
src/assets/404_images/404_cloud.png


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/404.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/bug.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/build.svg


File diff suppressed because it is too large
+ 9 - 0
src/assets/icons/svg/button.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/cascader.svg


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

@@ -0,0 +1,3 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z"/>
+</svg>

File diff suppressed because it is too large
+ 12 - 0
src/assets/icons/svg/checkbox.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/clipboard.svg


+ 10 - 0
src/assets/icons/svg/code.svg

@@ -0,0 +1,10 @@
+<?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" 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>

File diff suppressed because it is too large
+ 12 - 0
src/assets/icons/svg/color.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/component.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/dashboard.svg


File diff suppressed because it is too large
+ 12 - 0
src/assets/icons/svg/date-range.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/date.svg


File diff suppressed because it is too large
+ 12 - 0
src/assets/icons/svg/dict.svg


+ 3 - 0
src/assets/icons/svg/documentation.svg

@@ -0,0 +1,3 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z"/>
+</svg>

+ 12 - 0
src/assets/icons/svg/download.svg

@@ -0,0 +1,12 @@
+<?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="1569915748289" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3062"
+     width="200" height="200">
+    <defs>
+        <style type="text/css"></style>
+    </defs>
+    <path d="M768.35456 416a256 256 0 1 0-512 0 192 192 0 1 0 0 384v64a256 256 0 0 1-58.88-505.216 320.128 320.128 0 0 1 629.76 0A256.128 256.128 0 0 1 768.35456 864v-64a192 192 0 0 0 0-384z m-512 384h64v64H256.35456v-64z m448 0h64v64h-64v-64z"
+          fill="#333333" p-id="3063"></path>
+    <path d="M539.04256 845.248V512.192a32.448 32.448 0 0 0-32-32.192c-17.664 0-32 14.912-32 32.192v333.056l-36.096-36.096a32.192 32.192 0 0 0-45.056 0.192 31.616 31.616 0 0 0-0.192 45.056l90.88 90.944a31.36 31.36 0 0 0 22.528 9.088 30.08 30.08 0 0 0 22.4-9.088l90.88-90.88a32.192 32.192 0 0 0-0.192-45.12 31.616 31.616 0 0 0-45.056-0.192l-36.096 36.096z"
+          fill="#333333" p-id="3064"></path>
+</svg>

+ 3 - 0
src/assets/icons/svg/drag.svg

@@ -0,0 +1,3 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z"/>
+</svg>

+ 10 - 0
src/assets/icons/svg/druid.svg

@@ -0,0 +1,10 @@
+<?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="1566036347051" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5853"
+     width="200" height="200">
+    <defs>
+        <style type="text/css"></style>
+    </defs>
+    <path d="M832 128H192a64.19 64.19 0 0 0-64 64v640a64.19 64.19 0 0 0 64 64h640a64.19 64.19 0 0 0 64-64V192a64.19 64.19 0 0 0-64-64z m0 703.89l-0.11 0.11H192.11l-0.11-0.11V768h640zM832 544H720L605.6 696.54 442.18 435.07 333.25 544H192v-64h114.75l147.07-147.07L610.4 583.46 688 480h144z m0-288H192v-63.89l0.11-0.11h639.78l0.11 0.11z"
+          p-id="5854"></path>
+</svg>

+ 4 - 0
src/assets/icons/svg/edit.svg

@@ -0,0 +1,4 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z"/>
+    <path d="M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z"/>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/education.svg


+ 4 - 0
src/assets/icons/svg/email.svg

@@ -0,0 +1,4 @@
+<svg width="128" height="96" xmlns="http://www.w3.org/2000/svg">
+    <path d="M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z"/>
+    <path d="M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z"/>
+</svg>

+ 3 - 0
src/assets/icons/svg/example.svg

@@ -0,0 +1,3 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z"/>
+</svg>

+ 4 - 0
src/assets/icons/svg/excel.svg

@@ -0,0 +1,4 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z"/>
+    <path d="M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z"/>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/exit-fullscreen.svg


File diff suppressed because it is too large
+ 6 - 0
src/assets/icons/svg/eye-open.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/eye.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/form.svg


+ 3 - 0
src/assets/icons/svg/fullscreen.svg

@@ -0,0 +1,3 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z"/>
+</svg>

File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/github.svg


+ 3 - 0
src/assets/icons/svg/guide.svg

@@ -0,0 +1,3 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M1.482 70.131l36.204 16.18 69.932-65.485-61.38 70.594 46.435 18.735c1.119.425 2.397-.17 2.797-1.363v-.085L127.998.047 1.322 65.874c-1.12.597-1.519 1.959-1.04 3.151.32.511.72.937 1.2 1.107zm44.676 57.821L64.22 107.26l-18.062-7.834v28.527z"/>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/icon.svg


+ 12 - 0
src/assets/icons/svg/input.svg

@@ -0,0 +1,12 @@
+<?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="1575802859706" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3102"
+     width="200" height="200">
+    <defs>
+        <style type="text/css"></style>
+    </defs>
+    <path d="M896 224H128c-35.2 0-64 28.8-64 64v448c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64V288c0-35.2-28.8-64-64-64z m0 480c0 19.2-12.8 32-32 32H160c-19.2 0-32-12.8-32-32V320c0-19.2 12.8-32 32-32h704c19.2 0 32 12.8 32 32v384z"
+          p-id="3103"></path>
+    <path d="M224 352c-19.2 0-32 12.8-32 32v256c0 16 12.8 32 32 32s32-12.8 32-32V384c0-16-12.8-32-32-32z"
+          p-id="3104"></path>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/international.svg


File diff suppressed because it is too large
+ 16 - 0
src/assets/icons/svg/job.svg


File diff suppressed because it is too large
+ 4 - 0
src/assets/icons/svg/language.svg


+ 5 - 0
src/assets/icons/svg/link.svg

@@ -0,0 +1,5 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z"/>
+    <path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z"/>
+    <path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z"/>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/list.svg


+ 3 - 0
src/assets/icons/svg/lock.svg

@@ -0,0 +1,3 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M119.88 49.674h-7.987V39.52C111.893 17.738 90.45.08 63.996.08 37.543.08 16.1 17.738 16.1 39.52v10.154H8.113c-4.408 0-7.987 2.94-7.987 6.577v65.13c0 3.637 3.57 6.577 7.987 6.577H119.88c4.407 0 7.987-2.94 7.987-6.577v-65.13c-.008-3.636-3.58-6.577-7.987-6.577zm-23.953 0H32.065V39.52c0-14.524 14.301-26.295 31.931-26.295 17.63 0 31.932 11.777 31.932 26.295v10.153z"/>
+</svg>

File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/log.svg


File diff suppressed because it is too large
+ 12 - 0
src/assets/icons/svg/logininfor.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/message.svg


+ 3 - 0
src/assets/icons/svg/money.svg

@@ -0,0 +1,3 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M54.122 127.892v-28.68H7.513V87.274h46.609v-12.4H7.513v-12.86h38.003L.099 0h22.6l32.556 45.07c3.617 5.144 6.44 9.611 8.487 13.385 1.788-3.05 4.89-7.779 9.301-14.186L103.93 0h24.01L82.385 62.013h38.34v12.862h-46.41v12.4h46.41v11.937h-46.41v28.68H54.123z"/>
+</svg>

+ 15 - 0
src/assets/icons/svg/monitor.svg

@@ -0,0 +1,15 @@
+<?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="1543827393750" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
+     p-id="4695" width="200" height="200">
+    <defs>
+        <style type="text/css">@font-face { font-family: rbicon; src:
+            url("chrome-extension://dipiagiiohfljcicegpgffpbnjmgjcnf/fonts/rbicon.woff2") format("woff2"); font-weight:
+            normal; font-style: normal; }
+        </style>
+    </defs>
+    <path d="M64 64V640H896V64H64zM0 0h960v704H0V0z" p-id="4696"></path>
+    <path d="M192 896H768v64H192zM448 640H512v256h-64z" p-id="4697"></path>
+    <path d="M479.232 561.604267l309.9904-348.330667-47.803733-42.5472-259.566934 291.669333L303.957333 240.008533 163.208533 438.6048l52.224 37.009067 91.6224-129.28z"
+          p-id="4698"></path>
+</svg>

+ 7 - 0
src/assets/icons/svg/moon.svg

@@ -0,0 +1,7 @@
+<?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="1733303018722" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1447"
+     width="200" height="200">
+    <path d="M368.832 67.2c51.328-16.384 89.216 34.112 75.712 76.416a346.816 346.816 0 0 0 435.84 435.84c42.304-13.44 92.8 24.384 76.48 75.712A467.968 467.968 0 1 1 368.832 67.2z m-35.776 122.688a368.832 368.832 0 1 0 501.056 501.056 445.952 445.952 0 0 1-501.056-501.056z"
+          p-id="1448"></path>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/nested.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/number.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/online.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/password.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/pdf.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/people.svg


+ 4 - 0
src/assets/icons/svg/peoples.svg

@@ -0,0 +1,4 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
+    <path d="M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z"/>
+    <path d="M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z"/>
+</svg>

File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/phone.svg


File diff suppressed because it is too large
+ 12 - 0
src/assets/icons/svg/post.svg


File diff suppressed because it is too large
+ 3 - 0
src/assets/icons/svg/qq.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/question.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/radio.svg


File diff suppressed because it is too large
+ 10 - 0
src/assets/icons/svg/rate.svg


+ 0 - 0
src/assets/icons/svg/redis-list.svg


Some files were not shown because too many files changed in this diff