zhengnaiwen_citu 1 年間 前
コミット
27203322d7
100 ファイル変更0 行追加5536 行削除
  1. 0 12
      .editorconfig
  2. 0 20
      .env
  3. 0 40
      .env.dev
  4. 0 38
      .env.local
  5. 0 36
      .env.prod
  6. 0 36
      .env.stage
  7. 0 36
      .env.test
  8. 0 8
      .eslintignore
  9. 0 259
      .eslintrc-auto-import.json
  10. 0 75
      .eslintrc.js
  11. 0 11
      .gitignore
  12. 0 11
      .prettierignore
  13. 0 6
      .stylelintignore
  14. 0 21
      LICENSE
  15. 0 265
      README.md
  16. 0 151
      index.html
  17. BIN
      node_modules/.pnpm/@esbuild+win32-x64@0.19.12/node_modules/@esbuild/win32-x64/esbuild.exe
  18. BIN
      node_modules/.pnpm/@rollup+rollup-win32-x64-msvc@4.17.0/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node
  19. BIN
      node_modules/.pnpm/@swc+core-win32-x64-msvc@1.4.17/node_modules/@swc/core-win32-x64-msvc/swc.win32-x64-msvc.node
  20. 0 144
      package.json
  21. 0 5
      postcss.config.js
  22. 0 22
      prettier.config.js
  23. BIN
      public/favicon.ico
  24. BIN
      public/home.png
  25. BIN
      public/logo.gif
  26. 0 58
      src/App.vue
  27. 0 8
      src/api/bpm/activity/index.ts
  28. 0 43
      src/api/bpm/category/index.ts
  29. 0 22
      src/api/bpm/definition/index.ts
  30. 0 56
      src/api/bpm/form/index.ts
  31. 0 27
      src/api/bpm/leave/index.ts
  32. 0 59
      src/api/bpm/model/index.ts
  33. 0 42
      src/api/bpm/processExpression/index.ts
  34. 0 68
      src/api/bpm/processInstance/index.ts
  35. 0 40
      src/api/bpm/processListener/index.ts
  36. 0 66
      src/api/bpm/task/index.ts
  37. 0 47
      src/api/bpm/userGroup/index.ts
  38. 0 98
      src/api/crm/business/index.ts
  39. 0 68
      src/api/crm/business/status/index.ts
  40. 0 78
      src/api/crm/clue/index.ts
  41. 0 113
      src/api/crm/contact/index.ts
  42. 0 16
      src/api/crm/contract/config/index.ts
  43. 0 114
      src/api/crm/contract/index.ts
  44. 0 132
      src/api/crm/customer/index.ts
  45. 0 49
      src/api/crm/customer/limitConfig/index.ts
  46. 0 19
      src/api/crm/customer/poolConfig/index.ts
  47. 0 43
      src/api/crm/followup/index.ts
  48. 0 11
      src/api/crm/operateLog/index.ts
  49. 0 72
      src/api/crm/permission/index.ts
  50. 0 33
      src/api/crm/product/category/index.ts
  51. 0 49
      src/api/crm/product/index.ts
  52. 0 73
      src/api/crm/receivable/index.ts
  53. 0 74
      src/api/crm/receivable/plan/index.ts
  54. 0 168
      src/api/crm/statistics/customer.ts
  55. 0 58
      src/api/crm/statistics/funnel.ts
  56. 0 33
      src/api/crm/statistics/performance.ts
  57. 0 60
      src/api/crm/statistics/portrait.ts
  58. 0 67
      src/api/crm/statistics/rank.ts
  59. 0 61
      src/api/erp/finance/account/index.ts
  60. 0 61
      src/api/erp/finance/payment/index.ts
  61. 0 61
      src/api/erp/finance/receipt/index.ts
  62. 0 49
      src/api/erp/product/category/index.ts
  63. 0 57
      src/api/erp/product/product/index.ts
  64. 0 46
      src/api/erp/product/unit/index.ts
  65. 0 64
      src/api/erp/purchase/in/index.ts
  66. 0 64
      src/api/erp/purchase/order/index.ts
  67. 0 62
      src/api/erp/purchase/return/index.ts
  68. 0 58
      src/api/erp/purchase/supplier/index.ts
  69. 0 58
      src/api/erp/sale/customer/index.ts
  70. 0 64
      src/api/erp/sale/order/index.ts
  71. 0 62
      src/api/erp/sale/out/index.ts
  72. 0 62
      src/api/erp/sale/return/index.ts
  73. 0 28
      src/api/erp/statistics/purchase/index.ts
  74. 0 28
      src/api/erp/statistics/sale/index.ts
  75. 0 61
      src/api/erp/stock/check/index.ts
  76. 0 62
      src/api/erp/stock/in/index.ts
  77. 0 61
      src/api/erp/stock/move/index.ts
  78. 0 62
      src/api/erp/stock/out/index.ts
  79. 0 32
      src/api/erp/stock/record/index.ts
  80. 0 41
      src/api/erp/stock/stock/index.ts
  81. 0 64
      src/api/erp/stock/warehouse/index.ts
  82. 0 34
      src/api/infra/apiAccessLog/index.ts
  83. 0 48
      src/api/infra/apiErrorLog/index.ts
  84. 0 122
      src/api/infra/codegen/index.ts
  85. 0 48
      src/api/infra/config/index.ts
  86. 0 35
      src/api/infra/dataSourceConfig/index.ts
  87. 0 40
      src/api/infra/demo/demo01/index.ts
  88. 0 37
      src/api/infra/demo/demo02/index.ts
  89. 0 91
      src/api/infra/demo/demo03/erp/index.ts
  90. 0 57
      src/api/infra/demo/demo03/inner/index.ts
  91. 0 57
      src/api/infra/demo/demo03/normal/index.ts
  92. 0 45
      src/api/infra/file/index.ts
  93. 0 61
      src/api/infra/fileConfig/index.ts
  94. 0 63
      src/api/infra/job/index.ts
  95. 0 33
      src/api/infra/jobLog/index.ts
  96. 0 8
      src/api/infra/redis/index.ts
  97. 0 176
      src/api/infra/redis/types.ts
  98. 0 81
      src/api/login/index.ts
  99. 0 41
      src/api/login/oauth2/index.ts
  100. 0 31
      src/api/login/types.ts

+ 0 - 12
.editorconfig

@@ -1,12 +0,0 @@
-root = true
-[*.{js,ts,vue}]
-charset = utf-8 # 设置文件字符集为 utf-8
-end_of_line = lf # 控制换行类型(lf | cr | crlf)
-insert_final_newline = true # 始终在文件末尾插入一个新行
-indent_style = space # 缩进风格(tab | space)
-indent_size = 2 # 缩进大小
-max_line_length = 100 # 最大行长度
-
-[*.md] # 仅 md 文件适用以下规则
-max_line_length = off # 关闭最大行长度限制
-trim_trailing_whitespace = false # 关闭末尾空格修剪

+ 0 - 20
.env

@@ -1,20 +0,0 @@
-# 标题
-VITE_APP_TITLE=芋道管理系统
-
-# 项目本地运行端口号
-VITE_PORT=80
-
-# open 运行 npm run dev 时自动打开浏览器
-VITE_OPEN=true
-
-# 租户开关
-VITE_APP_TENANT_ENABLE=true
-
-# 验证码的开关
-VITE_APP_CAPTCHA_ENABLE=true
-
-# 文档地址的开关
-VITE_APP_DOCALERT_ENABLE=true
-
-# 百度统计
-VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc

+ 0 - 40
.env.dev

@@ -1,40 +0,0 @@
-# 开发环境:本地只启动前端项目,依赖开发环境(后端、APP)
-NODE_ENV=development
-
-VITE_DEV=true
-
-# 请求路径
-VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
-# VITE_BASE_URL='http://dofast.demo.huizhizao.vip:20001'
-
-# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
-VITE_UPLOAD_TYPE=server
-# 上传路径
-VITE_UPLOAD_URL='http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload'
-
-# 接口前缀
-VITE_API_BASEPATH=/dev-api
-
-# 接口地址
-VITE_API_URL=/admin-api
-
-# 是否删除debugger
-VITE_DROP_DEBUGGER=false
-
-# 是否删除console.log
-VITE_DROP_CONSOLE=false
-
-# 是否sourcemap
-VITE_SOURCEMAP=true
-
-# 打包路径
-VITE_BASE_PATH=/
-
-# 输出路径
-VITE_OUT_DIR=dist
-
-# 商城H5会员端域名
-VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'
-
-# 验证码的开关
-VITE_APP_CAPTCHA_ENABLE=false

+ 0 - 38
.env.local

@@ -1,38 +0,0 @@
-# 本地开发环境:本地启动所有项目(前端、后端、APP)时使用,不依赖外部环境
-NODE_ENV=development
-
-VITE_DEV=true
-
-# 请求路径
-VITE_BASE_URL='http://192.168.3.80'
-# VITE_BASE_URL='http://localhost:48080'
-
-# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
-VITE_UPLOAD_TYPE=server
-# 上传路径
-VITE_UPLOAD_URL='http://192.168.3.80/admin-api/infra/file/upload'
-# VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
-
-# 接口前缀
-VITE_API_BASEPATH=/dev-api
-
-# 接口地址
-VITE_API_URL=/admin-api
-
-# 是否删除debugger
-VITE_DROP_DEBUGGER=false
-
-# 是否删除console.log
-VITE_DROP_CONSOLE=false
-
-# 是否sourcemap
-VITE_SOURCEMAP=false
-
-# 打包路径
-VITE_BASE_PATH=/
-
-# 商城H5会员端域名
-VITE_MALL_H5_DOMAIN='http://localhost:3000'
-
-# 验证码的开关
-VITE_APP_CAPTCHA_ENABLE=false

+ 0 - 36
.env.prod

@@ -1,36 +0,0 @@
-# 生产环境:只在打包时使用
-NODE_ENV=production
-
-VITE_DEV=false
-
-# 请求路径
-VITE_BASE_URL='http://localhost:48080'
-
-# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
-VITE_UPLOAD_TYPE=server
-# 上传路径
-VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
-
-# 接口前缀
-VITE_API_BASEPATH=
-
-# 接口地址
-VITE_API_URL=/admin-api
-
-# 是否删除debugger
-VITE_DROP_DEBUGGER=true
-
-# 是否删除console.log
-VITE_DROP_CONSOLE=true
-
-# 是否sourcemap
-VITE_SOURCEMAP=false
-
-# 打包路径
-VITE_BASE_PATH=/
-
-# 输出路径
-VITE_OUT_DIR=dist-prod
-
-# 商城H5会员端域名
-VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'

+ 0 - 36
.env.stage

@@ -1,36 +0,0 @@
-# 预发布环境:只在打包时使用
-NODE_ENV=production
-
-VITE_DEV=false
-
-# 请求路径
-VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
-
-# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
-VITE_UPLOAD_TYPE=server
-# 上传路径
-VITE_UPLOAD_URL='http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload'
-
-# 接口前缀
-VITE_API_BASEPATH=
-
-# 接口地址
-VITE_API_URL=/admin-api
-
-# 是否删除debugger
-VITE_DROP_DEBUGGER=true
-
-# 是否删除console.log
-VITE_DROP_CONSOLE=true
-
-# 是否sourcemap
-VITE_SOURCEMAP=false
-
-# 打包路径
-VITE_BASE_PATH='http://static-vue3.yudao.iocoder.cn/'
-
-# 输出路径
-VITE_OUT_DIR=dist-stage
-
-# 商城H5会员端域名
-VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'

+ 0 - 36
.env.test

@@ -1,36 +0,0 @@
-# 测试环境:只在打包时使用
-NODE_ENV=production
-
-VITE_DEV=false
-
-# 请求路径
-VITE_BASE_URL='http://localhost:48080'
-
-# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
-VITE_UPLOAD_TYPE=server
-# 上传路径
-VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
-
-# 接口前缀
-VITE_API_BASEPATH=
-
-# 接口地址
-VITE_API_URL=/admin-api
-
-# 是否删除debugger
-VITE_DROP_DEBUGGER=true
-
-# 是否删除console.log
-VITE_DROP_CONSOLE=true
-
-# 是否sourcemap
-VITE_SOURCEMAP=false
-
-# 打包路径
-VITE_BASE_PATH=/admin-ui-vue3/
-
-# 输出路径
-VITE_OUT_DIR=dist-test
-
-# 商城H5会员端域名
-VITE_MALL_H5_DOMAIN='http://mall.yudao.iocoder.cn'

+ 0 - 8
.eslintignore

@@ -1,8 +0,0 @@
-/build/
-/config/
-/dist/
-/*.js
-/test/unit/coverage/
-/node_modules/*
-/dist*
-/src/main.ts

+ 0 - 259
.eslintrc-auto-import.json

@@ -1,259 +0,0 @@
-{
-  "globals": {
-    "EffectScope": true,
-    "ElMessage": true,
-    "ElMessageBox": true,
-    "ElTag": true,
-    "asyncComputed": true,
-    "autoResetRef": true,
-    "computed": true,
-    "computedAsync": true,
-    "computedEager": true,
-    "computedInject": true,
-    "computedWithControl": true,
-    "controlledComputed": true,
-    "controlledRef": true,
-    "createApp": true,
-    "createEventHook": true,
-    "createGlobalState": true,
-    "createInjectionState": true,
-    "createReactiveFn": true,
-    "createSharedComposable": true,
-    "createUnrefFn": true,
-    "customRef": true,
-    "debouncedRef": true,
-    "debouncedWatch": true,
-    "defineAsyncComponent": true,
-    "defineComponent": true,
-    "eagerComputed": true,
-    "effectScope": true,
-    "extendRef": true,
-    "getCurrentInstance": true,
-    "getCurrentScope": true,
-    "h": true,
-    "ignorableWatch": true,
-    "inject": true,
-    "isDefined": true,
-    "isProxy": true,
-    "isReactive": true,
-    "isReadonly": true,
-    "isRef": true,
-    "makeDestructurable": true,
-    "markRaw": true,
-    "nextTick": true,
-    "onActivated": true,
-    "onBeforeMount": true,
-    "onBeforeUnmount": true,
-    "onBeforeUpdate": true,
-    "onClickOutside": true,
-    "onDeactivated": true,
-    "onErrorCaptured": true,
-    "onKeyStroke": true,
-    "onLongPress": true,
-    "onMounted": true,
-    "onRenderTracked": true,
-    "onRenderTriggered": true,
-    "onScopeDispose": true,
-    "onServerPrefetch": true,
-    "onStartTyping": true,
-    "onUnmounted": true,
-    "onUpdated": true,
-    "pausableWatch": true,
-    "provide": true,
-    "reactify": true,
-    "reactifyObject": true,
-    "reactive": true,
-    "reactiveComputed": true,
-    "reactiveOmit": true,
-    "reactivePick": true,
-    "readonly": true,
-    "ref": true,
-    "refAutoReset": true,
-    "refDebounced": true,
-    "refDefault": true,
-    "refThrottled": true,
-    "refWithControl": true,
-    "resolveComponent": true,
-    "resolveRef": true,
-    "resolveUnref": true,
-    "shallowReactive": true,
-    "shallowReadonly": true,
-    "shallowRef": true,
-    "syncRef": true,
-    "syncRefs": true,
-    "templateRef": true,
-    "throttledRef": true,
-    "throttledWatch": true,
-    "toRaw": true,
-    "toReactive": true,
-    "toRef": true,
-    "toRefs": true,
-    "triggerRef": true,
-    "tryOnBeforeMount": true,
-    "tryOnBeforeUnmount": true,
-    "tryOnMounted": true,
-    "tryOnScopeDispose": true,
-    "tryOnUnmounted": true,
-    "unref": true,
-    "unrefElement": true,
-    "until": true,
-    "useActiveElement": true,
-    "useArrayEvery": true,
-    "useArrayFilter": true,
-    "useArrayFind": true,
-    "useArrayFindIndex": true,
-    "useArrayJoin": true,
-    "useArrayMap": true,
-    "useArrayReduce": true,
-    "useArraySome": true,
-    "useAsyncQueue": true,
-    "useAsyncState": true,
-    "useAttrs": true,
-    "useBase64": true,
-    "useBattery": true,
-    "useBluetooth": true,
-    "useBreakpoints": true,
-    "useBroadcastChannel": true,
-    "useBrowserLocation": true,
-    "useCached": true,
-    "useClipboard": true,
-    "useColorMode": true,
-    "useConfirmDialog": true,
-    "useCounter": true,
-    "useCssModule": true,
-    "useCssVar": true,
-    "useCssVars": true,
-    "useCurrentElement": true,
-    "useCycleList": true,
-    "useDark": true,
-    "useDateFormat": true,
-    "useDebounce": true,
-    "useDebounceFn": true,
-    "useDebouncedRefHistory": true,
-    "useDeviceMotion": true,
-    "useDeviceOrientation": true,
-    "useDevicePixelRatio": true,
-    "useDevicesList": true,
-    "useDisplayMedia": true,
-    "useDocumentVisibility": true,
-    "useDraggable": true,
-    "useDropZone": true,
-    "useElementBounding": true,
-    "useElementByPoint": true,
-    "useElementHover": true,
-    "useElementSize": true,
-    "useElementVisibility": true,
-    "useEventBus": true,
-    "useEventListener": true,
-    "useEventSource": true,
-    "useEyeDropper": true,
-    "useFavicon": true,
-    "useFetch": true,
-    "useFileDialog": true,
-    "useFileSystemAccess": true,
-    "useFocus": true,
-    "useFocusWithin": true,
-    "useFps": true,
-    "useFullscreen": true,
-    "useGamepad": true,
-    "useGeolocation": true,
-    "useIdle": true,
-    "useImage": true,
-    "useInfiniteScroll": true,
-    "useIntersectionObserver": true,
-    "useInterval": true,
-    "useIntervalFn": true,
-    "useKeyModifier": true,
-    "useLastChanged": true,
-    "useLocalStorage": true,
-    "useMagicKeys": true,
-    "useManualRefHistory": true,
-    "useMediaControls": true,
-    "useMediaQuery": true,
-    "useMemoize": true,
-    "useMemory": true,
-    "useMounted": true,
-    "useMouse": true,
-    "useMouseInElement": true,
-    "useMousePressed": true,
-    "useMutationObserver": true,
-    "useNavigatorLanguage": true,
-    "useNetwork": true,
-    "useNow": true,
-    "useObjectUrl": true,
-    "useOffsetPagination": true,
-    "useOnline": true,
-    "usePageLeave": true,
-    "useParallax": true,
-    "usePermission": true,
-    "usePointer": true,
-    "usePointerSwipe": true,
-    "usePreferredColorScheme": true,
-    "usePreferredDark": true,
-    "usePreferredLanguages": true,
-    "useRafFn": true,
-    "useRefHistory": true,
-    "useResizeObserver": true,
-    "useRoute": true,
-    "useRouter": true,
-    "useScreenOrientation": true,
-    "useScreenSafeArea": true,
-    "useScriptTag": true,
-    "useScroll": true,
-    "useScrollLock": true,
-    "useSessionStorage": true,
-    "useShare": true,
-    "useSlots": true,
-    "useSpeechRecognition": true,
-    "useSpeechSynthesis": true,
-    "useStepper": true,
-    "useStorage": true,
-    "useStorageAsync": true,
-    "useStyleTag": true,
-    "useSupported": true,
-    "useSwipe": true,
-    "useTemplateRefsList": true,
-    "useTextDirection": true,
-    "useTextSelection": true,
-    "useTextareaAutosize": true,
-    "useThrottle": true,
-    "useThrottleFn": true,
-    "useThrottledRefHistory": true,
-    "useTimeAgo": true,
-    "useTimeout": true,
-    "useTimeoutFn": true,
-    "useTimeoutPoll": true,
-    "useTimestamp": true,
-    "useTitle": true,
-    "useToggle": true,
-    "useTransition": true,
-    "useUrlSearchParams": true,
-    "useUserMedia": true,
-    "useVModel": true,
-    "useVModels": true,
-    "useVibrate": true,
-    "useVirtualList": true,
-    "useWakeLock": true,
-    "useWebNotification": true,
-    "useWebSocket": true,
-    "useWebWorker": true,
-    "useWebWorkerFn": true,
-    "useWindowFocus": true,
-    "useWindowScroll": true,
-    "useWindowSize": true,
-    "watch": true,
-    "watchArray": true,
-    "watchAtMost": true,
-    "watchDebounced": true,
-    "watchEffect": true,
-    "watchIgnorable": true,
-    "watchOnce": true,
-    "watchPausable": true,
-    "watchPostEffect": true,
-    "watchSyncEffect": true,
-    "watchThrottled": true,
-    "watchTriggerable": true,
-    "watchWithFilter": true,
-    "whenever": true
-  }
-}

+ 0 - 75
.eslintrc.js

@@ -1,75 +0,0 @@
-// @ts-check
-const { defineConfig } = require('eslint-define-config')
-module.exports = defineConfig({
-  root: true,
-  env: {
-    browser: true,
-    node: true,
-    es6: true
-  },
-  parser: 'vue-eslint-parser',
-  parserOptions: {
-    parser: '@typescript-eslint/parser',
-    ecmaVersion: 2020,
-    sourceType: 'module',
-    jsxPragma: 'React',
-    ecmaFeatures: {
-      jsx: true
-    }
-  },
-  extends: [
-    'plugin:vue/vue3-recommended',
-    'plugin:@typescript-eslint/recommended',
-    'prettier',
-    'plugin:prettier/recommended',
-    '@unocss'
-  ],
-  rules: {
-    'vue/no-setup-props-destructure': 'off',
-    'vue/script-setup-uses-vars': 'error',
-    'vue/no-reserved-component-names': 'off',
-    '@typescript-eslint/ban-ts-ignore': 'off',
-    '@typescript-eslint/explicit-function-return-type': 'off',
-    '@typescript-eslint/no-explicit-any': 'off',
-    '@typescript-eslint/no-var-requires': 'off',
-    '@typescript-eslint/no-empty-function': 'off',
-    'vue/custom-event-name-casing': 'off',
-    'no-use-before-define': 'off',
-    '@typescript-eslint/no-use-before-define': 'off',
-    '@typescript-eslint/ban-ts-comment': 'off',
-    '@typescript-eslint/ban-types': 'off',
-    '@typescript-eslint/no-non-null-assertion': 'off',
-    '@typescript-eslint/explicit-module-boundary-types': 'off',
-    '@typescript-eslint/no-unused-vars': 'off',
-    'no-unused-vars': 'off',
-    'space-before-function-paren': 'off',
-
-    'vue/attributes-order': 'off',
-    'vue/one-component-per-file': 'off',
-    'vue/html-closing-bracket-newline': 'off',
-    'vue/max-attributes-per-line': 'off',
-    'vue/multiline-html-element-content-newline': 'off',
-    'vue/singleline-html-element-content-newline': 'off',
-    'vue/attribute-hyphenation': 'off',
-    'vue/require-default-prop': 'off',
-    'vue/require-explicit-emits': 'off',
-    'vue/require-toggle-inside-transition': 'off',
-    'vue/html-self-closing': [
-      'error',
-      {
-        html: {
-          void: 'always',
-          normal: 'never',
-          component: 'always'
-        },
-        svg: 'always',
-        math: 'always'
-      }
-    ],
-    'vue/multi-word-component-names': 'off',
-    'vue/no-v-html': 'off',
-    'prettier/prettier': 'off', // 芋艿:默认关闭 prettier 的 ESLint 校验,因为我们使用的是 IDE 的 Prettier 插件
-    '@unocss/order': 'off', // 芋艿:禁用 unocss 【css】顺序的提示,因为暂时不需要这么严格,警告也有点繁琐
-    '@unocss/order-attributify': 'off' // 芋艿:禁用 unocss 【属性】顺序的提示,因为暂时不需要这么严格,警告也有点繁琐
-  }
-})

+ 0 - 11
.gitignore

@@ -1,11 +0,0 @@
-node_modules
-.DS_Store
-dist
-dist-ssr
-*.local
-/dist*
-*-lock.*
-pnpm-debug
-auto-*.d.ts
-.idea
-.history

+ 0 - 11
.prettierignore

@@ -1,11 +0,0 @@
-/node_modules/**
-/dist/
-/dist*
-/public/*
-/docs/*
-/vite.config.ts
-/src/types/env.d.ts
-/src/types/auto-components.d.ts
-/src/types/auto-imports.d.ts
-/docs/**/*
-CHANGELOG

+ 0 - 6
.stylelintignore

@@ -1,6 +0,0 @@
-/dist/*
-/public/*
-public/*
-/dist*
-/src/types/env.d.ts
-/docs/**/*

+ 0 - 21
LICENSE

@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2021-present Archer
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 265
README.md

@@ -1,265 +0,0 @@
-**严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!**
-
-**「我喜欢写代码,乐此不疲」**  
-**「我喜欢做开源,以此为乐」**
-
-我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。
-
-如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。
-
-## 🐶 新手必读
-
-* nodejs > 16.18.0 && pnpm > 8.6.0 (强制使用pnpm)
-* 演示地址【Vue3 + element-plus】:<http://dashboard-vue3.yudao.iocoder.cn>
-* 演示地址【Vue3 + vben(ant-design-vue)】:<http://dashboard-vben.yudao.iocoder.cn>
-* 演示地址【Vue2 + element-ui】:<http://dashboard.yudao.iocoder.cn>
-* 启动文档:<https://doc.iocoder.cn/quick-start/>
-* 视频教程:<https://doc.iocoder.cn/video/>
-
-## 🐯 平台简介
-
-**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。
-
-* 采用 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin) 实现
-* 改换 saas,自动引入等功能
-* 使用 Element Plus 免费开源的中后台模版,具备如下特性:
-
-![首页](public/home.png)
-
-* **最新技术栈**:使用 Vue3、Vite4 等前端前沿技术开发
-* **TypeScript**: 应用程序级 JavaScript 的语言
-* **主题**: 可配置的主题
-* **国际化**:内置完善的国际化方案
-* **权限**:内置完善的动态路由权限生成方案
-* **组件**:二次封装了多个常用的组件
-* **示例**:内置丰富的示例
-
-## 技术栈
-
-| 框架                                                                   | 说明               | 版本     |
-|----------------------------------------------------------------------|------------------|--------|
-| [Vue](https://staging-cn.vuejs.org/)                                 | Vue 框架           | 3.3.8 |
-| [Vite](https://cn.vitejs.dev//)                                      | 开发与构建工具          | 4.5.0  |
-| [Element Plus](https://element-plus.org/zh-CN/)                      | Element Plus     | 2.4.2 |
-| [TypeScript](https://www.typescriptlang.org/docs/)                   | JavaScript 的超集   | 5.2.2  |
-| [pinia](https://pinia.vuejs.org/)                                    | Vue 存储库 替代 vuex5 | 2.1.7 |
-| [vueuse](https://vueuse.org/)                                        | 常用工具集            | 10.6.1 |
-| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化              | 9.6.5  |
-| [vue-router](https://router.vuejs.org/)                              | Vue 路由           | 4.2.5  |
-| [unocss](https://uno.antfu.me/)                                      | 原子 css          | 0.57.4  |
-| [iconify](https://icon-sets.iconify.design/)                         | 在线图标库            | 3.1.1  |
-| [wangeditor](https://www.wangeditor.com/)                            | 富文本编辑器           | 5.1.23 |
-
-## 开发工具
-
-推荐 VS Code 开发,配合插件如下:
-
-| 插件名                           | 功能                       |
-|-------------------------------|--------------------------|
-| TypeScript Vue Plugin (Volar) | 用于 TypeScript 的 Vue 插件  |
-| Vue Language Features (Volar) | Vue3.0 语法支持              |
-| unocss                        | unocss for vscode           |
-| Iconify IntelliSense          | Iconify 预览和搜索           |
-| i18n Ally                     | 国际化智能提示               |
-| Stylelint                     | Css    格式化               |
-| Prettier                      | 代码格式化                   |
-| ESLint                        | 脚本代码检查                  |
-| DotENV                        | env 文件高亮                 |
-
-## 🔥 后端架构
-
-支持 Spring Boot、Spring Cloud 两种架构:
-
-① Spring Boot 单体架构:<https://github.com/YunaiV/ruoyi-vue-pro>
-
-![架构图](/.image/common/ruoyi-vue-pro-architecture.png)
-
-② Spring Cloud 微服务架构:<https://github.com/YunaiV/yudao-cloud>
-
-![架构图](/.image/common/yudao-cloud-architecture.png)
-
-## 内置功能
-
-系统内置多种多种业务功能,可以用于快速你的业务系统:
-
-* 系统功能
-* 基础设施
-* 工作流程
-* 支付系统
-* 会员中心
-* 数据报表
-* 商城系统
-* 微信公众号
-* ERP 系统
-* CRM 系统
-
-### 系统功能
-
-|     | 功能    | 描述                              |
-|-----|-------|---------------------------------|
-|     | 用户管理  | 用户是系统操作者,该功能主要完成系统用户配置          |
-| ⭐️  | 在线用户  | 当前系统中活跃用户状态监控,支持手动踢下线           |
-|     | 角色管理  | 角色菜单权限分配、设置角色按机构进行数据范围权限划分      |
-|     | 菜单管理  | 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能    |
-|     | 部门管理  | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限  |
-|     | 岗位管理  | 配置系统用户所属担任职务                    |
-| 🚀  | 租户管理  | 配置系统租户,支持 SaaS 场景下的多租户功能        |
-| 🚀  | 租户套餐  | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限       |
-|     | 字典管理  | 对系统中经常使用的一些较为固定的数据进行维护          |
-| 🚀  | 短信管理  | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 |
-| 🚀  | 邮件管理  | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台       |
-| 🚀  | 站内信   | 系统内的消息通知,提供站内信模版、站内信消息          |
-| 🚀  | 操作日志  | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
-| ⭐️  | 登录日志  | 系统登录日志记录查询,包含登录异常               |
-| 🚀  | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务     |
-|     | 通知公告  | 系统通知公告信息发布维护                    |
-| 🚀  | 敏感词   | 配置系统敏感词,支持标签分组                  |
-| 🚀  | 应用管理  | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 |
-| 🚀  | 地区管理  | 展示省份、城市、区镇等城市信息,支持 IP 对应城市      |
-
-![功能图](/.image/common/system-feature.png)
-
-### 工作流程
-
-|     | 功能    | 描述                                     |
-|-----|-------|----------------------------------------|
-| 🚀  | 流程模型  | 配置工作流的流程模型,支持文件导入与在线设计流程图,提供 7 种任务分配规则 |
-| 🚀  | 流程表单  | 拖动表单元素生成相应的工作流表单,覆盖 Element UI 所有的表单组件 |
-| 🚀  | 用户分组  | 自定义用户分组,可用于工作流的审批分组                    |
-| 🚀  | 我的流程  | 查看我发起的工作流程,支持新建、取消流程等操作,高亮流程图、审批时间线    |
-| 🚀  | 待办任务  | 查看自己【未】审批的工作任务,支持通过、不通过、转发、委派、退回等操作    |
-| 🚀  | 已办任务  | 查看自己【已】审批的工作任务,未来会支持回退操作               |
-| 🚀  | OA 请假 | 作为业务自定义接入工作流的使用示例,只需创建请求对应的工作流程,即可进行审批 |
-
-![功能图](/.image/common/bpm-feature.png)
-
-### 支付系统
-
-|     | 功能   | 描述                        |
-|-----|------|---------------------------|
-| 🚀  | 商户信息 | 管理商户信息,支持 Saas 场景下的多商户功能  |
-| 🚀  | 应用信息 | 配置商户的应用信息,对接支付宝、微信等多个支付渠道 |
-| 🚀  | 支付订单 | 查看用户发起的支付宝、微信等的【支付】订单     |
-| 🚀  | 退款订单 | 查看用户发起的支付宝、微信等的【退款】订单     |
-
-ps:核心功能已经实现,正在对接微信小程序中...
-
-### 基础设施
-
-|    | 功能       | 描述                                           |
-|----|----------|----------------------------------------------|
-| 🚀 | 代码生成     | 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载       |
-| 🚀 | 系统接口     | 基于 Swagger 自动生成相关的 RESTful API 接口文档          |
-| 🚀 | 数据库文档    | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式      |
-|    | 表单构建     | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件         |
-| 🚀 | 配置管理     | 对系统动态配置常用参数,支持 SpringBoot 加载                 |
-| ⭐️ | 定时任务     | 在线(添加、修改、删除)任务调度包含执行结果日志                     |
-| 🚀 | 文件服务     | 支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等   |
-| 🚀 | API 日志   | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题   |
-|    | MySQL 监控 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈              |
-|    | Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理           |
-| 🚀 | 消息队列     | 基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费 |
-| 🚀 | Java 监控  | 基于 Spring Boot Admin 实现 Java 应用的监控           |
-| 🚀 | 链路追踪     | 接入 SkyWalking 组件,实现链路追踪                      |
-| 🚀 | 日志中心     | 接入 SkyWalking 组件,实现日志中心                      |
-| 🚀 | 服务保障     | 基于 Redis 实现分布式锁、幂等、限流功能,满足高并发场景              |
-| 🚀 | 日志服务     | 轻量级日志中心,查看远程服务器的日志                           |
-| 🚀 | 单元测试     | 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等    |
-
-![功能图](/.image/common/infra-feature.png)
-
-### 数据报表
-
-|     | 功能    | 描述                 |
-|-----|-------|--------------------|
-| 🚀  | 报表设计器 | 支持数据报表、图形报表、打印设计等  |
-| 🚀  | 大屏设计器 | 拖拽生成数据大屏,内置几十种图表组件 |
-
-### 微信公众号
-
-|     | 功能     | 描述                            |
-|-----|--------|-------------------------------|
-| 🚀  | 账号管理   | 配置接入的微信公众号,可支持多个公众号           |
-| 🚀  | 数据统计   | 统计公众号的用户增减、累计用户、消息概况、接口分析等数据  |
-| 🚀  | 粉丝管理   | 查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作 |
-| 🚀  | 消息管理   | 查看粉丝发送的消息列表,可主动回复粉丝消息         |
-| 🚀  | 自动回复   | 自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复 |
-| 🚀  | 标签管理   | 对公众号的标签进行创建、查询、修改、删除等操作       |
-| 🚀  | 菜单管理   | 自定义公众号的菜单,也可以从公众号同步菜单         |
-| 🚀  | 素材管理   | 管理公众号的图片、语音、视频等素材,支持在线播放语音、视频 |
-| 🚀  | 图文草稿箱  | 新增常用的图文素材到草稿箱,可发布到公众号         |
-| 🚀  | 图文发表记录 | 查看已发布成功的图文素材,支持删除操作           |
-
-### 商城系统
-
-![功能图](/.image/common/mall-feature.png)
-
-![功能图](/.image/common/mall-preview.png)
-
-_前端基于 crmeb uniapp 经过授权重构,优化代码实现,接入芋道快速开发平台_
-
-演示地址:<https://doc.iocoder.cn/mall-preview/>
-
-### ERP 系统
-
-![功能图](/.image/common/erp-feature.png)
-
-演示地址:<https://doc.iocoder.cn/erp-preview/>
-
-### CRM 系统
-
-![功能图](/.image/common/crm-feature.png)
-
-演示地址:<https://doc.iocoder.cn/crm-preview/>
-
-## 🐷 演示图
-
-### 系统功能
-
-| 模块       | biu                         | biu                       | biu                      |
-|----------|-----------------------------|---------------------------|--------------------------|
-| 登录 & 首页  | ![登录](/.image/登录.jpg)       | ![首页](/.image/首页.jpg)     | ![个人中心](/.image/个人中心.jpg) |
-| 用户 & 应用  | ![用户管理](/.image/用户管理.jpg)   | ![令牌管理](/.image/令牌管理.jpg) | ![应用管理](/.image/应用管理.jpg) |
-| 租户 & 套餐  | ![租户管理](/.image/租户管理.jpg)   | ![租户套餐](/.image/租户套餐.png) | -                        |
-| 部门 & 岗位  | ![部门管理](/.image/部门管理.jpg)   | ![岗位管理](/.image/岗位管理.jpg) | -                        |
-| 菜单 & 角色  | ![菜单管理](/.image/菜单管理.jpg)   | ![角色管理](/.image/角色管理.jpg) | -                        |
-| 审计日志     | ![操作日志](/.image/操作日志.jpg)   | ![登录日志](/.image/登录日志.jpg) | -                        |
-| 短信       | ![短信渠道](/.image/短信渠道.jpg)   | ![短信模板](/.image/短信模板.jpg) | ![短信日志](/.image/短信日志.jpg) |
-| 字典 & 敏感词 | ![字典类型](/.image/字典类型.jpg)   | ![字典数据](/.image/字典数据.jpg) | ![敏感词](/.image/敏感词.jpg)  |
-| 错误码 & 通知 | ![错误码管理](/.image/错误码管理.jpg) | ![通知公告](/.image/通知公告.jpg) | -                        |
-
-### 工作流程
-
-| 模块      | biu                             | biu                             | biu                             |
-|---------|---------------------------------|---------------------------------|---------------------------------|
-| 流程模型    | ![流程模型-列表](/.image/流程模型-列表.jpg) | ![流程模型-设计](/.image/流程模型-设计.jpg) | ![流程模型-定义](/.image/流程模型-定义.jpg) |
-| 表单 & 分组 | ![流程表单](/.image/流程表单.jpg)       | ![用户分组](/.image/用户分组.jpg)       | -                               |
-| 我的流程    | ![我的流程-列表](/.image/我的流程-列表.jpg) | ![我的流程-发起](/.image/我的流程-发起.jpg) | ![我的流程-详情](/.image/我的流程-详情.jpg) |
-| 待办 & 已办 | ![任务列表-审批](/.image/任务列表-审批.jpg) | ![任务列表-待办](/.image/任务列表-待办.jpg) | ![任务列表-已办](/.image/任务列表-已办.jpg) |
-| OA 请假   | ![OA请假-列表](/.image/OA请假-列表.jpg) | ![OA请假-发起](/.image/OA请假-发起.jpg) | ![OA请假-详情](/.image/OA请假-详情.jpg) |
-
-### 基础设施
-
-| 模块            | biu                           | biu                         | biu                       |
-|---------------|-------------------------------|-----------------------------|---------------------------|
-| 代码生成          | ![代码生成](/.image/代码生成.jpg)     | ![生成效果](/.image/生成效果.jpg)   | -                         |
-| 文档            | ![系统接口](/.image/系统接口.jpg)     | ![数据库文档](/.image/数据库文档.jpg) | -                         |
-| 文件 & 配置       | ![文件配置](/.image/文件配置.jpg)     | ![文件管理](/.image/文件管理2.jpg)  | ![配置管理](/.image/配置管理.jpg) |
-| 定时任务          | ![定时任务](/.image/定时任务.jpg)     | ![任务日志](/.image/任务日志.jpg)   | -                         |
-| API 日志        | ![访问日志](/.image/访问日志.jpg)     | ![错误日志](/.image/错误日志.jpg)   | -                         |
-| MySQL & Redis | ![MySQL](/.image/MySQL.jpg)   | ![Redis](/.image/Redis.jpg) | -                         |
-| 监控平台          | ![Java监控](/.image/Java监控.jpg) | ![链路追踪](/.image/链路追踪.jpg)   | ![日志中心](/.image/日志中心.jpg) |
-
-### 支付系统
-
-| 模块      | biu                       | biu                             | biu                             |
-|---------|---------------------------|---------------------------------|---------------------------------|
-| 商家 & 应用 | ![商户信息](/.image/商户信息.jpg) | ![应用信息-列表](/.image/应用信息-列表.jpg) | ![应用信息-编辑](/.image/应用信息-编辑.jpg) |
-| 支付 & 退款 | ![支付订单](/.image/支付订单.jpg) | ![退款订单](/.image/退款订单.jpg)       | ---                             |
-
-### 数据报表
-
-| 模块    | biu                             | biu                             | biu                                   |
-|-------|---------------------------------|---------------------------------|---------------------------------------|
-| 报表设计器 | ![数据报表](/.image/报表设计器-数据报表.jpg) | ![图形报表](/.image/报表设计器-图形报表.jpg) | ![报表设计器-打印设计](/.image/报表设计器-打印设计.jpg) |
-| 大屏设计器 | ![大屏列表](/.image/大屏设计器-列表.jpg)   | ![大屏预览](/.image/大屏设计器-预览.jpg)   | ![大屏编辑](/.image/大屏设计器-编辑.jpg)         |

+ 0 - 151
index.html

@@ -1,151 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="UTF-8" />
-    <link rel="icon" href="/favicon.ico" />
-    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta
-      name="keywords"
-      content="芋道管理系统 基于 vue3 + CompositionAPI + typescript + vite3 + element plus 的后台开源免费管理系统!"
-    />
-    <meta
-      name="description"
-      content="芋道管理系统 基于 vue3 + CompositionAPI + typescript + vite3 + element plus 的后台开源免费管理系统!"
-    />
-    <title>%VITE_APP_TITLE%</title>
-  </head>
-  <body>
-    <div id="app">
-      <style>
-        .app-loading {
-          display: flex;
-          width: 100%;
-          height: 100%;
-          justify-content: center;
-          align-items: center;
-          flex-direction: column;
-          background: #f0f2f5;
-        }
-
-        .app-loading .app-loading-wrap {
-          position: absolute;
-          top: 50%;
-          left: 50%;
-          display: flex;
-          -webkit-transform: translate3d(-50%, -50%, 0);
-          transform: translate3d(-50%, -50%, 0);
-          justify-content: center;
-          align-items: center;
-          flex-direction: column;
-        }
-
-        .app-loading .app-loading-title {
-          margin-bottom: 30px;
-          font-size: 20px;
-          font-weight: bold;
-          text-align: center;
-        }
-
-        .app-loading .app-loading-logo {
-          width: 100px;
-          margin: 0 auto 15px auto;
-        }
-
-        .app-loading .app-loading-item {
-          position: relative;
-          display: inline-block;
-          width: 60px;
-          height: 60px;
-          vertical-align: middle;
-          border-radius: 50%;
-        }
-
-        .app-loading .app-loading-outter {
-          position: absolute;
-          width: 100%;
-          height: 100%;
-          border: 4px solid #2d8cf0;
-          border-bottom: 0;
-          border-left-color: transparent;
-          border-radius: 50%;
-          animation: loader-outter 1s cubic-bezier(0.42, 0.61, 0.58, 0.41) infinite;
-        }
-
-        .app-loading .app-loading-inner {
-          position: absolute;
-          top: calc(50% - 20px);
-          left: calc(50% - 20px);
-          width: 40px;
-          height: 40px;
-          border: 4px solid #87bdff;
-          border-right: 0;
-          border-top-color: transparent;
-          border-radius: 50%;
-          animation: loader-inner 1s cubic-bezier(0.42, 0.61, 0.58, 0.41) infinite;
-        }
-
-        @-webkit-keyframes loader-outter {
-          0% {
-            -webkit-transform: rotate(0deg);
-            transform: rotate(0deg);
-          }
-
-          100% {
-            -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-          }
-        }
-
-        @keyframes loader-outter {
-          0% {
-            -webkit-transform: rotate(0deg);
-            transform: rotate(0deg);
-          }
-
-          100% {
-            -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-          }
-        }
-
-        @-webkit-keyframes loader-inner {
-          0% {
-            -webkit-transform: rotate(0deg);
-            transform: rotate(0deg);
-          }
-
-          100% {
-            -webkit-transform: rotate(-360deg);
-            transform: rotate(-360deg);
-          }
-        }
-
-        @keyframes loader-inner {
-          0% {
-            -webkit-transform: rotate(0deg);
-            transform: rotate(0deg);
-          }
-
-          100% {
-            -webkit-transform: rotate(-360deg);
-            transform: rotate(-360deg);
-          }
-        }
-      </style>
-      <div class="app-loading">
-        <div class="app-loading-wrap">
-          <div class="app-loading-title">
-            <img src="/logo.gif" class="app-loading-logo" alt="Logo" />
-            <div class="app-loading-title">%VITE_APP_TITLE%</div>
-          </div>
-          <div class="app-loading-item">
-            <div class="app-loading-outter"></div>
-            <div class="app-loading-inner"></div>
-          </div>
-        </div>
-      </div>
-    </div>
-    <script type="module" src="/src/main.ts"></script>
-  </body>
-</html>

BIN
node_modules/.pnpm/@esbuild+win32-x64@0.19.12/node_modules/@esbuild/win32-x64/esbuild.exe


BIN
node_modules/.pnpm/@rollup+rollup-win32-x64-msvc@4.17.0/node_modules/@rollup/rollup-win32-x64-msvc/rollup.win32-x64-msvc.node


BIN
node_modules/.pnpm/@swc+core-win32-x64-msvc@1.4.17/node_modules/@swc/core-win32-x64-msvc/swc.win32-x64-msvc.node


+ 0 - 144
package.json

@@ -1,144 +0,0 @@
-{
-  "name": "yudao-ui-admin-vue3",
-  "version": "2.0.1-snapshot",
-  "description": "基于vue3、vite4、element-plus、typesScript",
-  "author": "xingyu",
-  "private": false,
-  "scripts": {
-    "i": "pnpm install",
-    "dev": "vite --mode local-dev",
-    "dev-server": "vite --mode dev",
-    "ts:check": "vue-tsc --noEmit",
-    "build:local-dev": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode local-dev",
-    "build:dev": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode local-dev",
-    "build:test": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode test",
-    "build:stage": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode stage",
-    "build:prod": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode prod",
-    "serve:dev": "vite preview --mode dev",
-    "serve:prod": "vite preview --mode prod",
-    "preview": "pnpm build:local-dev && vite preview",
-    "clean": "npx rimraf node_modules",
-    "clean:cache": "npx rimraf node_modules/.cache",
-    "lint:eslint": "eslint --fix --ext .js,.ts,.vue ./src",
-    "lint:format": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
-    "lint:style": "stylelint --fix \"./src/**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
-    "lint:lint-staged": "lint-staged -c "
-  },
-  "dependencies": {
-    "@element-plus/icons-vue": "^2.1.0",
-    "@form-create/designer": "^3.1.3",
-    "@form-create/element-ui": "^3.1.24",
-    "@iconify/iconify": "^3.1.1",
-    "@videojs-player/vue": "^1.0.0",
-    "@vueuse/core": "^10.9.0",
-    "@wangeditor/editor": "^5.1.23",
-    "@wangeditor/editor-for-vue": "^5.1.10",
-    "@zxcvbn-ts/core": "^3.0.4",
-    "animate.css": "^4.1.1",
-    "axios": "^1.6.8",
-    "benz-amr-recorder": "^1.1.5",
-    "bpmn-js-token-simulation": "^0.10.0",
-    "camunda-bpmn-moddle": "^7.0.1",
-    "cropperjs": "^1.6.1",
-    "crypto-js": "^4.2.0",
-    "dayjs": "^1.11.10",
-    "diagram-js": "^12.8.0",
-    "driver.js": "^1.3.1",
-    "echarts": "^5.5.0",
-    "echarts-wordcloud": "^2.1.0",
-    "element-plus": "2.6.1",
-    "fast-xml-parser": "^4.3.2",
-    "highlight.js": "^11.9.0",
-    "jsencrypt": "^3.3.2",
-    "lodash-es": "^4.17.21",
-    "min-dash": "^4.1.1",
-    "mitt": "^3.0.1",
-    "nprogress": "^0.2.0",
-    "pinia": "^2.1.7",
-    "pinia-plugin-persistedstate": "^3.2.1",
-    "qrcode": "^1.5.3",
-    "qs": "^6.12.0",
-    "steady-xml": "^0.1.0",
-    "url": "^0.11.3",
-    "video.js": "^7.21.5",
-    "vue": "3.4.21",
-    "vue-dompurify-html": "^4.1.4",
-    "vue-i18n": "9.10.2",
-    "vue-router": "^4.3.0",
-    "vue-types": "^5.1.1",
-    "vuedraggable": "^4.1.0",
-    "web-storage-cache": "^1.1.1",
-    "xml-js": "^1.6.11"
-  },
-  "devDependencies": {
-    "@commitlint/cli": "^19.0.1",
-    "@commitlint/config-conventional": "^19.0.0",
-    "@iconify/json": "^2.2.187",
-    "@intlify/unplugin-vue-i18n": "^2.0.0",
-    "@purge-icons/generated": "^0.9.0",
-    "@types/lodash-es": "^4.17.12",
-    "@types/node": "^20.11.21",
-    "@types/nprogress": "^0.2.3",
-    "@types/qrcode": "^1.5.5",
-    "@types/qs": "^6.9.12",
-    "@typescript-eslint/eslint-plugin": "^7.1.0",
-    "@typescript-eslint/parser": "^7.1.0",
-    "@unocss/transformer-variant-group": "^0.58.5",
-    "@unocss/eslint-config": "^0.57.4",
-    "@vitejs/plugin-legacy": "^5.3.1",
-    "@vitejs/plugin-vue": "^5.0.4",
-    "@vitejs/plugin-vue-jsx": "^3.1.0",
-    "autoprefixer": "^10.4.17",
-    "bpmn-js": "8.9.0",
-    "bpmn-js-properties-panel": "0.46.0",
-    "consola": "^3.2.3",
-    "eslint": "^8.57.0",
-    "eslint-config-prettier": "^9.1.0",
-    "eslint-define-config": "^2.1.0",
-    "eslint-plugin-prettier": "^5.1.3",
-    "eslint-plugin-vue": "^9.22.0",
-    "lint-staged": "^15.2.2",
-    "postcss": "^8.4.35",
-    "postcss-html": "^1.6.0",
-    "postcss-scss": "^4.0.9",
-    "prettier": "^3.2.5",
-    "prettier-eslint": "^16.3.0",
-    "rimraf": "^5.0.5",
-    "rollup": "^4.12.0",
-    "sass": "^1.69.5",
-    "stylelint": "^16.2.1",
-    "stylelint-config-html": "^1.1.0",
-    "stylelint-config-recommended": "^14.0.0",
-    "stylelint-config-standard": "^36.0.0",
-    "stylelint-order": "^6.0.4",
-    "terser": "^5.28.1",
-    "typescript": "5.3.3",
-    "unocss": "^0.58.5",
-    "unplugin-auto-import": "^0.16.7",
-    "unplugin-element-plus": "^0.8.0",
-    "unplugin-vue-components": "^0.25.2",
-    "vite": "5.1.4",
-    "vite-plugin-compression": "^0.5.1",
-    "vite-plugin-ejs": "^1.7.0",
-    "vite-plugin-eslint": "^1.8.1",
-    "vite-plugin-progress": "^0.0.7",
-    "vite-plugin-purge-icons": "^0.10.0",
-    "vite-plugin-svg-icons": "^2.0.1",
-    "vite-plugin-top-level-await": "^1.3.1",
-    "vue-eslint-parser": "^9.3.2",
-    "vue-tsc": "^1.8.27"
-  },
-  "license": "MIT",
-  "repository": {
-    "type": "git",
-    "url": "git+https://gitee.com/yudaocode/yudao-ui-admin-vue3"
-  },
-  "bugs": {
-    "url": "https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues"
-  },
-  "homepage": "https://gitee.com/yudaocode/yudao-ui-admin-vue3",
-  "engines": {
-    "node": ">= 16.0.0",
-    "pnpm": ">=8.6.0"
-  }
-}

+ 0 - 5
postcss.config.js

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

+ 0 - 22
prettier.config.js

@@ -1,22 +0,0 @@
-module.exports = {
-  printWidth: 100, // 每行代码长度(默认80)
-  tabWidth: 2, // 每个tab相当于多少个空格(默认2)ab进行缩进(默认false)
-  useTabs: false, // 是否使用tab
-  semi: false, // 声明结尾使用分号(默认true)
-  vueIndentScriptAndStyle: false,
-  singleQuote: true, // 使用单引号(默认false)
-  quoteProps: 'as-needed',
-  bracketSpacing: true, // 对象字面量的大括号间使用空格(默认true)
-  trailingComma: 'none', // 多行使用拖尾逗号(默认none)
-  jsxSingleQuote: false,
-  // 箭头函数参数括号 默认avoid 可选 avoid| always
-  // avoid 能省略括号的时候就省略 例如x => x
-  // always 总是有括号
-  arrowParens: 'always',
-  insertPragma: false,
-  requirePragma: false,
-  proseWrap: 'never',
-  htmlWhitespaceSensitivity: 'strict',
-  endOfLine: 'auto',
-  rangeStart: 0
-}

BIN
public/favicon.ico


BIN
public/home.png


BIN
public/logo.gif


+ 0 - 58
src/App.vue

@@ -1,58 +0,0 @@
-<script lang="ts" setup>
-// import { isDark } from '@/utils/is'
-// import { useAppStore } from '@/store/modules/app'
-// import { useDesign } from '@/hooks/web/useDesign'
-// import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
-// // import routerSearch from '@/components/RouterSearch/index.vue'
-
-// defineOptions({ name: 'APP' })
-
-// const { getPrefixCls } = useDesign()
-// const prefixCls = getPrefixCls('app')
-// const appStore = useAppStore()
-// const currentSize = computed(() => appStore.getCurrentSize)
-// const greyMode = computed(() => appStore.getGreyMode)
-// const { wsCache } = useCache()
-
-// // 根据浏览器当前主题设置系统主题色
-// const setDefaultTheme = () => {
-//   let isDarkTheme = wsCache.get(CACHE_KEY.IS_DARK)
-//   if (isDarkTheme === null) {
-//     isDarkTheme = isDark()
-//   }
-//   appStore.setIsDark(isDarkTheme)
-// }
-// setDefaultTheme()
-</script>
-<template>
-  <div></div>
-  <!-- <ConfigGlobal :size="currentSize">
-    <RouterView :class="greyMode ? `${prefixCls}-grey-mode` : ''" />
-    <routerSearch />
-  </ConfigGlobal> -->
-</template>
-<style lang="scss">
-$prefix-cls: #{$namespace}-app;
-
-.size {
-  width: 100%;
-  height: 100%;
-}
-
-html,
-body {
-  @extend .size;
-
-  padding: 0 !important;
-  margin: 0;
-  overflow: hidden;
-
-  #app {
-    @extend .size;
-  }
-}
-
-.#{$prefix-cls}-grey-mode {
-  filter: grayscale(100%);
-}
-</style>

+ 0 - 8
src/api/bpm/activity/index.ts

@@ -1,8 +0,0 @@
-import request from '@/config/axios'
-
-export const getActivityList = async (params) => {
-  return await request.get({
-    url: '/bpm/activity/list',
-    params
-  })
-}

+ 0 - 43
src/api/bpm/category/index.ts

@@ -1,43 +0,0 @@
-import request from '@/config/axios'
-
-// BPM 流程分类 VO
-export interface CategoryVO {
-  id: number // 分类编号
-  name: string // 分类名
-  code: string // 分类标志
-  status: number // 分类状态
-  sort: number // 分类排序
-}
-
-// BPM 流程分类 API
-export const CategoryApi = {
-  // 查询流程分类分页
-  getCategoryPage: async (params: any) => {
-    return await request.get({ url: `/bpm/category/page`, params })
-  },
-
-  // 查询流程分类列表
-  getCategorySimpleList: async () => {
-    return await request.get({ url: `/bpm/category/simple-list` })
-  },
-
-  // 查询流程分类详情
-  getCategory: async (id: number) => {
-    return await request.get({ url: `/bpm/category/get?id=` + id })
-  },
-
-  // 新增流程分类
-  createCategory: async (data: CategoryVO) => {
-    return await request.post({ url: `/bpm/category/create`, data })
-  },
-
-  // 修改流程分类
-  updateCategory: async (data: CategoryVO) => {
-    return await request.put({ url: `/bpm/category/update`, data })
-  },
-
-  // 删除流程分类
-  deleteCategory: async (id: number) => {
-    return await request.delete({ url: `/bpm/category/delete?id=` + id })
-  }
-}

+ 0 - 22
src/api/bpm/definition/index.ts

@@ -1,22 +0,0 @@
-import request from '@/config/axios'
-
-export const getProcessDefinition = async (id: number, key: string) => {
-  return await request.get({
-    url: '/bpm/process-definition/get',
-    params: { id, key }
-  })
-}
-
-export const getProcessDefinitionPage = async (params) => {
-  return await request.get({
-    url: '/bpm/process-definition/page',
-    params
-  })
-}
-
-export const getProcessDefinitionList = async (params) => {
-  return await request.get({
-    url: '/bpm/process-definition/list',
-    params
-  })
-}

+ 0 - 56
src/api/bpm/form/index.ts

@@ -1,56 +0,0 @@
-import request from '@/config/axios'
-
-export type FormVO = {
-  id: number
-  name: string
-  conf: string
-  fields: string[]
-  status: number
-  remark: string
-  createTime: string
-}
-
-// 创建工作流的表单定义
-export const createForm = async (data: FormVO) => {
-  return await request.post({
-    url: '/bpm/form/create',
-    data: data
-  })
-}
-
-// 更新工作流的表单定义
-export const updateForm = async (data: FormVO) => {
-  return await request.put({
-    url: '/bpm/form/update',
-    data: data
-  })
-}
-
-// 删除工作流的表单定义
-export const deleteForm = async (id: number) => {
-  return await request.delete({
-    url: '/bpm/form/delete?id=' + id
-  })
-}
-
-// 获得工作流的表单定义
-export const getForm = async (id: number) => {
-  return await request.get({
-    url: '/bpm/form/get?id=' + id
-  })
-}
-
-// 获得工作流的表单定义分页
-export const getFormPage = async (params) => {
-  return await request.get({
-    url: '/bpm/form/page',
-    params
-  })
-}
-
-// 获得动态表单的精简列表
-export const getFormSimpleList = async () => {
-  return await request.get({
-    url: '/bpm/form/simple-list'
-  })
-}

+ 0 - 27
src/api/bpm/leave/index.ts

@@ -1,27 +0,0 @@
-import request from '@/config/axios'
-
-export type LeaveVO = {
-  id: number
-  status: number
-  type: number
-  reason: string
-  processInstanceId: string
-  startTime: string
-  endTime: string
-  createTime: string
-}
-
-// 创建请假申请
-export const createLeave = async (data: LeaveVO) => {
-  return await request.post({ url: '/bpm/oa/leave/create', data: data })
-}
-
-// 获得请假申请
-export const getLeave = async (id: number) => {
-  return await request.get({ url: '/bpm/oa/leave/get?id=' + id })
-}
-
-// 获得请假申请分页
-export const getLeavePage = async (params: PageParam) => {
-  return await request.get({ url: '/bpm/oa/leave/page', params })
-}

+ 0 - 59
src/api/bpm/model/index.ts

@@ -1,59 +0,0 @@
-import request from '@/config/axios'
-
-export type ProcessDefinitionVO = {
-  id: string
-  version: number
-  deploymentTIme: string
-  suspensionState: number
-}
-
-export type ModelVO = {
-  id: number
-  formName: string
-  key: string
-  name: string
-  description: string
-  category: string
-  formType: number
-  formId: number
-  formCustomCreatePath: string
-  formCustomViewPath: string
-  processDefinition: ProcessDefinitionVO
-  status: number
-  remark: string
-  createTime: string
-  bpmnXml: string
-}
-
-export const getModelPage = async (params) => {
-  return await request.get({ url: '/bpm/model/page', params })
-}
-
-export const getModel = async (id: number) => {
-  return await request.get({ url: '/bpm/model/get?id=' + id })
-}
-
-export const updateModel = async (data: ModelVO) => {
-  return await request.put({ url: '/bpm/model/update', data: data })
-}
-
-// 任务状态修改
-export const updateModelState = async (id: number, state: number) => {
-  const data = {
-    id: id,
-    state: state
-  }
-  return await request.put({ url: '/bpm/model/update-state', data: data })
-}
-
-export const createModel = async (data: ModelVO) => {
-  return await request.post({ url: '/bpm/model/create', data: data })
-}
-
-export const deleteModel = async (id: number) => {
-  return await request.delete({ url: '/bpm/model/delete?id=' + id })
-}
-
-export const deployModel = async (id: number) => {
-  return await request.post({ url: '/bpm/model/deploy?id=' + id })
-}

+ 0 - 42
src/api/bpm/processExpression/index.ts

@@ -1,42 +0,0 @@
-import request from '@/config/axios'
-
-// BPM 流程表达式 VO
-export interface ProcessExpressionVO {
-  id: number // 编号
-  name: string // 表达式名字
-  status: number // 表达式状态
-  expression: string // 表达式
-}
-
-// BPM 流程表达式 API
-export const ProcessExpressionApi = {
-  // 查询BPM 流程表达式分页
-  getProcessExpressionPage: async (params: any) => {
-    return await request.get({ url: `/bpm/process-expression/page`, params })
-  },
-
-  // 查询BPM 流程表达式详情
-  getProcessExpression: async (id: number) => {
-    return await request.get({ url: `/bpm/process-expression/get?id=` + id })
-  },
-
-  // 新增BPM 流程表达式
-  createProcessExpression: async (data: ProcessExpressionVO) => {
-    return await request.post({ url: `/bpm/process-expression/create`, data })
-  },
-
-  // 修改BPM 流程表达式
-  updateProcessExpression: async (data: ProcessExpressionVO) => {
-    return await request.put({ url: `/bpm/process-expression/update`, data })
-  },
-
-  // 删除BPM 流程表达式
-  deleteProcessExpression: async (id: number) => {
-    return await request.delete({ url: `/bpm/process-expression/delete?id=` + id })
-  },
-
-  // 导出BPM 流程表达式 Excel
-  exportProcessExpression: async (params) => {
-    return await request.download({ url: `/bpm/process-expression/export-excel`, params })
-  }
-}

+ 0 - 68
src/api/bpm/processInstance/index.ts

@@ -1,68 +0,0 @@
-import request from '@/config/axios'
-
-export type Task = {
-  id: string
-  name: string
-}
-
-export type ProcessInstanceVO = {
-  id: number
-  name: string
-  processDefinitionId: string
-  category: string
-  result: number
-  tasks: Task[]
-  fields: string[]
-  status: number
-  remark: string
-  businessKey: string
-  createTime: string
-  endTime: string
-}
-
-export type ProcessInstanceCopyVO = {
-  type: number
-  taskName: string
-  taskKey: string
-  processInstanceName: string
-  processInstanceKey: string
-  startUserId: string
-  options: string[]
-  reason: string
-}
-
-export const getProcessInstanceMyPage = async (params: any) => {
-  return await request.get({ url: '/bpm/process-instance/my-page', params })
-}
-
-export const getProcessInstanceManagerPage = async (params: any) => {
-  return await request.get({ url: '/bpm/process-instance/manager-page', params })
-}
-
-export const createProcessInstance = async (data) => {
-  return await request.post({ url: '/bpm/process-instance/create', data: data })
-}
-
-export const cancelProcessInstanceByStartUser = async (id: number, reason: string) => {
-  const data = {
-    id: id,
-    reason: reason
-  }
-  return await request.delete({ url: '/bpm/process-instance/cancel-by-start-user', data: data })
-}
-
-export const cancelProcessInstanceByAdmin = async (id: number, reason: string) => {
-  const data = {
-    id: id,
-    reason: reason
-  }
-  return await request.delete({ url: '/bpm/process-instance/cancel-by-admin', data: data })
-}
-
-export const getProcessInstance = async (id: string) => {
-  return await request.get({ url: '/bpm/process-instance/get?id=' + id })
-}
-
-export const getProcessInstanceCopyPage = async (params: any) => {
-  return await request.get({ url: '/bpm/process-instance/copy/page', params })
-}

+ 0 - 40
src/api/bpm/processListener/index.ts

@@ -1,40 +0,0 @@
-import request from '@/config/axios'
-
-// BPM 流程监听器 VO
-export interface ProcessListenerVO {
-  id: number // 编号
-  name: string // 监听器名字
-  type: string // 监听器类型
-  status: number // 监听器状态
-  event: string // 监听事件
-  valueType: string // 监听器值类型
-  value: string // 监听器值
-}
-
-// BPM 流程监听器 API
-export const ProcessListenerApi = {
-  // 查询流程监听器分页
-  getProcessListenerPage: async (params: any) => {
-    return await request.get({ url: `/bpm/process-listener/page`, params })
-  },
-
-  // 查询流程监听器详情
-  getProcessListener: async (id: number) => {
-    return await request.get({ url: `/bpm/process-listener/get?id=` + id })
-  },
-
-  // 新增流程监听器
-  createProcessListener: async (data: ProcessListenerVO) => {
-    return await request.post({ url: `/bpm/process-listener/create`, data })
-  },
-
-  // 修改流程监听器
-  updateProcessListener: async (data: ProcessListenerVO) => {
-    return await request.put({ url: `/bpm/process-listener/update`, data })
-  },
-
-  // 删除流程监听器
-  deleteProcessListener: async (id: number) => {
-    return await request.delete({ url: `/bpm/process-listener/delete?id=` + id })
-  }
-}

+ 0 - 66
src/api/bpm/task/index.ts

@@ -1,66 +0,0 @@
-import request from '@/config/axios'
-
-export type TaskVO = {
-  id: number
-}
-
-export const getTaskTodoPage = async (params: any) => {
-  return await request.get({ url: '/bpm/task/todo-page', params })
-}
-
-export const getTaskDonePage = async (params: any) => {
-  return await request.get({ url: '/bpm/task/done-page', params })
-}
-
-export const getTaskManagerPage = async (params: any) => {
-  return await request.get({ url: '/bpm/task/manager-page', params })
-}
-
-export const approveTask = async (data: any) => {
-  return await request.put({ url: '/bpm/task/approve', data })
-}
-
-export const rejectTask = async (data: any) => {
-  return await request.put({ url: '/bpm/task/reject', data })
-}
-
-export const getTaskListByProcessInstanceId = async (processInstanceId: string) => {
-  return await request.get({
-    url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
-  })
-}
-
-// 获取所有可回退的节点
-export const getTaskListByReturn = async (id: string) => {
-  return await request.get({ url: '/bpm/task/list-by-return', params: { id } })
-}
-
-// 回退
-export const returnTask = async (data: any) => {
-  return await request.put({ url: '/bpm/task/return', data })
-}
-
-// 委派
-export const delegateTask = async (data: any) => {
-  return await request.put({ url: '/bpm/task/delegate', data })
-}
-
-// 转派
-export const transferTask = async (data: any) => {
-  return await request.put({ url: '/bpm/task/transfer', data })
-}
-
-// 加签
-export const signCreateTask = async (data: any) => {
-  return await request.put({ url: '/bpm/task/create-sign', data })
-}
-
-// 减签
-export const signDeleteTask = async (data: any) => {
-  return await request.delete({ url: '/bpm/task/delete-sign', data })
-}
-
-// 获取减签任务列表
-export const getChildrenTaskList = async (id: string) => {
-  return await request.get({ url: '/bpm/task/list-by-parent-task-id?parentTaskId=' + id })
-}

+ 0 - 47
src/api/bpm/userGroup/index.ts

@@ -1,47 +0,0 @@
-import request from '@/config/axios'
-
-export type UserGroupVO = {
-  id: number
-  name: string
-  description: string
-  userIds: number[]
-  status: number
-  remark: string
-  createTime: string
-}
-
-// 创建用户组
-export const createUserGroup = async (data: UserGroupVO) => {
-  return await request.post({
-    url: '/bpm/user-group/create',
-    data: data
-  })
-}
-
-// 更新用户组
-export const updateUserGroup = async (data: UserGroupVO) => {
-  return await request.put({
-    url: '/bpm/user-group/update',
-    data: data
-  })
-}
-
-// 删除用户组
-export const deleteUserGroup = async (id: number) => {
-  return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
-}
-
-// 获得用户组
-export const getUserGroup = async (id: number) => {
-  return await request.get({ url: '/bpm/user-group/get?id=' + id })
-}
-
-// 获得用户组分页
-export const getUserGroupPage = async (params) => {
-  return await request.get({ url: '/bpm/user-group/page', params })
-}
-
-// 获取用户组精简信息列表
-export const getUserGroupSimpleList = async (): Promise<UserGroupVO[]> => {
-  return await request.get({ url: '/bpm/user-group/simple-list' })
-}

+ 0 - 98
src/api/crm/business/index.ts

@@ -1,98 +0,0 @@
-import request from '@/config/axios'
-import { TransferReqVO } from '@/api/crm/permission'
-
-export interface BusinessVO {
-  id: number
-  name: string
-  customerId: number
-  customerName?: string
-  followUpStatus: boolean
-  contactLastTime: Date
-  contactNextTime: Date
-  ownerUserId: number
-  ownerUserName?: string // 负责人的用户名称
-  ownerUserDept?: string // 负责人的部门名称
-  statusTypeId: number
-  statusTypeName?: string
-  statusId: number
-  statusName?: string
-  endStatus: number
-  endRemark: string
-  dealTime: Date
-  totalProductPrice: number
-  totalPrice: number
-  discountPercent: number
-  remark: string
-  creator: string // 创建人
-  creatorName?: string // 创建人名称
-  createTime: Date // 创建时间
-  updateTime: Date // 更新时间
-  products?: [
-    {
-      id: number
-      productId: number
-      productName: string
-      productNo: string
-      productUnit: number
-      productPrice: number
-      businessPrice: number
-      count: number
-      totalPrice: number
-    }
-  ]
-}
-
-// 查询 CRM 商机列表
-export const getBusinessPage = async (params) => {
-  return await request.get({ url: `/crm/business/page`, params })
-}
-
-// 查询 CRM 商机列表,基于指定客户
-export const getBusinessPageByCustomer = async (params) => {
-  return await request.get({ url: `/crm/business/page-by-customer`, params })
-}
-
-// 查询 CRM 商机详情
-export const getBusiness = async (id: number) => {
-  return await request.get({ url: `/crm/business/get?id=` + id })
-}
-
-// 获得 CRM 商机列表(精简)
-export const getSimpleBusinessList = async () => {
-  return await request.get({ url: `/crm/business/simple-all-list` })
-}
-
-// 新增 CRM 商机
-export const createBusiness = async (data: BusinessVO) => {
-  return await request.post({ url: `/crm/business/create`, data })
-}
-
-// 修改 CRM 商机
-export const updateBusiness = async (data: BusinessVO) => {
-  return await request.put({ url: `/crm/business/update`, data })
-}
-
-// 修改 CRM 商机状态
-export const updateBusinessStatus = async (data: BusinessVO) => {
-  return await request.put({ url: `/crm/business/update-status`, data })
-}
-
-// 删除 CRM 商机
-export const deleteBusiness = async (id: number) => {
-  return await request.delete({ url: `/crm/business/delete?id=` + id })
-}
-
-// 导出 CRM 商机 Excel
-export const exportBusiness = async (params) => {
-  return await request.download({ url: `/crm/business/export-excel`, params })
-}
-
-// 联系人关联商机列表
-export const getBusinessPageByContact = async (params) => {
-  return await request.get({ url: `/crm/business/page-by-contact`, params })
-}
-
-// 商机转移
-export const transferBusiness = async (data: TransferReqVO) => {
-  return await request.put({ url: '/crm/business/transfer', data })
-}

+ 0 - 68
src/api/crm/business/status/index.ts

@@ -1,68 +0,0 @@
-import request from '@/config/axios'
-
-export interface BusinessStatusTypeVO {
-  id: number
-  name: string
-  deptIds: number[]
-  statuses?: {
-    id: number
-    name: string
-    percent: number
-  }
-}
-
-export const DEFAULT_STATUSES = [
-  {
-    endStatus: 1,
-    key: '结束',
-    name: '赢单',
-    percent: 100
-  },
-  {
-    endStatus: 2,
-    key: '结束',
-    name: '输单',
-    percent: 0
-  },
-  {
-    endStatus: 3,
-    key: '结束',
-    name: '无效',
-    percent: 0
-  }
-]
-
-// 查询商机状态组列表
-export const getBusinessStatusPage = async (params: any) => {
-  return await request.get({ url: `/crm/business-status/page`, params })
-}
-
-// 新增商机状态组
-export const createBusinessStatus = async (data: BusinessStatusTypeVO) => {
-  return await request.post({ url: `/crm/business-status/create`, data })
-}
-
-// 修改商机状态组
-export const updateBusinessStatus = async (data: BusinessStatusTypeVO) => {
-  return await request.put({ url: `/crm/business-status/update`, data })
-}
-
-// 查询商机状态类型详情
-export const getBusinessStatus = async (id: number) => {
-  return await request.get({ url: `/crm/business-status/get?id=` + id })
-}
-
-// 删除商机状态
-export const deleteBusinessStatus = async (id: number) => {
-  return await request.delete({ url: `/crm/business-status/delete?id=` + id })
-}
-
-// 获得商机状态组列表
-export const getBusinessStatusTypeSimpleList = async () => {
-  return await request.get({ url: `/crm/business-status/type-simple-list` })
-}
-
-// 获得商机阶段列表
-export const getBusinessStatusSimpleList = async (typeId: number) => {
-  return await request.get({ url: `/crm/business-status/status-simple-list`, params: { typeId } })
-}

+ 0 - 78
src/api/crm/clue/index.ts

@@ -1,78 +0,0 @@
-import request from '@/config/axios'
-import { TransferReqVO } from '@/api/crm/permission'
-
-export interface ClueVO {
-  id: number // 编号
-  name: string // 线索名称
-  followUpStatus: boolean // 跟进状态
-  contactLastTime: Date // 最后跟进时间
-  contactLastContent: string // 最后跟进内容
-  contactNextTime: Date // 下次联系时间
-  ownerUserId: number // 负责人的用户编号
-  ownerUserName?: string // 负责人的用户名称
-  ownerUserDept?: string // 负责人的部门名称
-  transformStatus: boolean // 转化状态
-  customerId: number // 客户编号
-  customerName?: string // 客户名称
-  mobile: string // 手机号
-  telephone: string // 电话
-  qq: string // QQ
-  wechat: string // wechat
-  email: string // email
-  areaId: number // 所在地
-  areaName?: string // 所在地名称
-  detailAddress: string // 详细地址
-  industryId: number // 所属行业
-  level: number // 客户等级
-  source: number // 客户来源
-  remark: string // 备注
-  creator: string // 创建人
-  creatorName?: string // 创建人名称
-  createTime: Date // 创建时间
-  updateTime: Date // 更新时间
-}
-
-// 查询线索列表
-export const getCluePage = async (params: any) => {
-  return await request.get({ url: `/crm/clue/page`, params })
-}
-
-// 查询线索详情
-export const getClue = async (id: number) => {
-  return await request.get({ url: `/crm/clue/get?id=` + id })
-}
-
-// 新增线索
-export const createClue = async (data: ClueVO) => {
-  return await request.post({ url: `/crm/clue/create`, data })
-}
-
-// 修改线索
-export const updateClue = async (data: ClueVO) => {
-  return await request.put({ url: `/crm/clue/update`, data })
-}
-
-// 删除线索
-export const deleteClue = async (id: number) => {
-  return await request.delete({ url: `/crm/clue/delete?id=` + id })
-}
-
-// 导出线索 Excel
-export const exportClue = async (params) => {
-  return await request.download({ url: `/crm/clue/export-excel`, params })
-}
-
-// 线索转移
-export const transferClue = async (data: TransferReqVO) => {
-  return await request.put({ url: '/crm/clue/transfer', data })
-}
-
-// 线索转化为客户
-export const transformClue = async (id: number) => {
-  return await request.put({ url: '/crm/clue/transform', params: { id } })
-}
-
-// 获得分配给我的、待跟进的线索数量
-export const getFollowClueCount = async () => {
-  return await request.get({ url: '/crm/clue/follow-count' })
-}

+ 0 - 113
src/api/crm/contact/index.ts

@@ -1,113 +0,0 @@
-import request from '@/config/axios'
-import { TransferReqVO } from '@/api/crm/permission'
-
-export interface ContactVO {
-  id: number // 编号
-  name: string // 联系人名称
-  customerId: number // 客户编号
-  customerName?: string // 客户名称
-  contactLastTime: Date // 最后跟进时间
-  contactLastContent: string // 最后跟进内容
-  contactNextTime: Date // 下次联系时间
-  ownerUserId: number // 负责人的用户编号
-  ownerUserName?: string // 负责人的用户名称
-  ownerUserDept?: string // 负责人的部门名称
-  mobile: string // 手机号
-  telephone: string // 电话
-  qq: string // QQ
-  wechat: string // wechat
-  email: string // email
-  areaId: number // 所在地
-  areaName?: string // 所在地名称
-  detailAddress: string // 详细地址
-  sex: number // 性别
-  master: boolean // 是否主联系人
-  post: string // 职务
-  parentId: number // 上级联系人编号
-  parentName?: string // 上级联系人名称
-  remark: string // 备注
-  creator: string // 创建人
-  creatorName?: string // 创建人名称
-  createTime: Date // 创建时间
-  updateTime: Date // 更新时间
-}
-
-export interface ContactBusinessReqVO {
-  contactId: number
-  businessIds: number[]
-}
-
-export interface ContactBusiness2ReqVO {
-  businessId: number
-  contactIds: number[]
-}
-
-// 查询 CRM 联系人列表
-export const getContactPage = async (params) => {
-  return await request.get({ url: `/crm/contact/page`, params })
-}
-
-// 查询 CRM 联系人列表,基于指定客户
-export const getContactPageByCustomer = async (params: any) => {
-  return await request.get({ url: `/crm/contact/page-by-customer`, params })
-}
-
-// 查询 CRM 联系人列表,基于指定商机
-export const getContactPageByBusiness = async (params: any) => {
-  return await request.get({ url: `/crm/contact/page-by-business`, params })
-}
-
-// 查询 CRM 联系人详情
-export const getContact = async (id: number) => {
-  return await request.get({ url: `/crm/contact/get?id=` + id })
-}
-
-// 新增 CRM 联系人
-export const createContact = async (data: ContactVO) => {
-  return await request.post({ url: `/crm/contact/create`, data })
-}
-
-// 修改 CRM 联系人
-export const updateContact = async (data: ContactVO) => {
-  return await request.put({ url: `/crm/contact/update`, data })
-}
-
-// 删除 CRM 联系人
-export const deleteContact = async (id: number) => {
-  return await request.delete({ url: `/crm/contact/delete?id=` + id })
-}
-
-// 导出 CRM 联系人 Excel
-export const exportContact = async (params) => {
-  return await request.download({ url: `/crm/contact/export-excel`, params })
-}
-
-// 获得 CRM 联系人列表(精简)
-export const getSimpleContactList = async () => {
-  return await request.get({ url: `/crm/contact/simple-all-list` })
-}
-
-// 批量新增联系人商机关联
-export const createContactBusinessList = async (data: ContactBusinessReqVO) => {
-  return await request.post({ url: `/crm/contact/create-business-list`, data })
-}
-
-// 批量新增联系人商机关联
-export const createContactBusinessList2 = async (data: ContactBusiness2ReqVO) => {
-  return await request.post({ url: `/crm/contact/create-business-list2`, data })
-}
-
-// 解除联系人商机关联
-export const deleteContactBusinessList = async (data: ContactBusinessReqVO) => {
-  return await request.delete({ url: `/crm/contact/delete-business-list`, data })
-}
-
-// 解除联系人商机关联
-export const deleteContactBusinessList2 = async (data: ContactBusiness2ReqVO) => {
-  return await request.delete({ url: `/crm/contact/delete-business-list2`, data })
-}
-
-// 联系人转移
-export const transferContact = async (data: TransferReqVO) => {
-  return await request.put({ url: '/crm/contact/transfer', data })
-}

+ 0 - 16
src/api/crm/contract/config/index.ts

@@ -1,16 +0,0 @@
-import request from '@/config/axios'
-
-export interface ContractConfigVO {
-  notifyEnabled?: boolean
-  notifyDays?: number
-}
-
-// 获取合同配置
-export const getContractConfig = async () => {
-  return await request.get({ url: `/crm/contract-config/get` })
-}
-
-// 更新合同配置
-export const saveContractConfig = async (data: ContractConfigVO) => {
-  return await request.put({ url: `/crm/contract-config/save`, data })
-}

+ 0 - 114
src/api/crm/contract/index.ts

@@ -1,114 +0,0 @@
-import request from '@/config/axios'
-import { TransferReqVO } from '@/api/crm/permission'
-
-export interface ContractVO {
-  id: number
-  name: string
-  no: string
-  customerId: number
-  customerName?: string
-  businessId: number
-  businessName: string
-  contactLastTime: Date
-  ownerUserId: number
-  ownerUserName?: string
-  ownerUserDeptName?: string
-  processInstanceId: number
-  auditStatus: number
-  orderDate: Date
-  startTime: Date
-  endTime: Date
-  totalProductPrice: number
-  discountPercent: number
-  totalPrice: number
-  totalReceivablePrice: number
-  signContactId: number
-  signContactName?: string
-  signUserId: number
-  signUserName: string
-  remark: string
-  createTime?: Date
-  creator: string
-  creatorName: string
-  updateTime?: Date
-  products?: [
-    {
-      id: number
-      productId: number
-      productName: string
-      productNo: string
-      productUnit: number
-      productPrice: number
-      contractPrice: number
-      count: number
-      totalPrice: number
-    }
-  ]
-}
-
-// 查询 CRM 合同列表
-export const getContractPage = async (params) => {
-  return await request.get({ url: `/crm/contract/page`, params })
-}
-
-// 查询 CRM 联系人列表,基于指定客户
-export const getContractPageByCustomer = async (params: any) => {
-  return await request.get({ url: `/crm/contract/page-by-customer`, params })
-}
-
-// 查询 CRM 联系人列表,基于指定商机
-export const getContractPageByBusiness = async (params: any) => {
-  return await request.get({ url: `/crm/contract/page-by-business`, params })
-}
-
-// 查询 CRM 合同详情
-export const getContract = async (id: number) => {
-  return await request.get({ url: `/crm/contract/get?id=` + id })
-}
-
-// 查询 CRM 合同下拉列表
-export const getContractSimpleList = async (customerId: number) => {
-  return await request.get({
-    url: `/crm/contract/simple-list?customerId=${customerId}`
-  })
-}
-
-// 新增 CRM 合同
-export const createContract = async (data: ContractVO) => {
-  return await request.post({ url: `/crm/contract/create`, data })
-}
-
-// 修改 CRM 合同
-export const updateContract = async (data: ContractVO) => {
-  return await request.put({ url: `/crm/contract/update`, data })
-}
-
-// 删除 CRM 合同
-export const deleteContract = async (id: number) => {
-  return await request.delete({ url: `/crm/contract/delete?id=` + id })
-}
-
-// 导出 CRM 合同 Excel
-export const exportContract = async (params) => {
-  return await request.download({ url: `/crm/contract/export-excel`, params })
-}
-
-// 提交审核
-export const submitContract = async (id: number) => {
-  return await request.put({ url: `/crm/contract/submit?id=${id}` })
-}
-
-// 合同转移
-export const transferContract = async (data: TransferReqVO) => {
-  return await request.put({ url: '/crm/contract/transfer', data })
-}
-
-// 获得待审核合同数量
-export const getAuditContractCount = async () => {
-  return await request.get({ url: '/crm/contract/audit-count' })
-}
-
-// 获得即将到期(提醒)的合同数量
-export const getRemindContractCount = async () => {
-  return await request.get({ url: '/crm/contract/remind-count' })
-}

+ 0 - 132
src/api/crm/customer/index.ts

@@ -1,132 +0,0 @@
-import request from '@/config/axios'
-import { TransferReqVO } from '@/api/crm/permission'
-
-export interface CustomerVO {
-  id: number // 编号
-  name: string // 客户名称
-  followUpStatus: boolean // 跟进状态
-  contactLastTime: Date // 最后跟进时间
-  contactLastContent: string // 最后跟进内容
-  contactNextTime: Date // 下次联系时间
-  ownerUserId: number // 负责人的用户编号
-  ownerUserName?: string // 负责人的用户名称
-  ownerUserDept?: string // 负责人的部门名称
-  lockStatus?: boolean
-  dealStatus?: boolean
-  mobile: string // 手机号
-  telephone: string // 电话
-  qq: string // QQ
-  wechat: string // wechat
-  email: string // email
-  areaId: number // 所在地
-  areaName?: string // 所在地名称
-  detailAddress: string // 详细地址
-  industryId: number // 所属行业
-  level: number // 客户等级
-  source: number // 客户来源
-  remark: string // 备注
-  creator: string // 创建人
-  creatorName?: string // 创建人名称
-  createTime: Date // 创建时间
-  updateTime: Date // 更新时间
-}
-
-// 查询客户列表
-export const getCustomerPage = async (params) => {
-  return await request.get({ url: `/crm/customer/page`, params })
-}
-
-// 进入公海客户提醒的客户列表
-export const getPutPoolRemindCustomerPage = async (params) => {
-  return await request.get({ url: `/crm/customer/put-pool-remind-page`, params })
-}
-
-// 获得待进入公海客户数量
-export const getPutPoolRemindCustomerCount = async () => {
-  return await request.get({ url: `/crm/customer/put-pool-remind-count` })
-}
-
-// 获得今日需联系客户数量
-export const getTodayContactCustomerCount = async () => {
-  return await request.get({ url: `/crm/customer/today-contact-count` })
-}
-
-// 获得分配给我、待跟进的线索数量的客户数量
-export const getFollowCustomerCount = async () => {
-  return await request.get({ url: `/crm/customer/follow-count` })
-}
-
-// 查询客户详情
-export const getCustomer = async (id: number) => {
-  return await request.get({ url: `/crm/customer/get?id=` + id })
-}
-
-// 新增客户
-export const createCustomer = async (data: CustomerVO) => {
-  return await request.post({ url: `/crm/customer/create`, data })
-}
-
-// 修改客户
-export const updateCustomer = async (data: CustomerVO) => {
-  return await request.put({ url: `/crm/customer/update`, data })
-}
-
-// 更新客户的成交状态
-export const updateCustomerDealStatus = async (id: number, dealStatus: boolean) => {
-  return await request.put({ url: `/crm/customer/update-deal-status`, params: { id, dealStatus } })
-}
-
-// 删除客户
-export const deleteCustomer = async (id: number) => {
-  return await request.delete({ url: `/crm/customer/delete?id=` + id })
-}
-
-// 导出客户 Excel
-export const exportCustomer = async (params: any) => {
-  return await request.download({ url: `/crm/customer/export-excel`, params })
-}
-
-// 下载客户导入模板
-export const importCustomerTemplate = () => {
-  return request.download({ url: '/crm/customer/get-import-template' })
-}
-
-// 导入客户
-export const handleImport = async (formData) => {
-  return await request.upload({ url: `/crm/customer/import`, data: formData })
-}
-
-// 客户列表
-export const getCustomerSimpleList = async () => {
-  return await request.get({ url: `/crm/customer/simple-list` })
-}
-
-// ======================= 业务操作 =======================
-
-// 客户转移
-export const transferCustomer = async (data: TransferReqVO) => {
-  return await request.put({ url: '/crm/customer/transfer', data })
-}
-
-// 锁定/解锁客户
-export const lockCustomer = async (id: number, lockStatus: boolean) => {
-  return await request.put({ url: `/crm/customer/lock`, data: { id, lockStatus } })
-}
-
-// 领取公海客户
-export const receiveCustomer = async (ids: any[]) => {
-  return await request.put({ url: '/crm/customer/receive', params: { ids: ids.join(',') } })
-}
-
-// 分配公海给对应负责人
-export const distributeCustomer = async (ids: any[], ownerUserId: number) => {
-  return await request.put({
-    url: '/crm/customer/distribute',
-    data: { ids: ids, ownerUserId }
-  })
-}
-
-// 客户放入公海
-export const putCustomerPool = async (id: number) => {
-  return await request.put({ url: `/crm/customer/put-pool?id=${id}` })
-}

+ 0 - 49
src/api/crm/customer/limitConfig/index.ts

@@ -1,49 +0,0 @@
-import request from '@/config/axios'
-
-export interface CustomerLimitConfigVO {
-  id?: number
-  type?: number
-  userIds?: string
-  deptIds?: string
-  maxCount?: number
-  dealCountEnabled?: boolean
-}
-
-/**
- * 客户限制配置类型
- */
-export enum LimitConfType {
-  /**
-   * 拥有客户数限制
-   */
-  CUSTOMER_QUANTITY_LIMIT = 1,
-  /**
-   * 锁定客户数限制
-   */
-  CUSTOMER_LOCK_LIMIT = 2
-}
-
-// 查询客户限制配置列表
-export const getCustomerLimitConfigPage = async (params) => {
-  return await request.get({ url: `/crm/customer-limit-config/page`, params })
-}
-
-// 查询客户限制配置详情
-export const getCustomerLimitConfig = async (id: number) => {
-  return await request.get({ url: `/crm/customer-limit-config/get?id=` + id })
-}
-
-// 新增客户限制配置
-export const createCustomerLimitConfig = async (data: CustomerLimitConfigVO) => {
-  return await request.post({ url: `/crm/customer-limit-config/create`, data })
-}
-
-// 修改客户限制配置
-export const updateCustomerLimitConfig = async (data: CustomerLimitConfigVO) => {
-  return await request.put({ url: `/crm/customer-limit-config/update`, data })
-}
-
-// 删除客户限制配置
-export const deleteCustomerLimitConfig = async (id: number) => {
-  return await request.delete({ url: `/crm/customer-limit-config/delete?id=` + id })
-}

+ 0 - 19
src/api/crm/customer/poolConfig/index.ts

@@ -1,19 +0,0 @@
-import request from '@/config/axios'
-
-export interface CustomerPoolConfigVO {
-  enabled?: boolean
-  contactExpireDays?: number
-  dealExpireDays?: number
-  notifyEnabled?: boolean
-  notifyDays?: number
-}
-
-// 获取客户公海规则设置
-export const getCustomerPoolConfig = async () => {
-  return await request.get({ url: `/crm/customer-pool-config/get` })
-}
-
-// 更新客户公海规则设置
-export const saveCustomerPoolConfig = async (data: CustomerPoolConfigVO) => {
-  return await request.put({ url: `/crm/customer-pool-config/save`, data })
-}

+ 0 - 43
src/api/crm/followup/index.ts

@@ -1,43 +0,0 @@
-import request from '@/config/axios'
-
-// 跟进记录 VO
-export interface FollowUpRecordVO {
-  id: number // 编号
-  bizType: number // 数据类型
-  bizId: number // 数据编号
-  type: number // 跟进类型
-  content: string // 跟进内容
-  picUrls: string[] // 图片
-  fileUrls: string[] // 附件
-  nextTime: Date // 下次联系时间
-  businessIds: number[] // 关联的商机编号数组
-  businesses: {
-    id: number
-    name: string
-  }[] // 关联的商机数组
-  contactIds: number[] // 关联的联系人编号数组
-  contacts: {
-    id: number
-    name: string
-  }[] // 关联的联系人数组
-  creator: string
-  creatorName?: string
-}
-
-// 跟进记录 API
-export const FollowUpRecordApi = {
-  // 查询跟进记录分页
-  getFollowUpRecordPage: async (params: any) => {
-    return await request.get({ url: `/crm/follow-up-record/page`, params })
-  },
-
-  // 新增跟进记录
-  createFollowUpRecord: async (data: FollowUpRecordVO) => {
-    return await request.post({ url: `/crm/follow-up-record/create`, data })
-  },
-
-  // 删除跟进记录
-  deleteFollowUpRecord: async (id: number) => {
-    return await request.delete({ url: `/crm/follow-up-record/delete?id=` + id })
-  }
-}

+ 0 - 11
src/api/crm/operateLog/index.ts

@@ -1,11 +0,0 @@
-import request from '@/config/axios'
-
-export interface OperateLogVO extends PageParam {
-  bizType: number
-  bizId: number
-}
-
-// 获得操作日志
-export const getOperateLogPage = async (params: OperateLogVO) => {
-  return await request.get({ url: `/crm/operate-log/page`, params })
-}

+ 0 - 72
src/api/crm/permission/index.ts

@@ -1,72 +0,0 @@
-import request from '@/config/axios'
-
-export interface PermissionVO {
-  id?: number // 数据权限编号
-  userId: number // 用户编号
-  bizType: number // Crm 类型
-  bizId: number // Crm 类型数据编号
-  level: number // 权限级别
-  toBizTypes?: number[] // 同时添加至
-  deptName?: string // 部门名称
-  nickname?: string // 用户昵称
-  postNames?: string[] // 岗位名称数组
-  createTime?: Date
-  ids?: number[]
-}
-
-export interface TransferReqVO {
-  id: number // 模块编号
-  newOwnerUserId: number // 新负责人的用户编号
-  oldOwnerPermissionLevel?: number // 老负责人加入团队后的权限级别
-  toBizTypes?: number[] // 转移客户时,需要额外有【联系人】【商机】【合同】的 checkbox 选择
-}
-
-/**
- * CRM 业务类型枚举
- *
- * @author HUIHUI
- */
-export enum BizTypeEnum {
-  CRM_CLUE = 1, // 线索
-  CRM_CUSTOMER = 2, // 客户
-  CRM_CONTACT = 3, // 联系人
-  CRM_BUSINESS = 4, // 商机
-  CRM_CONTRACT = 5, // 合同
-  CRM_PRODUCT = 6, // 产品
-  CRM_RECEIVABLE = 7, // 回款
-  CRM_RECEIVABLE_PLAN = 8 // 回款计划
-}
-
-/**
- * CRM 数据权限级别枚举
- */
-export enum PermissionLevelEnum {
-  OWNER = 1, // 负责人
-  READ = 2, // 只读
-  WRITE = 3 // 读写
-}
-
-// 获得数据权限列表(查询团队成员列表)
-export const getPermissionList = async (params) => {
-  return await request.get({ url: `/crm/permission/list`, params })
-}
-
-// 创建数据权限(新增团队成员)
-export const createPermission = async (data: PermissionVO) => {
-  return await request.post({ url: `/crm/permission/create`, data })
-}
-
-// 编辑数据权限(修改团队成员权限级别)
-export const updatePermission = async (data) => {
-  return await request.put({ url: `/crm/permission/update`, data })
-}
-
-// 删除数据权限(删除团队成员)
-export const deletePermissionBatch = async (val: number[]) => {
-  return await request.delete({ url: '/crm/permission/delete?ids=' + val.join(',') })
-}
-
-// 删除自己的数据权限(退出团队)
-export const deleteSelfPermission = async (id: number) => {
-  return await request.delete({ url: '/crm/permission/delete-self?id=' + id })
-}

+ 0 - 33
src/api/crm/product/category/index.ts

@@ -1,33 +0,0 @@
-import request from '@/config/axios'
-
-// TODO @zange:挪到 product 下,建个 category 包,挪进去哈;
-export interface ProductCategoryVO {
-  id: number
-  name: string
-  parentId: number
-}
-
-// 查询产品分类详情
-export const getProductCategory = async (id: number) => {
-  return await request.get({ url: `/crm/product-category/get?id=` + id })
-}
-
-// 新增产品分类
-export const createProductCategory = async (data: ProductCategoryVO) => {
-  return await request.post({ url: `/crm/product-category/create`, data })
-}
-
-// 修改产品分类
-export const updateProductCategory = async (data: ProductCategoryVO) => {
-  return await request.put({ url: `/crm/product-category/update`, data })
-}
-
-// 删除产品分类
-export const deleteProductCategory = async (id: number) => {
-  return await request.delete({ url: `/crm/product-category/delete?id=` + id })
-}
-
-// 产品分类列表
-export const getProductCategoryList = async (params) => {
-  return await request.get({ url: `/crm/product-category/list`, params })
-}

+ 0 - 49
src/api/crm/product/index.ts

@@ -1,49 +0,0 @@
-import request from '@/config/axios'
-
-export interface ProductVO {
-  id: number
-  name: string
-  no: string
-  unit: number
-  price: number
-  status: number
-  categoryId: number
-  categoryName?: string
-  description: string
-  ownerUserId: number
-}
-
-// 查询产品列表
-export const getProductPage = async (params) => {
-  return await request.get({ url: `/crm/product/page`, params })
-}
-
-// 获得产品精简列表
-export const getProductSimpleList = async () => {
-  return await request.get({ url: `/crm/product/simple-list` })
-}
-
-// 查询产品详情
-export const getProduct = async (id: number) => {
-  return await request.get({ url: `/crm/product/get?id=` + id })
-}
-
-// 新增产品
-export const createProduct = async (data: ProductVO) => {
-  return await request.post({ url: `/crm/product/create`, data })
-}
-
-// 修改产品
-export const updateProduct = async (data: ProductVO) => {
-  return await request.put({ url: `/crm/product/update`, data })
-}
-
-// 删除产品
-export const deleteProduct = async (id: number) => {
-  return await request.delete({ url: `/crm/product/delete?id=` + id })
-}
-
-// 导出产品 Excel
-export const exportProduct = async (params) => {
-  return await request.download({ url: `/crm/product/export-excel`, params })
-}

+ 0 - 73
src/api/crm/receivable/index.ts

@@ -1,73 +0,0 @@
-import request from '@/config/axios'
-
-export interface ReceivableVO {
-  id: number
-  no: string
-  planId?: number
-  customerId?: number
-  customerName?: string
-  contractId?: number
-  contract?: {
-    id?: number
-    name?: string
-    no: string
-    totalPrice: number
-  }
-  auditStatus: number
-  processInstanceId: number
-  returnTime: Date
-  returnType: number
-  price: number
-  ownerUserId: number
-  ownerUserName?: string
-  remark: string
-  creator: string // 创建人
-  creatorName?: string // 创建人名称
-  createTime: Date // 创建时间
-  updateTime: Date // 更新时间
-}
-
-// 查询回款列表
-export const getReceivablePage = async (params) => {
-  return await request.get({ url: `/crm/receivable/page`, params })
-}
-
-// 查询回款列表
-export const getReceivablePageByCustomer = async (params) => {
-  return await request.get({ url: `/crm/receivable/page-by-customer`, params })
-}
-
-// 查询回款详情
-export const getReceivable = async (id: number) => {
-  return await request.get({ url: `/crm/receivable/get?id=` + id })
-}
-
-// 新增回款
-export const createReceivable = async (data: ReceivableVO) => {
-  return await request.post({ url: `/crm/receivable/create`, data })
-}
-
-// 修改回款
-export const updateReceivable = async (data: ReceivableVO) => {
-  return await request.put({ url: `/crm/receivable/update`, data })
-}
-
-// 删除回款
-export const deleteReceivable = async (id: number) => {
-  return await request.delete({ url: `/crm/receivable/delete?id=` + id })
-}
-
-// 导出回款 Excel
-export const exportReceivable = async (params) => {
-  return await request.download({ url: `/crm/receivable/export-excel`, params })
-}
-
-// 提交审核
-export const submitReceivable = async (id: number) => {
-  return await request.put({ url: `/crm/receivable/submit?id=${id}` })
-}
-
-// 获得待审核回款数量
-export const getAuditReceivableCount = async () => {
-  return await request.get({ url: '/crm/receivable/audit-count' })
-}

+ 0 - 74
src/api/crm/receivable/plan/index.ts

@@ -1,74 +0,0 @@
-import request from '@/config/axios'
-
-export interface ReceivablePlanVO {
-  id: number
-  period: number
-  receivableId: number
-  price: number
-  returnTime: Date
-  remindDays: number
-  returnType: number
-  remindTime: Date
-  customerId: number
-  customerName?: string
-  contractId?: number
-  contractNo?: string
-  ownerUserId: number
-  ownerUserName?: string
-  remark: string
-  creator: string // 创建人
-  creatorName?: string // 创建人名称
-  createTime: Date // 创建时间
-  updateTime: Date // 更新时间
-  receivable?: {
-    price: number
-    returnTime: Date
-  }
-}
-
-// 查询回款计划列表
-export const getReceivablePlanPage = async (params) => {
-  return await request.get({ url: `/crm/receivable-plan/page`, params })
-}
-
-// 查询回款计划列表
-export const getReceivablePlanPageByCustomer = async (params) => {
-  return await request.get({ url: `/crm/receivable-plan/page-by-customer`, params })
-}
-
-// 查询回款计划详情
-export const getReceivablePlan = async (id: number) => {
-  return await request.get({ url: `/crm/receivable-plan/get?id=` + id })
-}
-
-// 查询回款计划下拉数据
-export const getReceivablePlanSimpleList = async (customerId: number, contractId: number) => {
-  return await request.get({
-    url: `/crm/receivable-plan/simple-list?customerId=${customerId}&contractId=${contractId}`
-  })
-}
-
-// 新增回款计划
-export const createReceivablePlan = async (data: ReceivablePlanVO) => {
-  return await request.post({ url: `/crm/receivable-plan/create`, data })
-}
-
-// 修改回款计划
-export const updateReceivablePlan = async (data: ReceivablePlanVO) => {
-  return await request.put({ url: `/crm/receivable-plan/update`, data })
-}
-
-// 删除回款计划
-export const deleteReceivablePlan = async (id: number) => {
-  return await request.delete({ url: `/crm/receivable-plan/delete?id=` + id })
-}
-
-// 导出回款计划 Excel
-export const exportReceivablePlan = async (params) => {
-  return await request.download({ url: `/crm/receivable-plan/export-excel`, params })
-}
-
-// 获得待回款提醒数量
-export const getReceivablePlanRemindCount = async () => {
-  return await request.get({ url: '/crm/receivable-plan/remind-count' })
-}

+ 0 - 168
src/api/crm/statistics/customer.ts

@@ -1,168 +0,0 @@
-import request from '@/config/axios'
-
-export interface CrmStatisticsCustomerSummaryByDateRespVO {
-  time: string
-  customerCreateCount: number
-  customerDealCount: number
-}
-
-export interface CrmStatisticsCustomerSummaryByUserRespVO {
-  ownerUserName: string
-  customerCreateCount: number
-  customerDealCount: number
-  contractPrice: number
-  receivablePrice: number
-}
-
-export interface CrmStatisticsFollowUpSummaryByDateRespVO {
-  time: string
-  followUpRecordCount: number
-  followUpCustomerCount: number
-}
-
-export interface CrmStatisticsFollowUpSummaryByUserRespVO {
-  ownerUserName: string
-  followupRecordCount: number
-  followupCustomerCount: number
-}
-
-export interface CrmStatisticsFollowUpSummaryByTypeRespVO {
-  followUpType: string
-  followUpRecordCount: number
-}
-
-export interface CrmStatisticsCustomerContractSummaryRespVO {
-  customerName: string
-  contractName: string
-  totalPrice: number
-  receivablePrice: number
-  customerType: string
-  customerSource: string
-  ownerUserName: string
-  creatorUserName: string
-  createTime: Date
-  orderDate: Date
-}
-
-export interface CrmStatisticsPoolSummaryByDateRespVO {
-  time: string
-  customerPutCount: number
-  customerTakeCount: number
-}
-
-export interface CrmStatisticsPoolSummaryByUserRespVO {
-  ownerUserName: string
-  customerPutCount: number
-  customerTakeCount: number
-}
-
-export interface CrmStatisticsCustomerDealCycleByDateRespVO {
-  time: string
-  customerDealCycle: number
-}
-
-export interface CrmStatisticsCustomerDealCycleByUserRespVO {
-  ownerUserName: string
-  customerDealCycle: number
-  customerDealCount: number
-}
-
-export interface CrmStatisticsCustomerDealCycleByAreaRespVO {
-  areaName: string
-  customerDealCycle: number
-  customerDealCount: number
-}
-
-export interface CrmStatisticsCustomerDealCycleByProductRespVO {
-  productName: string
-  customerDealCycle: number
-  customerDealCount: number
-}
-
-// 客户分析 API
-export const StatisticsCustomerApi = {
-  // 1.1 客户总量分析(按日期)
-  getCustomerSummaryByDate: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-customer-summary-by-date',
-      params
-    })
-  },
-  // 1.2 客户总量分析(按用户)
-  getCustomerSummaryByUser: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-customer-summary-by-user',
-      params
-    })
-  },
-  // 2.1 客户跟进次数分析(按日期)
-  getFollowUpSummaryByDate: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-follow-up-summary-by-date',
-      params
-    })
-  },
-  // 2.2 客户跟进次数分析(按用户)
-  getFollowUpSummaryByUser: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-follow-up-summary-by-user',
-      params
-    })
-  },
-  // 3.1 获取客户跟进方式统计数
-  getFollowUpSummaryByType: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-follow-up-summary-by-type',
-      params
-    })
-  },
-  // 4.1 合同摘要信息(客户转化率页面)
-  getContractSummary: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-contract-summary',
-      params
-    })
-  },
-  // 5.1 获取客户公海分析(按日期)
-  getPoolSummaryByDate: (param: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-pool-summary-by-date',
-      params: param
-    })
-  },
-  // 5.2 获取客户公海分析(按用户)
-  getPoolSummaryByUser: (param: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-pool-summary-by-user',
-      params: param
-    })
-  },
-  // 6.1 获取客户成交周期(按日期)
-  getCustomerDealCycleByDate: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-customer-deal-cycle-by-date',
-      params
-    })
-  },
-  // 6.2 获取客户成交周期(按用户)
-  getCustomerDealCycleByUser: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-customer-deal-cycle-by-user',
-      params
-    })
-  },
-  // 6.2 获取客户成交周期(按用户)
-  getCustomerDealCycleByArea: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-customer-deal-cycle-by-area',
-      params
-    })
-  },
-  // 6.2 获取客户成交周期(按用户)
-  getCustomerDealCycleByProduct: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-customer/get-customer-deal-cycle-by-product',
-      params
-    })
-  }
-}

+ 0 - 58
src/api/crm/statistics/funnel.ts

@@ -1,58 +0,0 @@
-import request from '@/config/axios'
-
-export interface CrmStatisticFunnelRespVO {
-  customerCount: number // 客户数
-  businessCount: number // 商机数
-  businessWinCount: number // 赢单数
-}
-
-export interface CrmStatisticsBusinessSummaryByDateRespVO {
-  time: string // 时间
-  businessCreateCount: number // 商机数
-  totalPrice: number | string // 商机金额
-}
-
-export interface CrmStatisticsBusinessInversionRateSummaryByDateRespVO {
-  time: string // 时间
-  businessCount: number // 商机数量
-  businessWinCount: number // 赢单商机数
-}
-
-// 客户分析 API
-export const StatisticFunnelApi = {
-  // 1. 获取销售漏斗统计数据
-  getFunnelSummary: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-funnel/get-funnel-summary',
-      params
-    })
-  },
-  // 2. 获取商机结束状态统计
-  getBusinessSummaryByEndStatus: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-funnel/get-business-summary-by-end-status',
-      params
-    })
-  },
-  // 3. 获取新增商机分析(按日期)
-  getBusinessSummaryByDate: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-funnel/get-business-summary-by-date',
-      params
-    })
-  },
-  // 4. 获取商机转化率分析(按日期)
-  getBusinessInversionRateSummaryByDate: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-funnel/get-business-inversion-rate-summary-by-date',
-      params
-    })
-  },
-  // 5. 获取商机列表(按日期)
-  getBusinessPageByDate: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-funnel/get-business-page-by-date',
-      params
-    })
-  }
-}

+ 0 - 33
src/api/crm/statistics/performance.ts

@@ -1,33 +0,0 @@
-import request from '@/config/axios'
-
-export interface StatisticsPerformanceRespVO {
-  time: string
-  currentMonthCount: number
-  lastMonthCount: number
-  lastYearCount: number
-}
-
-// 排行 API
-export const StatisticsPerformanceApi = {
-  // 员工获得合同金额统计
-  getContractPricePerformance: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-performance/get-contract-price-performance',
-      params
-    })
-  },
-  // 员工获得回款统计
-  getReceivablePricePerformance: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-performance/get-receivable-price-performance',
-      params
-    })
-  },
-  //员工获得签约合同数量统计
-  getContractCountPerformance: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-performance/get-contract-count-performance',
-      params
-    })
-  }
-}

+ 0 - 60
src/api/crm/statistics/portrait.ts

@@ -1,60 +0,0 @@
-import request from '@/config/axios'
-
-export interface CrmStatisticCustomerBaseRespVO {
-  customerCount: number
-  dealCount: number
-  dealPortion: string | number
-}
-
-export interface CrmStatisticCustomerIndustryRespVO extends CrmStatisticCustomerBaseRespVO {
-  industryId: number
-  industryPortion: string | number
-}
-
-export interface CrmStatisticCustomerSourceRespVO extends CrmStatisticCustomerBaseRespVO {
-  source: number
-  sourcePortion: string | number
-}
-
-export interface CrmStatisticCustomerLevelRespVO extends CrmStatisticCustomerBaseRespVO {
-  level: number
-  levelPortion: string | number
-}
-
-export interface CrmStatisticCustomerAreaRespVO extends CrmStatisticCustomerBaseRespVO {
-  areaId: number
-  areaName: string
-  areaPortion: string | number
-}
-
-// 客户分析 API
-export const StatisticsPortraitApi = {
-  // 1. 获取客户行业统计数据
-  getCustomerIndustry: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-portrait/get-customer-industry-summary',
-      params
-    })
-  },
-  // 2. 获取客户来源统计数据
-  getCustomerSource: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-portrait/get-customer-source-summary',
-      params
-    })
-  },
-  // 3. 获取客户级别统计数据
-  getCustomerLevel: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-portrait/get-customer-level-summary',
-      params
-    })
-  },
-  // 4. 获取客户地区统计数据
-  getCustomerArea: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-portrait/get-customer-area-summary',
-      params
-    })
-  }
-}

+ 0 - 67
src/api/crm/statistics/rank.ts

@@ -1,67 +0,0 @@
-import request from '@/config/axios'
-
-export interface StatisticsRankRespVO {
-  count: number
-  nickname: string
-  deptName: string
-}
-
-// 排行 API
-export const StatisticsRankApi = {
-  // 获得合同排行榜
-  getContractPriceRank: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-rank/get-contract-price-rank',
-      params
-    })
-  },
-  // 获得回款排行榜
-  getReceivablePriceRank: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-rank/get-receivable-price-rank',
-      params
-    })
-  },
-  // 签约合同排行
-  getContractCountRank: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-rank/get-contract-count-rank',
-      params
-    })
-  },
-  // 产品销量排行
-  getProductSalesRank: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-rank/get-product-sales-rank',
-      params
-    })
-  },
-  // 新增客户数排行
-  getCustomerCountRank: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-rank/get-customer-count-rank',
-      params
-    })
-  },
-  // 新增联系人数排行
-  getContactsCountRank: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-rank/get-contacts-count-rank',
-      params
-    })
-  },
-  // 跟进次数排行
-  getFollowCountRank: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-rank/get-follow-count-rank',
-      params
-    })
-  },
-  // 跟进客户数排行
-  getFollowCustomerCountRank: (params: any) => {
-    return request.get({
-      url: '/crm/statistics-rank/get-follow-customer-count-rank',
-      params
-    })
-  }
-}

+ 0 - 61
src/api/erp/finance/account/index.ts

@@ -1,61 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 结算账户 VO
-export interface AccountVO {
-  id: number // 结算账户编号
-  no: string // 账户编码
-  remark: string // 备注
-  status: number // 开启状态
-  sort: number // 排序
-  defaultStatus: boolean // 是否默认
-  name: string // 账户名称
-}
-
-// ERP 结算账户 API
-export const AccountApi = {
-  // 查询结算账户分页
-  getAccountPage: async (params: any) => {
-    return await request.get({ url: `/erp/account/page`, params })
-  },
-
-  // 查询结算账户精简列表
-  getAccountSimpleList: async () => {
-    return await request.get({ url: `/erp/account/simple-list` })
-  },
-
-  // 查询结算账户详情
-  getAccount: async (id: number) => {
-    return await request.get({ url: `/erp/account/get?id=` + id })
-  },
-
-  // 新增结算账户
-  createAccount: async (data: AccountVO) => {
-    return await request.post({ url: `/erp/account/create`, data })
-  },
-
-  // 修改结算账户
-  updateAccount: async (data: AccountVO) => {
-    return await request.put({ url: `/erp/account/update`, data })
-  },
-
-  // 修改结算账户默认状态
-  updateAccountDefaultStatus: async (id: number, defaultStatus: boolean) => {
-    return await request.put({
-      url: `/erp/account/update-default-status`,
-      params: {
-        id,
-        defaultStatus
-      }
-    })
-  },
-
-  // 删除结算账户
-  deleteAccount: async (id: number) => {
-    return await request.delete({ url: `/erp/account/delete?id=` + id })
-  },
-
-  // 导出结算账户 Excel
-  exportAccount: async (params: any) => {
-    return await request.download({ url: `/erp/account/export-excel`, params })
-  }
-}

+ 0 - 61
src/api/erp/finance/payment/index.ts

@@ -1,61 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 付款单 VO
-export interface FinancePaymentVO {
-  id: number // 付款单编号
-  no: string // 付款单号
-  supplierId: number // 供应商编号
-  paymentTime: Date // 付款时间
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 付款单 API
-export const FinancePaymentApi = {
-  // 查询付款单分页
-  getFinancePaymentPage: async (params: any) => {
-    return await request.get({ url: `/erp/finance-payment/page`, params })
-  },
-
-  // 查询付款单详情
-  getFinancePayment: async (id: number) => {
-    return await request.get({ url: `/erp/finance-payment/get?id=` + id })
-  },
-
-  // 新增付款单
-  createFinancePayment: async (data: FinancePaymentVO) => {
-    return await request.post({ url: `/erp/finance-payment/create`, data })
-  },
-
-  // 修改付款单
-  updateFinancePayment: async (data: FinancePaymentVO) => {
-    return await request.put({ url: `/erp/finance-payment/update`, data })
-  },
-
-  // 更新付款单的状态
-  updateFinancePaymentStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/finance-payment/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除付款单
-  deleteFinancePayment: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/finance-payment/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出付款单 Excel
-  exportFinancePayment: async (params: any) => {
-    return await request.download({ url: `/erp/finance-payment/export-excel`, params })
-  }
-}

+ 0 - 61
src/api/erp/finance/receipt/index.ts

@@ -1,61 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 收款单 VO
-export interface FinanceReceiptVO {
-  id: number // 收款单编号
-  no: string // 收款单号
-  customerId: number // 客户编号
-  receiptTime: Date // 收款时间
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 收款单 API
-export const FinanceReceiptApi = {
-  // 查询收款单分页
-  getFinanceReceiptPage: async (params: any) => {
-    return await request.get({ url: `/erp/finance-receipt/page`, params })
-  },
-
-  // 查询收款单详情
-  getFinanceReceipt: async (id: number) => {
-    return await request.get({ url: `/erp/finance-receipt/get?id=` + id })
-  },
-
-  // 新增收款单
-  createFinanceReceipt: async (data: FinanceReceiptVO) => {
-    return await request.post({ url: `/erp/finance-receipt/create`, data })
-  },
-
-  // 修改收款单
-  updateFinanceReceipt: async (data: FinanceReceiptVO) => {
-    return await request.put({ url: `/erp/finance-receipt/update`, data })
-  },
-
-  // 更新收款单的状态
-  updateFinanceReceiptStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/finance-receipt/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除收款单
-  deleteFinanceReceipt: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/finance-receipt/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出收款单 Excel
-  exportFinanceReceipt: async (params: any) => {
-    return await request.download({ url: `/erp/finance-receipt/export-excel`, params })
-  }
-}

+ 0 - 49
src/api/erp/product/category/index.ts

@@ -1,49 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 产品分类 VO
-export interface ProductCategoryVO {
-  id: number // 分类编号
-  parentId: number // 父分类编号
-  name: string // 分类名称
-  code: string // 分类编码
-  sort: number // 分类排序
-  status: number // 开启状态
-}
-
-// ERP 产品分类 API
-export const ProductCategoryApi = {
-  // 查询产品分类列表
-  getProductCategoryList: async (params) => {
-    return await request.get({ url: `/erp/product-category/list`, params })
-  },
-
-  // 查询产品分类精简列表
-  getProductCategorySimpleList: async () => {
-    return await request.get({ url: `/erp/product-category/simple-list` })
-  },
-
-  // 查询产品分类详情
-  getProductCategory: async (id: number) => {
-    return await request.get({ url: `/erp/product-category/get?id=` + id })
-  },
-
-  // 新增产品分类
-  createProductCategory: async (data: ProductCategoryVO) => {
-    return await request.post({ url: `/erp/product-category/create`, data })
-  },
-
-  // 修改产品分类
-  updateProductCategory: async (data: ProductCategoryVO) => {
-    return await request.put({ url: `/erp/product-category/update`, data })
-  },
-
-  // 删除产品分类
-  deleteProductCategory: async (id: number) => {
-    return await request.delete({ url: `/erp/product-category/delete?id=` + id })
-  },
-
-  // 导出产品分类 Excel
-  exportProductCategory: async (params) => {
-    return await request.download({ url: `/erp/product-category/export-excel`, params })
-  }
-}

+ 0 - 57
src/api/erp/product/product/index.ts

@@ -1,57 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 产品 VO
-export interface ProductVO {
-  id: number // 产品编号
-  name: string // 产品名称
-  barCode: string // 产品条码
-  categoryId: number // 产品类型编号
-  unitId: number // 单位编号
-  unitName?: string // 单位名字
-  status: number // 产品状态
-  standard: string // 产品规格
-  remark: string // 产品备注
-  expiryDay: number // 保质期天数
-  weight: number // 重量(kg)
-  purchasePrice: number // 采购价格,单位:元
-  salePrice: number // 销售价格,单位:元
-  minPrice: number // 最低价格,单位:元
-}
-
-// ERP 产品 API
-export const ProductApi = {
-  // 查询产品分页
-  getProductPage: async (params: any) => {
-    return await request.get({ url: `/erp/product/page`, params })
-  },
-
-  // 查询产品精简列表
-  getProductSimpleList: async () => {
-    return await request.get({ url: `/erp/product/simple-list` })
-  },
-
-  // 查询产品详情
-  getProduct: async (id: number) => {
-    return await request.get({ url: `/erp/product/get?id=` + id })
-  },
-
-  // 新增产品
-  createProduct: async (data: ProductVO) => {
-    return await request.post({ url: `/erp/product/create`, data })
-  },
-
-  // 修改产品
-  updateProduct: async (data: ProductVO) => {
-    return await request.put({ url: `/erp/product/update`, data })
-  },
-
-  // 删除产品
-  deleteProduct: async (id: number) => {
-    return await request.delete({ url: `/erp/product/delete?id=` + id })
-  },
-
-  // 导出产品 Excel
-  exportProduct: async (params) => {
-    return await request.download({ url: `/erp/product/export-excel`, params })
-  }
-}

+ 0 - 46
src/api/erp/product/unit/index.ts

@@ -1,46 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 产品单位 VO
-export interface ProductUnitVO {
-  id: number // 单位编号
-  name: string // 单位名字
-  status: number // 单位状态
-}
-
-// ERP 产品单位 API
-export const ProductUnitApi = {
-  // 查询产品单位分页
-  getProductUnitPage: async (params: any) => {
-    return await request.get({ url: `/erp/product-unit/page`, params })
-  },
-
-  // 查询产品单位精简列表
-  getProductUnitSimpleList: async () => {
-    return await request.get({ url: `/erp/product-unit/simple-list` })
-  },
-
-  // 查询产品单位详情
-  getProductUnit: async (id: number) => {
-    return await request.get({ url: `/erp/product-unit/get?id=` + id })
-  },
-
-  // 新增产品单位
-  createProductUnit: async (data: ProductUnitVO) => {
-    return await request.post({ url: `/erp/product-unit/create`, data })
-  },
-
-  // 修改产品单位
-  updateProductUnit: async (data: ProductUnitVO) => {
-    return await request.put({ url: `/erp/product-unit/update`, data })
-  },
-
-  // 删除产品单位
-  deleteProductUnit: async (id: number) => {
-    return await request.delete({ url: `/erp/product-unit/delete?id=` + id })
-  },
-
-  // 导出产品单位 Excel
-  exportProductUnit: async (params) => {
-    return await request.download({ url: `/erp/product-unit/export-excel`, params })
-  }
-}

+ 0 - 64
src/api/erp/purchase/in/index.ts

@@ -1,64 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 采购入库 VO
-export interface PurchaseInVO {
-  id: number // 入库工单编号
-  no: string // 采购入库号
-  customerId: number // 客户编号
-  inTime: Date // 入库时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-  outCount: number // 采购出库数量
-  returnCount: number // 采购退货数量
-}
-
-// ERP 采购入库 API
-export const PurchaseInApi = {
-  // 查询采购入库分页
-  getPurchaseInPage: async (params: any) => {
-    return await request.get({ url: `/erp/purchase-in/page`, params })
-  },
-
-  // 查询采购入库详情
-  getPurchaseIn: async (id: number) => {
-    return await request.get({ url: `/erp/purchase-in/get?id=` + id })
-  },
-
-  // 新增采购入库
-  createPurchaseIn: async (data: PurchaseInVO) => {
-    return await request.post({ url: `/erp/purchase-in/create`, data })
-  },
-
-  // 修改采购入库
-  updatePurchaseIn: async (data: PurchaseInVO) => {
-    return await request.put({ url: `/erp/purchase-in/update`, data })
-  },
-
-  // 更新采购入库的状态
-  updatePurchaseInStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/purchase-in/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除采购入库
-  deletePurchaseIn: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/purchase-in/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出采购入库 Excel
-  exportPurchaseIn: async (params: any) => {
-    return await request.download({ url: `/erp/purchase-in/export-excel`, params })
-  }
-}

+ 0 - 64
src/api/erp/purchase/order/index.ts

@@ -1,64 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 采购订单 VO
-export interface PurchaseOrderVO {
-  id: number // 订单工单编号
-  no: string // 采购订单号
-  customerId: number // 客户编号
-  orderTime: Date // 订单时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-  outCount: number // 采购出库数量
-  returnCount: number // 采购退货数量
-}
-
-// ERP 采购订单 API
-export const PurchaseOrderApi = {
-  // 查询采购订单分页
-  getPurchaseOrderPage: async (params: any) => {
-    return await request.get({ url: `/erp/purchase-order/page`, params })
-  },
-
-  // 查询采购订单详情
-  getPurchaseOrder: async (id: number) => {
-    return await request.get({ url: `/erp/purchase-order/get?id=` + id })
-  },
-
-  // 新增采购订单
-  createPurchaseOrder: async (data: PurchaseOrderVO) => {
-    return await request.post({ url: `/erp/purchase-order/create`, data })
-  },
-
-  // 修改采购订单
-  updatePurchaseOrder: async (data: PurchaseOrderVO) => {
-    return await request.put({ url: `/erp/purchase-order/update`, data })
-  },
-
-  // 更新采购订单的状态
-  updatePurchaseOrderStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/purchase-order/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除采购订单
-  deletePurchaseOrder: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/purchase-order/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出采购订单 Excel
-  exportPurchaseOrder: async (params: any) => {
-    return await request.download({ url: `/erp/purchase-order/export-excel`, params })
-  }
-}

+ 0 - 62
src/api/erp/purchase/return/index.ts

@@ -1,62 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 采购退货 VO
-export interface PurchaseReturnVO {
-  id: number // 采购退货编号
-  no: string // 采购退货号
-  customerId: number // 客户编号
-  returnTime: Date // 退货时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 采购退货 API
-export const PurchaseReturnApi = {
-  // 查询采购退货分页
-  getPurchaseReturnPage: async (params: any) => {
-    return await request.get({ url: `/erp/purchase-return/page`, params })
-  },
-
-  // 查询采购退货详情
-  getPurchaseReturn: async (id: number) => {
-    return await request.get({ url: `/erp/purchase-return/get?id=` + id })
-  },
-
-  // 新增采购退货
-  createPurchaseReturn: async (data: PurchaseReturnVO) => {
-    return await request.post({ url: `/erp/purchase-return/create`, data })
-  },
-
-  // 修改采购退货
-  updatePurchaseReturn: async (data: PurchaseReturnVO) => {
-    return await request.put({ url: `/erp/purchase-return/update`, data })
-  },
-
-  // 更新采购退货的状态
-  updatePurchaseReturnStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/purchase-return/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除采购退货
-  deletePurchaseReturn: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/purchase-return/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出采购退货 Excel
-  exportPurchaseReturn: async (params: any) => {
-    return await request.download({ url: `/erp/purchase-return/export-excel`, params })
-  }
-}

+ 0 - 58
src/api/erp/purchase/supplier/index.ts

@@ -1,58 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 供应商 VO
-export interface SupplierVO {
-  id: number // 供应商编号
-  name: string // 供应商名称
-  contact: string // 联系人
-  mobile: string // 手机号码
-  telephone: string // 联系电话
-  email: string // 电子邮箱
-  fax: string // 传真
-  remark: string // 备注
-  status: number // 开启状态
-  sort: number // 排序
-  taxNo: string // 纳税人识别号
-  taxPercent: number // 税率
-  bankName: string // 开户行
-  bankAccount: string // 开户账号
-  bankAddress: string // 开户地址
-}
-
-// ERP 供应商 API
-export const SupplierApi = {
-  // 查询供应商分页
-  getSupplierPage: async (params: any) => {
-    return await request.get({ url: `/erp/supplier/page`, params })
-  },
-
-  // 获得供应商精简列表
-  getSupplierSimpleList: async () => {
-    return await request.get({ url: `/erp/supplier/simple-list` })
-  },
-
-  // 查询供应商详情
-  getSupplier: async (id: number) => {
-    return await request.get({ url: `/erp/supplier/get?id=` + id })
-  },
-
-  // 新增供应商
-  createSupplier: async (data: SupplierVO) => {
-    return await request.post({ url: `/erp/supplier/create`, data })
-  },
-
-  // 修改供应商
-  updateSupplier: async (data: SupplierVO) => {
-    return await request.put({ url: `/erp/supplier/update`, data })
-  },
-
-  // 删除供应商
-  deleteSupplier: async (id: number) => {
-    return await request.delete({ url: `/erp/supplier/delete?id=` + id })
-  },
-
-  // 导出供应商 Excel
-  exportSupplier: async (params) => {
-    return await request.download({ url: `/erp/supplier/export-excel`, params })
-  }
-}

+ 0 - 58
src/api/erp/sale/customer/index.ts

@@ -1,58 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 客户 VO
-export interface CustomerVO {
-  id: number // 客户编号
-  name: string // 客户名称
-  contact: string // 联系人
-  mobile: string // 手机号码
-  telephone: string // 联系电话
-  email: string // 电子邮箱
-  fax: string // 传真
-  remark: string // 备注
-  status: number // 开启状态
-  sort: number // 排序
-  taxNo: string // 纳税人识别号
-  taxPercent: number // 税率
-  bankName: string // 开户行
-  bankAccount: string // 开户账号
-  bankAddress: string // 开户地址
-}
-
-// ERP 客户 API
-export const CustomerApi = {
-  // 查询客户分页
-  getCustomerPage: async (params: any) => {
-    return await request.get({ url: `/erp/customer/page`, params })
-  },
-
-  // 查询客户精简列表
-  getCustomerSimpleList: async () => {
-    return await request.get({ url: `/erp/customer/simple-list` })
-  },
-
-  // 查询客户详情
-  getCustomer: async (id: number) => {
-    return await request.get({ url: `/erp/customer/get?id=` + id })
-  },
-
-  // 新增客户
-  createCustomer: async (data: CustomerVO) => {
-    return await request.post({ url: `/erp/customer/create`, data })
-  },
-
-  // 修改客户
-  updateCustomer: async (data: CustomerVO) => {
-    return await request.put({ url: `/erp/customer/update`, data })
-  },
-
-  // 删除客户
-  deleteCustomer: async (id: number) => {
-    return await request.delete({ url: `/erp/customer/delete?id=` + id })
-  },
-
-  // 导出客户 Excel
-  exportCustomer: async (params) => {
-    return await request.download({ url: `/erp/customer/export-excel`, params })
-  }
-}

+ 0 - 64
src/api/erp/sale/order/index.ts

@@ -1,64 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 销售订单 VO
-export interface SaleOrderVO {
-  id: number // 订单工单编号
-  no: string // 销售订单号
-  customerId: number // 客户编号
-  orderTime: Date // 订单时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-  outCount: number // 销售出库数量
-  returnCount: number // 销售退货数量
-}
-
-// ERP 销售订单 API
-export const SaleOrderApi = {
-  // 查询销售订单分页
-  getSaleOrderPage: async (params: any) => {
-    return await request.get({ url: `/erp/sale-order/page`, params })
-  },
-
-  // 查询销售订单详情
-  getSaleOrder: async (id: number) => {
-    return await request.get({ url: `/erp/sale-order/get?id=` + id })
-  },
-
-  // 新增销售订单
-  createSaleOrder: async (data: SaleOrderVO) => {
-    return await request.post({ url: `/erp/sale-order/create`, data })
-  },
-
-  // 修改销售订单
-  updateSaleOrder: async (data: SaleOrderVO) => {
-    return await request.put({ url: `/erp/sale-order/update`, data })
-  },
-
-  // 更新销售订单的状态
-  updateSaleOrderStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/sale-order/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除销售订单
-  deleteSaleOrder: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/sale-order/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出销售订单 Excel
-  exportSaleOrder: async (params: any) => {
-    return await request.download({ url: `/erp/sale-order/export-excel`, params })
-  }
-}

+ 0 - 62
src/api/erp/sale/out/index.ts

@@ -1,62 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 销售出库 VO
-export interface SaleOutVO {
-  id: number // 销售出库编号
-  no: string // 销售出库号
-  customerId: number // 客户编号
-  outTime: Date // 出库时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 销售出库 API
-export const SaleOutApi = {
-  // 查询销售出库分页
-  getSaleOutPage: async (params: any) => {
-    return await request.get({ url: `/erp/sale-out/page`, params })
-  },
-
-  // 查询销售出库详情
-  getSaleOut: async (id: number) => {
-    return await request.get({ url: `/erp/sale-out/get?id=` + id })
-  },
-
-  // 新增销售出库
-  createSaleOut: async (data: SaleOutVO) => {
-    return await request.post({ url: `/erp/sale-out/create`, data })
-  },
-
-  // 修改销售出库
-  updateSaleOut: async (data: SaleOutVO) => {
-    return await request.put({ url: `/erp/sale-out/update`, data })
-  },
-
-  // 更新销售出库的状态
-  updateSaleOutStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/sale-out/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除销售出库
-  deleteSaleOut: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/sale-out/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出销售出库 Excel
-  exportSaleOut: async (params: any) => {
-    return await request.download({ url: `/erp/sale-out/export-excel`, params })
-  }
-}

+ 0 - 62
src/api/erp/sale/return/index.ts

@@ -1,62 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 销售退货 VO
-export interface SaleReturnVO {
-  id: number // 销售退货编号
-  no: string // 销售退货号
-  customerId: number // 客户编号
-  returnTime: Date // 退货时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 销售退货 API
-export const SaleReturnApi = {
-  // 查询销售退货分页
-  getSaleReturnPage: async (params: any) => {
-    return await request.get({ url: `/erp/sale-return/page`, params })
-  },
-
-  // 查询销售退货详情
-  getSaleReturn: async (id: number) => {
-    return await request.get({ url: `/erp/sale-return/get?id=` + id })
-  },
-
-  // 新增销售退货
-  createSaleReturn: async (data: SaleReturnVO) => {
-    return await request.post({ url: `/erp/sale-return/create`, data })
-  },
-
-  // 修改销售退货
-  updateSaleReturn: async (data: SaleReturnVO) => {
-    return await request.put({ url: `/erp/sale-return/update`, data })
-  },
-
-  // 更新销售退货的状态
-  updateSaleReturnStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/sale-return/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除销售退货
-  deleteSaleReturn: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/sale-return/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出销售退货 Excel
-  exportSaleReturn: async (params: any) => {
-    return await request.download({ url: `/erp/sale-return/export-excel`, params })
-  }
-}

+ 0 - 28
src/api/erp/statistics/purchase/index.ts

@@ -1,28 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 采购全局统计 VO
-export interface ErpPurchaseSummaryRespVO {
-  todayPrice: number // 今日采购金额
-  yesterdayPrice: number // 昨日采购金额
-  monthPrice: number // 本月采购金额
-  yearPrice: number // 今年采购金额
-}
-
-// ERP 采购时间段统计 VO
-export interface ErpPurchaseTimeSummaryRespVO {
-  time: string // 时间
-  price: number // 采购金额
-}
-
-// ERP 采购统计 API
-export const PurchaseStatisticsApi = {
-  // 获得采购统计
-  getPurchaseSummary: async (): Promise<ErpPurchaseSummaryRespVO> => {
-    return await request.get({ url: `/erp/purchase-statistics/summary` })
-  },
-
-  // 获得采购时间段统计
-  getPurchaseTimeSummary: async (): Promise<ErpPurchaseTimeSummaryRespVO[]> => {
-    return await request.get({ url: `/erp/purchase-statistics/time-summary` })
-  }
-}

+ 0 - 28
src/api/erp/statistics/sale/index.ts

@@ -1,28 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 销售全局统计 VO
-export interface ErpSaleSummaryRespVO {
-  todayPrice: number // 今日销售金额
-  yesterdayPrice: number // 昨日销售金额
-  monthPrice: number // 本月销售金额
-  yearPrice: number // 今年销售金额
-}
-
-// ERP 销售时间段统计 VO
-export interface ErpSaleTimeSummaryRespVO {
-  time: string // 时间
-  price: number // 销售金额
-}
-
-// ERP 销售统计 API
-export const SaleStatisticsApi = {
-  // 获得销售统计
-  getSaleSummary: async (): Promise<ErpSaleSummaryRespVO> => {
-    return await request.get({ url: `/erp/sale-statistics/summary` })
-  },
-
-  // 获得销售时间段统计
-  getSaleTimeSummary: async (): Promise<ErpSaleTimeSummaryRespVO[]> => {
-    return await request.get({ url: `/erp/sale-statistics/time-summary` })
-  }
-}

+ 0 - 61
src/api/erp/stock/check/index.ts

@@ -1,61 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 库存盘点单 VO
-export interface StockCheckVO {
-  id: number // 出库编号
-  no: string // 出库单号
-  outTime: Date // 出库时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 库存盘点单 API
-export const StockCheckApi = {
-  // 查询库存盘点单分页
-  getStockCheckPage: async (params: any) => {
-    return await request.get({ url: `/erp/stock-check/page`, params })
-  },
-
-  // 查询库存盘点单详情
-  getStockCheck: async (id: number) => {
-    return await request.get({ url: `/erp/stock-check/get?id=` + id })
-  },
-
-  // 新增库存盘点单
-  createStockCheck: async (data: StockCheckVO) => {
-    return await request.post({ url: `/erp/stock-check/create`, data })
-  },
-
-  // 修改库存盘点单
-  updateStockCheck: async (data: StockCheckVO) => {
-    return await request.put({ url: `/erp/stock-check/update`, data })
-  },
-
-  // 更新库存盘点单的状态
-  updateStockCheckStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/stock-check/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除库存盘点单
-  deleteStockCheck: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/stock-check/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出库存盘点单 Excel
-  exportStockCheck: async (params) => {
-    return await request.download({ url: `/erp/stock-check/export-excel`, params })
-  }
-}

+ 0 - 62
src/api/erp/stock/in/index.ts

@@ -1,62 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 其它入库单 VO
-export interface StockInVO {
-  id: number // 入库编号
-  no: string // 入库单号
-  supplierId: number // 供应商编号
-  inTime: Date // 入库时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 其它入库单 API
-export const StockInApi = {
-  // 查询其它入库单分页
-  getStockInPage: async (params: any) => {
-    return await request.get({ url: `/erp/stock-in/page`, params })
-  },
-
-  // 查询其它入库单详情
-  getStockIn: async (id: number) => {
-    return await request.get({ url: `/erp/stock-in/get?id=` + id })
-  },
-
-  // 新增其它入库单
-  createStockIn: async (data: StockInVO) => {
-    return await request.post({ url: `/erp/stock-in/create`, data })
-  },
-
-  // 修改其它入库单
-  updateStockIn: async (data: StockInVO) => {
-    return await request.put({ url: `/erp/stock-in/update`, data })
-  },
-
-  // 更新其它入库单的状态
-  updateStockInStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/stock-in/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除其它入库单
-  deleteStockIn: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/stock-in/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出其它入库单 Excel
-  exportStockIn: async (params) => {
-    return await request.download({ url: `/erp/stock-in/export-excel`, params })
-  }
-}

+ 0 - 61
src/api/erp/stock/move/index.ts

@@ -1,61 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 库存调度单 VO
-export interface StockMoveVO {
-  id: number // 出库编号
-  no: string // 出库单号
-  outTime: Date // 出库时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 库存调度单 API
-export const StockMoveApi = {
-  // 查询库存调度单分页
-  getStockMovePage: async (params: any) => {
-    return await request.get({ url: `/erp/stock-move/page`, params })
-  },
-
-  // 查询库存调度单详情
-  getStockMove: async (id: number) => {
-    return await request.get({ url: `/erp/stock-move/get?id=` + id })
-  },
-
-  // 新增库存调度单
-  createStockMove: async (data: StockMoveVO) => {
-    return await request.post({ url: `/erp/stock-move/create`, data })
-  },
-
-  // 修改库存调度单
-  updateStockMove: async (data: StockMoveVO) => {
-    return await request.put({ url: `/erp/stock-move/update`, data })
-  },
-
-  // 更新库存调度单的状态
-  updateStockMoveStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/stock-move/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除库存调度单
-  deleteStockMove: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/stock-move/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出库存调度单 Excel
-  exportStockMove: async (params) => {
-    return await request.download({ url: `/erp/stock-move/export-excel`, params })
-  }
-}

+ 0 - 62
src/api/erp/stock/out/index.ts

@@ -1,62 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 其它出库单 VO
-export interface StockOutVO {
-  id: number // 出库编号
-  no: string // 出库单号
-  customerId: number // 客户编号
-  outTime: Date // 出库时间
-  totalCount: number // 合计数量
-  totalPrice: number // 合计金额,单位:元
-  status: number // 状态
-  remark: string // 备注
-}
-
-// ERP 其它出库单 API
-export const StockOutApi = {
-  // 查询其它出库单分页
-  getStockOutPage: async (params: any) => {
-    return await request.get({ url: `/erp/stock-out/page`, params })
-  },
-
-  // 查询其它出库单详情
-  getStockOut: async (id: number) => {
-    return await request.get({ url: `/erp/stock-out/get?id=` + id })
-  },
-
-  // 新增其它出库单
-  createStockOut: async (data: StockOutVO) => {
-    return await request.post({ url: `/erp/stock-out/create`, data })
-  },
-
-  // 修改其它出库单
-  updateStockOut: async (data: StockOutVO) => {
-    return await request.put({ url: `/erp/stock-out/update`, data })
-  },
-
-  // 更新其它出库单的状态
-  updateStockOutStatus: async (id: number, status: number) => {
-    return await request.put({
-      url: `/erp/stock-out/update-status`,
-      params: {
-        id,
-        status
-      }
-    })
-  },
-
-  // 删除其它出库单
-  deleteStockOut: async (ids: number[]) => {
-    return await request.delete({
-      url: `/erp/stock-out/delete`,
-      params: {
-        ids: ids.join(',')
-      }
-    })
-  },
-
-  // 导出其它出库单 Excel
-  exportStockOut: async (params) => {
-    return await request.download({ url: `/erp/stock-out/export-excel`, params })
-  }
-}

+ 0 - 32
src/api/erp/stock/record/index.ts

@@ -1,32 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 产品库存明细 VO
-export interface StockRecordVO {
-  id: number // 编号
-  productId: number // 产品编号
-  warehouseId: number // 仓库编号
-  count: number // 出入库数量
-  totalCount: number // 总库存量
-  bizType: number // 业务类型
-  bizId: number // 业务编号
-  bizItemId: number // 业务项编号
-  bizNo: string // 业务单号
-}
-
-// ERP 产品库存明细 API
-export const StockRecordApi = {
-  // 查询产品库存明细分页
-  getStockRecordPage: async (params: any) => {
-    return await request.get({ url: `/erp/stock-record/page`, params })
-  },
-
-  // 查询产品库存明细详情
-  getStockRecord: async (id: number) => {
-    return await request.get({ url: `/erp/stock-record/get?id=` + id })
-  },
-
-  // 导出产品库存明细 Excel
-  exportStockRecord: async (params) => {
-    return await request.download({ url: `/erp/stock-record/export-excel`, params })
-  }
-}

+ 0 - 41
src/api/erp/stock/stock/index.ts

@@ -1,41 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 产品库存 VO
-export interface StockVO {
-  // 编号
-  id: number
-  // 产品编号
-  productId: number
-  // 仓库编号
-  warehouseId: number
-  // 库存数量
-  count: number
-}
-
-// ERP 产品库存 API
-export const StockApi = {
-  // 查询产品库存分页
-  getStockPage: async (params: any) => {
-    return await request.get({ url: `/erp/stock/page`, params })
-  },
-
-  // 查询产品库存详情
-  getStock: async (id: number) => {
-    return await request.get({ url: `/erp/stock/get?id=` + id })
-  },
-
-  // 查询产品库存详情
-  getStock2: async (productId: number, warehouseId: number) => {
-    return await request.get({ url: `/erp/stock/get`, params: { productId, warehouseId } })
-  },
-
-  // 获得产品库存数量
-  getStockCount: async (productId: number) => {
-    return await request.get({ url: `/erp/stock/get-count`, params: { productId } })
-  },
-
-  // 导出产品库存 Excel
-  exportStock: async (params) => {
-    return await request.download({ url: `/erp/stock/export-excel`, params })
-  }
-}

+ 0 - 64
src/api/erp/stock/warehouse/index.ts

@@ -1,64 +0,0 @@
-import request from '@/config/axios'
-
-// ERP 仓库 VO
-export interface WarehouseVO {
-  id: number // 仓库编号
-  name: string // 仓库名称
-  address: string // 仓库地址
-  sort: number // 排序
-  remark: string // 备注
-  principal: string // 负责人
-  warehousePrice: number // 仓储费,单位:元
-  truckagePrice: number // 搬运费,单位:元
-  status: number // 开启状态
-  defaultStatus: boolean // 是否默认
-}
-
-// ERP 仓库 API
-export const WarehouseApi = {
-  // 查询仓库分页
-  getWarehousePage: async (params: any) => {
-    return await request.get({ url: `/erp/warehouse/page`, params })
-  },
-
-  // 查询仓库精简列表
-  getWarehouseSimpleList: async () => {
-    return await request.get({ url: `/erp/warehouse/simple-list` })
-  },
-
-  // 查询仓库详情
-  getWarehouse: async (id: number) => {
-    return await request.get({ url: `/erp/warehouse/get?id=` + id })
-  },
-
-  // 新增仓库
-  createWarehouse: async (data: WarehouseVO) => {
-    return await request.post({ url: `/erp/warehouse/create`, data })
-  },
-
-  // 修改仓库
-  updateWarehouse: async (data: WarehouseVO) => {
-    return await request.put({ url: `/erp/warehouse/update`, data })
-  },
-
-  // 修改仓库默认状态
-  updateWarehouseDefaultStatus: async (id: number, defaultStatus: boolean) => {
-    return await request.put({
-      url: `/erp/warehouse/update-default-status`,
-      params: {
-        id,
-        defaultStatus
-      }
-    })
-  },
-
-  // 删除仓库
-  deleteWarehouse: async (id: number) => {
-    return await request.delete({ url: `/erp/warehouse/delete?id=` + id })
-  },
-
-  // 导出仓库 Excel
-  exportWarehouse: async (params) => {
-    return await request.download({ url: `/erp/warehouse/export-excel`, params })
-  }
-}

+ 0 - 34
src/api/infra/apiAccessLog/index.ts

@@ -1,34 +0,0 @@
-import request from '@/config/axios'
-
-export interface ApiAccessLogVO {
-  id: number
-  traceId: string
-  userId: number
-  userType: number
-  applicationName: string
-  requestMethod: string
-  requestParams: string
-  responseBody: string
-  requestUrl: string
-  userIp: string
-  userAgent: string
-  operateModule: string
-  operateName: string
-  operateType: number
-  beginTime: Date
-  endTime: Date
-  duration: number
-  resultCode: number
-  resultMsg: string
-  createTime: Date
-}
-
-// 查询列表API 访问日志
-export const getApiAccessLogPage = (params: PageParam) => {
-  return request.get({ url: '/infra/api-access-log/page', params })
-}
-
-// 导出API 访问日志
-export const exportApiAccessLog = (params) => {
-  return request.download({ url: '/infra/api-access-log/export-excel', params })
-}

+ 0 - 48
src/api/infra/apiErrorLog/index.ts

@@ -1,48 +0,0 @@
-import request from '@/config/axios'
-
-export interface ApiErrorLogVO {
-  id: number
-  traceId: string
-  userId: number
-  userType: number
-  applicationName: string
-  requestMethod: string
-  requestParams: string
-  requestUrl: string
-  userIp: string
-  userAgent: string
-  exceptionTime: Date
-  exceptionName: string
-  exceptionMessage: string
-  exceptionRootCauseMessage: string
-  exceptionStackTrace: string
-  exceptionClassName: string
-  exceptionFileName: string
-  exceptionMethodName: string
-  exceptionLineNumber: number
-  processUserId: number
-  processStatus: number
-  processTime: Date
-  resultCode: number
-  createTime: Date
-}
-
-// 查询列表API 访问日志
-export const getApiErrorLogPage = (params: PageParam) => {
-  return request.get({ url: '/infra/api-error-log/page', params })
-}
-
-// 更新 API 错误日志的处理状态
-export const updateApiErrorLogPage = (id: number, processStatus: number) => {
-  return request.put({
-    url: '/infra/api-error-log/update-status?id=' + id + '&processStatus=' + processStatus
-  })
-}
-
-// 导出API 访问日志
-export const exportApiErrorLog = (params) => {
-  return request.download({
-    url: '/infra/api-error-log/export-excel',
-    params
-  })
-}

+ 0 - 122
src/api/infra/codegen/index.ts

@@ -1,122 +0,0 @@
-import request from '@/config/axios'
-
-export type CodegenTableVO = {
-  id: number
-  tableId: number
-  isParentMenuIdValid: boolean
-  dataSourceConfigId: number
-  scene: number
-  tableName: string
-  tableComment: string
-  remark: string
-  moduleName: string
-  businessName: string
-  className: string
-  classComment: string
-  author: string
-  createTime: Date
-  updateTime: Date
-  templateType: number
-  parentMenuId: number
-}
-
-export type CodegenColumnVO = {
-  id: number
-  tableId: number
-  columnName: string
-  dataType: string
-  columnComment: string
-  nullable: number
-  primaryKey: number
-  ordinalPosition: number
-  javaType: string
-  javaField: string
-  dictType: string
-  example: string
-  createOperation: number
-  updateOperation: number
-  listOperation: number
-  listOperationCondition: string
-  listOperationResult: number
-  htmlType: string
-}
-
-export type DatabaseTableVO = {
-  name: string
-  comment: string
-}
-
-export type CodegenDetailVO = {
-  table: CodegenTableVO
-  columns: CodegenColumnVO[]
-}
-
-export type CodegenPreviewVO = {
-  filePath: string
-  code: string
-}
-
-export type CodegenUpdateReqVO = {
-  table: CodegenTableVO | any
-  columns: CodegenColumnVO[]
-}
-
-export type CodegenCreateListReqVO = {
-  dataSourceConfigId: number
-  tableNames: string[]
-}
-
-// 查询列表代码生成表定义
-export const getCodegenTableList = (dataSourceConfigId: number) => {
-  return request.get({ url: '/infra/codegen/table/list?dataSourceConfigId=' + dataSourceConfigId })
-}
-
-// 查询列表代码生成表定义
-export const getCodegenTablePage = (params: PageParam) => {
-  return request.get({ url: '/infra/codegen/table/page', params })
-}
-
-// 查询详情代码生成表定义
-export const getCodegenTable = (id: number) => {
-  return request.get({ url: '/infra/codegen/detail?tableId=' + id })
-}
-
-// 新增代码生成表定义
-export const createCodegenTable = (data: CodegenCreateListReqVO) => {
-  return request.post({ url: '/infra/codegen/create', data })
-}
-
-// 修改代码生成表定义
-export const updateCodegenTable = (data: CodegenUpdateReqVO) => {
-  return request.put({ url: '/infra/codegen/update', data })
-}
-
-// 基于数据库的表结构,同步数据库的表和字段定义
-export const syncCodegenFromDB = (id: number) => {
-  return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
-}
-
-// 预览生成代码
-export const previewCodegen = (id: number) => {
-  return request.get({ url: '/infra/codegen/preview?tableId=' + id })
-}
-
-// 下载生成代码
-export const downloadCodegen = (id: number) => {
-  return request.download({ url: '/infra/codegen/download?tableId=' + id })
-}
-
-// 获得表定义
-export const getSchemaTableList = (params) => {
-  return request.get({ url: '/infra/codegen/db/table/list', params })
-}
-
-// 基于数据库的表结构,创建代码生成器的表定义
-export const createCodegenList = (data) => {
-  return request.post({ url: '/infra/codegen/create-list', data })
-}
-
-// 删除代码生成表定义
-export const deleteCodegenTable = (id: number) => {
-  return request.delete({ url: '/infra/codegen/delete?tableId=' + id })
-}

+ 0 - 48
src/api/infra/config/index.ts

@@ -1,48 +0,0 @@
-import request from '@/config/axios'
-
-export interface ConfigVO {
-  id: number | undefined
-  category: string
-  name: string
-  key: string
-  value: string
-  type: number
-  visible: boolean
-  remark: string
-  createTime: Date
-}
-
-// 查询参数列表
-export const getConfigPage = (params: PageParam) => {
-  return request.get({ url: '/infra/config/page', params })
-}
-
-// 查询参数详情
-export const getConfig = (id: number) => {
-  return request.get({ url: '/infra/config/get?id=' + id })
-}
-
-// 根据参数键名查询参数值
-export const getConfigKey = (configKey: string) => {
-  return request.get({ url: '/infra/config/get-value-by-key?key=' + configKey })
-}
-
-// 新增参数
-export const createConfig = (data: ConfigVO) => {
-  return request.post({ url: '/infra/config/create', data })
-}
-
-// 修改参数
-export const updateConfig = (data: ConfigVO) => {
-  return request.put({ url: '/infra/config/update', data })
-}
-
-// 删除参数
-export const deleteConfig = (id: number) => {
-  return request.delete({ url: '/infra/config/delete?id=' + id })
-}
-
-// 导出参数
-export const exportConfig = (params) => {
-  return request.download({ url: '/infra/config/export', params })
-}

+ 0 - 35
src/api/infra/dataSourceConfig/index.ts

@@ -1,35 +0,0 @@
-import request from '@/config/axios'
-
-export interface DataSourceConfigVO {
-  id: number | undefined
-  name: string
-  url: string
-  username: string
-  password: string
-  createTime?: Date
-}
-
-// 新增数据源配置
-export const createDataSourceConfig = (data: DataSourceConfigVO) => {
-  return request.post({ url: '/infra/data-source-config/create', data })
-}
-
-// 修改数据源配置
-export const updateDataSourceConfig = (data: DataSourceConfigVO) => {
-  return request.put({ url: '/infra/data-source-config/update', data })
-}
-
-// 删除数据源配置
-export const deleteDataSourceConfig = (id: number) => {
-  return request.delete({ url: '/infra/data-source-config/delete?id=' + id })
-}
-
-// 查询数据源配置详情
-export const getDataSourceConfig = (id: number) => {
-  return request.get({ url: '/infra/data-source-config/get?id=' + id })
-}
-
-// 查询数据源配置列表
-export const getDataSourceConfigList = () => {
-  return request.get({ url: '/infra/data-source-config/list' })
-}

+ 0 - 40
src/api/infra/demo/demo01/index.ts

@@ -1,40 +0,0 @@
-import request from '@/config/axios'
-
-export interface Demo01ContactVO {
-  id: number
-  name: string
-  sex: number
-  birthday: Date
-  description: string
-  avatar: string
-}
-
-// 查询示例联系人分页
-export const getDemo01ContactPage = async (params) => {
-  return await request.get({ url: `/infra/demo01-contact/page`, params })
-}
-
-// 查询示例联系人详情
-export const getDemo01Contact = async (id: number) => {
-  return await request.get({ url: `/infra/demo01-contact/get?id=` + id })
-}
-
-// 新增示例联系人
-export const createDemo01Contact = async (data: Demo01ContactVO) => {
-  return await request.post({ url: `/infra/demo01-contact/create`, data })
-}
-
-// 修改示例联系人
-export const updateDemo01Contact = async (data: Demo01ContactVO) => {
-  return await request.put({ url: `/infra/demo01-contact/update`, data })
-}
-
-// 删除示例联系人
-export const deleteDemo01Contact = async (id: number) => {
-  return await request.delete({ url: `/infra/demo01-contact/delete?id=` + id })
-}
-
-// 导出示例联系人 Excel
-export const exportDemo01Contact = async (params) => {
-  return await request.download({ url: `/infra/demo01-contact/export-excel`, params })
-}

+ 0 - 37
src/api/infra/demo/demo02/index.ts

@@ -1,37 +0,0 @@
-import request from '@/config/axios'
-
-export interface Demo02CategoryVO {
-  id: number
-  name: string
-  parentId: number
-}
-
-// 查询示例分类列表
-export const getDemo02CategoryList = async (params) => {
-  return await request.get({ url: `/infra/demo02-category/list`, params })
-}
-
-// 查询示例分类详情
-export const getDemo02Category = async (id: number) => {
-  return await request.get({ url: `/infra/demo02-category/get?id=` + id })
-}
-
-// 新增示例分类
-export const createDemo02Category = async (data: Demo02CategoryVO) => {
-  return await request.post({ url: `/infra/demo02-category/create`, data })
-}
-
-// 修改示例分类
-export const updateDemo02Category = async (data: Demo02CategoryVO) => {
-  return await request.put({ url: `/infra/demo02-category/update`, data })
-}
-
-// 删除示例分类
-export const deleteDemo02Category = async (id: number) => {
-  return await request.delete({ url: `/infra/demo02-category/delete?id=` + id })
-}
-
-// 导出示例分类 Excel
-export const exportDemo02Category = async (params) => {
-  return await request.download({ url: `/infra/demo02-category/export-excel`, params })
-}

+ 0 - 91
src/api/infra/demo/demo03/erp/index.ts

@@ -1,91 +0,0 @@
-import request from '@/config/axios'
-
-export interface Demo03StudentVO {
-  id: number
-  name: string
-  sex: number
-  birthday: Date
-  description: string
-}
-
-// 查询学生分页
-export const getDemo03StudentPage = async (params) => {
-  return await request.get({ url: `/infra/demo03-student/page`, params })
-}
-
-// 查询学生详情
-export const getDemo03Student = async (id: number) => {
-  return await request.get({ url: `/infra/demo03-student/get?id=` + id })
-}
-
-// 新增学生
-export const createDemo03Student = async (data: Demo03StudentVO) => {
-  return await request.post({ url: `/infra/demo03-student/create`, data })
-}
-
-// 修改学生
-export const updateDemo03Student = async (data: Demo03StudentVO) => {
-  return await request.put({ url: `/infra/demo03-student/update`, data })
-}
-
-// 删除学生
-export const deleteDemo03Student = async (id: number) => {
-  return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
-}
-
-// 导出学生 Excel
-export const exportDemo03Student = async (params) => {
-  return await request.download({ url: `/infra/demo03-student/export-excel`, params })
-}
-
-// ==================== 子表(学生课程) ====================
-
-// 获得学生课程分页
-export const getDemo03CoursePage = async (params) => {
-  return await request.get({ url: `/infra/demo03-student/demo03-course/page`, params })
-}
-// 新增学生课程
-export const createDemo03Course = async (data) => {
-  return await request.post({ url: `/infra/demo03-student/demo03-course/create`, data })
-}
-
-// 修改学生课程
-export const updateDemo03Course = async (data) => {
-  return await request.put({ url: `/infra/demo03-student/demo03-course/update`, data })
-}
-
-// 删除学生课程
-export const deleteDemo03Course = async (id: number) => {
-  return await request.delete({ url: `/infra/demo03-student/demo03-course/delete?id=` + id })
-}
-
-// 获得学生课程
-export const getDemo03Course = async (id: number) => {
-  return await request.get({ url: `/infra/demo03-student/demo03-course/get?id=` + id })
-}
-
-// ==================== 子表(学生班级) ====================
-
-// 获得学生班级分页
-export const getDemo03GradePage = async (params) => {
-  return await request.get({ url: `/infra/demo03-student/demo03-grade/page`, params })
-}
-// 新增学生班级
-export const createDemo03Grade = async (data) => {
-  return await request.post({ url: `/infra/demo03-student/demo03-grade/create`, data })
-}
-
-// 修改学生班级
-export const updateDemo03Grade = async (data) => {
-  return await request.put({ url: `/infra/demo03-student/demo03-grade/update`, data })
-}
-
-// 删除学生班级
-export const deleteDemo03Grade = async (id: number) => {
-  return await request.delete({ url: `/infra/demo03-student/demo03-grade/delete?id=` + id })
-}
-
-// 获得学生班级
-export const getDemo03Grade = async (id: number) => {
-  return await request.get({ url: `/infra/demo03-student/demo03-grade/get?id=` + id })
-}

+ 0 - 57
src/api/infra/demo/demo03/inner/index.ts

@@ -1,57 +0,0 @@
-import request from '@/config/axios'
-
-export interface Demo03StudentVO {
-  id: number
-  name: string
-  sex: number
-  birthday: Date
-  description: string
-}
-
-// 查询学生分页
-export const getDemo03StudentPage = async (params) => {
-  return await request.get({ url: `/infra/demo03-student/page`, params })
-}
-
-// 查询学生详情
-export const getDemo03Student = async (id: number) => {
-  return await request.get({ url: `/infra/demo03-student/get?id=` + id })
-}
-
-// 新增学生
-export const createDemo03Student = async (data: Demo03StudentVO) => {
-  return await request.post({ url: `/infra/demo03-student/create`, data })
-}
-
-// 修改学生
-export const updateDemo03Student = async (data: Demo03StudentVO) => {
-  return await request.put({ url: `/infra/demo03-student/update`, data })
-}
-
-// 删除学生
-export const deleteDemo03Student = async (id: number) => {
-  return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
-}
-
-// 导出学生 Excel
-export const exportDemo03Student = async (params) => {
-  return await request.download({ url: `/infra/demo03-student/export-excel`, params })
-}
-
-// ==================== 子表(学生课程) ====================
-
-// 获得学生课程列表
-export const getDemo03CourseListByStudentId = async (studentId) => {
-  return await request.get({
-    url: `/infra/demo03-student/demo03-course/list-by-student-id?studentId=` + studentId
-  })
-}
-
-// ==================== 子表(学生班级) ====================
-
-// 获得学生班级
-export const getDemo03GradeByStudentId = async (studentId) => {
-  return await request.get({
-    url: `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=` + studentId
-  })
-}

+ 0 - 57
src/api/infra/demo/demo03/normal/index.ts

@@ -1,57 +0,0 @@
-import request from '@/config/axios'
-
-export interface Demo03StudentVO {
-  id: number
-  name: string
-  sex: number
-  birthday: Date
-  description: string
-}
-
-// 查询学生分页
-export const getDemo03StudentPage = async (params) => {
-  return await request.get({ url: `/infra/demo03-student/page`, params })
-}
-
-// 查询学生详情
-export const getDemo03Student = async (id: number) => {
-  return await request.get({ url: `/infra/demo03-student/get?id=` + id })
-}
-
-// 新增学生
-export const createDemo03Student = async (data: Demo03StudentVO) => {
-  return await request.post({ url: `/infra/demo03-student/create`, data })
-}
-
-// 修改学生
-export const updateDemo03Student = async (data: Demo03StudentVO) => {
-  return await request.put({ url: `/infra/demo03-student/update`, data })
-}
-
-// 删除学生
-export const deleteDemo03Student = async (id: number) => {
-  return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
-}
-
-// 导出学生 Excel
-export const exportDemo03Student = async (params) => {
-  return await request.download({ url: `/infra/demo03-student/export-excel`, params })
-}
-
-// ==================== 子表(学生课程) ====================
-
-// 获得学生课程列表
-export const getDemo03CourseListByStudentId = async (studentId) => {
-  return await request.get({
-    url: `/infra/demo03-student/demo03-course/list-by-student-id?studentId=` + studentId
-  })
-}
-
-// ==================== 子表(学生班级) ====================
-
-// 获得学生班级
-export const getDemo03GradeByStudentId = async (studentId) => {
-  return await request.get({
-    url: `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=` + studentId
-  })
-}

+ 0 - 45
src/api/infra/file/index.ts

@@ -1,45 +0,0 @@
-import request from '@/config/axios'
-
-export interface FilePageReqVO extends PageParam {
-  path?: string
-  type?: string
-  createTime?: Date[]
-}
-
-// 文件预签名地址 Response VO
-export interface FilePresignedUrlRespVO {
-  // 文件配置编号
-  configId: number
-  // 文件上传 URL
-  uploadUrl: string
-  // 文件 URL
-  url: string
-}
-
-// 查询文件列表
-export const getFilePage = (params: FilePageReqVO) => {
-  return request.get({ url: '/infra/file/page', params })
-}
-
-// 删除文件
-export const deleteFile = (id: number) => {
-  return request.delete({ url: '/infra/file/delete?id=' + id })
-}
-
-// 获取文件预签名地址
-export const getFilePresignedUrl = (path: string) => {
-  return request.get<FilePresignedUrlRespVO>({
-    url: '/infra/file/presigned-url',
-    params: { path }
-  })
-}
-
-// 创建文件
-export const createFile = (data: any) => {
-  return request.post({ url: '/infra/file/create', data })
-}
-
-// 上传文件
-export const updateFile = (data: any) => {
-  return request.upload({ url: '/infra/file/upload', data })
-}

+ 0 - 61
src/api/infra/fileConfig/index.ts

@@ -1,61 +0,0 @@
-import request from '@/config/axios'
-
-export interface FileClientConfig {
-  basePath: string
-  host?: string
-  port?: number
-  username?: string
-  password?: string
-  mode?: string
-  endpoint?: string
-  bucket?: string
-  accessKey?: string
-  accessSecret?: string
-  domain: string
-}
-
-export interface FileConfigVO {
-  id: number
-  name: string
-  storage?: number
-  master: boolean
-  visible: boolean
-  config: FileClientConfig
-  remark: string
-  createTime: Date
-}
-
-// 查询文件配置列表
-export const getFileConfigPage = (params: PageParam) => {
-  return request.get({ url: '/infra/file-config/page', params })
-}
-
-// 查询文件配置详情
-export const getFileConfig = (id: number) => {
-  return request.get({ url: '/infra/file-config/get?id=' + id })
-}
-
-// 更新文件配置为主配置
-export const updateFileConfigMaster = (id: number) => {
-  return request.put({ url: '/infra/file-config/update-master?id=' + id })
-}
-
-// 新增文件配置
-export const createFileConfig = (data: FileConfigVO) => {
-  return request.post({ url: '/infra/file-config/create', data })
-}
-
-// 修改文件配置
-export const updateFileConfig = (data: FileConfigVO) => {
-  return request.put({ url: '/infra/file-config/update', data })
-}
-
-// 删除文件配置
-export const deleteFileConfig = (id: number) => {
-  return request.delete({ url: '/infra/file-config/delete?id=' + id })
-}
-
-// 测试文件配置
-export const testFileConfig = (id: number) => {
-  return request.get({ url: '/infra/file-config/test?id=' + id })
-}

+ 0 - 63
src/api/infra/job/index.ts

@@ -1,63 +0,0 @@
-import request from '@/config/axios'
-
-export interface JobVO {
-  id: number
-  name: string
-  status: number
-  handlerName: string
-  handlerParam: string
-  cronExpression: string
-  retryCount: number
-  retryInterval: number
-  monitorTimeout: number
-  createTime: Date
-}
-
-// 任务列表
-export const getJobPage = (params: PageParam) => {
-  return request.get({ url: '/infra/job/page', params })
-}
-
-// 任务详情
-export const getJob = (id: number) => {
-  return request.get({ url: '/infra/job/get?id=' + id })
-}
-
-// 新增任务
-export const createJob = (data: JobVO) => {
-  return request.post({ url: '/infra/job/create', data })
-}
-
-// 修改定时任务调度
-export const updateJob = (data: JobVO) => {
-  return request.put({ url: '/infra/job/update', data })
-}
-
-// 删除定时任务调度
-export const deleteJob = (id: number) => {
-  return request.delete({ url: '/infra/job/delete?id=' + id })
-}
-
-// 导出定时任务调度
-export const exportJob = (params) => {
-  return request.download({ url: '/infra/job/export-excel', params })
-}
-
-// 任务状态修改
-export const updateJobStatus = (id: number, status: number) => {
-  const params = {
-    id,
-    status
-  }
-  return request.put({ url: '/infra/job/update-status', params })
-}
-
-// 定时任务立即执行一次
-export const runJob = (id: number) => {
-  return request.put({ url: '/infra/job/trigger?id=' + id })
-}
-
-// 获得定时任务的下 n 次执行时间
-export const getJobNextTimes = (id: number) => {
-  return request.get({ url: '/infra/job/get_next_times?id=' + id })
-}

+ 0 - 33
src/api/infra/jobLog/index.ts

@@ -1,33 +0,0 @@
-import request from '@/config/axios'
-
-export interface JobLogVO {
-  id: number
-  jobId: number
-  handlerName: string
-  handlerParam: string
-  cronExpression: string
-  executeIndex: string
-  beginTime: Date
-  endTime: Date
-  duration: string
-  status: number
-  createTime: string
-}
-
-// 任务日志列表
-export const getJobLogPage = (params: PageParam) => {
-  return request.get({ url: '/infra/job-log/page', params })
-}
-
-// 任务日志详情
-export const getJobLog = (id: number) => {
-  return request.get({ url: '/infra/job-log/get?id=' + id })
-}
-
-// 导出定时任务日志
-export const exportJobLog = (params) => {
-  return request.download({
-    url: '/infra/job-log/export-excel',
-    params
-  })
-}

+ 0 - 8
src/api/infra/redis/index.ts

@@ -1,8 +0,0 @@
-import request from '@/config/axios'
-
-/**
- * 获取redis 监控信息
- */
-export const getCache = () => {
-  return request.get({ url: '/infra/redis/get-monitor-info' })
-}

+ 0 - 176
src/api/infra/redis/types.ts

@@ -1,176 +0,0 @@
-export interface RedisMonitorInfoVO {
-  info: RedisInfoVO
-  dbSize: number
-  commandStats: RedisCommandStatsVO[]
-}
-
-export interface RedisInfoVO {
-  io_threaded_reads_processed: string
-  tracking_clients: string
-  uptime_in_seconds: string
-  cluster_connections: string
-  current_cow_size: string
-  maxmemory_human: string
-  aof_last_cow_size: string
-  master_replid2: string
-  mem_replication_backlog: string
-  aof_rewrite_scheduled: string
-  total_net_input_bytes: string
-  rss_overhead_ratio: string
-  hz: string
-  current_cow_size_age: string
-  redis_build_id: string
-  errorstat_BUSYGROUP: string
-  aof_last_bgrewrite_status: string
-  multiplexing_api: string
-  client_recent_max_output_buffer: string
-  allocator_resident: string
-  mem_fragmentation_bytes: string
-  aof_current_size: string
-  repl_backlog_first_byte_offset: string
-  tracking_total_prefixes: string
-  redis_mode: string
-  redis_git_dirty: string
-  aof_delayed_fsync: string
-  allocator_rss_bytes: string
-  repl_backlog_histlen: string
-  io_threads_active: string
-  rss_overhead_bytes: string
-  total_system_memory: string
-  loading: string
-  evicted_keys: string
-  maxclients: string
-  cluster_enabled: string
-  redis_version: string
-  repl_backlog_active: string
-  mem_aof_buffer: string
-  allocator_frag_bytes: string
-  io_threaded_writes_processed: string
-  instantaneous_ops_per_sec: string
-  used_memory_human: string
-  total_error_replies: string
-  role: string
-  maxmemory: string
-  used_memory_lua: string
-  rdb_current_bgsave_time_sec: string
-  used_memory_startup: string
-  used_cpu_sys_main_thread: string
-  lazyfree_pending_objects: string
-  aof_pending_bio_fsync: string
-  used_memory_dataset_perc: string
-  allocator_frag_ratio: string
-  arch_bits: string
-  used_cpu_user_main_thread: string
-  mem_clients_normal: string
-  expired_time_cap_reached_count: string
-  unexpected_error_replies: string
-  mem_fragmentation_ratio: string
-  aof_last_rewrite_time_sec: string
-  master_replid: string
-  aof_rewrite_in_progress: string
-  lru_clock: string
-  maxmemory_policy: string
-  run_id: string
-  latest_fork_usec: string
-  tracking_total_items: string
-  total_commands_processed: string
-  expired_keys: string
-  errorstat_ERR: string
-  used_memory: string
-  module_fork_in_progress: string
-  errorstat_WRONGPASS: string
-  aof_buffer_length: string
-  dump_payload_sanitizations: string
-  mem_clients_slaves: string
-  keyspace_misses: string
-  server_time_usec: string
-  executable: string
-  lazyfreed_objects: string
-  db0: string
-  used_memory_peak_human: string
-  keyspace_hits: string
-  rdb_last_cow_size: string
-  aof_pending_rewrite: string
-  used_memory_overhead: string
-  active_defrag_hits: string
-  tcp_port: string
-  uptime_in_days: string
-  used_memory_peak_perc: string
-  current_save_keys_processed: string
-  blocked_clients: string
-  total_reads_processed: string
-  expire_cycle_cpu_milliseconds: string
-  sync_partial_err: string
-  used_memory_scripts_human: string
-  aof_current_rewrite_time_sec: string
-  aof_enabled: string
-  process_supervised: string
-  master_repl_offset: string
-  used_memory_dataset: string
-  used_cpu_user: string
-  rdb_last_bgsave_status: string
-  tracking_total_keys: string
-  atomicvar_api: string
-  allocator_rss_ratio: string
-  client_recent_max_input_buffer: string
-  clients_in_timeout_table: string
-  aof_last_write_status: string
-  mem_allocator: string
-  used_memory_scripts: string
-  used_memory_peak: string
-  process_id: string
-  master_failover_state: string
-  errorstat_NOAUTH: string
-  used_cpu_sys: string
-  repl_backlog_size: string
-  connected_slaves: string
-  current_save_keys_total: string
-  gcc_version: string
-  total_system_memory_human: string
-  sync_full: string
-  connected_clients: string
-  module_fork_last_cow_size: string
-  total_writes_processed: string
-  allocator_active: string
-  total_net_output_bytes: string
-  pubsub_channels: string
-  current_fork_perc: string
-  active_defrag_key_hits: string
-  rdb_changes_since_last_save: string
-  instantaneous_input_kbps: string
-  used_memory_rss_human: string
-  configured_hz: string
-  expired_stale_perc: string
-  active_defrag_misses: string
-  used_cpu_sys_children: string
-  number_of_cached_scripts: string
-  sync_partial_ok: string
-  used_memory_lua_human: string
-  rdb_last_save_time: string
-  pubsub_patterns: string
-  slave_expires_tracked_keys: string
-  redis_git_sha1: string
-  used_memory_rss: string
-  rdb_last_bgsave_time_sec: string
-  os: string
-  mem_not_counted_for_evict: string
-  active_defrag_running: string
-  rejected_connections: string
-  aof_rewrite_buffer_length: string
-  total_forks: string
-  active_defrag_key_misses: string
-  allocator_allocated: string
-  aof_base_size: string
-  instantaneous_output_kbps: string
-  second_repl_offset: string
-  rdb_bgsave_in_progress: string
-  used_cpu_user_children: string
-  total_connections_received: string
-  migrate_cached_sockets: string
-}
-
-export interface RedisCommandStatsVO {
-  command: string
-  calls: number
-  usec: number
-}

+ 0 - 81
src/api/login/index.ts

@@ -1,81 +0,0 @@
-import request from '@/config/axios'
-import { getRefreshToken } from '@/utils/auth'
-import type { UserLoginVO } from './types'
-
-export interface SmsCodeVO {
-  mobile: string
-  scene: number
-}
-
-export interface SmsLoginVO {
-  mobile: string
-  code: string
-}
-
-// 登录
-export const login = (data: UserLoginVO) => {
-  return request.post({ url: '/system/auth/login', data })
-}
-
-// 刷新访问令牌
-export const refreshToken = () => {
-  return request.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() })
-}
-
-// 使用租户名,获得租户编号
-export const getTenantIdByName = (name: string) => {
-  return request.get({ url: '/system/tenant/get-id-by-name?name=' + name })
-}
-
-// 使用租户域名,获得租户信息
-export const getTenantByWebsite = (website: string) => {
-  return request.get({ url: '/system/tenant/get-by-website?website=' + website })
-}
-
-// 登出
-export const loginOut = () => {
-  return request.post({ url: '/system/auth/logout' })
-}
-
-// 获取用户权限信息
-export const getInfo = () => {
-  return request.get({ url: '/system/auth/get-permission-info' })
-}
-
-//获取登录验证码
-export const sendSmsCode = (data: SmsCodeVO) => {
-  return request.post({ url: '/system/auth/send-sms-code', data })
-}
-
-// 短信验证码登录
-export const smsLogin = (data: SmsLoginVO) => {
-  return request.post({ url: '/system/auth/sms-login', data })
-}
-
-// 社交快捷登录,使用 code 授权码
-export function socialLogin(type: string, code: string, state: string) {
-  return request.post({
-    url: '/system/auth/social-login',
-    data: {
-      type,
-      code,
-      state
-    }
-  })
-}
-
-// 社交授权的跳转
-export const socialAuthRedirect = (type: number, redirectUri: string) => {
-  return request.get({
-    url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
-  })
-}
-// 获取验证图片以及 token
-export const getCode = (data) => {
-  return request.postOriginal({ url: 'system/captcha/get', data })
-}
-
-// 滑动或者点选验证
-export const reqCheck = (data) => {
-  return request.postOriginal({ url: 'system/captcha/check', data })
-}

+ 0 - 41
src/api/login/oauth2/index.ts

@@ -1,41 +0,0 @@
-import request from '@/config/axios'
-
-// 获得授权信息
-export const getAuthorize = (clientId: string) => {
-  return request.get({ url: '/system/oauth2/authorize?clientId=' + clientId })
-}
-
-// 发起授权
-export const authorize = (
-  responseType: string,
-  clientId: string,
-  redirectUri: string,
-  state: string,
-  autoApprove: boolean,
-  checkedScopes: string[],
-  uncheckedScopes: string[]
-) => {
-  // 构建 scopes
-  const scopes = {}
-  for (const scope of checkedScopes) {
-    scopes[scope] = true
-  }
-  for (const scope of uncheckedScopes) {
-    scopes[scope] = false
-  }
-  // 发起请求
-  return request.post({
-    url: '/system/oauth2/authorize',
-    headers: {
-      'Content-type': 'application/x-www-form-urlencoded'
-    },
-    params: {
-      response_type: responseType,
-      client_id: clientId,
-      redirect_uri: redirectUri,
-      state: state,
-      auto_approve: autoApprove,
-      scope: JSON.stringify(scopes)
-    }
-  })
-}

+ 0 - 31
src/api/login/types.ts

@@ -1,31 +0,0 @@
-export type UserLoginVO = {
-  username: string
-  password: string
-  captchaVerification: string
-  socialType?: string
-  socialCode?: string
-  socialState?: string
-}
-
-export type TokenType = {
-  id: number // 编号
-  accessToken: string // 访问令牌
-  refreshToken: string // 刷新令牌
-  userId: number // 用户编号
-  userType: number //用户类型
-  clientId: string //客户端编号
-  expiresTime: number //过期时间
-}
-
-export type UserVO = {
-  id: number
-  username: string
-  nickname: string
-  deptId: number
-  email: string
-  mobile: string
-  sex: number
-  avatar: string
-  loginIp: string
-  loginDate: string
-}

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません