Browse Source

新框架代码上传

master
yejiaxing 10 months ago
parent
commit
d93c49bf80
  1. 19
      .editorconfig
  2. 17
      .env
  3. 37
      .env.development
  4. 37
      .env.production
  5. 37
      .env.test
  6. 8
      .eslintignore
  7. 259
      .eslintrc-auto-import.json
  8. 72
      .eslintrc.js
  9. 11
      .gitignore
  10. 11
      .prettierignore
  11. 6
      .stylelintignore
  12. 21
      LICENSE
  13. 107
      build/vite/index.ts
  14. 112
      build/vite/optimize.ts
  15. 152
      index.html
  16. 134
      package.json
  17. 5
      postcss.config.js
  18. 22
      prettier.config.js
  19. BIN
      public/favicon.ico
  20. BIN
      public/home.png
  21. BIN
      public/logo.gif
  22. 75
      src/App.vue
  23. 8
      src/api/bpm/activity/index.ts
  24. 21
      src/api/bpm/definition/index.ts
  25. 56
      src/api/bpm/form/index.ts
  26. 27
      src/api/bpm/leave/index.ts
  27. 59
      src/api/bpm/model/index.ts
  28. 41
      src/api/bpm/processInstance/index.ts
  29. 53
      src/api/bpm/task/index.ts
  30. 29
      src/api/bpm/taskAssignRule/index.ts
  31. 47
      src/api/bpm/userGroup/index.ts
  32. 22
      src/api/home/index.ts
  33. 30
      src/api/infra/apiAccessLog/index.ts
  34. 48
      src/api/infra/apiErrorLog/index.ts
  35. 123
      src/api/infra/codegen/index.ts
  36. 48
      src/api/infra/config/index.ts
  37. 35
      src/api/infra/dataSourceConfig/index.ts
  38. 16
      src/api/infra/dbDoc/index.ts
  39. 17
      src/api/infra/file/index.ts
  40. 61
      src/api/infra/fileConfig/index.ts
  41. 63
      src/api/infra/job/index.ts
  42. 33
      src/api/infra/jobLog/index.ts
  43. 8
      src/api/infra/redis/index.ts
  44. 176
      src/api/infra/redis/types.ts
  45. 72
      src/api/login/index.ts
  46. 41
      src/api/login/oauth2/index.ts
  47. 28
      src/api/login/types.ts
  48. 0
      src/api/mes/index.ts
  49. 21
      src/api/redis/index.ts
  50. 0
      src/api/scp/index.ts
  51. 19
      src/api/system/area/index.ts
  52. 43
      src/api/system/dept/index.ts
  53. 49
      src/api/system/dict/dict.data.ts
  54. 44
      src/api/system/dict/dict.type.ts
  55. 40
      src/api/system/errorCode/index.ts
  56. 24
      src/api/system/loginLog/index.ts
  57. 41
      src/api/system/mail/account/index.ts
  58. 30
      src/api/system/mail/log/index.ts
  59. 50
      src/api/system/mail/template/index.ts
  60. 49
      src/api/system/menu/index.ts
  61. 37
      src/api/system/notice/index.ts
  62. 48
      src/api/system/notify/message/index.ts
  63. 49
      src/api/system/notify/template/index.ts
  64. 47
      src/api/system/oauth2/client.ts
  65. 22
      src/api/system/oauth2/token.ts
  66. 33
      src/api/system/operatelog/index.ts
  67. 42
      src/api/system/permission/index.ts
  68. 46
      src/api/system/post/index.ts
  69. 61
      src/api/system/role/index.ts
  70. 58
      src/api/system/sensitiveWord/index.ts
  71. 42
      src/api/system/serialNumber/index.ts
  72. 43
      src/api/system/sms/smsChannel/index.ts
  73. 39
      src/api/system/sms/smsLog/index.ts
  74. 60
      src/api/system/sms/smsTemplate/index.ts
  75. 60
      src/api/system/sysconfig/index.ts
  76. 62
      src/api/system/tenant/index.ts
  77. 42
      src/api/system/tenantPackage/index.ts
  78. 76
      src/api/system/user/index.ts
  79. 77
      src/api/system/user/profile.ts
  80. 31
      src/api/system/user/socialUser.ts
  81. 60
      src/api/wms/accountcalendar/index.ts
  82. 63
      src/api/wms/areabasic/index.ts
  83. 66
      src/api/wms/backflushRecordDetailb/index.ts
  84. 60
      src/api/wms/backflushRequestDetailb/index.ts
  85. 114
      src/api/wms/balance/index.ts
  86. 56
      src/api/wms/barbasic/index.ts
  87. 59
      src/api/wms/barcode/index.ts
  88. 61
      src/api/wms/bom/index.ts
  89. 26
      src/api/wms/bomDismantle/index.ts
  90. 65
      src/api/wms/businesstype/index.ts
  91. 68
      src/api/wms/carrier/index.ts
  92. 56
      src/api/wms/condition/index.ts
  93. 56
      src/api/wms/configuration/index.ts
  94. 58
      src/api/wms/configurationsetting/index.ts
  95. 63
      src/api/wms/consumeRecordDetailb/index.ts
  96. 61
      src/api/wms/consumereRequestDetailb/index.ts
  97. 57
      src/api/wms/containerBindRecordDetail/index.ts
  98. 69
      src/api/wms/containerBindRecordMain/index.ts
  99. 52
      src/api/wms/containerDetail/index.ts
  100. 55
      src/api/wms/containerInitRecordDetail/index.ts

19
.editorconfig

@ -0,0 +1,19 @@
root = true
[*]
charset=utf-8
end_of_line=lf
insert_final_newline=true
indent_style=space
indent_size=2
max_line_length = 100
[*.{yml,yaml,json}]
indent_style = space
indent_size = 2
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab

17
.env

@ -0,0 +1,17 @@
# 标题
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_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc

37
.env.development

@ -0,0 +1,37 @@
# 开发环境
NODE_ENV=development
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://localhost:12080'
# 上传路径
VITE_UPLOAD_URL='http://localhost:12080/admin-api/infra/file/upload'
# 接口前缀
VITE_API_BASEPATH=/dev-api
# 接口地址
VITE_API_URL=/admin-api
# 打包路径
VITE_BASE_PATH=/
# 是否删除debugger
VITE_DROP_DEBUGGER=true
# 是否删除console.log
VITE_DROP_CONSOLE=false
# 是否sourcemap
VITE_SOURCEMAP=false
# 输出路径
VITE_OUT_DIR=dist
# 自定义接口路径
VITE_INTERFACE_URL='http://localhost:12080/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://localhost:12080'

37
.env.production

@ -0,0 +1,37 @@
# 生产环境
NODE_ENV=test
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://10.62.193.15:25100/api'
# 上传路径
VITE_UPLOAD_URL='http://10.62.193.15:25100/api/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-test
# 自定义接口路径
VITE_INTERFACE_URL='http://dev.ccwin-in.com:25110/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25110'

37
.env.test

@ -0,0 +1,37 @@
# 生产环境
NODE_ENV=test
VITE_DEV=false
# 请求路径
VITE_BASE_URL='http://dev.ccwin-in.com:25100/api'
# 上传路径
VITE_UPLOAD_URL='http://dev.ccwin-in.com:25100/api/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-test
# 自定义接口路径
VITE_INTERFACE_URL='http://dev.ccwin-in.com:25110/magic/web/index.html'
# 积木报表请求路径
VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25110'

8
.eslintignore

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

259
.eslintrc-auto-import.json

@ -0,0 +1,259 @@
{
"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
}
}

72
.eslintrc.js

@ -0,0 +1,72 @@
// @ts-check
const { defineConfig } = require('eslint-define-config')
module.exports = defineConfig({
root: true,
env: {
browser: true,
node: true,
es6: true
},
parser: 'vue-eslint-parser',
plugins: ['vue'],
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/script-setup-uses-vars': 'error',
'vue/no-reserved-component-names': 'off',
'vue/no-setup-props-destructure': '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/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'
}
})

11
.gitignore

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

11
.prettierignore

@ -0,0 +1,11 @@
/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

6
.stylelintignore

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

21
LICENSE

@ -0,0 +1,21 @@
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.

107
build/vite/index.ts

@ -0,0 +1,107 @@
import { resolve } from 'path'
import Vue from '@vitejs/plugin-vue'
import VueJsx from '@vitejs/plugin-vue-jsx'
import progress from 'vite-plugin-progress'
import EslintPlugin from 'vite-plugin-eslint'
import PurgeIcons from 'vite-plugin-purge-icons'
import { ViteEjsPlugin } from 'vite-plugin-ejs'
// @ts-ignore
import ElementPlus from 'unplugin-element-plus/vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import viteCompression from 'vite-plugin-compression'
import topLevelAwait from 'vite-plugin-top-level-await'
import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import UnoCSS from 'unocss/vite'
export function createVitePlugins() {
const root = process.cwd()
// 路径查找
function pathResolve(dir: string) {
return resolve(root, '.', dir)
}
return [
Vue(),
VueJsx(),
UnoCSS(),
progress(),
PurgeIcons(),
ElementPlus({}),
AutoImport({
include: [
/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
/\.vue$/,
/\.vue\?vue/, // .vue
/\.md$/ // .md
],
imports: [
'vue',
'vue-router',
// 可额外添加需要 autoImport 的组件
{
'@/hooks/web/useI18n': ['useI18n'],
'@/hooks/web/useMessage': ['useMessage'],
'@/hooks/web/useTable': ['useTable'],
'@/hooks/web/useCrudSchemas': ['useCrudSchemas'],
'@/utils/formRules': ['required'],
'@/utils/dict': ['DICT_TYPE']
}
],
dts: 'src/types/auto-imports.d.ts',
resolvers: [ElementPlusResolver()],
eslintrc: {
enabled: false, // Default `false`
filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json`
globalsPropValue: true // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')
}
}),
Components({
// 要搜索组件的目录的相对路径
dirs: ['src/components'],
// 组件的有效文件扩展名
extensions: ['vue', 'md'],
// 搜索子目录
deep: true,
include: [/\.vue$/, /\.vue\?vue/],
// 生成自定义 `auto-components.d.ts` 全局声明
dts: 'src/types/auto-components.d.ts',
// 自定义组件的解析器
resolvers: [ElementPlusResolver()],
exclude: [/[\\/]node_modules[\\/]/]
}),
EslintPlugin({
cache: false,
include: ['src/**/*.vue', 'src/**/*.ts', 'src/**/*.tsx'] // 检查的文件
}),
VueI18nPlugin({
runtimeOnly: true,
compositionOnly: true,
include: [resolve(__dirname, 'src/locales/**')]
}),
createSvgIconsPlugin({
iconDirs: [pathResolve('src/assets/svgs')],
symbolId: 'icon-[dir]-[name]',
svgoOptions: true
}),
viteCompression({
verbose: true, // 是否在控制台输出压缩结果
disable: false, // 是否禁用
threshold: 10240, // 体积大于 threshold 才会被压缩,单位 b
algorithm: 'gzip', // 压缩算法,可选 [ 'gzip' , 'brotliCompress' ,'deflate' , 'deflateRaw']
ext: '.gz', // 生成的压缩包后缀
deleteOriginFile: false //压缩后是否删除源文件
}),
ViteEjsPlugin(),
topLevelAwait({
// https://juejin.cn/post/7152191742513512485
// The export name of top-level await promise for each chunk module
promiseExportName: '__tla',
// The function to generate import names of top-level await promise in each chunk module
promiseImportName: (i) => `__tla_${i}`
})
]
}

112
build/vite/optimize.ts

@ -0,0 +1,112 @@
const include = [
'qs',
'url',
'vue',
'sass',
'mitt',
'axios',
'pinia',
'dayjs',
'qrcode',
'unocss',
'vue-router',
'vue-types',
'vue-i18n',
'crypto-js',
'cropperjs',
'lodash-es',
'nprogress',
'web-storage-cache',
'@iconify/iconify',
'@vueuse/core',
'@zxcvbn-ts/core',
'echarts/core',
'echarts/charts',
'echarts/components',
'echarts/renderers',
'echarts-wordcloud',
'@wangeditor/editor',
'@wangeditor/editor-for-vue',
'element-plus',
'element-plus/es',
'element-plus/es/locale/lang/zh-cn',
'element-plus/es/locale/lang/en',
'element-plus/es/components/avatar/style/css',
'element-plus/es/components/space/style/css',
'element-plus/es/components/backtop/style/css',
'element-plus/es/components/form/style/css',
'element-plus/es/components/radio-group/style/css',
'element-plus/es/components/radio/style/css',
'element-plus/es/components/checkbox/style/css',
'element-plus/es/components/checkbox-group/style/css',
'element-plus/es/components/switch/style/css',
'element-plus/es/components/time-picker/style/css',
'element-plus/es/components/date-picker/style/css',
'element-plus/es/components/descriptions/style/css',
'element-plus/es/components/descriptions-item/style/css',
'element-plus/es/components/link/style/css',
'element-plus/es/components/tooltip/style/css',
'element-plus/es/components/drawer/style/css',
'element-plus/es/components/dialog/style/css',
'element-plus/es/components/checkbox-button/style/css',
'element-plus/es/components/option-group/style/css',
'element-plus/es/components/radio-button/style/css',
'element-plus/es/components/cascader/style/css',
'element-plus/es/components/color-picker/style/css',
'element-plus/es/components/input-number/style/css',
'element-plus/es/components/rate/style/css',
'element-plus/es/components/select-v2/style/css',
'element-plus/es/components/tree-select/style/css',
'element-plus/es/components/slider/style/css',
'element-plus/es/components/time-select/style/css',
'element-plus/es/components/autocomplete/style/css',
'element-plus/es/components/image-viewer/style/css',
'element-plus/es/components/upload/style/css',
'element-plus/es/components/col/style/css',
'element-plus/es/components/form-item/style/css',
'element-plus/es/components/alert/style/css',
'element-plus/es/components/breadcrumb/style/css',
'element-plus/es/components/select/style/css',
'element-plus/es/components/input/style/css',
'element-plus/es/components/breadcrumb-item/style/css',
'element-plus/es/components/tag/style/css',
'element-plus/es/components/pagination/style/css',
'element-plus/es/components/table/style/css',
'element-plus/es/components/table-v2/style/css',
'element-plus/es/components/table-column/style/css',
'element-plus/es/components/card/style/css',
'element-plus/es/components/row/style/css',
'element-plus/es/components/button/style/css',
'element-plus/es/components/menu/style/css',
'element-plus/es/components/sub-menu/style/css',
'element-plus/es/components/menu-item/style/css',
'element-plus/es/components/option/style/css',
'element-plus/es/components/dropdown/style/css',
'element-plus/es/components/dropdown-menu/style/css',
'element-plus/es/components/dropdown-item/style/css',
'element-plus/es/components/skeleton/style/css',
'element-plus/es/components/skeleton/style/css',
'element-plus/es/components/backtop/style/css',
'element-plus/es/components/menu/style/css',
'element-plus/es/components/sub-menu/style/css',
'element-plus/es/components/menu-item/style/css',
'element-plus/es/components/dropdown/style/css',
'element-plus/es/components/tree/style/css',
'element-plus/es/components/dropdown-menu/style/css',
'element-plus/es/components/dropdown-item/style/css',
'element-plus/es/components/badge/style/css',
'element-plus/es/components/breadcrumb/style/css',
'element-plus/es/components/breadcrumb-item/style/css',
'element-plus/es/components/image/style/css',
'element-plus/es/components/collapse-transition/style/css',
'element-plus/es/components/timeline/style/css',
'element-plus/es/components/timeline-item/style/css',
'element-plus/es/components/collapse/style/css',
'element-plus/es/components/collapse-item/style/css',
'element-plus/es/components/button-group/style/css',
'element-plus/es/components/text/style/css'
]
const exclude = ['@iconify/json']
export { include, exclude }

152
index.html

@ -0,0 +1,152 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<!-- <link rel="icon" href="/favicon.ico" /> -->
<link rel="icon" href="/src/assets/imgs/logo1.png" />
<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="/src/assets/imgs/logo.png" 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>

134
package.json

@ -0,0 +1,134 @@
{
"name": "yudao-ui-admin-vue3",
"version": "1.8.2-snapshot",
"description": "基于vue3、vite4、element-plus、typesScript",
"author": "xingyu",
"private": false,
"scripts": {
"dev": "vite",
"test": "vite build --mode test",
"prod": "vite build --mode production",
"preview": "vite preview",
"lint": "eslint --fix --ext .js,.vue src"
},
"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",
"@kjgl77/datav-vue3": "^1.7.1",
"@videojs-player/vue": "^1.0.0",
"@vueuse/core": "^10.4.1",
"@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.5.0",
"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.1.1",
"dayjs": "^1.11.10",
"diagram-js": "^12.3.0",
"echarts": "^5.4.3",
"echarts-wordcloud": "^2.1.0",
"element-plus": "2.3.14",
"fast-xml-parser": "^4.3.0",
"highlight.js": "^11.8.0",
"intro.js": "^7.2.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.6",
"qrcode": "^1.5.3",
"qs": "^6.11.2",
"sortablejs": "^1.15.0",
"steady-xml": "^0.1.0",
"url": "^0.11.3",
"video.js": "^7.21.5",
"vue": "^3.3.4",
"vue-dompurify-html": "^4.1.4",
"vue-i18n": "^9.4.1",
"vue-router": "^4.2.5",
"vue-types": "^5.1.1",
"vuedraggable": "^4.1.0",
"web-storage-cache": "^1.1.1",
"xml-js": "^1.6.11"
},
"devDependencies": {
"@commitlint/cli": "^17.7.1",
"@commitlint/config-conventional": "^17.7.0",
"@iconify/json": "^2.2.119",
"@intlify/unplugin-vue-i18n": "^1.2.0",
"@purge-icons/generated": "^0.9.0",
"@types/intro.js": "^5.1.1",
"@types/lodash-es": "^4.17.9",
"@types/node": "^20.6.0",
"@types/nprogress": "^0.2.0",
"@types/qrcode": "^1.5.2",
"@types/qs": "^6.9.8",
"@typescript-eslint/eslint-plugin": "^6.7.2",
"@typescript-eslint/parser": "^6.7.2",
"@unocss/eslint-config": "^0.56.1",
"@unocss/transformer-variant-group": "^0.56.1",
"@vitejs/plugin-legacy": "^4.1.1",
"@vitejs/plugin-vue": "^4.3.4",
"@vitejs/plugin-vue-jsx": "^3.0.2",
"@vue-macros/volar": "^0.14.3",
"autoprefixer": "^10.4.16",
"bpmn-js": "8.9.0",
"bpmn-js-properties-panel": "0.46.0",
"consola": "^3.2.3",
"eslint": "^8.49.0",
"eslint-config-prettier": "^9.0.0",
"eslint-define-config": "^1.23.0",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-vue": "^9.17.0",
"lint-staged": "^14.0.1",
"postcss": "^8.4.30",
"postcss-html": "^1.5.0",
"postcss-scss": "^4.0.8",
"prettier": "^3.0.3",
"rimraf": "^5.0.1",
"rollup": "^3.29.2",
"sass": "^1.68.0",
"stylelint": "^15.10.3",
"stylelint-config-html": "^1.1.0",
"stylelint-config-recommended": "^13.0.0",
"stylelint-config-standard": "^34.0.0",
"stylelint-order": "^6.0.3",
"terser": "^5.20.0",
"typescript": "5.2.2",
"unocss": "^0.56.1",
"unplugin-auto-import": "^0.16.6",
"unplugin-element-plus": "^0.8.0",
"unplugin-vue-components": "^0.25.2",
"vite": "4.4.9",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-ejs": "^1.6.4",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-progress": "^0.0.7",
"vite-plugin-purge-icons": "^0.9.2",
"vite-plugin-svg-icons": "^2.0.1",
"vite-plugin-top-level-await": "^1.3.1",
"vue-eslint-parser": "^9.3.1",
"vue-tsc": "^1.8.13"
},
"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",
"packageManager": "pnpm@8.6.0",
"engines": {
"node": ">= 16.0.0",
"pnpm": ">=8.6.0"
}
}

5
postcss.config.js

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

22
prettier.config.js

@ -0,0 +1,22 @@
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
public/home.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
public/logo.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

75
src/App.vue

@ -0,0 +1,75 @@
<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)
let isDarkTheme = false
if (isDarkTheme === null) {
isDarkTheme = isDark()
}
appStore.setIsDark(isDarkTheme)
}
setDefaultTheme()
</script>
<template>
<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%);
}
.el-select{
width: 100%;
}
/* 垂直滚动条样式 */
/* 宽度 */
::-webkit-scrollbar {
width: 12px;
}
/* 背景色 */
::-webkit-scrollbar-track {
background-color: #f5f5f5;
}
/* 滑块颜色 */
::-webkit-scrollbar-thumb {
background-color: #c1c1c1;
border-radius: 12px;
}
</style>

8
src/api/bpm/activity/index.ts

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

21
src/api/bpm/definition/index.ts

@ -0,0 +1,21 @@
import request from '@/config/axios'
export const getProcessDefinitionBpmnXML = async (id: number) => {
return await request.get({
url: '/bpm/process-definition/get-bpmn-xml?id=' + id
})
}
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
})
}

56
src/api/bpm/form/index.ts

@ -0,0 +1,56 @@
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 getSimpleFormList = async () => {
return await request.get({
url: '/bpm/form/list-all-simple'
})
}

27
src/api/bpm/leave/index.ts

@ -0,0 +1,27 @@
import request from '@/config/axios'
export type LeaveVO = {
id: number
result: 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 })
}

59
src/api/bpm/model/index.ts

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

41
src/api/bpm/processInstance/index.ts

@ -0,0 +1,41 @@
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 const getMyProcessInstancePage = async (params) => {
return await request.get({ url: '/bpm/process-instance/my-page', params })
}
export const createProcessInstance = async (data) => {
return await request.post({ url: '/bpm/process-instance/create', data: data })
}
export const cancelProcessInstance = async (id: number, reason: string) => {
const data = {
id: id,
reason: reason
}
return await request.delete({ url: '/bpm/process-instance/cancel', data: data })
}
export const getProcessInstance = async (id: number) => {
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
}

53
src/api/bpm/task/index.ts

@ -0,0 +1,53 @@
import request from '@/config/axios'
export type TaskVO = {
id: number
}
export const getTodoTaskPage = async (params) => {
return await request.get({ url: '/bpm/task/todo-page', params })
}
export const getDoneTaskPage = async (params) => {
return await request.get({ url: '/bpm/task/done-page', params })
}
export const completeTask = async (data) => {
return await request.put({ url: '/bpm/task/complete', data })
}
export const approveTask = async (data) => {
return await request.put({ url: '/bpm/task/approve', data })
}
export const rejectTask = async (data) => {
return await request.put({ url: '/bpm/task/reject', data })
}
export const backTask = async (data) => {
return await request.put({ url: '/bpm/task/back', data })
}
export const updateTaskAssignee = async (data) => {
return await request.put({ url: '/bpm/task/update-assignee', data })
}
export const getTaskListByProcessInstanceId = async (processInstanceId) => {
return await request.get({
url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
})
}
// 导出任务
export const exportTask = async (params) => {
return await request.download({ url: '/bpm/task/export', params })
}
// 获取所有可回退的节点
export const getReturnList = async (params) => {
return await request.get({ url: '/bpm/task/get-return-list', params })
}
// 回退
export const returnTask = async (data) => {
return await request.put({ url: '/bpm/task/return', data })
}

29
src/api/bpm/taskAssignRule/index.ts

@ -0,0 +1,29 @@
import request from '@/config/axios'
export type TaskAssignVO = {
id: number
modelId: string
processDefinitionId: string
taskDefinitionKey: string
taskDefinitionName: string
options: string[]
type: number
}
export const getTaskAssignRuleList = async (params) => {
return await request.get({ url: '/bpm/task-assign-rule/list', params })
}
export const createTaskAssignRule = async (data: TaskAssignVO) => {
return await request.post({
url: '/bpm/task-assign-rule/create',
data: data
})
}
export const updateTaskAssignRule = async (data: TaskAssignVO) => {
return await request.put({
url: '/bpm/task-assign-rule/update',
data: data
})
}

47
src/api/bpm/userGroup/index.ts

@ -0,0 +1,47 @@
import request from '@/config/axios'
export type UserGroupVO = {
id: number
name: string
description: string
memberUserIds: 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 getSimpleUserGroupList = async (): Promise<UserGroupVO[]> => {
return await request.get({ url: '/bpm/user-group/list-all-simple' })
}

22
src/api/home/index.ts

@ -0,0 +1,22 @@
import request from '@/config/axios'
// 供应商首页
export const getSupplierData = async () => {
return await request.get({ url: `/wms/index/indexSupplier` })
}
// 原料管理员首页
export const getMaterialData = async () => {
return await request.get({ url: `/wms/index/indexMaterial` })
}
// 生产管理员首页
export const getProduceData = async () => {
return await request.get({ url: `/wms/index/indexProduce` })
}
// 成品管理员首页
export const getProductData = async () => {
return await request.get({ url: `/wms/index/indexProduct` })
}

30
src/api/infra/apiAccessLog/index.ts

@ -0,0 +1,30 @@
import request from '@/config/axios'
export interface ApiAccessLogVO {
id: number
traceId: string
userId: number
userType: number
applicationName: string
requestMethod: string
requestParams: string
requestUrl: string
userIp: string
userAgent: string
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 })
}

48
src/api/infra/apiErrorLog/index.ts

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

123
src/api/infra/codegen/index.ts

@ -0,0 +1,123 @@
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
autoIncrement: string
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 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 })
}
// 基于 SQL 建表语句,同步数据库的表和字段定义
export const syncCodegenFromSQL = (id: number, sql: string) => {
return request.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql })
}
// 预览生成代码
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 })
}

48
src/api/infra/config/index.ts

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

35
src/api/infra/dataSourceConfig/index.ts

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

16
src/api/infra/dbDoc/index.ts

@ -0,0 +1,16 @@
import request from '@/config/axios'
// 导出Html
export const exportHtml = () => {
return request.download({ url: '/infra/db-doc/export-html' })
}
// 导出Word
export const exportWord = () => {
return request.download({ url: '/infra/db-doc/export-word' })
}
// 导出Markdown
export const exportMarkdown = () => {
return request.download({ url: '/infra/db-doc/export-markdown' })
}

17
src/api/infra/file/index.ts

@ -0,0 +1,17 @@
import request from '@/config/axios'
export interface FilePageReqVO extends PageParam {
path?: string
type?: string
createTime?: Date[]
}
// 查询文件列表
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 })
}

61
src/api/infra/fileConfig/index.ts

@ -0,0 +1,61 @@
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: any
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 })
}

63
src/api/infra/job/index.ts

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

33
src/api/infra/jobLog/index.ts

@ -0,0 +1,33 @@
import request from '@/config/axios'
export interface JobLogVO {
id: number
jobId: number
handlerName: string
handlerParam: string
cronExpression: string
executeIndex: string
beginTime: string
endTime: string
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
})
}

8
src/api/infra/redis/index.ts

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

176
src/api/infra/redis/types.ts

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

72
src/api/login/index.ts

@ -0,0 +1,72 @@
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 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 })
}
// 社交授权的跳转
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 })
}
// 获取验证码
export const getCodeImg = () => {
return request.get({
url: 'system/captcha/captchaImage', headers: {
isToken: false
}})
}

41
src/api/login/oauth2/index.ts

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

28
src/api/login/types.ts

@ -0,0 +1,28 @@
export type UserLoginVO = {
username: string
password: string
captchaVerification: 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
}

0
src/api/mes/index.ts

21
src/api/redis/index.ts

@ -0,0 +1,21 @@
import request from '@/config/axios'
export interface RedisVO {
key: string
value: string
}
// 加入缓存
export const addRedis = async (data:RedisVO) => {
return await request.post({ url: `/infra/redis/set`, data })
}
// 获取缓存
export const getRedis = async (key) => {
return await request.get({ url: `/infra/redis/get?key=` + key})
}
// 删除物料清单
export const deleteRedis = async (key) => {
return await request.delete({ url: `/infra/redis/delete?key=` + key})
}

0
src/api/scp/index.ts

19
src/api/system/area/index.ts

@ -0,0 +1,19 @@
import request from '@/config/axios'
// 获得地区树
export const getAreaTree = async () => {
return await request.get({ url: '/system/area/tree' })
}
export const getChildrenArea = async (id: number) => {
return await request.get({ url: '/system/area/get-children?id=' + id })
}
export const getAreaListByIds = async (ids) => {
return await request.get({ url: '/system/area/get-by-ids?ids=' + ids })
}
// 获得 IP 对应的地区名
export const getAreaByIp = async (ip: string) => {
return await request.get({ url: '/system/area/get-by-ip?ip=' + ip })
}

43
src/api/system/dept/index.ts

@ -0,0 +1,43 @@
import request from '@/config/axios'
export interface DeptVO {
id?: number
name: string
parentId: number
status: number
sort: number
leaderUserId: number
phone: string
email: string
createTime: Date
}
// 查询部门(精简)列表
export const getSimpleDeptList = async (): Promise<DeptVO[]> => {
return await request.get({ url: '/system/dept/list-all-simple' })
}
// 查询部门列表
export const getDeptPage = async (params: PageParam) => {
return await request.get({ url: '/system/dept/list', params })
}
// 查询部门详情
export const getDept = async (id: number) => {
return await request.get({ url: '/system/dept/get?id=' + id })
}
// 新增部门
export const createDept = async (data: DeptVO) => {
return await request.post({ url: '/system/dept/create', data: data })
}
// 修改部门
export const updateDept = async (params: DeptVO) => {
return await request.put({ url: '/system/dept/update', data: params })
}
// 删除部门
export const deleteDept = async (id: number) => {
return await request.delete({ url: '/system/dept/delete?id=' + id })
}

49
src/api/system/dict/dict.data.ts

@ -0,0 +1,49 @@
import request from '@/config/axios'
export type DictDataVO = {
id: number | undefined
sort: number | undefined
label: string
value: string
dictType: string
status: number
colorType: string
cssClass: string
remark: string
createTime: Date
}
// 查询字典数据(精简)列表
export const listSimpleDictData = () => {
return request.get({ url: '/system/dict-data/list-all-simple' })
}
// 查询字典数据列表
export const getDictDataPage = (params: PageParam) => {
return request.get({ url: '/system/dict-data/page', params })
}
// 查询字典数据详情
export const getDictData = (id: number) => {
return request.get({ url: '/system/dict-data/get?id=' + id })
}
// 新增字典数据
export const createDictData = (data: DictDataVO) => {
return request.post({ url: '/system/dict-data/create', data })
}
// 修改字典数据
export const updateDictData = (data: DictDataVO) => {
return request.put({ url: '/system/dict-data/update', data })
}
// 删除字典数据
export const deleteDictData = (id: number) => {
return request.delete({ url: '/system/dict-data/delete?id=' + id })
}
// 导出字典类型数据
export const exportDictData = (params) => {
return request.get({ url: '/system/dict-data/export', params })
}

44
src/api/system/dict/dict.type.ts

@ -0,0 +1,44 @@
import request from '@/config/axios'
export type DictTypeVO = {
id: number | undefined
name: string
type: string
status: number
remark: string
createTime: Date
}
// 查询字典(精简)列表
export const getSimpleDictTypeList = () => {
return request.get({ url: '/system/dict-type/list-all-simple' })
}
// 查询字典列表
export const getDictTypePage = (params: PageParam) => {
return request.get({ url: '/system/dict-type/page', params })
}
// 查询字典详情
export const getDictType = (id: number) => {
return request.get({ url: '/system/dict-type/get?id=' + id })
}
// 新增字典
export const createDictType = (data: DictTypeVO) => {
return request.post({ url: '/system/dict-type/create', data })
}
// 修改字典
export const updateDictType = (data: DictTypeVO) => {
return request.put({ url: '/system/dict-type/update', data })
}
// 删除字典
export const deleteDictType = (id: number) => {
return request.delete({ url: '/system/dict-type/delete?id=' + id })
}
// 导出字典类型
export const exportDictType = (params) => {
return request.get({ url: '/system/dict-type/export', params })
}

40
src/api/system/errorCode/index.ts

@ -0,0 +1,40 @@
import request from '@/config/axios'
export interface ErrorCodeVO {
id: number | undefined
type: number
applicationName: string
code: number | undefined
message: string
memo: string
createTime: Date
}
// 查询错误码列表
export const getErrorCodePage = (params: PageParam) => {
return request.get({ url: '/system/error-code/page', params })
}
// 查询错误码详情
export const getErrorCode = (id: number) => {
return request.get({ url: '/system/error-code/get?id=' + id })
}
// 新增错误码
export const createErrorCode = (data: ErrorCodeVO) => {
return request.post({ url: '/system/error-code/create', data })
}
// 修改错误码
export const updateErrorCode = (data: ErrorCodeVO) => {
return request.put({ url: '/system/error-code/update', data })
}
// 删除错误码
export const deleteErrorCode = (id: number) => {
return request.delete({ url: '/system/error-code/delete?id=' + id })
}
// 导出错误码
export const excelErrorCode = (params) => {
return request.download({ url: '/system/error-code/export-excel', params })
}

24
src/api/system/loginLog/index.ts

@ -0,0 +1,24 @@
import request from '@/config/axios'
export interface LoginLogVO {
id: number
logType: number
traceId: number
userId: number
userType: number
username: string
status: number
userIp: string
userAgent: string
createTime: Date
}
// 查询登录日志列表
export const getLoginLogPage = (params: PageParam) => {
return request.get({ url: '/system/login-log/page', params })
}
// 导出登录日志
export const exportLoginLog = (params) => {
return request.download({ url: '/system/login-log/export', params })
}

41
src/api/system/mail/account/index.ts

@ -0,0 +1,41 @@
import request from '@/config/axios'
export interface MailAccountVO {
id: number
mail: string
username: string
password: string
host: string
port: number
sslEnable: boolean
}
// 查询邮箱账号列表
export const getMailAccountPage = async (params: PageParam) => {
return await request.get({ url: '/system/mail-account/page', params })
}
// 查询邮箱账号详情
export const getMailAccount = async (id: number) => {
return await request.get({ url: '/system/mail-account/get?id=' + id })
}
// 新增邮箱账号
export const createMailAccount = async (data: MailAccountVO) => {
return await request.post({ url: '/system/mail-account/create', data })
}
// 修改邮箱账号
export const updateMailAccount = async (data: MailAccountVO) => {
return await request.put({ url: '/system/mail-account/update', data })
}
// 删除邮箱账号
export const deleteMailAccount = async (id: number) => {
return await request.delete({ url: '/system/mail-account/delete?id=' + id })
}
// 获得邮箱账号精简列表
export const getSimpleMailAccountList = async () => {
return request.get({ url: '/system/mail-account/list-all-simple' })
}

30
src/api/system/mail/log/index.ts

@ -0,0 +1,30 @@
import request from '@/config/axios'
export interface MailLogVO {
id: number
userId: number
userType: number
toMail: string
accountId: number
fromMail: string
templateId: number
templateCode: string
templateNickname: string
templateTitle: string
templateContent: string
templateParams: string
sendStatus: number
sendTime: Date
sendMessageId: string
sendException: string
}
// 查询邮件日志列表
export const getMailLogPage = async (params: PageParam) => {
return await request.get({ url: '/system/mail-log/page', params })
}
// 查询邮件日志详情
export const getMailLog = async (id: number) => {
return await request.get({ url: '/system/mail-log/get?id=' + id })
}

50
src/api/system/mail/template/index.ts

@ -0,0 +1,50 @@
import request from '@/config/axios'
export interface MailTemplateVO {
id: number
name: string
code: string
accountId: number
nickname: string
title: string
content: string
params: string
status: number
remark: string
}
export interface MailSendReqVO {
mail: string
templateCode: string
templateParams: Map<String, Object>
}
// 查询邮件模版列表
export const getMailTemplatePage = async (params: PageParam) => {
return await request.get({ url: '/system/mail-template/page', params })
}
// 查询邮件模版详情
export const getMailTemplate = async (id: number) => {
return await request.get({ url: '/system/mail-template/get?id=' + id })
}
// 新增邮件模版
export const createMailTemplate = async (data: MailTemplateVO) => {
return await request.post({ url: '/system/mail-template/create', data })
}
// 修改邮件模版
export const updateMailTemplate = async (data: MailTemplateVO) => {
return await request.put({ url: '/system/mail-template/update', data })
}
// 删除邮件模版
export const deleteMailTemplate = async (id: number) => {
return await request.delete({ url: '/system/mail-template/delete?id=' + id })
}
// 发送邮件
export const sendMail = (data: MailSendReqVO) => {
return request.post({ url: '/system/mail-template/send-mail', data })
}

49
src/api/system/menu/index.ts

@ -0,0 +1,49 @@
import request from '@/config/axios'
export interface MenuVO {
id: number
name: string
permission: string
type: number
sort: number
parentId: number
path: string
icon: string
component: string
componentName?: string
status: number
visible: boolean
keepAlive: boolean
alwaysShow?: boolean
createTime: Date
}
// 查询菜单(精简)列表
export const getSimpleMenusList = () => {
return request.get({ url: '/system/menu/list-all-simple' })
}
// 查询菜单列表
export const getMenuList = (params) => {
return request.get({ url: '/system/menu/list', params })
}
// 获取菜单详情
export const getMenu = (id: number) => {
return request.get({ url: '/system/menu/get?id=' + id })
}
// 新增菜单
export const createMenu = (data: MenuVO) => {
return request.post({ url: '/system/menu/create', data })
}
// 修改菜单
export const updateMenu = (data: MenuVO) => {
return request.put({ url: '/system/menu/update', data })
}
// 删除菜单
export const deleteMenu = (id: number) => {
return request.delete({ url: '/system/menu/delete?id=' + id })
}

37
src/api/system/notice/index.ts

@ -0,0 +1,37 @@
import request from '@/config/axios'
export interface NoticeVO {
id: number | undefined
title: string
type: number
content: string
status: number
remark: string
creator: string
createTime: Date
}
// 查询公告列表
export const getNoticePage = (params: PageParam) => {
return request.get({ url: '/system/notice/page', params })
}
// 查询公告详情
export const getNotice = (id: number) => {
return request.get({ url: '/system/notice/get?id=' + id })
}
// 新增公告
export const createNotice = (data: NoticeVO) => {
return request.post({ url: '/system/notice/create', data })
}
// 修改公告
export const updateNotice = (data: NoticeVO) => {
return request.put({ url: '/system/notice/update', data })
}
// 删除公告
export const deleteNotice = (id: number) => {
return request.delete({ url: '/system/notice/delete?id=' + id })
}

48
src/api/system/notify/message/index.ts

@ -0,0 +1,48 @@
import request from '@/config/axios'
import qs from 'qs'
export interface NotifyMessageVO {
id: number
userId: number
userType: number
templateId: number
templateCode: string
templateNickname: string
templateContent: string
templateType: number
templateParams: string
readStatus: boolean
readTime: Date
}
// 查询站内信消息列表
export const getNotifyMessagePage = async (params: PageParam) => {
return await request.get({ url: '/system/notify-message/page', params })
}
// 获得我的站内信分页
export const getMyNotifyMessagePage = async (params: PageParam) => {
return await request.get({ url: '/system/notify-message/my-page', params })
}
// 批量标记已读
export const updateNotifyMessageRead = async (ids) => {
return await request.put({
url: '/system/notify-message/update-read?' + qs.stringify({ ids: ids }, { indices: false })
})
}
// 标记所有站内信为已读
export const updateAllNotifyMessageRead = async () => {
return await request.put({ url: '/system/notify-message/update-all-read' })
}
// 获取当前用户的最新站内信列表
export const getUnreadNotifyMessageList = async () => {
return await request.get({ url: '/system/notify-message/get-unread-list' })
}
// 获得当前用户的未读站内信数量
export const getUnreadNotifyMessageCount = async () => {
return await request.get({ url: '/system/notify-message/get-unread-count' })
}

49
src/api/system/notify/template/index.ts

@ -0,0 +1,49 @@
import request from '@/config/axios'
export interface NotifyTemplateVO {
id?: number
name: string
nickname: string
code: string
content: string
type: number
params: string
status: number
remark: string
}
export interface NotifySendReqVO {
userId: number | null
templateCode: string
templateParams: Map<String, Object>
}
// 查询站内信模板列表
export const getNotifyTemplatePage = async (params: PageParam) => {
return await request.get({ url: '/system/notify-template/page', params })
}
// 查询站内信模板详情
export const getNotifyTemplate = async (id: number) => {
return await request.get({ url: '/system/notify-template/get?id=' + id })
}
// 新增站内信模板
export const createNotifyTemplate = async (data: NotifyTemplateVO) => {
return await request.post({ url: '/system/notify-template/create', data })
}
// 修改站内信模板
export const updateNotifyTemplate = async (data: NotifyTemplateVO) => {
return await request.put({ url: '/system/notify-template/update', data })
}
// 删除站内信模板
export const deleteNotifyTemplate = async (id: number) => {
return await request.delete({ url: '/system/notify-template/delete?id=' + id })
}
// 发送站内信
export const sendNotify = (data: NotifySendReqVO) => {
return request.post({ url: '/system/notify-template/send-notify', data })
}

47
src/api/system/oauth2/client.ts

@ -0,0 +1,47 @@
import request from '@/config/axios'
export interface OAuth2ClientVO {
id: number
clientId: string
secret: string
name: string
logo: string
description: string
status: number
accessTokenValiditySeconds: number
refreshTokenValiditySeconds: number
redirectUris: string[]
autoApprove: boolean
authorizedGrantTypes: string[]
scopes: string[]
authorities: string[]
resourceIds: string[]
additionalInformation: string
isAdditionalInformationJson: boolean
createTime: Date
}
// 查询 OAuth2 客户端的列表
export const getOAuth2ClientPage = (params: PageParam) => {
return request.get({ url: '/system/oauth2-client/page', params })
}
// 查询 OAuth2 客户端的详情
export const getOAuth2Client = (id: number) => {
return request.get({ url: '/system/oauth2-client/get?id=' + id })
}
// 新增 OAuth2 客户端
export const createOAuth2Client = (data: OAuth2ClientVO) => {
return request.post({ url: '/system/oauth2-client/create', data })
}
// 修改 OAuth2 客户端
export const updateOAuth2Client = (data: OAuth2ClientVO) => {
return request.put({ url: '/system/oauth2-client/update', data })
}
// 删除 OAuth2
export const deleteOAuth2Client = (id: number) => {
return request.delete({ url: '/system/oauth2-client/delete?id=' + id })
}

22
src/api/system/oauth2/token.ts

@ -0,0 +1,22 @@
import request from '@/config/axios'
export interface OAuth2TokenVO {
id: number
accessToken: string
refreshToken: string
userId: number
userType: number
clientId: string
createTime: Date
expiresTime: Date
}
// 查询 token列表
export const getAccessTokenPage = (params: PageParam) => {
return request.get({ url: '/system/oauth2-token/page', params })
}
// 删除 token
export const deleteAccessToken = (accessToken: string) => {
return request.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken })
}

33
src/api/system/operatelog/index.ts

@ -0,0 +1,33 @@
import request from '@/config/axios'
export type OperateLogVO = {
id: number
userNickname: string
traceId: string
userId: number
module: string
name: string
type: number
content: string
exts: Map<String, Object>
requestMethod: string
requestUrl: string
userIp: string
userAgent: string
javaMethod: string
javaMethodArgs: string
startTime: Date
duration: number
resultCode: number
resultMsg: string
resultData: string
}
// 查询操作日志列表
export const getOperateLogPage = (params: PageParam) => {
return request.get({ url: '/system/operate-log/page', params })
}
// 导出操作日志
export const exportOperateLog = (params) => {
return request.download({ url: '/system/operate-log/export', params })
}

42
src/api/system/permission/index.ts

@ -0,0 +1,42 @@
import request from '@/config/axios'
export interface PermissionAssignUserRoleReqVO {
userId: number
roleIds: number[]
}
export interface PermissionAssignRoleMenuReqVO {
roleId: number
menuIds: number[]
}
export interface PermissionAssignRoleDataScopeReqVO {
roleId: number
dataScope: number
dataScopeDeptIds: number[]
}
// 查询角色拥有的菜单权限
export const getRoleMenuList = async (roleId: number) => {
return await request.get({ url: '/system/permission/list-role-menus?roleId=' + roleId })
}
// 赋予角色菜单权限
export const assignRoleMenu = async (data: PermissionAssignRoleMenuReqVO) => {
return await request.post({ url: '/system/permission/assign-role-menu', data })
}
// 赋予角色数据权限
export const assignRoleDataScope = async (data: PermissionAssignRoleDataScopeReqVO) => {
return await request.post({ url: '/system/permission/assign-role-data-scope', data })
}
// 查询用户拥有的角色数组
export const getUserRoleList = async (userId: number) => {
return await request.get({ url: '/system/permission/list-user-roles?userId=' + userId })
}
// 赋予用户角色
export const assignUserRole = async (data: PermissionAssignUserRoleReqVO) => {
return await request.post({ url: '/system/permission/assign-user-role', data })
}

46
src/api/system/post/index.ts

@ -0,0 +1,46 @@
import request from '@/config/axios'
export interface PostVO {
id?: number
name: string
code: string
sort: number
status: number
remark: string
createTime?: Date
}
// 查询岗位列表
export const getPostPage = async (params: PageParam) => {
return await request.get({ url: '/system/post/page', params })
}
// 获取岗位精简信息列表
export const getSimplePostList = async (): Promise<PostVO[]> => {
return await request.get({ url: '/system/post/list-all-simple' })
}
// 查询岗位详情
export const getPost = async (id: number) => {
return await request.get({ url: '/system/post/get?id=' + id })
}
// 新增岗位
export const createPost = async (data: PostVO) => {
return await request.post({ url: '/system/post/create', data })
}
// 修改岗位
export const updatePost = async (data: PostVO) => {
return await request.put({ url: '/system/post/update', data })
}
// 删除岗位
export const deletePost = async (id: number) => {
return await request.delete({ url: '/system/post/delete?id=' + id })
}
// 导出岗位
export const exportPost = async (params) => {
return await request.download({ url: '/system/post/export', params })
}

61
src/api/system/role/index.ts

@ -0,0 +1,61 @@
import request from '@/config/axios'
export interface RoleVO {
id: number
name: string
code: string
sort: number
status: number
type: number
dataScope: number
dataScopeDeptIds: number[]
createTime: Date
}
export interface UpdateStatusReqVO {
id: number
status: number
}
// 查询角色列表
export const getRolePage = async (params: PageParam) => {
return await request.get({ url: '/system/role/page', params })
}
// 查询角色(精简)列表
export const getSimpleRoleList = async (): Promise<RoleVO[]> => {
return await request.get({ url: '/system/role/list-all-simple' })
}
// 查询角色详情
export const getRole = async (id: number) => {
return await request.get({ url: '/system/role/get?id=' + id })
}
// 新增角色
export const createRole = async (data: RoleVO) => {
return await request.post({ url: '/system/role/create', data })
}
// 修改角色
export const updateRole = async (data: RoleVO) => {
return await request.put({ url: '/system/role/update', data })
}
// 修改角色状态
export const updateRoleStatus = async (data: UpdateStatusReqVO) => {
return await request.put({ url: '/system/role/update-status', data })
}
// 删除角色
export const deleteRole = async (id: number) => {
return await request.delete({ url: '/system/role/delete?id=' + id })
}
// 导出角色
export const exportRole = (params) => {
return request.download({
url: '/system/role/export-excel',
params
})
}

58
src/api/system/sensitiveWord/index.ts

@ -0,0 +1,58 @@
import request from '@/config/axios'
import qs from 'qs'
export interface SensitiveWordVO {
id: number
name: string
status: number
description: string
tags: string[]
createTime: Date
}
export interface SensitiveWordTestReqVO {
text: string
tag: string[]
}
// 查询敏感词列表
export const getSensitiveWordPage = (params: PageParam) => {
return request.get({ url: '/system/sensitive-word/page', params })
}
// 查询敏感词详情
export const getSensitiveWord = (id: number) => {
return request.get({ url: '/system/sensitive-word/get?id=' + id })
}
// 新增敏感词
export const createSensitiveWord = (data: SensitiveWordVO) => {
return request.post({ url: '/system/sensitive-word/create', data })
}
// 修改敏感词
export const updateSensitiveWord = (data: SensitiveWordVO) => {
return request.put({ url: '/system/sensitive-word/update', data })
}
// 删除敏感词
export const deleteSensitiveWord = (id: number) => {
return request.delete({ url: '/system/sensitive-word/delete?id=' + id })
}
// 导出敏感词
export const exportSensitiveWord = (params) => {
return request.download({ url: '/system/sensitive-word/export-excel', params })
}
// 获取所有敏感词的标签数组
export const getSensitiveWordTagList = () => {
return request.get({ url: '/system/sensitive-word/get-tags' })
}
// 获得文本所包含的不合法的敏感词数组
export const validateText = (query: SensitiveWordTestReqVO) => {
return request.get({
url: '/system/sensitive-word/validate-text?' + qs.stringify(query, { arrayFormat: 'repeat' })
})
}

42
src/api/system/serialNumber/index.ts

@ -0,0 +1,42 @@
import request from '@/config/axios'
export interface SerialNumberVO {
id: number
ruleCode: string
ruleName: string
prefix: string
pattern: string
length: byte
separator: string
remark: string
}
// 查询流水号规则列表
export const getSerialNumberPage = async (params) => {
return await request.get({ url: `/system/serial-number/page`, params })
}
// 查询流水号规则详情
export const getSerialNumber = async (id: number) => {
return await request.get({ url: `/system/serial-number/get?id=` + id })
}
// 新增流水号规则
export const createSerialNumber = async (data: SerialNumberVO) => {
return await request.post({ url: `/system/serial-number/create`, data })
}
// 修改流水号规则
export const updateSerialNumber = async (data: SerialNumberVO) => {
return await request.put({ url: `/system/serial-number/update`, data })
}
// 删除流水号规则
export const deleteSerialNumber = async (id: number) => {
return await request.delete({ url: `/system/serial-number/delete?id=` + id })
}
// 导出流水号规则 Excel
export const exportSerialNumber = async (params) => {
return await request.download({ url: `/system/serial-number/export-excel`, params })
}

43
src/api/system/sms/smsChannel/index.ts

@ -0,0 +1,43 @@
import request from '@/config/axios'
export interface SmsChannelVO {
id: number
code: string
status: number
signature: string
remark: string
apiKey: string
apiSecret: string
callbackUrl: string
createTime: Date
}
// 查询短信渠道列表
export const getSmsChannelPage = (params: PageParam) => {
return request.get({ url: '/system/sms-channel/page', params })
}
// 获得短信渠道精简列表
export function getSimpleSmsChannelList() {
return request.get({ url: '/system/sms-channel/list-all-simple' })
}
// 查询短信渠道详情
export const getSmsChannel = (id: number) => {
return request.get({ url: '/system/sms-channel/get?id=' + id })
}
// 新增短信渠道
export const createSmsChannel = (data: SmsChannelVO) => {
return request.post({ url: '/system/sms-channel/create', data })
}
// 修改短信渠道
export const updateSmsChannel = (data: SmsChannelVO) => {
return request.put({ url: '/system/sms-channel/update', data })
}
// 删除短信渠道
export const deleteSmsChannel = (id: number) => {
return request.delete({ url: '/system/sms-channel/delete?id=' + id })
}

39
src/api/system/sms/smsLog/index.ts

@ -0,0 +1,39 @@
import request from '@/config/axios'
export interface SmsLogVO {
id: number | null
channelId: number | null
channelCode: string
templateId: number | null
templateCode: string
templateType: number | null
templateContent: string
templateParams: Map<string, object> | null
apiTemplateId: string
mobile: string
userId: number | null
userType: number | null
sendStatus: number | null
sendTime: Date | null
sendCode: number | null
sendMsg: string
apiSendCode: string
apiSendMsg: string
apiRequestId: string
apiSerialNo: string
receiveStatus: number | null
receiveTime: Date | null
apiReceiveCode: string
apiReceiveMsg: string
createTime: Date | null
}
// 查询短信日志列表
export const getSmsLogPage = (params: PageParam) => {
return request.get({ url: '/system/sms-log/page', params })
}
// 导出短信日志
export const exportSmsLog = (params) => {
return request.download({ url: '/system/sms-log/export-excel', params })
}

60
src/api/system/sms/smsTemplate/index.ts

@ -0,0 +1,60 @@
import request from '@/config/axios'
export interface SmsTemplateVO {
id: number | null
type: number | null
status: number
code: string
name: string
content: string
remark: string
apiTemplateId: string
channelId: number | null
channelCode?: string
params?: string[]
createTime?: Date
}
export interface SendSmsReqVO {
mobile: string
templateCode: string
templateParams: Map<String, Object>
}
// 查询短信模板列表
export const getSmsTemplatePage = (params: PageParam) => {
return request.get({ url: '/system/sms-template/page', params })
}
// 查询短信模板详情
export const getSmsTemplate = (id: number) => {
return request.get({ url: '/system/sms-template/get?id=' + id })
}
// 新增短信模板
export const createSmsTemplate = (data: SmsTemplateVO) => {
return request.post({ url: '/system/sms-template/create', data })
}
// 修改短信模板
export const updateSmsTemplate = (data: SmsTemplateVO) => {
return request.put({ url: '/system/sms-template/update', data })
}
// 删除短信模板
export const deleteSmsTemplate = (id: number) => {
return request.delete({ url: '/system/sms-template/delete?id=' + id })
}
// 导出短信模板
export const exportSmsTemplate = (params) => {
return request.download({
url: '/system/sms-template/export-excel',
params
})
}
// 发送短信
export const sendSms = (data: SendSmsReqVO) => {
return request.post({ url: '/system/sms-template/send-sms', data })
}

60
src/api/system/sysconfig/index.ts

@ -0,0 +1,60 @@
import request from '@/utils/request'
// 查询参数列表
export function listConfig(query) {
return request({
url: '/system/config/list',
method: 'get',
params: query
})
}
// 查询参数详细
export function getConfig(configId) {
return request({
url: '/system/config/' + configId,
method: 'get'
})
}
// 根据参数键名查询参数值
export function getConfigKey(configKey) {
return request({
url: '/system/config/configKey/' + configKey,
method: 'get'
})
}
// 新增参数配置
export function addConfig(data) {
return request({
url: '/system/config',
method: 'post',
data: data
})
}
// 修改参数配置
export function updateConfig(data) {
return request({
url: '/system/config',
method: 'put',
data: data
})
}
// 删除参数配置
export function delConfig(configId) {
return request({
url: '/system/config/' + configId,
method: 'delete'
})
}
// 刷新参数缓存
export function refreshCache() {
return request({
url: '/system/config/refreshCache',
method: 'delete'
})
}

62
src/api/system/tenant/index.ts

@ -0,0 +1,62 @@
import request from '@/config/axios'
export interface TenantVO {
id: number
name: string
contactName: string
contactMobile: string
status: number
domain: string
packageId: number
username: string
password: string
expireTime: Date
accountCount: number
createTime: Date
}
export interface TenantPageReqVO extends PageParam {
name?: string
contactName?: string
contactMobile?: string
status?: number
createTime?: Date[]
}
export interface TenantExportReqVO {
name?: string
contactName?: string
contactMobile?: string
status?: number
createTime?: Date[]
}
// 查询租户列表
export const getTenantPage = (params: TenantPageReqVO) => {
return request.get({ url: '/system/tenant/page', params })
}
// 查询租户详情
export const getTenant = (id: number) => {
return request.get({ url: '/system/tenant/get?id=' + id })
}
// 新增租户
export const createTenant = (data: TenantVO) => {
return request.post({ url: '/system/tenant/create', data })
}
// 修改租户
export const updateTenant = (data: TenantVO) => {
return request.put({ url: '/system/tenant/update', data })
}
// 删除租户
export const deleteTenant = (id: number) => {
return request.delete({ url: '/system/tenant/delete?id=' + id })
}
// 导出租户
export const exportTenant = (params: TenantExportReqVO) => {
return request.download({ url: '/system/tenant/export-excel', params })
}

42
src/api/system/tenantPackage/index.ts

@ -0,0 +1,42 @@
import request from '@/config/axios'
export interface TenantPackageVO {
id: number
name: string
status: number
remark: string
creator: string
updater: string
updateTime: string
menuIds: number[]
createTime: Date
}
// 查询租户套餐列表
export const getTenantPackagePage = (params: PageParam) => {
return request.get({ url: '/system/tenant-package/page', params })
}
// 获得租户
export const getTenantPackage = (id: number) => {
return request.get({ url: '/system/tenant-package/get?id=' + id })
}
// 新增租户套餐
export const createTenantPackage = (data: TenantPackageVO) => {
return request.post({ url: '/system/tenant-package/create', data })
}
// 修改租户套餐
export const updateTenantPackage = (data: TenantPackageVO) => {
return request.put({ url: '/system/tenant-package/update', data })
}
// 删除租户套餐
export const deleteTenantPackage = (id: number) => {
return request.delete({ url: '/system/tenant-package/delete?id=' + id })
}
// 获取租户套餐精简信息列表
export const getTenantPackageList = () => {
return request.get({ url: '/system/tenant-package/get-simple-list' })
}

76
src/api/system/user/index.ts

@ -0,0 +1,76 @@
import request from '@/config/axios'
export interface UserVO {
id: number
username: string
nickname: string
deptId: number
postIds: string[]
email: string
mobile: string
sex: number
avatar: string
loginIp: string
status: number
remark: string
loginDate: Date
createTime: Date
}
// 查询用户管理列表
export const getUserPage = (params: PageParam) => {
return request.get({ url: '/system/user/page', params })
}
// 查询用户详情
export const getUser = (id: number) => {
return request.get({ url: '/system/user/get?id=' + id })
}
// 新增用户
export const createUser = (data: UserVO) => {
return request.post({ url: '/system/user/create', data })
}
// 修改用户
export const updateUser = (data: UserVO) => {
return request.put({ url: '/system/user/update', data })
}
// 删除用户
export const deleteUser = (id: number) => {
return request.delete({ url: '/system/user/delete?id=' + id })
}
// 导出用户
export const exportUser = (params) => {
return request.download({ url: '/system/user/export', params })
}
// 下载用户导入模板
export const importUserTemplate = () => {
return request.download({ url: '/system/user/get-import-template' })
}
// 用户密码重置
export const resetUserPwd = (id: number, password: string) => {
const data = {
id,
password
}
return request.put({ url: '/system/user/update-password', data: data })
}
// 用户状态修改
export const updateUserStatus = (id: number, status: number) => {
const data = {
id,
status
}
return request.put({ url: '/system/user/update-status', data: data })
}
// 获取用户精简信息列表
export const getSimpleUserList = (): Promise<UserVO[]> => {
return request.get({ url: '/system/user/list-all-simple' })
}

77
src/api/system/user/profile.ts

@ -0,0 +1,77 @@
import request from '@/config/axios'
export interface ProfileDept {
id: number
name: string
}
export interface ProfileRole {
id: number
name: string
}
export interface ProfilePost {
id: number
name: string
}
export interface SocialUser {
id: number
type: number
openid: string
token: string
rawTokenInfo: string
nickname: string
avatar: string
rawUserInfo: string
code: string
state: string
}
export interface ProfileVO {
id: number
username: string
nickname: string
dept: ProfileDept
roles: ProfileRole[]
posts: ProfilePost[]
socialUsers: SocialUser[]
email: string
mobile: string
sex: number
avatar: string
status: number
remark: string
loginIp: string
loginDate: Date
createTime: Date
}
export interface UserProfileUpdateReqVO {
nickname: string
email: string
mobile: string
sex: number
}
// 查询用户个人信息
export const getUserProfile = () => {
return request.get({ url: '/system/user/profile/get' })
}
// 修改用户个人信息
export const updateUserProfile = (data: UserProfileUpdateReqVO) => {
return request.put({ url: '/system/user/profile/update', data })
}
// 用户密码重置
export const updateUserPassword = (oldPassword: string, newPassword: string) => {
return request.put({
url: '/system/user/profile/update-password',
data: {
oldPassword: oldPassword,
newPassword: newPassword
}
})
}
// 用户头像上传
export const uploadAvatar = (data) => {
return request.upload({ url: '/system/user/profile/update-avatar', data: data })
}

31
src/api/system/user/socialUser.ts

@ -0,0 +1,31 @@
import request from '@/config/axios'
// 社交绑定,使用 code 授权码
export const socialBind = (type, code, state) => {
return request.post({
url: '/system/social-user/bind',
data: {
type,
code,
state
}
})
}
// 取消社交绑定
export const socialUnbind = (type, openid) => {
return request.delete({
url: '/system/social-user/unbind',
data: {
type,
openid
}
})
}
// 社交授权的跳转
export const socialAuthRedirect = (type, redirectUri) => {
return request.get({
url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
})
}

60
src/api/wms/accountcalendar/index.ts

@ -0,0 +1,60 @@
import request from '@/config/axios'
export interface AccountcalendarVO {
year: string
month: string
descriiption: string
beginTime: Date
endTime: Date
converttotime: Date
available: number
activeTime: Date
expireTime: Date
remark: string
}
// 查询账期日历列表
export const getAccountcalendarPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return request.post({ url: '/wms/accountcalendar/senior', data })
} else {
return await request.get({ url: `/wms/accountcalendar/page`, params })
}
}
// 查询账期日历详情
export const getAccountcalendar = async (id: number) => {
return await request.get({ url: `/wms/accountcalendar/get?id=` + id })
}
// 新增账期日历
export const createAccountcalendar = async (data: AccountcalendarVO) => {
return await request.post({ url: `/wms/accountcalendar/create`, data })
}
// 修改账期日历
export const updateAccountcalendar = async (data: AccountcalendarVO) => {
return await request.put({ url: `/wms/accountcalendar/update`, data })
}
// 删除账期日历
export const deleteAccountcalendar = async (id: number) => {
return await request.delete({ url: `/wms/accountcalendar/delete?id=` + id })
}
// 导出账期日历 Excel
export const exportAccountcalendar = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/accountcalendar/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/accountcalendar/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/accountcalendar/get-import-template' })
}

63
src/api/wms/areabasic/index.ts

@ -0,0 +1,63 @@
import request from '@/config/axios'
export interface AreaVO {
code: string
name: string
description: string
warehouseCode: string
type: string
isFunctional: number
available: number
activeTime: Date
expireTime: Date
remark: string
}
// 查询库区列表
export const getAreaPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return request.post({ url: '/wms/areabasic/senior', data })
} else {
return await request.get({ url: `/wms/areabasic/page`, params })
}
}
// 查询库区列表
export const getAreaList = async (params) => {
return await request.get({ url: `/wms/areabasic/list`, params })
}
// 查询库区详情
export const getArea = async (id: number) => {
return await request.get({ url: `/wms/areabasic/get?id=` + id })
}
// 新增库区
export const createArea = async (data: AreaVO) => {
return await request.post({ url: `/wms/areabasic/create`, data })
}
// 修改库区
export const updateArea = async (data: AreaVO) => {
return await request.put({ url: `/wms/areabasic/update`, data })
}
// 删除库区
export const deleteArea = async (id: number) => {
return await request.delete({ url: `/wms/areabasic/delete?id=` + id })
}
// 导出库区 Excel
export const exportArea = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/areabasic/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/areabasic/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/areabasic/get-import-template' })
}

66
src/api/wms/backflushRecordDetailb/index.ts

@ -0,0 +1,66 @@
import request from '@/config/axios'
export interface BackflushRecordDetailbVO {
processCode: string
bomVersion: string
packingNumber: string
batch: string
inventoryStatus: string
fromLocationCode: string
fromLocationGroupCode: string
fromAreaCode: string
itemName: string
itemDesc1: string
itemDesc2: string
projectCode: string
uom: string
number: string
itemCode: string
remark: string
createTime: Date
creator: string
code: string
interfaceType: string
jobDetailId: string
}
// 查询制品收货记录子列表
export const getBackflushRecordDetailbPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/backflush-record-detailb/senior', data })
} else {
return await request.get({ url: `/wms/backflush-record-detailb/page`, params })
}
}
// 查询制品收货记录子详情
export const getBackflushRecordDetailb = async (id: number) => {
return await request.get({ url: `/wms/backflush-record-detailb/get?id=` + id })
}
// 新增制品收货记录子
export const createBackflushRecordDetailb = async (data: BackflushRecordDetailbVO) => {
return await request.post({ url: `/wms/backflush-record-detailb/create`, data })
}
// 修改制品收货记录子
export const updateBackflushRecordDetailb = async (data: BackflushRecordDetailbVO) => {
return await request.put({ url: `/wms/backflush-record-detailb/update`, data })
}
// 删除制品收货记录子
export const deleteBackflushRecordDetailb = async (id: number) => {
return await request.delete({ url: `/wms/backflush-record-detailb/delete?id=` + id })
}
// 导出制品收货记录子 Excel
export const exportBackflushRecordDetailb = async (params) => {
return await request.download({ url: `/wms/backflush-record-detailb/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/backflush-record-detailb/get-import-template' })
}

60
src/api/wms/backflushRequestDetailb/index.ts

@ -0,0 +1,60 @@
import request from '@/config/axios'
export interface BackflushRequestDetailbVO {
processCode: string
bomVersion: string
itemCode: string
number: string
remark: string
createTime: Date
itemName: string
itemDesc1: string
itemDesc2: string
projectCode: string
qty: number
uom: string
updateTime: Date
updater: string
creator: string
}
// 查询制品收货申请子列表
export const getBackflushRequestDetailbPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/backflush-request-detailb/senior', data })
} else {
return await request.get({ url: `/wms/backflush-request-detailb/page`, params })
}
}
// 查询制品收货申请子详情
export const getBackflushRequestDetailb = async (id: number) => {
return await request.get({ url: `/wms/backflush-request-detailb/get?id=` + id })
}
// 新增制品收货申请子
export const createBackflushRequestDetailb = async (data: BackflushRequestDetailbVO) => {
return await request.post({ url: `/wms/backflush-request-detailb/create`, data })
}
// 修改制品收货申请子
export const updateBackflushRequestDetailb = async (data: BackflushRequestDetailbVO) => {
return await request.put({ url: `/wms/backflush-request-detailb/update`, data })
}
// 删除制品收货申请子
export const deleteBackflushRequestDetailb = async (id: number) => {
return await request.delete({ url: `/wms/backflush-request-detailb/delete?id=` + id })
}
// 导出制品收货申请子 Excel
export const exportBackflushRequestDetailb = async (params) => {
return await request.download({ url: `/wms/backflush-request-detailb/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/backflush-request-detailb/get-import-template' })
}

114
src/api/wms/balance/index.ts

@ -0,0 +1,114 @@
import request from '@/config/axios'
export interface BalanceVO {
packingNumber: string
containerNumber: string
itemCode: string
batch: string
altBatch: string
arriveDate: Date
produceDate: Date
expireDate: Date
inventoryStatus: string
locationCode: string
locationGroupCode: string
areaCode: string
warehouseCode: string
erpLocationCode: string
ownerCode: string
uom: string
qty: number
lockedQty: number
usableQty: number
singlePrice: number
amount: number
putInTime: Date
frozen: string
frozenReason: string
lastTransNumber: string
weight: number
area: number
volume: number
}
// 查询库存余额列表
export const getBalancePage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/balance/senior', data })
} else {
return await request.get({ url: `/wms/balance/page`, params })
}
}
// 查询库存余额列表
export const getBalancePageReturn= async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/balance/senior', data })
} else {
return await request.get({ url: `/wms/balance/pageReturn`, params })
}
}
// 查询库存余额列表
export const getBalancePagePutaway= async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/balance/senior', data })
} else {
return await request.get({ url: `/wms/balance/pagePutaway`, params })
}
}
// 查询库存余额列表增加物品筛选条件
export const getBalanceItemPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/balance/seniorItems', data })
} else {
return await request.get({ url: `/wms/balance/pageItems`, params })
}
}
// 查询库存余额详情
export const getBalance = async (id: number) => {
return await request.get({ url: `/wms/balance/get?id=` + id })
}
// 新增库存余额
export const createBalance = async (data: BalanceVO) => {
return await request.post({ url: `/wms/balance/create`, data })
}
// 修改库存余额
export const updateBalance = async (data: BalanceVO) => {
return await request.put({ url: `/wms/balance/update`, data })
}
// 删除库存余额
export const deleteBalance = async (id: number) => {
return await request.delete({ url: `/wms/balance/delete?id=` + id })
}
// 导出库存余额 Excel
export const exportBalance = async (params) => {
return await request.download({ url: `/wms/balance/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/balance/get-import-template' })
}
// 获得库位代码筛选出的库存余额分页
export const selectLocationTypeToBalance = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/balance/pageLocationCodeToBalanceSenior', data })
} else {
return request.get({ url: '/wms/balance/pageLocationCodeToBalance', params})
}
}

56
src/api/wms/barbasic/index.ts

@ -0,0 +1,56 @@
import request from '@/config/axios'
export interface BarbasicVO {
id: number
number: string
type: string
template: string
status: string
relateNumber: string
barcodeString: string
printTimes: number
lastPrintTime: string
lastPrintUserId: string
lastPrintUserName: string
}
// 查询条码实体基类列表
export const getBarbasicPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/barbasic/senior', data })
} else {
return await request.get({ url: `/wms/barbasic/page`, params })
}
}
// 查询条码实体基类详情
export const getBarbasic = async (id: number) => {
return await request.get({ url: `/wms/barbasic/get?id=` + id })
}
// 新增条码实体基类
export const createBarbasic = async (data: BarbasicVO) => {
return await request.post({ url: `/wms/barbasic/create`, data })
}
// 修改条码实体基类
export const updateBarbasic = async (data: BarbasicVO) => {
return await request.put({ url: `/wms/barbasic/update`, data })
}
// 删除条码实体基类
export const deleteBarbasic = async (id: number) => {
return await request.delete({ url: `/wms/barbasic/delete?id=` + id })
}
// 导出条码实体基类 Excel
export const exportBarbasic = async (params) => {
return await request.download({ url: `/wms/barbasic/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/barbasic/get-import-template' })
}

59
src/api/wms/barcode/index.ts

@ -0,0 +1,59 @@
import request from '@/config/axios'
export interface BarcodeVO {
id: number
code: string
name: string
description: string
order: number
length: number
prefixLenght: number
prefixChar: string
entityProperties: string
encyptMethod: string
masterId: number
trimEnd: string
isEncypt: string,
labelType: string,
}
// 查询条码片段列表
export const getBarcodePage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/label/barcode/senior', data })
} else {
return await request.get({ url: `/label/barcode/page`, params })
}
}
// 查询条码片段详情
export const getBarcode = async (id: number) => {
return await request.get({ url: `/label/barcode/get?id=` + id })
}
// 新增条码片段
export const createBarcode = async (data: BarcodeVO) => {
return await request.post({ url: `/label/barcode/create`, data })
}
// 修改条码片段
export const updateBarcode = async (data: BarcodeVO) => {
return await request.put({ url: `/label/barcode/update`, data })
}
// 删除条码片段
export const deleteBarcode = async (id: number) => {
return await request.delete({ url: `/label/barcode/delete?id=` + id })
}
// 导出条码片段 Excel
export const exportBarcode = async (params) => {
return await request.download({ url: `/label/barcode/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/label/barcode/get-import-template' })
}

61
src/api/wms/bom/index.ts

@ -0,0 +1,61 @@
import request from '@/config/axios'
export interface BomVO {
productItemCode: string
componentItemCode: string
componentUom: string
componentQty: number
processCode: string
version: string
layer: number
available: number
activeTime: Date
expireTime: Date
remark: string
}
// 查询物料清单列表
export const getBomPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return request.post({ url: '/wms/bom/senior', data })
} else {
return await request.get({ url: `/wms/bom/page`, params })
}
}
// 查询物料清单详情
export const getBom = async (id: number) => {
return await request.get({ url: `/wms/bom/get?id=` + id })
}
// 新增物料清单
export const createBom = async (data: BomVO) => {
return await request.post({ url: `/wms/bom/create`, data })
}
// 修改物料清单
export const updateBom = async (data: BomVO) => {
return await request.put({ url: `/wms/bom/update`, data })
}
// 删除物料清单
export const deleteBom = async (id: number) => {
return await request.delete({ url: `/wms/bom/delete?id=` + id })
}
// 导出物料清单 Excel
export const exportBom = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/bom/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/bom/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/bom/get-import-template' })
}

26
src/api/wms/bomDismantle/index.ts

@ -0,0 +1,26 @@
import request from '@/config/axios'
// 查询制品返修申请子列表
export const getBomDismantlePage = async (params) => {
return await request.get({ url: `/wms/productrepair-request-main/bomPage`, params })
}
// 查询制品返修记录子列表
export const getBomDismantleRecordPage = async (params) => {
return await request.get({ url: `/wms/productrepair-record-main/bomPage`, params })
}
// 查询制品报废申请子列表
export const getProductscrapBomDismantlePage = async (params) => {
return await request.get({ url: `/wms/productscrap-request-main/bomPage`, params })
}
// 查询制品报废申请子列表
export const getProductscrapBomDismantleRecordPage = async (params) => {
return await request.get({ url: `/wms/productscrap-record-main/bomPage`, params })
}
// 查询制品拆解申请子列表
export const getDetailbBomDismantlePage = async (params) => {
return await request.get({ url: `/wms/dismantle-request-detailb/bomPage`, params })
}

65
src/api/wms/businesstype/index.ts

@ -0,0 +1,65 @@
import request from '@/config/axios'
export interface BusinesstypeVO {
code: string
name: string
description: string
itemTypes: string
itemStatuses: string
outLocationTypes: string
inLocationTypes: string
outAreaCodes: string
inAreaCodes: string
outInventoryStatuses: string
inInventoryStatuses: string
outTransactionType: string
inTransactionType: string
onTheWayArea: string
activeTime: Date
expireTime: Date
remark: string
useOnTheWay: string
available: string
isSoftDeleted: string
}
// 查询业务类型列表
export const getBusinesstypePage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return request.post({ url: '/wms/businesstype/senior', data })
} else {
return await request.get({ url: `/wms/businesstype/page`, params })
}
}
// 查询业务类型详情
export const getBusinesstype = async (id: number) => {
return await request.get({ url: `/wms/businesstype/get?id=` + id })
}
// 新增业务类型
export const createBusinesstype = async (data: BusinesstypeVO) => {
return await request.post({ url: `/wms/businesstype/create`, data })
}
// 修改业务类型
export const updateBusinesstype = async (data: BusinesstypeVO) => {
return await request.put({ url: `/wms/businesstype/update`, data })
}
// 删除业务类型
export const deleteBusinesstype = async (id: number) => {
return await request.delete({ url: `/wms/businesstype/delete?id=` + id })
}
// 导出业务类型 Excel
export const exportBusinesstype = async (params) => {
return await request.download({ url: `/wms/businesstype/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/businesstype/get-import-template' })
}

68
src/api/wms/carrier/index.ts

@ -0,0 +1,68 @@
import request from '@/config/axios'
export interface CarrierVO {
code: string
name: string
shortName: string
address: string
country: string
city: string
phone: string
fax: string
postId: string
contacts: string
bank: string
currency: string
taxRate: number
type: string
activeTime: Date
expireTime: Date
remark: string
available: string
}
// 查询承运商列表
export const getCarrierPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return request.post({ url: '/wms/carrier/senior', data })
} else {
return await request.get({ url: `/wms/carrier/page`, params })
}
}
// 查询承运商详情
export const getCarrier = async (id: number) => {
return await request.get({ url: `/wms/carrier/get?id=` + id })
}
// 新增承运商
export const createCarrier = async (data: CarrierVO) => {
return await request.post({ url: `/wms/carrier/create`, data })
}
// 修改承运商
export const updateCarrier = async (data: CarrierVO) => {
return await request.put({ url: `/wms/carrier/update`, data })
}
// 删除承运商
export const deleteCarrier = async (id: number) => {
return await request.delete({ url: `/wms/carrier/delete?id=` + id })
}
// 导出承运商 Excel
export const exportCarrier = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/carrier/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/carrier/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/carrier/get-import-template' })
}

56
src/api/wms/condition/index.ts

@ -0,0 +1,56 @@
import request from '@/config/axios'
export interface ConditionVO {
strategyCode: string
ruleCode: string
paramCode: string
operator: string
value: string
groupCode: string
}
// 查询条件列表
export const getConditionPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return request.post({ url: '/wms/condition/senior', data })
} else {
return await request.get({ url: `/wms/condition/page`, params })
}
}
// 查询条件详情
export const getCondition = async (id: number) => {
return await request.get({ url: `/wms/condition/get?id=` + id })
}
// 新增条件
export const createCondition = async (data: ConditionVO) => {
return await request.post({ url: `/wms/condition/create`, data })
}
// 修改条件
export const updateCondition = async (data: ConditionVO) => {
return await request.put({ url: `/wms/condition/update`, data })
}
// 删除条件
export const deleteCondition = async (id: number) => {
return await request.delete({ url: `/wms/condition/delete?id=` + id })
}
// 导出条件 Excel
export const exportCondition = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/condition/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/condition/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/condition/get-import-template' })
}

56
src/api/wms/configuration/index.ts

@ -0,0 +1,56 @@
import request from '@/config/axios'
export interface ConfigurationVO {
strategyCode: string
ruleCode: string
configurationCode: string
configurationValue: string
description: string
groupCode: string
}
// 查询配置列表
export const getConfigurationPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return request.post({ url: '/wms/configuration/senior', data })
} else {
return await request.get({ url: `/wms/configuration/page`, params })
}
}
// 查询配置详情
export const getConfiguration = async (id: number) => {
return await request.get({ url: `/wms/configuration/get?id=` + id })
}
// 新增配置
export const createConfiguration = async (data: ConfigurationVO) => {
return await request.post({ url: `/wms/configuration/create`, data })
}
// 修改配置
export const updateConfiguration = async (data: ConfigurationVO) => {
return await request.put({ url: `/wms/configuration/update`, data })
}
// 删除配置
export const deleteConfiguration = async (id: number) => {
return await request.delete({ url: `/wms/configuration/delete?id=` + id })
}
// 导出配置 Excel
export const exportConfiguration = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/configuration/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/configuration/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/configuration/get-import-template' })
}

58
src/api/wms/configurationsetting/index.ts

@ -0,0 +1,58 @@
import request from '@/config/axios'
export interface ConfigurationsettingVO {
strategyType: string
configurationCode: string
configurationName: string
dataType: string
valueScope: string
relatedTo: string
description: string
isRequired: string
}
// 查询配置设置列表
export const getConfigurationsettingPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return request.post({ url: '/wms/configurationsetting/senior', data })
} else {
return await request.get({ url: `/wms/configurationsetting/page`, params })
}
}
// 查询配置设置详情
export const getConfigurationsetting = async (id: number) => {
return await request.get({ url: `/wms/configurationsetting/get?id=` + id })
}
// 新增配置设置
export const createConfigurationsetting = async (data: ConfigurationsettingVO) => {
return await request.post({ url: `/wms/configurationsetting/create`, data })
}
// 修改配置设置
export const updateConfigurationsetting = async (data: ConfigurationsettingVO) => {
return await request.put({ url: `/wms/configurationsetting/update`, data })
}
// 删除配置设置
export const deleteConfigurationsetting = async (id: number) => {
return await request.delete({ url: `/wms/configurationsetting/delete?id=` + id })
}
// 导出配置设置 Excel
export const exportConfigurationsetting = async (params) => {
if (params.isSearch) {
const data = {...params}
return await request.downloadPost({ url: `/wms/configurationsetting/export-excel-senior`, data })
} else {
return await request.download({ url: `/wms/configurationsetting/export-excel`, params })
}
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/configurationsetting/get-import-template' })
}

63
src/api/wms/consumeRecordDetailb/index.ts

@ -0,0 +1,63 @@
import request from '@/config/axios'
export interface ConsumeRecordDetailbVO {
batch: string
fromLocationCode: string
fromLocationGroupCode: string
fromAreaCode: string
inventoryStatus: string
packingNumber: string
number: string
itemCode: string
remark: string
createTime: Date
creator: string
itemName: string
itemDesc1: string
itemDesc2: string
projectCode: string
uom: string
code: string
interfaceType: string
}
// 查询制品返修记录子列表
export const getConsumeRecordDetailbPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/consume-record-detailb/senior', data })
} else {
return await request.get({ url: `/wms/consume-record-detailb/page`, params })
}
}
// 查询制品返修记录子详情
export const getConsumeRecordDetailb = async (id: number) => {
return await request.get({ url: `/wms/consume-record-detailb/get?id=` + id })
}
// 新增制品返修记录子
export const createConsumeRecordDetailb = async (data: ConsumeRecordDetailbVO) => {
return await request.post({ url: `/wms/consume-record-detailb/create`, data })
}
// 修改制品返修记录子
export const updateConsumeRecordDetailb = async (data: ConsumeRecordDetailbVO) => {
return await request.put({ url: `/wms/consume-record-detailb/update`, data })
}
// 删除制品返修记录子
export const deleteConsumeRecordDetailb = async (id: number) => {
return await request.delete({ url: `/wms/consume-record-detailb/delete?id=` + id })
}
// 导出制品返修记录子 Excel
export const exportConsumeRecordDetailb = async (params) => {
return await request.download({ url: `/wms/consume-record-detailb/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/consume-record-detailb/get-import-template' })
}

61
src/api/wms/consumereRequestDetailb/index.ts

@ -0,0 +1,61 @@
import request from '@/config/axios'
export interface ConsumereRequestDetailbVO {
inventoryStatus: string
packingNumber: string
batch: string
fromLocationCode: string
number: string
itemCode: string
remark: string
createTime: Date
creator: string
itemName: string
itemDesc1: string
itemDesc2: string
projectCode: string
uom: string
updateTime: Date
updater: string
}
// 查询制品返修申请子列表
export const getConsumereRequestDetailbPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/consumere-request-detailb/senior', data })
} else {
return await request.get({ url: `/wms/consumere-request-detailb/page`, params })
}
}
// 查询制品返修申请子详情
export const getConsumereRequestDetailb = async (id: number) => {
return await request.get({ url: `/wms/consumere-request-detailb/get?id=` + id })
}
// 新增制品返修申请子
export const createConsumereRequestDetailb = async (data: ConsumereRequestDetailbVO) => {
return await request.post({ url: `/wms/consumere-request-detailb/create`, data })
}
// 修改制品返修申请子
export const updateConsumereRequestDetailb = async (data: ConsumereRequestDetailbVO) => {
return await request.put({ url: `/wms/consumere-request-detailb/update`, data })
}
// 删除制品返修申请子
export const deleteConsumereRequestDetailb = async (id: number) => {
return await request.delete({ url: `/wms/consumere-request-detailb/delete?id=` + id })
}
// 导出制品返修申请子 Excel
export const exportConsumereRequestDetailb = async (params) => {
return await request.download({ url: `/wms/consumere-request-detailb/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/consumere-request-detailb/get-import-template' })
}

57
src/api/wms/containerBindRecordDetail/index.ts

@ -0,0 +1,57 @@
import request from '@/config/axios'
export interface ContainerBindRecordDetailVO {
id: number
containerContentType: string
contentNumber: string
itemCode: string
batch: string
inventoryStatus: string
uom: string
qty: number
masterId: number
number: string
siteId: string
remark: string
}
// 查询器具绑定记录子列表
export const getContainerBindRecordDetailPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/container-bind-record-detail/senior', data })
} else {
return await request.get({ url: `/wms/container-bind-record-detail/page`, params })
}
}
// 查询器具绑定记录子详情
export const getContainerBindRecordDetail = async (id: number) => {
return await request.get({ url: `/wms/container-bind-record-detail/get?id=` + id })
}
// 新增器具绑定记录子
export const createContainerBindRecordDetail = async (data: ContainerBindRecordDetailVO) => {
return await request.post({ url: `/wms/container-bind-record-detail/create`, data })
}
// 修改器具绑定记录子
export const updateContainerBindRecordDetail = async (data: ContainerBindRecordDetailVO) => {
return await request.put({ url: `/wms/container-bind-record-detail/update`, data })
}
// 删除器具绑定记录子
export const deleteContainerBindRecordDetail = async (id: number) => {
return await request.delete({ url: `/wms/container-bind-record-detail/delete?id=` + id })
}
// 导出器具绑定记录子 Excel
export const exportContainerBindRecordDetail = async (params) => {
return await request.download({ url: `/wms/container-bind-record-detail/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/container-bind-record-detail/get-import-template' })
}

69
src/api/wms/containerBindRecordMain/index.ts

@ -0,0 +1,69 @@
import request from '@/config/axios'
export interface ContainerBindRecordMainVO {
id: number
number: string
containerNumber: string
fromWarehouseCode: string
toWarehouseCode: string
outTransactionType: string
inTransactionType: string
executeTime: Date
activeDate: Date
available: string
requestTime: Date
dueTime: Date
departmentCode: string
userGroupCode: string
interfaceType: string
businessType: string
remark: string
extraProperties: string
siteId: string
code: string
fromLocationTypes: string
toLocationTypes: string
fromAreaCodes: string
toAreaCodes: string
}
// 查询器具绑定记录主列表
export const getContainerBindRecordMainPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/container-bind-record-main/senior', data })
} else {
return await request.get({ url: `/wms/container-bind-record-main/page`, params })
}
}
// 查询器具绑定记录主详情
export const getContainerBindRecordMain = async (id: number) => {
return await request.get({ url: `/wms/container-bind-record-main/get?id=` + id })
}
// 新增器具绑定记录主
export const createContainerBindRecordMain = async (data: ContainerBindRecordMainVO) => {
return await request.post({ url: `/wms/container-bind-record-main/create`, data })
}
// 修改器具绑定记录主
export const updateContainerBindRecordMain = async (data: ContainerBindRecordMainVO) => {
return await request.put({ url: `/wms/container-bind-record-main/update`, data })
}
// 删除器具绑定记录主
export const deleteContainerBindRecordMain = async (id: number) => {
return await request.delete({ url: `/wms/container-bind-record-main/delete?id=` + id })
}
// 导出器具绑定记录主 Excel
export const exportContainerBindRecordMain = async (params) => {
return await request.download({ url: `/wms/container-bind-record-main/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/container-bind-record-main/get-import-template' })
}

52
src/api/wms/containerDetail/index.ts

@ -0,0 +1,52 @@
import request from '@/config/axios'
export interface ContainerDetailVO {
containerContentType: string
contentNumber: string
itemCode: string
batch: string
inventoryStatus: string
uom: string
qty: number
}
// 查询器具子列表
export const getContainerDetailPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/container-detail/senior', data })
} else {
return await request.get({ url: `/wms/container-detail/page`, params })
}
}
// 查询器具子详情
export const getContainerDetail = async (id: number) => {
return await request.get({ url: `/wms/container-detail/get?id=` + id })
}
// 新增器具子
export const createContainerDetail = async (data: ContainerDetailVO) => {
return await request.post({ url: `/wms/container-detail/create`, data })
}
// 修改器具子
export const updateContainerDetail = async (data: ContainerDetailVO) => {
return await request.put({ url: `/wms/container-detail/update`, data })
}
// 删除器具子
export const deleteContainerDetail = async (id: number) => {
return await request.delete({ url: `/wms/container-detail/delete?id=` + id })
}
// 导出器具子 Excel
export const exportContainerDetail = async (params) => {
return await request.download({ url: `/wms/container-detail/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/container-detail/get-import-template' })
}

55
src/api/wms/containerInitRecordDetail/index.ts

@ -0,0 +1,55 @@
import request from '@/config/axios'
export interface ContainerInitRecordDetailVO {
id: number
containerNumber: string
type: string
capacity: number
status: string
ownerCode: string
masterId: number
number: string
siteId: string
remark: string
}
// 查询器具初始化记录子列表
export const getContainerInitRecordDetailPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/container-init-record-detail/senior', data })
} else {
return await request.get({ url: `/wms/container-init-record-detail/page`, params })
}
}
// 查询器具初始化记录子详情
export const getContainerInitRecordDetail = async (id: number) => {
return await request.get({ url: `/wms/container-init-record-detail/get?id=` + id })
}
// 新增器具初始化记录子
export const createContainerInitRecordDetail = async (data: ContainerInitRecordDetailVO) => {
return await request.post({ url: `/wms/container-init-record-detail/create`, data })
}
// 修改器具初始化记录子
export const updateContainerInitRecordDetail = async (data: ContainerInitRecordDetailVO) => {
return await request.put({ url: `/wms/container-init-record-detail/update`, data })
}
// 删除器具初始化记录子
export const deleteContainerInitRecordDetail = async (id: number) => {
return await request.delete({ url: `/wms/container-init-record-detail/delete?id=` + id })
}
// 导出器具初始化记录子 Excel
export const exportContainerInitRecordDetail = async (params) => {
return await request.download({ url: `/wms/container-init-record-detail/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/container-init-record-detail/get-import-template' })
}

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

Loading…
Cancel
Save