瀏覽代碼

更新依赖+事项业务提交
author outaozhen <3216329758@qq.com> 1663811504 +0800
committer outaozhen <3216329758@qq.com> 1663837805 +0800

feat: 更新依赖+事项业务

feat: 事项类型定义调整

fix: 111

fix: 111

outaozhen 3 年之前
父節點
當前提交
8104e627d5
共有 5 個文件被更改,包括 514 次插入243 次删除
  1. 10 10
      package.json
  2. 182 203
      pnpm-lock.yaml
  3. 173 0
      src/pages/Business/Matter/hooks/useRowScript.tsx
  4. 132 1
      src/pages/Business/Matter/index.tsx
  5. 17 29
      src/services/api/typings.d.ts

+ 10 - 10
package.json

@@ -27,7 +27,7 @@
     "not ie <= 10"
     "not ie <= 10"
   ],
   ],
   "dependencies": {
   "dependencies": {
-    "@ant-design/icons": "^4.5.0",
+    "@ant-design/icons": "^4.7.0",
     "@ant-design/pro-form": "1.67.1",
     "@ant-design/pro-form": "1.67.1",
     "@ant-design/pro-layout": "6.38.16",
     "@ant-design/pro-layout": "6.38.16",
     "@ant-design/pro-table": "2.74.1",
     "@ant-design/pro-table": "2.74.1",
@@ -43,30 +43,30 @@
     "@formily/reactive": "^2.1.10",
     "@formily/reactive": "^2.1.10",
     "@formily/reactive-react": "^2.1.10",
     "@formily/reactive-react": "^2.1.10",
     "@formily/shared": "^2.1.10",
     "@formily/shared": "^2.1.10",
-    "@umijs/max": "4.0.21",
-    "@umijs/plugins": "4.0.21",
+    "@umijs/max": "4.0.19",
+    "@umijs/plugins": "4.0.19",
     "@umijs/route-utils": "^2.2.0",
     "@umijs/route-utils": "^2.2.0",
     "ahooks": "^3.7.1",
     "ahooks": "^3.7.1",
     "antd": "^4.23.2",
     "antd": "^4.23.2",
     "array-move": "^4.0.0",
     "array-move": "^4.0.0",
-    "classnames": "^2.2.6",
-    "dayjs": "^1.11.3",
+    "classnames": "^2.3.1",
+    "dayjs": "^1.11.5",
     "lodash": "^4.17.21",
     "lodash": "^4.17.21",
     "omit.js": "^2.0.2",
     "omit.js": "^2.0.2",
-    "rc-menu": "^9.0.13",
+    "rc-menu": "^9.6.3",
     "rc-tween-one": "^3.0.6",
     "rc-tween-one": "^3.0.6",
-    "rc-util": "^5.14.0",
+    "rc-util": "^5.23.0",
     "react": "18.1.0",
     "react": "18.1.0",
     "react-copy-to-clipboard": "^5.1.0",
     "react-copy-to-clipboard": "^5.1.0",
     "react-dom": "18.1.0",
     "react-dom": "18.1.0",
-    "react-flow-renderer": "^9.6.11",
+    "react-flow-renderer": "^9.7.4",
     "react-sortable-hoc": "^2.0.0"
     "react-sortable-hoc": "^2.0.0"
   },
   },
   "devDependencies": {
   "devDependencies": {
     "@types/lodash": "^4.14.144",
     "@types/lodash": "^4.14.144",
     "@types/react": "^18.0.0",
     "@types/react": "^18.0.0",
     "@types/react-dom": "^18.0.0",
     "@types/react-dom": "^18.0.0",
-    "@unocss/cli": "^0.45.22",
+    "@unocss/cli": "^0.44.3",
     "babel-plugin-import": "^1.13.5",
     "babel-plugin-import": "^1.13.5",
     "compression-webpack-plugin": "^10.0.0",
     "compression-webpack-plugin": "^10.0.0",
     "cross-env": "^7.0.0",
     "cross-env": "^7.0.0",
@@ -76,7 +76,7 @@
     "prettier": "^2.6.1",
     "prettier": "^2.6.1",
     "stylelint": "^14.9.0",
     "stylelint": "^14.9.0",
     "typescript": "^4.7.3",
     "typescript": "^4.7.3",
-    "unocss": "^0.45.22"
+    "unocss": "^0.44.3"
   },
   },
   "engines": {
   "engines": {
     "node": ">=14.0.0"
     "node": ">=14.0.0"

+ 182 - 203
pnpm-lock.yaml

@@ -1,7 +1,7 @@
 lockfileVersion: 5.4
 lockfileVersion: 5.4
 
 
 specifiers:
 specifiers:
-  '@ant-design/icons': ^4.5.0
+  '@ant-design/icons': ^4.7.0
   '@ant-design/pro-form': 1.67.1
   '@ant-design/pro-form': 1.67.1
   '@ant-design/pro-layout': 6.38.16
   '@ant-design/pro-layout': 6.38.16
   '@ant-design/pro-table': 2.74.1
   '@ant-design/pro-table': 2.74.1
@@ -20,35 +20,35 @@ specifiers:
   '@types/lodash': ^4.14.144
   '@types/lodash': ^4.14.144
   '@types/react': ^18.0.0
   '@types/react': ^18.0.0
   '@types/react-dom': ^18.0.0
   '@types/react-dom': ^18.0.0
-  '@umijs/max': 4.0.21
-  '@umijs/plugins': 4.0.21
+  '@umijs/max': 4.0.19
+  '@umijs/plugins': 4.0.19
   '@umijs/route-utils': ^2.2.0
   '@umijs/route-utils': ^2.2.0
-  '@unocss/cli': ^0.45.22
+  '@unocss/cli': ^0.44.3
   ahooks: ^3.7.1
   ahooks: ^3.7.1
   antd: ^4.23.2
   antd: ^4.23.2
   array-move: ^4.0.0
   array-move: ^4.0.0
   babel-plugin-import: ^1.13.5
   babel-plugin-import: ^1.13.5
-  classnames: ^2.2.6
+  classnames: ^2.3.1
   compression-webpack-plugin: ^10.0.0
   compression-webpack-plugin: ^10.0.0
   cross-env: ^7.0.0
   cross-env: ^7.0.0
-  dayjs: ^1.11.3
+  dayjs: ^1.11.5
   eslint: ^8.17.0
   eslint: ^8.17.0
   husky: ^8.0.0
   husky: ^8.0.0
   lint-staged: ^10.0.0
   lint-staged: ^10.0.0
   lodash: ^4.17.21
   lodash: ^4.17.21
   omit.js: ^2.0.2
   omit.js: ^2.0.2
   prettier: ^2.6.1
   prettier: ^2.6.1
-  rc-menu: ^9.0.13
+  rc-menu: ^9.6.3
   rc-tween-one: ^3.0.6
   rc-tween-one: ^3.0.6
-  rc-util: ^5.14.0
+  rc-util: ^5.23.0
   react: 18.1.0
   react: 18.1.0
   react-copy-to-clipboard: ^5.1.0
   react-copy-to-clipboard: ^5.1.0
   react-dom: 18.1.0
   react-dom: 18.1.0
-  react-flow-renderer: ^9.6.11
+  react-flow-renderer: ^9.7.4
   react-sortable-hoc: ^2.0.0
   react-sortable-hoc: ^2.0.0
   stylelint: ^14.9.0
   stylelint: ^14.9.0
   typescript: ^4.7.3
   typescript: ^4.7.3
-  unocss: ^0.45.22
+  unocss: ^0.44.3
 
 
 dependencies:
 dependencies:
   '@ant-design/icons': 4.7.0_ef5jwxihqo6n7gxfmzogljlgcm
   '@ant-design/icons': 4.7.0_ef5jwxihqo6n7gxfmzogljlgcm
@@ -67,8 +67,8 @@ dependencies:
   '@formily/reactive': 2.2.2
   '@formily/reactive': 2.2.2
   '@formily/reactive-react': 2.2.2_ypdkm4tgjzy64cnmlkro5treom
   '@formily/reactive-react': 2.2.2_ypdkm4tgjzy64cnmlkro5treom
   '@formily/shared': 2.2.2
   '@formily/shared': 2.2.2
-  '@umijs/max': 4.0.21_jyqyaziuamc34tmd77op7f43mq
-  '@umijs/plugins': 4.0.21_4b5sxkeqsl3czpmkzgag5h5qk4
+  '@umijs/max': 4.0.19_jyqyaziuamc34tmd77op7f43mq
+  '@umijs/plugins': 4.0.19_4b5sxkeqsl3czpmkzgag5h5qk4
   '@umijs/route-utils': 2.2.0
   '@umijs/route-utils': 2.2.0
   ahooks: 3.7.1_react@18.1.0
   ahooks: 3.7.1_react@18.1.0
   antd: 4.23.2_ef5jwxihqo6n7gxfmzogljlgcm
   antd: 4.23.2_ef5jwxihqo6n7gxfmzogljlgcm
@@ -90,7 +90,7 @@ devDependencies:
   '@types/lodash': 4.14.184
   '@types/lodash': 4.14.184
   '@types/react': 18.0.17
   '@types/react': 18.0.17
   '@types/react-dom': 18.0.6
   '@types/react-dom': 18.0.6
-  '@unocss/cli': 0.45.22
+  '@unocss/cli': 0.44.7
   babel-plugin-import: 1.13.5
   babel-plugin-import: 1.13.5
   compression-webpack-plugin: 10.0.0
   compression-webpack-plugin: 10.0.0
   cross-env: 7.0.3
   cross-env: 7.0.3
@@ -100,7 +100,7 @@ devDependencies:
   prettier: 2.7.1
   prettier: 2.7.1
   stylelint: 14.11.0
   stylelint: 14.11.0
   typescript: 4.8.2
   typescript: 4.8.2
-  unocss: 0.45.22
+  unocss: 0.44.7
 
 
 packages:
 packages:
 
 
@@ -1725,16 +1725,16 @@ packages:
   /@humanwhocodes/object-schema/1.2.1:
   /@humanwhocodes/object-schema/1.2.1:
     resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
     resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
 
 
-  /@iconify/types/2.0.0:
-    resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+  /@iconify/types/1.1.0:
+    resolution: {integrity: sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==}
     dev: true
     dev: true
 
 
-  /@iconify/utils/2.0.0:
-    resolution: {integrity: sha512-thvwZ6m3frWJiOYwRdHPSPGC25rmyvDl0vXdQ8ocRJZx31m8Pn4y7V1mTc5UReR6MiAj+hrV2UPZQjx7zI960g==}
+  /@iconify/utils/1.0.33:
+    resolution: {integrity: sha512-vGeAqo7aGPxOQmGdVoXFUOuyN+0V7Lcrx2EvaiRjxUD1x6Om0Tvq2bdm7E24l2Pz++4S0mWMCVFXe/17EtKImQ==}
     dependencies:
     dependencies:
       '@antfu/install-pkg': 0.1.0
       '@antfu/install-pkg': 0.1.0
       '@antfu/utils': 0.5.2
       '@antfu/utils': 0.5.2
-      '@iconify/types': 2.0.0
+      '@iconify/types': 1.1.0
       debug: 4.3.4
       debug: 4.3.4
       kolorist: 1.5.1
       kolorist: 1.5.1
       local-pkg: 0.4.2
       local-pkg: 0.4.2
@@ -2548,32 +2548,32 @@ packages:
       eslint-visitor-keys: 3.3.0
       eslint-visitor-keys: 3.3.0
     dev: false
     dev: false
 
 
-  /@umijs/ast/4.0.21:
-    resolution: {integrity: sha512-SLDR33D4TbkLJo6sjE5ThPi9SJswyI2iQ7j9oxVRJzke+9UXqopC0b5nEKbWrc9o8f4fWcNHi/MB7jH6gMJnng==}
+  /@umijs/ast/4.0.19:
+    resolution: {integrity: sha512-5WlF1JgYKn3RmZBhILAFnkCm1tEXTERmKgWO9GSL2V9oKbCuv8Eb2rq3G239X0rADmMl4r2/5ARCLxXV0NxSgg==}
     dependencies:
     dependencies:
-      '@umijs/bundler-utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
     transitivePeerDependencies:
     transitivePeerDependencies:
       - supports-color
       - supports-color
     dev: false
     dev: false
 
 
-  /@umijs/babel-preset-umi/4.0.21:
-    resolution: {integrity: sha512-tthGVhQcDggOXXyDZdqb9nmSRV0RD25IU5FB5R0iDK2KfBOih3RU+VIsweBkvxicTqpmQAAdYQimGmNN8nX4vw==}
+  /@umijs/babel-preset-umi/4.0.19:
+    resolution: {integrity: sha512-bLY/QwQBJDv5qtqhyLmZYHa6DvpwHhYKaO3SBGDClLZ5LOjqu/zftUlwh3uHfMLuHh7G3dXUl5lH+8eOofFZag==}
     dependencies:
     dependencies:
       '@babel/runtime': 7.18.9
       '@babel/runtime': 7.18.9
       '@bloomberg/record-tuple-polyfill': 0.0.4
       '@bloomberg/record-tuple-polyfill': 0.0.4
-      '@umijs/bundler-utils': 4.0.21
-      '@umijs/utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
+      '@umijs/utils': 4.0.19
       core-js: 3.22.4
       core-js: 3.22.4
     transitivePeerDependencies:
     transitivePeerDependencies:
       - supports-color
       - supports-color
     dev: false
     dev: false
 
 
-  /@umijs/bundler-esbuild/4.0.21:
-    resolution: {integrity: sha512-87dmr06eqekdCOGYp7HZ+q6In2Eu9aAvk4Ce9BSZr+iykkCgH8BbZFnwdeGokeU3DfFGiKDAxuXmyxi07Mb6nA==}
+  /@umijs/bundler-esbuild/4.0.19:
+    resolution: {integrity: sha512-csWIsl0eZX3B0thd6UxGloI4ZZMUmNBOoDUPuJtVf7rR+Z5IfP2Tdo/C5nql7ySg0b65T+kCQcwr7X9U1ZGjDg==}
     hasBin: true
     hasBin: true
     dependencies:
     dependencies:
-      '@umijs/bundler-utils': 4.0.21
-      '@umijs/utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
+      '@umijs/utils': 4.0.19
       enhanced-resolve: 5.9.3
       enhanced-resolve: 5.9.3
       postcss: 8.4.16
       postcss: 8.4.16
       postcss-flexbugs-fixes: 5.0.2_postcss@8.4.16
       postcss-flexbugs-fixes: 5.0.2_postcss@8.4.16
@@ -2582,10 +2582,10 @@ packages:
       - supports-color
       - supports-color
     dev: false
     dev: false
 
 
-  /@umijs/bundler-utils/4.0.21:
-    resolution: {integrity: sha512-THCq7isZOA+YaIZsEzXiUP6NfOzBKzFG2xAJiklx8dmKUXtxzVVQWEcZZtbdi/ToSjyppTxIK5J40Ck+VJdtag==}
+  /@umijs/bundler-utils/4.0.19:
+    resolution: {integrity: sha512-qNRuU6KlmgelZhTakXIZOIAD2sC7FJB0AA8LYDWzKRbOpA5KKQfL9A2iwLWNu4J43hCplvN0vadr338vsJz/5g==}
     dependencies:
     dependencies:
-      '@umijs/utils': 4.0.21
+      '@umijs/utils': 4.0.19
       esbuild: 0.14.49
       esbuild: 0.14.49
       regenerate: 1.4.2
       regenerate: 1.4.2
       regenerate-unicode-properties: 10.0.1
       regenerate-unicode-properties: 10.0.1
@@ -2594,13 +2594,13 @@ packages:
       - supports-color
       - supports-color
     dev: false
     dev: false
 
 
-  /@umijs/bundler-vite/4.0.21:
-    resolution: {integrity: sha512-pMmXaKlsyMs0RGqjMO0MYTz13duSRTH+RqogSrQAAOz6zv6YdmKCG52UEgQnTBB1XdttMcezU/l7HOiL92P8ig==}
+  /@umijs/bundler-vite/4.0.19:
+    resolution: {integrity: sha512-FqnwaPn8Boc33IIxg06lEmyOFNVOhfJI1RF/vd5UhdAti8gbeTCOVrtJOzJk682NI56ehzGH9bxGRZT/Hy60lQ==}
     hasBin: true
     hasBin: true
     dependencies:
     dependencies:
       '@svgr/core': 6.2.1
       '@svgr/core': 6.2.1
-      '@umijs/bundler-utils': 4.0.21
-      '@umijs/utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
+      '@umijs/utils': 4.0.19
       '@vitejs/plugin-react': 1.2.0
       '@vitejs/plugin-react': 1.2.0
       postcss-preset-env: 7.5.0
       postcss-preset-env: 7.5.0
       rollup-plugin-visualizer: 5.6.0
       rollup-plugin-visualizer: 5.6.0
@@ -2610,8 +2610,8 @@ packages:
       - supports-color
       - supports-color
     dev: false
     dev: false
 
 
-  /@umijs/bundler-webpack/4.0.21_typescript@4.8.2:
-    resolution: {integrity: sha512-zlA49oN+yOYu12b02tiHaLSVboqjgHM6WJLBA0tnyvHBFhiiYD45ReBLtZb9AK+cT1wOngqb8mHyB9+JVB5jTw==}
+  /@umijs/bundler-webpack/4.0.19_typescript@4.8.2:
+    resolution: {integrity: sha512-4IcF47jMe3sd1VKlhPfX5bwT4+1vZn8CWTA6eyrJ7I/j+I7kslk/qk6ydFzfOZ+LJ9teoKxaaF6Ulz66UtCsaw==}
     hasBin: true
     hasBin: true
     dependencies:
     dependencies:
       '@parcel/css': 1.9.0
       '@parcel/css': 1.9.0
@@ -2620,11 +2620,11 @@ packages:
       '@svgr/plugin-jsx': 6.3.1_@svgr+core@6.2.1
       '@svgr/plugin-jsx': 6.3.1_@svgr+core@6.2.1
       '@svgr/plugin-svgo': 6.3.1_@svgr+core@6.2.1
       '@svgr/plugin-svgo': 6.3.1_@svgr+core@6.2.1
       '@types/hapi__joi': 17.1.8
       '@types/hapi__joi': 17.1.8
-      '@umijs/babel-preset-umi': 4.0.21
-      '@umijs/bundler-utils': 4.0.21
+      '@umijs/babel-preset-umi': 4.0.19
+      '@umijs/bundler-utils': 4.0.19
       '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1
       '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1
-      '@umijs/mfsu': 4.0.21
-      '@umijs/utils': 4.0.21
+      '@umijs/mfsu': 4.0.19
+      '@umijs/utils': 4.0.19
       cors: 2.8.5
       cors: 2.8.5
       css-loader: 6.7.1
       css-loader: 6.7.1
       es5-imcompatible-versions: 0.1.76
       es5-imcompatible-versions: 0.1.76
@@ -2652,11 +2652,11 @@ packages:
     resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==}
     resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==}
     dev: false
     dev: false
 
 
-  /@umijs/core/4.0.21:
-    resolution: {integrity: sha512-1lKw1zA2TajOBVbMNeG2KwaGItSLzmQ6S7AFo7t+vC536bqi+PcOT8sgy24nAsGNeZqf3CNcDv+ZQknoOgvLLg==}
+  /@umijs/core/4.0.19:
+    resolution: {integrity: sha512-eObdY4hIkcYwtk+lTIfkiDKbySBkm+V1DbZgSnjSCY4vg7QFrm1uwD+jehH6c2A9PLu48L4odp8IxGSCBbjOEw==}
     dependencies:
     dependencies:
-      '@umijs/bundler-utils': 4.0.21
-      '@umijs/utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
+      '@umijs/utils': 4.0.19
     transitivePeerDependencies:
     transitivePeerDependencies:
       - supports-color
       - supports-color
     dev: false
     dev: false
@@ -2665,22 +2665,22 @@ packages:
     resolution: {integrity: sha512-FnKZbWb/X3Nk5vmQ4u2qEtB20+fv1kt4WCSvMIhln/kjh+oS6RA4WfvB+EHsfxdotD4qSaj5cqIDgbCYoCNzEA==}
     resolution: {integrity: sha512-FnKZbWb/X3Nk5vmQ4u2qEtB20+fv1kt4WCSvMIhln/kjh+oS6RA4WfvB+EHsfxdotD4qSaj5cqIDgbCYoCNzEA==}
     dev: false
     dev: false
 
 
-  /@umijs/history/5.3.1:
-    resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==}
+  /@umijs/history/5.3.0:
+    resolution: {integrity: sha512-3q3O1XZZoCHuIKJhCF1D+3+jC+r4RVl1ssRbtdoCf+AimlN4LpAAd/kfVuxoUvpVgzs7EBc9WTm4ZmE0Dz+Nkw==}
     dependencies:
     dependencies:
       '@babel/runtime': 7.18.9
       '@babel/runtime': 7.18.9
       query-string: 6.14.1
       query-string: 6.14.1
     dev: false
     dev: false
 
 
-  /@umijs/lint/4.0.21_sz23bcy6qvhg4sffzmj7773twy:
-    resolution: {integrity: sha512-4kV35tVHOirXoVU36p5UGHtp9sLBGMr+1yzTFgUTYqp8Pv5pfMVoPJN8zvj8ruXIoYSBexflo11Zv2GnAq7hmg==}
+  /@umijs/lint/4.0.19_sz23bcy6qvhg4sffzmj7773twy:
+    resolution: {integrity: sha512-837QPhIEllRIRdEHOk1T5nElRKcyJAAqgmcLc2Mwaq/rfUeDh+uptWqKFVxmcz1WZsHc35TjMukapM8PGv1n2A==}
     dependencies:
     dependencies:
       '@babel/core': 7.18.9
       '@babel/core': 7.18.9
       '@babel/eslint-parser': 7.18.9_bpusarfwcbgnjqmbezm4jkv5ie
       '@babel/eslint-parser': 7.18.9_bpusarfwcbgnjqmbezm4jkv5ie
       '@stylelint/postcss-css-in-js': 0.38.0_wuc352kuwbjfwnfzykq4fs3caq
       '@stylelint/postcss-css-in-js': 0.38.0_wuc352kuwbjfwnfzykq4fs3caq
       '@typescript-eslint/eslint-plugin': 5.36.1_lwwfuyj7twi2pixhqbdlqx6rge
       '@typescript-eslint/eslint-plugin': 5.36.1_lwwfuyj7twi2pixhqbdlqx6rge
       '@typescript-eslint/parser': 5.36.1_3gbszem2nfymcdpvzng2ytglf4
       '@typescript-eslint/parser': 5.36.1_3gbszem2nfymcdpvzng2ytglf4
-      '@umijs/babel-preset-umi': 4.0.21
+      '@umijs/babel-preset-umi': 4.0.19
       eslint-plugin-jest: 26.1.5_jv3ggn5awgyocqbdp2e4vrweba
       eslint-plugin-jest: 26.1.5_jv3ggn5awgyocqbdp2e4vrweba
       eslint-plugin-react: 7.29.4_eslint@8.15.0
       eslint-plugin-react: 7.29.4_eslint@8.15.0
       eslint-plugin-react-hooks: 4.5.0_eslint@8.15.0
       eslint-plugin-react-hooks: 4.5.0_eslint@8.15.0
@@ -2700,16 +2700,16 @@ packages:
       - typescript
       - typescript
     dev: false
     dev: false
 
 
-  /@umijs/max/4.0.21_jyqyaziuamc34tmd77op7f43mq:
-    resolution: {integrity: sha512-1nSlFNSB3fl0yolFLDigBj5tOMYkd6WJ15VCwuinic0mgfK88JAVWWtV1jhY33Kj3G4lYm8whAsYGGpPqDlbUw==}
+  /@umijs/max/4.0.19_jyqyaziuamc34tmd77op7f43mq:
+    resolution: {integrity: sha512-RD+01uTgupQ610c8Hnk82s6mBccLdisxlQBw0xiCnKEg711nKEivTzJrTzwnJJAr7BAxSlxuR9sy52c9yds2iA==}
     hasBin: true
     hasBin: true
     dependencies:
     dependencies:
-      '@umijs/lint': 4.0.21_sz23bcy6qvhg4sffzmj7773twy
-      '@umijs/plugins': 4.0.21_4b5sxkeqsl3czpmkzgag5h5qk4
+      '@umijs/lint': 4.0.19_sz23bcy6qvhg4sffzmj7773twy
+      '@umijs/plugins': 4.0.19_4b5sxkeqsl3czpmkzgag5h5qk4
       antd: 4.23.2_ef5jwxihqo6n7gxfmzogljlgcm
       antd: 4.23.2_ef5jwxihqo6n7gxfmzogljlgcm
       eslint: 8.15.0
       eslint: 8.15.0
       stylelint: 14.8.2
       stylelint: 14.8.2
-      umi: 4.0.21_tc25ieqwkumnfvfdh765tx2i2y
+      umi: 4.0.19_tc25ieqwkumnfvfdh765tx2i2y
     transitivePeerDependencies:
     transitivePeerDependencies:
       - '@babel/core'
       - '@babel/core'
       - '@types/lodash.merge'
       - '@types/lodash.merge'
@@ -2743,32 +2743,32 @@ packages:
       - webpack-plugin-serve
       - webpack-plugin-serve
     dev: false
     dev: false
 
 
-  /@umijs/mfsu/4.0.21:
-    resolution: {integrity: sha512-CkjtL9EWnKMT0hMDr/aOGjjUoNWhIEHKkkwXERlLXA45NkneD2jqy4iBW72zW9VOehbSI3+Kn89sD4bIBntqFw==}
+  /@umijs/mfsu/4.0.19:
+    resolution: {integrity: sha512-Qwlcm8RxdRMk3PxF4roMkaDLvKTM5FlnyQOGjn0VWn8612KXW3rDsgjSwqcdkr9UzBYnPsjdplyS1vW4PsXhBw==}
     dependencies:
     dependencies:
-      '@umijs/bundler-esbuild': 4.0.21
-      '@umijs/bundler-utils': 4.0.21
-      '@umijs/utils': 4.0.21
+      '@umijs/bundler-esbuild': 4.0.19
+      '@umijs/bundler-utils': 4.0.19
+      '@umijs/utils': 4.0.19
       enhanced-resolve: 5.9.3
       enhanced-resolve: 5.9.3
       is-equal: 1.6.4
       is-equal: 1.6.4
     transitivePeerDependencies:
     transitivePeerDependencies:
       - supports-color
       - supports-color
     dev: false
     dev: false
 
 
-  /@umijs/plugin-run/4.0.21:
-    resolution: {integrity: sha512-INQhiGb+OAdZUrFSgA6dEBJQFt9yiNsJ8EvLwqGbIS/SJhsmiQWVMzrkx1lANFXSP7b7SZyk7bHFd/zBKk8+gA==}
+  /@umijs/plugin-run/4.0.19:
+    resolution: {integrity: sha512-rFKvDLJHiqBNiLLTuBdWORi7xJoLBkmsa6tIrgZ5N9N8MpHhhoOw/DnRq0B8bpBwsVZiK2TNDv6pFXpb0eJgHw==}
     dependencies:
     dependencies:
       tsx: 3.9.0
       tsx: 3.9.0
     dev: false
     dev: false
 
 
-  /@umijs/plugins/4.0.21_4b5sxkeqsl3czpmkzgag5h5qk4:
-    resolution: {integrity: sha512-DgQff3dbOv55jIwo/LebYPvEVPVBxQk0wJaxyqiVK0Nr/LiKtYXnjRdvEdb2CpxZ5GO6pLXIH/mte+sskOMpuw==}
+  /@umijs/plugins/4.0.19_4b5sxkeqsl3czpmkzgag5h5qk4:
+    resolution: {integrity: sha512-L9YI8MOawwq6q0F1gx2eIXl1YFs3Fquj6yPX2vqqPdaRJcS7EBYCy6dE94iXZy3i1tN9M+fi2T6HSKkwQzLOUQ==}
     dependencies:
     dependencies:
       '@ahooksjs/use-request': 2.8.15_react@18.1.0
       '@ahooksjs/use-request': 2.8.15_react@18.1.0
       '@ant-design/antd-theme-variable': 1.0.0
       '@ant-design/antd-theme-variable': 1.0.0
       '@ant-design/icons': 4.7.0_ef5jwxihqo6n7gxfmzogljlgcm
       '@ant-design/icons': 4.7.0_ef5jwxihqo6n7gxfmzogljlgcm
       '@ant-design/pro-components': 2.3.6_d2bm56y4j3okt2orqu5gbvfj3m
       '@ant-design/pro-components': 2.3.6_d2bm56y4j3okt2orqu5gbvfj3m
-      '@umijs/bundler-utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
       antd-dayjs-webpack-plugin: 1.0.6_dayjs@1.11.5
       antd-dayjs-webpack-plugin: 1.0.6_dayjs@1.11.5
       axios: 0.27.2
       axios: 0.27.2
       babel-plugin-import: 1.13.5
       babel-plugin-import: 1.13.5
@@ -2799,23 +2799,23 @@ packages:
       - supports-color
       - supports-color
     dev: false
     dev: false
 
 
-  /@umijs/preset-umi/4.0.21_rjcvefrtafgq4fj2mrpusruwom:
-    resolution: {integrity: sha512-BxWSoBJN4iORJhHngvsaiSmVma54d6NX5dkz+QkDGNE1jQFJOVtYg3rHIvs/bfou5Y3Kqu7BVTcgW4U6SNqNGw==}
+  /@umijs/preset-umi/4.0.19_rjcvefrtafgq4fj2mrpusruwom:
+    resolution: {integrity: sha512-1nV+8Y5s02G1WtqQui7EK6R39xls1LFK7rq6wUCKVLp3pkGZgmbWsdlC4PyB6MTQhMEmNKiMGYj3bY54eFRlng==}
     dependencies:
     dependencies:
       '@types/multer': 1.4.7
       '@types/multer': 1.4.7
-      '@umijs/ast': 4.0.21
-      '@umijs/babel-preset-umi': 4.0.21
-      '@umijs/bundler-utils': 4.0.21
-      '@umijs/bundler-vite': 4.0.21
-      '@umijs/bundler-webpack': 4.0.21_typescript@4.8.2
-      '@umijs/core': 4.0.21
+      '@umijs/ast': 4.0.19
+      '@umijs/babel-preset-umi': 4.0.19
+      '@umijs/bundler-utils': 4.0.19
+      '@umijs/bundler-vite': 4.0.19
+      '@umijs/bundler-webpack': 4.0.19_typescript@4.8.2
+      '@umijs/core': 4.0.19
       '@umijs/did-you-know': 1.0.1
       '@umijs/did-you-know': 1.0.1
-      '@umijs/history': 5.3.1
-      '@umijs/mfsu': 4.0.21
-      '@umijs/plugin-run': 4.0.21
-      '@umijs/renderer-react': 4.0.21_ef5jwxihqo6n7gxfmzogljlgcm
-      '@umijs/server': 4.0.21
-      '@umijs/utils': 4.0.21
+      '@umijs/history': 5.3.0
+      '@umijs/mfsu': 4.0.19
+      '@umijs/plugin-run': 4.0.19
+      '@umijs/renderer-react': 4.0.19_ef5jwxihqo6n7gxfmzogljlgcm
+      '@umijs/server': 4.0.19
+      '@umijs/utils': 4.0.19
       click-to-react-component: 1.0.8_xj3raazhip6ee3gqogrlbmzd4q
       click-to-react-component: 1.0.8_xj3raazhip6ee3gqogrlbmzd4q
       core-js: 3.22.4
       core-js: 3.22.4
       current-script-polyfill: 1.0.0
       current-script-polyfill: 1.0.0
@@ -2845,8 +2845,8 @@ packages:
       - webpack-plugin-serve
       - webpack-plugin-serve
     dev: false
     dev: false
 
 
-  /@umijs/renderer-react/4.0.21_ef5jwxihqo6n7gxfmzogljlgcm:
-    resolution: {integrity: sha512-yCXMaprQltWkoaeiDqk9fzAX1grL5MYf4xKw6vkPbztzPa6woPuK6t7k5S818mPUEyw3rMIniRPG+ovfTANreg==}
+  /@umijs/renderer-react/4.0.19_ef5jwxihqo6n7gxfmzogljlgcm:
+    resolution: {integrity: sha512-z+NX1QkJfZo4TLdqicX1LiBY1005Odil/XlkngHECUlASGKEXQbq0UA+Dy1EcPDwxRxovSw8XmlUXfOulS4MkQ==}
     peerDependencies:
     peerDependencies:
       react: '>=16.8'
       react: '>=16.8'
       react-dom: '>=16.8'
       react-dom: '>=16.8'
@@ -2868,10 +2868,10 @@ packages:
       memoize-one: 5.2.1
       memoize-one: 5.2.1
     dev: false
     dev: false
 
 
-  /@umijs/server/4.0.21:
-    resolution: {integrity: sha512-oL/zStSkkdAltaGzBePwIy9uvE2jdW/YEyYuqlgL02324W2h/ph5GUOW0nd6Ma05rs5VxzZxIU46s6gqf9fRMA==}
+  /@umijs/server/4.0.19:
+    resolution: {integrity: sha512-6K5BcooEyByYEyG+qG7BMjsFcGFCljIi14qNpHEFt6QMZ280HvfTrRyuhssXeg26zRol04ucz7TfK3HWfM1ARA==}
     dependencies:
     dependencies:
-      '@umijs/bundler-utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
       history: 5.3.0
       history: 5.3.0
       react: 18.1.0
       react: 18.1.0
       react-dom: 18.1.0_react@18.1.0
       react-dom: 18.1.0_react@18.1.0
@@ -2884,12 +2884,12 @@ packages:
     resolution: {integrity: sha512-XlcwzSYQ/SRZpHdwIyMDS4FOGX5kP4U/2g2mykyn/iPQTK4xTiQAyBu6UnnDnn7d5P8s7Atzh1C7H0ETNOypJg==}
     resolution: {integrity: sha512-XlcwzSYQ/SRZpHdwIyMDS4FOGX5kP4U/2g2mykyn/iPQTK4xTiQAyBu6UnnDnn7d5P8s7Atzh1C7H0ETNOypJg==}
     dev: false
     dev: false
 
 
-  /@umijs/test/4.0.21:
-    resolution: {integrity: sha512-oGixgzwDALoAdq1zTi54UNvhXIKM89QL0Ex7khJyX4aY58hi8uSBU+Asqw3wJSaiuKcnwC7PfTiyzLDc89ul+w==}
+  /@umijs/test/4.0.19:
+    resolution: {integrity: sha512-LXbzLFpkFMRSPm2osXD07Y5rSVjirR/GD+zetMBJXYOPs+P9HIwKNcaV3fDYkhugRqIOwMgWUFcl+s09gqX6yQ==}
     dependencies:
     dependencies:
       '@babel/plugin-transform-modules-commonjs': 7.18.6
       '@babel/plugin-transform-modules-commonjs': 7.18.6
       '@jest/types': 27.5.1
       '@jest/types': 27.5.1
-      '@umijs/bundler-utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
       babel-jest: 28.1.3
       babel-jest: 28.1.3
       esbuild: 0.14.51
       esbuild: 0.14.51
       identity-obj-proxy: 3.0.0
       identity-obj-proxy: 3.0.0
@@ -2908,163 +2908,144 @@ packages:
       react: 18.1.0
       react: 18.1.0
     dev: false
     dev: false
 
 
-  /@umijs/utils/4.0.21:
-    resolution: {integrity: sha512-C6efOGVlodhkytbKOplrAg7xUHy5Wufgmkx73M4ybEd3+qi65uwkNR+FcMy1/Y0s3GAesBkxpA6uOD7WCF7/pg==}
+  /@umijs/utils/4.0.19:
+    resolution: {integrity: sha512-d8N9labPVvSv+VLPcKjoZYAzjjIM25gKcxrOd1H9DUA5dKLbHraPIycy2Dvu+v6dEbJPOK5niyNkUZxgAcUfmA==}
     dependencies:
     dependencies:
       chokidar: 3.5.3
       chokidar: 3.5.3
       pino: 7.11.0
       pino: 7.11.0
     dev: false
     dev: false
 
 
-  /@unocss/astro/0.45.22:
-    resolution: {integrity: sha512-PWrDDnceID0bgHDHsVrIoQhubDzwS3xqcsxru8DtbzISHrLduoQVzf8S2LZE3Fy03evzhlBxQODR+16EHuz5RQ==}
-    dependencies:
-      '@unocss/core': 0.45.22
-      '@unocss/reset': 0.45.22
-      '@unocss/vite': 0.45.22
-    transitivePeerDependencies:
-      - vite
-    dev: true
-
-  /@unocss/cli/0.45.22:
-    resolution: {integrity: sha512-e0cEjqBP5Rvg6islGjPbD/Ss11JBu6PGaCUyuA7NbSmUGLbJQ0lAPorDQTRHRAnDyc6TEfR+P0h2OyHGLZ/5Vw==}
+  /@unocss/cli/0.44.7:
+    resolution: {integrity: sha512-/FthkzWK3DT4u06rUnl5i7+fDPpp0sNH9oEz1EssrobmRIVWF7e7uGOUs8bc522uFMy8vOvxiQUn69v4RSGdGQ==}
     engines: {node: '>=14'}
     engines: {node: '>=14'}
     hasBin: true
     hasBin: true
     dependencies:
     dependencies:
-      '@ampproject/remapping': 2.2.0
-      '@rollup/pluginutils': 4.2.1
-      '@unocss/config': 0.45.22
-      '@unocss/core': 0.45.22
-      '@unocss/preset-uno': 0.45.22
+      '@unocss/config': 0.44.7
+      '@unocss/core': 0.44.7
+      '@unocss/preset-uno': 0.44.7
       cac: 6.7.14
       cac: 6.7.14
       chokidar: 3.5.3
       chokidar: 3.5.3
       colorette: 2.0.19
       colorette: 2.0.19
       consola: 2.15.3
       consola: 2.15.3
       fast-glob: 3.2.12
       fast-glob: 3.2.12
-      magic-string: 0.26.3
       pathe: 0.3.8
       pathe: 0.3.8
       perfect-debounce: 0.1.3
       perfect-debounce: 0.1.3
     dev: true
     dev: true
 
 
-  /@unocss/config/0.45.22:
-    resolution: {integrity: sha512-vwmtjzoYPpcINQgTeg9BI20bvikJ3q+hKZkYZZlSv9ffaqshWDyaks+mRQW2vDmhJO3R0Kw9WxD0PWmJVwOwCA==}
+  /@unocss/config/0.44.7:
+    resolution: {integrity: sha512-KSboUqIMkSLBQtVaQ2oTWSqdIBvj8Ged38h9un7Qe047jrYFHzgpCYVfmr7ZgZ2hqDYCdNc1357WgqNZO4AwiQ==}
     engines: {node: '>=14'}
     engines: {node: '>=14'}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
       unconfig: 0.3.6
       unconfig: 0.3.6
     dev: true
     dev: true
 
 
-  /@unocss/core/0.45.22:
-    resolution: {integrity: sha512-x6t6XlVpt7VXGC31Tr/KRS8WkURcTO6n0lK2k5zS+cIvc9xpLtwQw8C0c+/NULxbDNo205qfIuB703mmPABLjw==}
+  /@unocss/core/0.44.7:
+    resolution: {integrity: sha512-EPs3IxvPdzxEkEynAyCqyJX25IPp5RtFK3mFdgmXGvigwpgq9sxJBzQRXmYNtDeZriSyiwjYmc9yclLEJH3IiA==}
     dev: true
     dev: true
 
 
-  /@unocss/inspector/0.45.22:
-    resolution: {integrity: sha512-ZGc985UVANSkaexrJjAZAq2x+kkkiFYRt2oTEL3zPDLxwo0R5yqRJjWkFPxYELHOX1t5sabcBJJVcRRq6USkzQ==}
+  /@unocss/inspector/0.44.7:
+    resolution: {integrity: sha512-uH0dla42tiKEfCpgCcDLC0FwKzrNRLqsN7R3az0B/eHSkeOuXrg7jdA9RWaNNmjnl6/ZOqevtyE5+g7JZf7E6A==}
     dependencies:
     dependencies:
       gzip-size: 6.0.0
       gzip-size: 6.0.0
       sirv: 2.0.2
       sirv: 2.0.2
     dev: true
     dev: true
 
 
-  /@unocss/preset-attributify/0.45.22:
-    resolution: {integrity: sha512-CKCZBRt8vxBc6rXjc7x2eElxP13dilNS5KKO9jsXbegChupTyLjMnFtVmzgK+eV2cGZSFxQ0YY776KYkPVkCWQ==}
+  /@unocss/preset-attributify/0.44.7:
+    resolution: {integrity: sha512-aXW06aBcrHFzf0eKLpDpNmaQ7LPz6RibCHTNhSF/IkyDPAp7HDltIGoWY2+D/C1LUO3gXahnH4Mj4dlvv7fZtg==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
     dev: true
     dev: true
 
 
-  /@unocss/preset-icons/0.45.22:
-    resolution: {integrity: sha512-xIURFFbzBzr0XwWEXNbiuNbnBDlgkMnwjWm8c7ZIhhI5dgVMMNDDLQlGs6IbwWnnZBlv3x0ftUghGHQimnjfPw==}
+  /@unocss/preset-icons/0.44.7:
+    resolution: {integrity: sha512-3PC8a1yjm/rV0Sq192OB+yWokccjNZlh8dsmt3NPdz7OTIRTreNvUaFlV5CHk1JSk2/CNus1VWLG1VeDHqdotg==}
     dependencies:
     dependencies:
-      '@iconify/utils': 2.0.0
-      '@unocss/core': 0.45.22
+      '@iconify/utils': 1.0.33
+      '@unocss/core': 0.44.7
       ohmyfetch: 0.4.18
       ohmyfetch: 0.4.18
     transitivePeerDependencies:
     transitivePeerDependencies:
       - supports-color
       - supports-color
     dev: true
     dev: true
 
 
-  /@unocss/preset-mini/0.45.22:
-    resolution: {integrity: sha512-gfNmj6qxh3WqfDynOILIyH+mUAMREkNhdZFZZOx+DQ15zv8yV5HMssvisvus7rFmVuETSXFl3aCHnyeCXj8iTw==}
+  /@unocss/preset-mini/0.44.7:
+    resolution: {integrity: sha512-EPRogHZstaRGh4244FUixaQUgfQW1lfKnbyh8ZewtL+iCN0YdDEyWuITtqA1yv9sMlJdn9nAEowA3is9ZkWtBQ==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
     dev: true
     dev: true
 
 
-  /@unocss/preset-tagify/0.45.22:
-    resolution: {integrity: sha512-WTAkSIMGkliTiH9Wp0fqtF2taB+D89qDdMw8+pO0QDvCySia5fy2K0uWVB3ngSoeY8p3WbJSm4F7mOUzpaKdvg==}
+  /@unocss/preset-tagify/0.44.7:
+    resolution: {integrity: sha512-+9K3qX1bAIU7BINXi5qTFBr828WXrXGhq3Nzys8rHgrZShPpwwlfJl26oN3cteWEDxSOlM6DZ3xSqoIMtWcQXA==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
     dev: true
     dev: true
 
 
-  /@unocss/preset-typography/0.45.22:
-    resolution: {integrity: sha512-xrqNaLO0/AK9xV+jFe5KfvYfe/Rlx4WsMWJYeuI1dZPGEWydu++SfwmWacJQoFk5obPstRVhHYeyAiUbIhMy9A==}
+  /@unocss/preset-typography/0.44.7:
+    resolution: {integrity: sha512-2YAkIuClWIgi0F95VFMz0cY8wPmngpxlKE8wRNF29hZ5Qvz+MfFDe6ECypApKUDMP2+dfhAHwXu9MlN/Vgnr5A==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
     dev: true
     dev: true
 
 
-  /@unocss/preset-uno/0.45.22:
-    resolution: {integrity: sha512-EAvh0GDJa+PzKJr9Zz86HSSJSBKRjjyhGEGiCkZdnu88fpSZ2CDjl2btpwm884Ov58/T+6lW8mEWmzAe6AGaNA==}
+  /@unocss/preset-uno/0.44.7:
+    resolution: {integrity: sha512-JN1/hCy51RdQmDjCkVZWzFZv0XREyFIxSv/Wy3XfI3rzD42vdcTei/OraFfEhkh9/SdF9uUlIh9QQwOFZUWpyg==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
-      '@unocss/preset-mini': 0.45.22
-      '@unocss/preset-wind': 0.45.22
+      '@unocss/core': 0.44.7
+      '@unocss/preset-mini': 0.44.7
+      '@unocss/preset-wind': 0.44.7
     dev: true
     dev: true
 
 
-  /@unocss/preset-web-fonts/0.45.22:
-    resolution: {integrity: sha512-WHj+3BgcadjEWrtsfD5Bt+zGLJlHS08lGJ2c9vpdzAgT2mRI7b9kTBn+kLrM1cwwn6j4TySkzw9IPLdd0+7fXQ==}
+  /@unocss/preset-web-fonts/0.44.7:
+    resolution: {integrity: sha512-1dI3B9LnSt9yLnvsVsiI454SMhlraRdyNU1xrBQ8Z0YBF41/it0yk4+xf2uD8o87brBgfTib4gzPdVxgqQsiqQ==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
       ohmyfetch: 0.4.18
       ohmyfetch: 0.4.18
     dev: true
     dev: true
 
 
-  /@unocss/preset-wind/0.45.22:
-    resolution: {integrity: sha512-UC62yEazTXnX72VEjNBTzSDW/LGM5An8JvdiVo28kuHWbVJbwKR15D4sgiR+zdqKiH9TRvKr/QQYy2coODd3+A==}
+  /@unocss/preset-wind/0.44.7:
+    resolution: {integrity: sha512-mjzNwY18A/WT8cSGuxf52rYR/gy1jjDXg1xF38/Jn1Nln4jOBkKzrQTyk4c/3GJWNrHav8hE3VanD8+l7Q6W6A==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
-      '@unocss/preset-mini': 0.45.22
+      '@unocss/core': 0.44.7
+      '@unocss/preset-mini': 0.44.7
     dev: true
     dev: true
 
 
-  /@unocss/reset/0.45.22:
-    resolution: {integrity: sha512-jNLWr5tZ2X+fMCNXYXJe5/AUeTPeWcXke0XpWSXrQ7f5Bbk1TpbUFcV7ln4DvUwRkQsmcDYxdj7em/wN1U0mSQ==}
+  /@unocss/reset/0.44.7:
+    resolution: {integrity: sha512-izmqZafDMClT1vQEGpPzfKWvyft8xkA33xC0r0iOWEiDd94+wlC+7ohSnsafyl0iwEuwPp/ONzDft5ouHrOWLA==}
     dev: true
     dev: true
 
 
-  /@unocss/scope/0.45.22:
-    resolution: {integrity: sha512-ePhauPBGCMuJIV9v/Ybn03UfYyIF5uUSVl3QahISHObFM/x7CGQhWqSBFGCc+AjAZrPqdNstHNvcu+nHuwW3Kg==}
-    dev: true
-
-  /@unocss/transformer-attributify-jsx/0.45.22:
-    resolution: {integrity: sha512-k6LlzSnFCD/Q0IRHtlR+KV9crkLXAB7iGElDpeFyIlO4KFkKBE69n7Jh0w3GaK35cPSb7G9c5mw61CH0VcGddQ==}
-    dependencies:
-      '@unocss/core': 0.45.22
+  /@unocss/scope/0.44.7:
+    resolution: {integrity: sha512-E6kqHWfJpm3TXHj9KWs23oVEzknVAUfqbDpGYxh9JYG+hIvbYQdrBpIXNspodxQllNeQtGrtkQ8/PrHDo/3hpw==}
     dev: true
     dev: true
 
 
-  /@unocss/transformer-compile-class/0.45.22:
-    resolution: {integrity: sha512-frpcTks4V/gg+yuLwWB5cmeYY9EqqytLppYpG1qozh2djUKpE1dCDH8PjuMeeJeN/xbWsPcHD+Y7NeCatLMzMg==}
+  /@unocss/transformer-compile-class/0.44.7:
+    resolution: {integrity: sha512-LwyjtdHIrgX6AREKiPmXSXjXclSUSnY/cHXSlwTqfs3Q0bkp6voFNG2CzhJF5xMoMa27ZszpvACbZG5CIZYOuA==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
     dev: true
     dev: true
 
 
-  /@unocss/transformer-directives/0.45.22:
-    resolution: {integrity: sha512-PEDPJHvLuymYwQYmvGHLnAit9h1BBf2+6unJ4UWrG5w6lfWrVJptk2CNVS1X3q2+VBg3dZ6eP2vGSW8IBzZoYw==}
+  /@unocss/transformer-directives/0.44.7:
+    resolution: {integrity: sha512-tDjFHfjpoaru/e468Nhhz+5ofdJY46mYgamF1n98RDLtH1hnKxS+PvD4mm0AxsY5NJ20hLUihzFbN0Mnuos4Ew==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
       css-tree: 2.2.1
       css-tree: 2.2.1
     dev: true
     dev: true
 
 
-  /@unocss/transformer-variant-group/0.45.22:
-    resolution: {integrity: sha512-0pNeTW6/fJ7Pcd/H4i5fI8EzDY+k349eEyWyvvlpNy+2A1DPk5Sr/2xJ/jI6GNQqnWRvOgvO1ObmtyyshPbNKw==}
+  /@unocss/transformer-variant-group/0.44.7:
+    resolution: {integrity: sha512-f5tJZ8rfpix245JgcezqjtvWC9wkc9Sdg0R/2yb3fyPBLGNonYGqAp2GViqmVo8UsFerullpKeUCmCSk8gCyFg==}
     dependencies:
     dependencies:
-      '@unocss/core': 0.45.22
+      '@unocss/core': 0.44.7
     dev: true
     dev: true
 
 
-  /@unocss/vite/0.45.22:
-    resolution: {integrity: sha512-uOVNjKOd3WC4/lipt57DEOZDk9V/yO8sGbaVMX2ofCzgyvhExCGSx/IcQKw9iI++i5GymjBbGgHYRU0G5Tv0ag==}
+  /@unocss/vite/0.44.7:
+    resolution: {integrity: sha512-RjOB+Yv2bg/p5NOzwXDYap0fl7m+1VmIfej8Afceisy0mDL1NniGISiA0pQjOhUewPdSaBDpRXxlpoDGnYaPjw==}
     peerDependencies:
     peerDependencies:
       vite: ^2.9.0 || ^3.0.0-0
       vite: ^2.9.0 || ^3.0.0-0
     dependencies:
     dependencies:
       '@ampproject/remapping': 2.2.0
       '@ampproject/remapping': 2.2.0
       '@rollup/pluginutils': 4.2.1
       '@rollup/pluginutils': 4.2.1
-      '@unocss/config': 0.45.22
-      '@unocss/core': 0.45.22
-      '@unocss/inspector': 0.45.22
-      '@unocss/scope': 0.45.22
-      '@unocss/transformer-directives': 0.45.22
+      '@unocss/config': 0.44.7
+      '@unocss/core': 0.44.7
+      '@unocss/inspector': 0.44.7
+      '@unocss/scope': 0.44.7
+      '@unocss/transformer-directives': 0.44.7
       magic-string: 0.26.3
       magic-string: 0.26.3
     dev: true
     dev: true
 
 
@@ -8150,7 +8131,7 @@ packages:
     dev: false
     dev: false
 
 
   /querystring/0.2.0:
   /querystring/0.2.0:
-    resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==}
+    resolution: {integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=}
     engines: {node: '>=0.4.x'}
     engines: {node: '>=0.4.x'}
     deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
     deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
     dev: false
     dev: false
@@ -9929,7 +9910,7 @@ packages:
     dev: false
     dev: false
 
 
   /tty-browserify/0.0.0:
   /tty-browserify/0.0.0:
-    resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==}
+    resolution: {integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=}
     dev: false
     dev: false
 
 
   /tween-functions/1.2.0:
   /tween-functions/1.2.0:
@@ -9991,21 +9972,21 @@ packages:
     resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==}
     resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==}
     dev: true
     dev: true
 
 
-  /umi/4.0.21_tc25ieqwkumnfvfdh765tx2i2y:
-    resolution: {integrity: sha512-k+857aGRcgKDwQxXfPNi8MfOExroT5/mZLSPIfym2mYCBDiLcwguCo4Nw0eX4H7ZxcNGffJ2F1HChrrarmegfQ==}
+  /umi/4.0.19_tc25ieqwkumnfvfdh765tx2i2y:
+    resolution: {integrity: sha512-RR+Ww2UlNjXGp62SPJEWb7segvgMN53G4zeIOflVfeVvjUtgcUsJc51+vaMY+s4UQvSURX1MkvjInavdT0vtYA==}
     engines: {node: '>=14'}
     engines: {node: '>=14'}
     hasBin: true
     hasBin: true
     dependencies:
     dependencies:
       '@babel/runtime': 7.18.9
       '@babel/runtime': 7.18.9
-      '@umijs/bundler-utils': 4.0.21
-      '@umijs/bundler-webpack': 4.0.21_typescript@4.8.2
-      '@umijs/core': 4.0.21
-      '@umijs/lint': 4.0.21_sz23bcy6qvhg4sffzmj7773twy
-      '@umijs/preset-umi': 4.0.21_rjcvefrtafgq4fj2mrpusruwom
-      '@umijs/renderer-react': 4.0.21_ef5jwxihqo6n7gxfmzogljlgcm
-      '@umijs/server': 4.0.21
-      '@umijs/test': 4.0.21
-      '@umijs/utils': 4.0.21
+      '@umijs/bundler-utils': 4.0.19
+      '@umijs/bundler-webpack': 4.0.19_typescript@4.8.2
+      '@umijs/core': 4.0.19
+      '@umijs/lint': 4.0.19_sz23bcy6qvhg4sffzmj7773twy
+      '@umijs/preset-umi': 4.0.19_rjcvefrtafgq4fj2mrpusruwom
+      '@umijs/renderer-react': 4.0.19_ef5jwxihqo6n7gxfmzogljlgcm
+      '@umijs/server': 4.0.19
+      '@umijs/test': 4.0.19
+      '@umijs/utils': 4.0.19
       prettier-plugin-organize-imports: 2.3.4_3izbkkkilozjwunt7rvlqzc6b4
       prettier-plugin-organize-imports: 2.3.4_3izbkkkilozjwunt7rvlqzc6b4
       prettier-plugin-packagejson: 2.2.18_prettier@2.7.1
       prettier-plugin-packagejson: 2.2.18_prettier@2.7.1
     transitivePeerDependencies:
     transitivePeerDependencies:
@@ -10068,32 +10049,30 @@ packages:
     engines: {node: '>= 10.0.0'}
     engines: {node: '>= 10.0.0'}
     dev: false
     dev: false
 
 
-  /unocss/0.45.22:
-    resolution: {integrity: sha512-3dXdfcUA72P48Ofk2Pr1SFgspTFyMn1UWOqDFkGrVQcIufIN0PvFqoxkN1qM/Zb4eKI8SOJA+Asb/hYZEVJPFg==}
+  /unocss/0.44.7:
+    resolution: {integrity: sha512-4XQZAZ7F5gFi30Dn4e7PdxYc2BVTBtrkXA5QzHgmBy/RqNoM5kEuQwsooEVEMl6Cp3Q+vHuQCueVffOBHUl9rQ==}
     engines: {node: '>=14'}
     engines: {node: '>=14'}
     peerDependencies:
     peerDependencies:
-      '@unocss/webpack': 0.45.22
+      '@unocss/webpack': 0.44.7
     peerDependenciesMeta:
     peerDependenciesMeta:
       '@unocss/webpack':
       '@unocss/webpack':
         optional: true
         optional: true
     dependencies:
     dependencies:
-      '@unocss/astro': 0.45.22
-      '@unocss/cli': 0.45.22
-      '@unocss/core': 0.45.22
-      '@unocss/preset-attributify': 0.45.22
-      '@unocss/preset-icons': 0.45.22
-      '@unocss/preset-mini': 0.45.22
-      '@unocss/preset-tagify': 0.45.22
-      '@unocss/preset-typography': 0.45.22
-      '@unocss/preset-uno': 0.45.22
-      '@unocss/preset-web-fonts': 0.45.22
-      '@unocss/preset-wind': 0.45.22
-      '@unocss/reset': 0.45.22
-      '@unocss/transformer-attributify-jsx': 0.45.22
-      '@unocss/transformer-compile-class': 0.45.22
-      '@unocss/transformer-directives': 0.45.22
-      '@unocss/transformer-variant-group': 0.45.22
-      '@unocss/vite': 0.45.22
+      '@unocss/cli': 0.44.7
+      '@unocss/core': 0.44.7
+      '@unocss/preset-attributify': 0.44.7
+      '@unocss/preset-icons': 0.44.7
+      '@unocss/preset-mini': 0.44.7
+      '@unocss/preset-tagify': 0.44.7
+      '@unocss/preset-typography': 0.44.7
+      '@unocss/preset-uno': 0.44.7
+      '@unocss/preset-web-fonts': 0.44.7
+      '@unocss/preset-wind': 0.44.7
+      '@unocss/reset': 0.44.7
+      '@unocss/transformer-compile-class': 0.44.7
+      '@unocss/transformer-directives': 0.44.7
+      '@unocss/transformer-variant-group': 0.44.7
+      '@unocss/vite': 0.44.7
     transitivePeerDependencies:
     transitivePeerDependencies:
       - supports-color
       - supports-color
       - vite
       - vite

+ 173 - 0
src/pages/Business/Matter/hooks/useRowScript.tsx

@@ -0,0 +1,173 @@
+import ProForm, { ProFormSelect, ProFormText } from '@ant-design/pro-form'
+import type { ModalAction } from '@/components/Modal'
+import { message, Modal } from 'antd'
+import { addMatter, delMatter, queryMatterTree, updateMatter } from '@/services/api/business'
+import { useState } from 'react'
+import { useRequest } from '@umijs/max'
+import consts from '@/utils/consts'
+
+export enum MatterType {
+  CATEGORY = 'category', // 分类
+  MATTER = 'matter' // 事项
+}
+
+const MatterTitleEnum = {
+  [MatterType.CATEGORY]: '分类名称',
+  [MatterType.MATTER]: '事项名称'
+}
+
+interface IState {
+  treeList?: API.MatterParams[]
+  expandTreeIds: []
+}
+
+export function useRowScript(modal: ModalAction) {
+  const [state, setState] = useState<IState>({})
+  const {
+    run: query,
+    refresh,
+    loading
+  } = useRequest(queryMatterTree, {
+    manual: true,
+    onSuccess: (result?: API.MatterParams[]) => {
+      function expandTreeList(data: API.MatterParams[]): string[] {
+        let idArr: string[] = []
+        data.forEach((item: API.MatterParams) => {
+          if (item.children?.length) {
+            idArr.push(item.ID)
+            const childIDs = expandTreeList(item.children)
+            idArr = [...idArr, ...childIDs]
+          }
+        })
+        return idArr
+      }
+      setState({
+        ...state,
+        treeList: result,
+        expandTreeIds: expandTreeList(result)
+      })
+      // setState({ ...state, treeList: result || [] })
+    }
+  })
+
+  /** 新建 */
+  const add = (mode: MatterType.CATEGORY | MatterType.MATTER, subjectParams) => {
+    const text = mode === MatterType.CATEGORY ? '新建分类' : '新建事项'
+    modal.open({
+      title: text,
+      okText: '确定',
+      cancelText: '取消',
+      type: 'form',
+      children: (
+        <ProForm submitter={false} layout="horizontal" labelCol={{ span: 5 }} isKeyPressSubmit>
+          <ProFormText hidden name="ID" />
+          {mode === MatterType.MATTER ? (
+            <ProFormSelect
+              name="parentID"
+              label="分类名称"
+              options={state.treeList
+                ?.filter(item => MatterType.CATEGORY.includes(item.matterType))
+                .map(data => ({ label: data.name, value: data.ID }))}
+              rules={[{ required: true, message: '请选择' }]}
+            />
+          ) : null}
+          <ProFormText
+            name="name"
+            label={MatterTitleEnum[mode]}
+            rules={[{ required: true, message: '请输入' }]}
+          />
+        </ProForm>
+      ),
+      onOk: async (values: API.MatterItem) => {
+        let requestFn: Nullable<() => Promise<viod>> = null
+        requestFn = addMatter
+        try {
+          if (mode === MatterType.CATEGORY) {
+            await requestFn?.({ ...values, ...subjectParams, matterType: MatterType.CATEGORY })
+          } else {
+            await requestFn?.({ ...values, ...subjectParams, matterType: MatterType.MATTER })
+          }
+          refresh()
+          modal.close()
+          message.success('新建成功')
+        } catch (error) {}
+      }
+    })
+  }
+
+  /** 编辑 */
+  const edit = (record, subjectParams) => {
+    const text = record.matterType === MatterType.CATEGORY ? '编辑分类' : '编辑事项'
+    modal.open({
+      title: text,
+      okText: '确定',
+      cancelText: '取消',
+      initialValues: { ...record },
+      type: 'form',
+      children: (
+        <ProForm submitter={false} layout="horizontal" labelCol={{ span: 5 }} isKeyPressSubmit>
+          <ProFormText hidden name="ID" />
+          {record.matterType === MatterType.MATTER ? (
+            <ProFormSelect
+              name="parentID"
+              label="分类名称"
+              options={state.list?.map(item => ({ label: item.name, value: item.ID }))}
+              rules={[{ required: true, message: '请选择' }]}
+            />
+          ) : null}
+          <ProFormText
+            name="name"
+            label={MatterTitleEnum[record.matterType]}
+            rules={[{ required: true, message: '请输入' }]}
+          />
+        </ProForm>
+      ),
+      onOk: async (values: API.MatterItem) => {
+        let requestFn: Nullable<() => Promise<viod>> = null
+        requestFn = updateMatter
+        try {
+          if (record.matterType === MatterType.CATEGORY) {
+            await requestFn?.({ ...values, ...subjectParams, matterType: MatterType.CATEGORY })
+          } else {
+            await requestFn?.({ ...values, ...subjectParams, matterType: MatterType.MATTER })
+          }
+          refresh()
+          modal.close()
+          message.success('编辑成功')
+        } catch (error) {}
+      }
+    })
+  }
+
+  /** 删除 */
+  const deleteMatter = (ID: string, children: any[]) => {
+    if (!children.length) {
+      Modal.confirm({
+        title: '删除',
+        content: '确认删除该行数据?',
+        okText: '确定',
+        cancelText: '取消',
+        onOk: async () => {
+          // 进行删除的接口请求
+          const { code = -1 } = await delMatter({ ID })
+          if (code === consts.RET_CODE.SUCCESS) {
+            message.success('删除成功')
+            refresh()
+          }
+        }
+      })
+    } else {
+      message.warning('请先移除该分类下的所有事项')
+    }
+  }
+
+  return {
+    query,
+    loading,
+    treeList: state.treeList,
+    expandTreeIds: state.expandTreeIds,
+    add,
+    edit,
+    deleteMatter
+  }
+}

+ 132 - 1
src/pages/Business/Matter/index.tsx

@@ -1,5 +1,136 @@
+import useModal from '@/components/Modal'
+import { PageContainer } from '@ant-design/pro-layout'
+import ProTable from '@ant-design/pro-table'
+import { Button } from 'antd'
+import { ColumnsType } from 'antd/lib/table'
+import { useState } from 'react'
+import LeftMenu from '../RuleCode/components/LeftMenu'
+import { MatterType, useRowScript } from './hooks/useRowScript'
+
+interface IState {
+  subjectParams: {
+    subjectID?: Nullable<string>
+    businessType?: Nullable<string>
+  }
+  expandTreeIds: []
+}
+
 const Matter: React.FC = () => {
 const Matter: React.FC = () => {
-  return <div>事项设置</div>
+  const [state, setState] = useState<IState>({
+    subjectParams: {
+      subjectID: '',
+      businessType: ''
+    },
+    expandTreeIds: []
+  })
+  const contentHeight = document.body.clientHeight - 122
+  const [modal, ModalDOM] = useModal()
+  const { query, loading, add, edit, deleteMatter, treeList = [], expandTreeIds = [] } = useRowScript(modal)
+
+  const columns: ColumnsType<API.MatterParams> = [
+    {
+      title: '分类',
+      dataIndex: 'name',
+      align: 'center',
+      render: (categoryName, record) => {
+        if (record.matterType === MatterType.MATTER) return null
+        return categoryName
+      }
+    },
+    {
+      title: '事项名称',
+      dataIndex: 'name',
+      align: 'center',
+      render: (matterName, record) => {
+        if (record.matterType === MatterType.CATEGORY) return null
+        return matterName
+      }
+    },
+    {
+      title: '包含组件',
+      dataIndex: ''
+    },
+    {
+      title: '操作',
+      dataIndex: 'opreate',
+      align: 'center',
+      renderText: (_, record) => (
+        <div className="divide-x divide-bg-gray-400 flex flex-row justify-center">
+          <span
+            className="pr-2 text-primary cursor-pointer hover:text-hex-967bbd"
+            onClick={() => edit(record, state.subjectParams)}>
+            编辑
+          </span>
+          <span
+            className={'pl-2 text-red-500 cursor-pointer hover:text-red-600'}
+            onClick={() => deleteMatter(record.ID, record.children)}>
+            删除
+          </span>
+        </div>
+      )
+    }
+  ]
+
+  const handleMenuOnChange = (key: string) => {
+    const [subjectID, businessType] = key.split('_')
+    setState({ ...state, subjectParams: { ...state.subjectParams, subjectID, businessType } })
+    query({ subjectID, businessType })
+  }
+  return (
+    <PageContainer title={false}>
+      <div className="h-full w-full flex flex-row">
+        <LeftMenu title="业务列表" onChange={key => handleMenuOnChange(key)} />
+        <div style={{ height: `${contentHeight}px` }} className="bg-white w-6/7 ml-8 rounded-20px">
+          <ProTable
+            search={false}
+            rowKey="ID"
+            headerTitle={
+              <div className="flex flex-nowrap justify-start items-center">
+                <div className="children:mx-1 px-1 py-2 ">
+                  <Button
+                    size="small"
+                    type="primary"
+                    ghost
+                    onClick={() => add(MatterType.CATEGORY, state.subjectParams)}>
+                    新建分类
+                  </Button>
+                  <Button
+                    size="small"
+                    type="primary"
+                    ghost
+                    onClick={() => add(MatterType.MATTER, state.subjectParams)}>
+                    新建事项
+                  </Button>
+                </div>
+              </div>
+            }
+            loading={loading}
+            columns={columns}
+            dataSource={treeList}
+            pagination={false}
+            size="small"
+            expandable={{
+              expandedRowKeys: expandTreeIds,
+              onExpand: (expanded, record) => {
+                if (expanded) {
+                  if (!expandTreeIds.includes(record.ID)) {
+                    return setState({ ...state, expandTreeIds: [...state.expandTreeIds, record.ID] })
+                  }
+                } else {
+                  setState({
+                    ...state,
+                    expandTreeIds: state.expandTreeIds.filter(item => item !== record.ID)
+                  })
+                }
+              },
+              expandIcon: () => null
+            }}
+          />
+        </div>
+      </div>
+      {ModalDOM}
+    </PageContainer>
+  )
 }
 }
 
 
 export default Matter
 export default Matter

+ 17 - 29
src/services/api/typings.d.ts

@@ -473,36 +473,24 @@ declare namespace API {
     id: string
     id: string
   }
   }
 
 
-  type MatterParams = {
-    ID: string
-    subjectID: string
-    matterType: string
-    businessType: string
-    parentID: string
-    name: string
-    sort: number
-    assembly: any[]
-    id: string
-    children: any[]
+  type MatterTreeItem = {
+    ID?: string
+    subjectID?: string
+    matterType?: 'category' | 'matter'
+    businessType?: string
+    parentID?: string
+    name?: string
+    sort?: number
+    assembly?: any[]
+    id?: string
+    children?: any[]
   }
   }
 
 
-  type MatterListParams = {
-    ID: string
-    subjectID: string
-    matterType: string
-    businessType: string
-    parentID: string
-    name: string
-    sort: number
-    assembly: any[]
-    id: string
-  }
+  type MatterListItem = Omit<MatterTreeItem, 'children'>
 
 
-  type MatterItem = {
-    subjectID: string
-    businessType: string
-    matterType: string
-    ID: string
-    name: string
-  }
+  type AddMatterParams = Pick<MatterTreeItem, 'subjectID' | 'businessType' | 'matterType' | 'name'>
+
+  type UpdateMatterParams = Pick<MatterTreeItem, 'ID' | 'parentID' | 'name'>
+
+  type DelMatterParams = Pick<MatterTreeItem, 'ID'>
 }
 }