第一次全局推送
parent
203133c276
commit
7de35609a7
@ -0,0 +1,19 @@
|
|||||||
|
# 标题
|
||||||
|
VITE_APP_TITLE=随行管理系统
|
||||||
|
|
||||||
|
# 项目本地运行端口号
|
||||||
|
VITE_PORT=80
|
||||||
|
|
||||||
|
# open 运行 npm run dev 时自动打开浏览器
|
||||||
|
VITE_OPEN=true
|
||||||
|
|
||||||
|
# 验证码的开关
|
||||||
|
VITE_APP_CAPTCHA_ENABLE=false
|
||||||
|
|
||||||
|
# 文档地址的开关
|
||||||
|
VITE_APP_DOCALERT_ENABLE=false
|
||||||
|
|
||||||
|
|
||||||
|
# 默认账户密码
|
||||||
|
VITE_APP_DEFAULT_LOGIN_USERNAME = admin
|
||||||
|
VITE_APP_DEFAULT_LOGIN_PASSWORD = admin123
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
/build/
|
||||||
|
/config/
|
||||||
|
/dist/
|
||||||
|
/*.js
|
||||||
|
/test/unit/coverage/
|
||||||
|
/node_modules/*
|
||||||
|
/dist*
|
||||||
|
/src/main.ts
|
||||||
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
node_modules
|
||||||
|
.DS_Store
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
|
/dist*
|
||||||
|
pnpm-debug
|
||||||
|
auto-*.d.ts
|
||||||
|
.idea
|
||||||
|
.history
|
||||||
@ -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
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
/dist/*
|
||||||
|
/public/*
|
||||||
|
public/*
|
||||||
|
/dist*
|
||||||
|
/src/types/env.d.ts
|
||||||
|
/docs/**/*
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"christian-kohler.path-intellisense",
|
||||||
|
"vscode-icons-team.vscode-icons",
|
||||||
|
"davidanson.vscode-markdownlint",
|
||||||
|
"dbaeumer.vscode-eslint",
|
||||||
|
"esbenp.prettier-vscode",
|
||||||
|
"mrmlnc.vscode-less",
|
||||||
|
"lokalise.i18n-ally",
|
||||||
|
"redhat.vscode-yaml",
|
||||||
|
"csstools.postcss",
|
||||||
|
"mikestead.dotenv",
|
||||||
|
"eamodio.gitlens",
|
||||||
|
"antfu.iconify",
|
||||||
|
"antfu.unocss",
|
||||||
|
"Vue.volar"
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "msedge",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Launch Edge against localhost",
|
||||||
|
"url": "http://localhost",
|
||||||
|
"webRoot": "${workspaceFolder}/src",
|
||||||
|
"sourceMaps": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,144 @@
|
|||||||
|
{
|
||||||
|
"typescript.tsdk": "node_modules/typescript/lib",
|
||||||
|
"npm.packageManager": "pnpm",
|
||||||
|
"editor.tabSize": 2,
|
||||||
|
"prettier.printWidth": 100, // 超过最大值换行
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"files.eol": "\n",
|
||||||
|
"search.exclude": {
|
||||||
|
"**/node_modules": true,
|
||||||
|
"**/*.log": true,
|
||||||
|
"**/*.log*": true,
|
||||||
|
"**/bower_components": true,
|
||||||
|
"**/dist": true,
|
||||||
|
"**/elehukouben": true,
|
||||||
|
"**/.git": true,
|
||||||
|
"**/.gitignore": true,
|
||||||
|
"**/.svn": true,
|
||||||
|
"**/.DS_Store": true,
|
||||||
|
"**/.idea": true,
|
||||||
|
"**/.vscode": false,
|
||||||
|
"**/yarn.lock": true,
|
||||||
|
"**/tmp": true,
|
||||||
|
"out": true,
|
||||||
|
"dist": true,
|
||||||
|
"node_modules": true,
|
||||||
|
"CHANGELOG.md": true,
|
||||||
|
"examples": true,
|
||||||
|
"res": true,
|
||||||
|
"screenshots": true,
|
||||||
|
"yarn-error.log": true,
|
||||||
|
"**/.yarn": true
|
||||||
|
},
|
||||||
|
"files.exclude": {
|
||||||
|
"**/.cache": true,
|
||||||
|
"**/.editorconfig": true,
|
||||||
|
"**/.eslintcache": true,
|
||||||
|
"**/bower_components": true,
|
||||||
|
"**/.idea": true,
|
||||||
|
"**/tmp": true,
|
||||||
|
"**/.git": true,
|
||||||
|
"**/.svn": true,
|
||||||
|
"**/.hg": true,
|
||||||
|
"**/CVS": true,
|
||||||
|
"**/.DS_Store": true
|
||||||
|
},
|
||||||
|
"files.watcherExclude": {
|
||||||
|
"**/.git/objects/**": true,
|
||||||
|
"**/.git/subtree-cache/**": true,
|
||||||
|
"**/.vscode/**": true,
|
||||||
|
"**/node_modules/**": true,
|
||||||
|
"**/tmp/**": true,
|
||||||
|
"**/bower_components/**": true,
|
||||||
|
"**/dist/**": true,
|
||||||
|
"**/yarn.lock": true
|
||||||
|
},
|
||||||
|
"stylelint.enable": true,
|
||||||
|
"stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass"],
|
||||||
|
"path-intellisense.mappings": {
|
||||||
|
"@/": "${workspaceRoot}/src"
|
||||||
|
},
|
||||||
|
"[javascriptreact]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
|
||||||
|
},
|
||||||
|
"[typescriptreact]": {
|
||||||
|
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
|
||||||
|
},
|
||||||
|
"[html]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[css]": {
|
||||||
|
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
|
||||||
|
},
|
||||||
|
"[less]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[scss]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[markdown]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll.eslint": "explicit"
|
||||||
|
},
|
||||||
|
"[vue]": {
|
||||||
|
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
|
||||||
|
},
|
||||||
|
"i18n-ally.localesPaths": ["src/locales"],
|
||||||
|
"i18n-ally.keystyle": "nested",
|
||||||
|
"i18n-ally.sortKeys": true,
|
||||||
|
"i18n-ally.namespace": false,
|
||||||
|
"i18n-ally.enabledParsers": ["ts"],
|
||||||
|
"i18n-ally.sourceLanguage": "en",
|
||||||
|
"i18n-ally.displayLanguage": "zh-CN",
|
||||||
|
"i18n-ally.enabledFrameworks": ["vue", "react"],
|
||||||
|
"cSpell.words": [
|
||||||
|
"brotli",
|
||||||
|
"browserslist",
|
||||||
|
"codemirror",
|
||||||
|
"commitlint",
|
||||||
|
"cropperjs",
|
||||||
|
"echart",
|
||||||
|
"echarts",
|
||||||
|
"esnext",
|
||||||
|
"esno",
|
||||||
|
"iconify",
|
||||||
|
"INTLIFY",
|
||||||
|
"lintstagedrc",
|
||||||
|
"logicflow",
|
||||||
|
"nprogress",
|
||||||
|
"pinia",
|
||||||
|
"pnpm",
|
||||||
|
"qrcode",
|
||||||
|
"sider",
|
||||||
|
"sortablejs",
|
||||||
|
"stylelint",
|
||||||
|
"svgs",
|
||||||
|
"unocss",
|
||||||
|
"unplugin",
|
||||||
|
"unref",
|
||||||
|
"videojs",
|
||||||
|
"VITE",
|
||||||
|
"vitejs",
|
||||||
|
"vueuse",
|
||||||
|
"wangeditor",
|
||||||
|
"xingyu",
|
||||||
|
"yudao",
|
||||||
|
"zxcvbn"
|
||||||
|
],
|
||||||
|
// 控制相关文件嵌套展示
|
||||||
|
"explorer.fileNesting.enabled": true,
|
||||||
|
"explorer.fileNesting.expand": false,
|
||||||
|
"explorer.fileNesting.patterns": {
|
||||||
|
"*.ts": "$(capture).test.ts, $(capture).test.tsx",
|
||||||
|
"*.tsx": "$(capture).test.ts, $(capture).test.tsx",
|
||||||
|
"*.env": "$(capture).env.*",
|
||||||
|
"package.json": "pnpm-lock.yaml,yarn.lock,LICENSE,README*,CHANGELOG*,CNAME,.gitattributes,.eslintrc-auto-import.json,.gitignore,prettier.config.js,stylelint.config.js,commitlint.config.js,.stylelintignore,.prettierignore,.gitpod.yml,.eslintrc.js,.eslintignore"
|
||||||
|
},
|
||||||
|
"terminal.integrated.scrollback": 10000,
|
||||||
|
"nuxt.isNuxtApp": false
|
||||||
|
}
|
||||||
@ -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 pointer WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@ -1,2 +1,93 @@
|
|||||||
# yudao-web
|
# 前端1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Getting started
|
||||||
|
|
||||||
|
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
|
||||||
|
|
||||||
|
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
|
||||||
|
|
||||||
|
## Add your files
|
||||||
|
|
||||||
|
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
|
||||||
|
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
|
||||||
|
|
||||||
|
```
|
||||||
|
cd existing_repo
|
||||||
|
git remote add origin http://192.168.1.52:9955/zongPeng/vue3.git
|
||||||
|
git branch -M main
|
||||||
|
git push -uf origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
## Integrate with your tools
|
||||||
|
|
||||||
|
- [ ] [Set up project integrations](http://192.168.1.52:9955/zongPeng/vue3/-/settings/integrations)
|
||||||
|
|
||||||
|
## Collaborate with your team
|
||||||
|
|
||||||
|
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
|
||||||
|
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
|
||||||
|
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
|
||||||
|
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
|
||||||
|
- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
|
||||||
|
|
||||||
|
## Test and Deploy
|
||||||
|
|
||||||
|
Use the built-in continuous integration in GitLab.
|
||||||
|
|
||||||
|
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
|
||||||
|
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
|
||||||
|
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
|
||||||
|
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
|
||||||
|
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
# Editing this README
|
||||||
|
|
||||||
|
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template.
|
||||||
|
|
||||||
|
## Suggestions for a good README
|
||||||
|
|
||||||
|
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
|
||||||
|
|
||||||
|
## Name
|
||||||
|
Choose a self-explaining name for your project.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
|
||||||
|
|
||||||
|
## Badges
|
||||||
|
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
|
||||||
|
|
||||||
|
## Visuals
|
||||||
|
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
|
||||||
|
|
||||||
|
## Support
|
||||||
|
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
|
||||||
|
|
||||||
|
## Roadmap
|
||||||
|
If you have ideas for releases in the future, it is a good idea to list them in the README.
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
State if you are open to contributions and what your requirements are for accepting them.
|
||||||
|
|
||||||
|
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
|
||||||
|
|
||||||
|
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
|
||||||
|
|
||||||
|
## Authors and acknowledgment
|
||||||
|
Show your appreciation to those who have contributed to the project.
|
||||||
|
|
||||||
|
## License
|
||||||
|
For open source projects, say how it is licensed.
|
||||||
|
|
||||||
|
## Project status
|
||||||
|
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
|
||||||
|
|||||||
@ -0,0 +1,100 @@
|
|||||||
|
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({
|
||||||
|
// 生成自定义 `auto-components.d.ts` 全局声明
|
||||||
|
dts: 'src/types/auto-components.d.ts',
|
||||||
|
// 自定义组件的解析器
|
||||||
|
resolvers: [ElementPlusResolver()],
|
||||||
|
globs: ["src/components/**/**.{vue, md}", '!src/components/DiyEditor/components/mobile/**']
|
||||||
|
}),
|
||||||
|
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}`
|
||||||
|
})
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -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 }
|
||||||
@ -0,0 +1,150 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" href="/favicon.ico" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<meta
|
||||||
|
name="keywords"
|
||||||
|
content="随行管理系统"
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="随行管理系统"
|
||||||
|
/>
|
||||||
|
<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">
|
||||||
|
<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>
|
||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,146 @@
|
|||||||
|
{
|
||||||
|
"name": "yudao-ui-admin-vue3",
|
||||||
|
"version": "2.1.0-snapshot",
|
||||||
|
"description": "基于vue3、vite4、element-plus、typesScript",
|
||||||
|
"author": "xingyu",
|
||||||
|
"private": false,
|
||||||
|
"scripts": {
|
||||||
|
"i": "pnpm install",
|
||||||
|
"dev": "vite",
|
||||||
|
"dev-server": "vite --mode dev",
|
||||||
|
"ts:check": "vue-tsc --noEmit",
|
||||||
|
"build:local": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build",
|
||||||
|
"build:dev": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode dev",
|
||||||
|
"build:test": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode test",
|
||||||
|
"build:stage": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode stage",
|
||||||
|
"build:prod": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode prod",
|
||||||
|
"serve:dev": "vite preview --mode dev",
|
||||||
|
"serve:prod": "vite preview --mode prod",
|
||||||
|
"preview": "pnpm build:local && vite preview",
|
||||||
|
"clean": "npx rimraf node_modules",
|
||||||
|
"clean:cache": "npx rimraf node_modules/.cache",
|
||||||
|
"lint:eslint": "eslint --fix --ext .js,.ts,.vue ./src",
|
||||||
|
"lint:format": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
|
||||||
|
"lint:style": "stylelint --fix \"./src/**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
|
||||||
|
"lint:lint-staged": "lint-staged -c "
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@element-plus/icons-vue": "^2.1.0",
|
||||||
|
"@form-create/designer": "^3.1.3",
|
||||||
|
"@form-create/element-ui": "^3.1.24",
|
||||||
|
"@iconify/iconify": "^3.1.1",
|
||||||
|
"@videojs-player/vue": "^1.0.0",
|
||||||
|
"@vueuse/core": "^10.9.0",
|
||||||
|
"@wangeditor/editor": "^5.1.23",
|
||||||
|
"@wangeditor/editor-for-vue": "^5.1.10",
|
||||||
|
"@zxcvbn-ts/core": "^3.0.4",
|
||||||
|
"animate.css": "^4.1.1",
|
||||||
|
"axios": "^1.6.8",
|
||||||
|
"benz-amr-recorder": "^1.1.5",
|
||||||
|
"bpmn-js-token-simulation": "^0.10.0",
|
||||||
|
"camunda-bpmn-moddle": "^7.0.1",
|
||||||
|
"cropperjs": "^1.6.1",
|
||||||
|
"crypto-js": "^4.2.0",
|
||||||
|
"dayjs": "^1.11.10",
|
||||||
|
"diagram-js": "^12.8.0",
|
||||||
|
"driver.js": "^1.3.1",
|
||||||
|
"echarts": "^5.5.0",
|
||||||
|
"echarts-wordcloud": "^2.1.0",
|
||||||
|
"element-plus": "^2.6.1",
|
||||||
|
"fast-xml-parser": "^4.3.2",
|
||||||
|
"highlight.js": "^11.9.0",
|
||||||
|
"jsencrypt": "^3.3.2",
|
||||||
|
"lodash-es": "^4.17.21",
|
||||||
|
"min-dash": "^4.1.1",
|
||||||
|
"mitt": "^3.0.1",
|
||||||
|
"nprogress": "^0.2.0",
|
||||||
|
"pinia": "^2.1.7",
|
||||||
|
"pinia-plugin-persistedstate": "^3.2.1",
|
||||||
|
"qrcode": "^1.5.3",
|
||||||
|
"qs": "^6.12.0",
|
||||||
|
"steady-xml": "^0.1.0",
|
||||||
|
"url": "^0.11.3",
|
||||||
|
"v-viewer": "^3.0.11",
|
||||||
|
"video.js": "^7.21.5",
|
||||||
|
"vue": "3.4.21",
|
||||||
|
"vue-dompurify-html": "^4.1.4",
|
||||||
|
"vue-i18n": "9.10.2",
|
||||||
|
"vue-router": "^4.3.0",
|
||||||
|
"vue-types": "^5.1.1",
|
||||||
|
"vue-video-player": "^6.0.0",
|
||||||
|
"vuedraggable": "^4.1.0",
|
||||||
|
"web-storage-cache": "^1.1.1",
|
||||||
|
"xml-js": "^1.6.11"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@commitlint/cli": "^19.0.1",
|
||||||
|
"@commitlint/config-conventional": "^19.0.0",
|
||||||
|
"@iconify/json": "^2.2.187",
|
||||||
|
"@intlify/unplugin-vue-i18n": "^2.0.0",
|
||||||
|
"@purge-icons/generated": "^0.9.0",
|
||||||
|
"@types/lodash-es": "^4.17.12",
|
||||||
|
"@types/node": "^20.11.21",
|
||||||
|
"@types/nprogress": "^0.2.3",
|
||||||
|
"@types/qrcode": "^1.5.5",
|
||||||
|
"@types/qs": "^6.9.12",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
||||||
|
"@typescript-eslint/parser": "^7.1.0",
|
||||||
|
"@unocss/eslint-config": "^0.57.4",
|
||||||
|
"@unocss/transformer-variant-group": "^0.58.5",
|
||||||
|
"@vitejs/plugin-legacy": "^5.3.1",
|
||||||
|
"@vitejs/plugin-vue": "^5.0.4",
|
||||||
|
"@vitejs/plugin-vue-jsx": "^3.1.0",
|
||||||
|
"autoprefixer": "^10.4.17",
|
||||||
|
"bpmn-js": "8.9.0",
|
||||||
|
"bpmn-js-properties-panel": "0.46.0",
|
||||||
|
"consola": "^3.2.3",
|
||||||
|
"eslint": "^8.57.0",
|
||||||
|
"eslint-config-prettier": "^9.1.0",
|
||||||
|
"eslint-define-config": "^2.1.0",
|
||||||
|
"eslint-plugin-prettier": "^5.1.3",
|
||||||
|
"eslint-plugin-vue": "^9.27.0",
|
||||||
|
"lint-staged": "^15.2.2",
|
||||||
|
"postcss": "^8.4.35",
|
||||||
|
"postcss-html": "^1.6.0",
|
||||||
|
"postcss-scss": "^4.0.9",
|
||||||
|
"prettier": "^3.2.5",
|
||||||
|
"prettier-eslint": "^16.3.0",
|
||||||
|
"rimraf": "^5.0.5",
|
||||||
|
"rollup": "^4.12.0",
|
||||||
|
"sass": "^1.69.5",
|
||||||
|
"stylelint": "^16.2.1",
|
||||||
|
"stylelint-config-html": "^1.1.0",
|
||||||
|
"stylelint-config-recommended": "^14.0.0",
|
||||||
|
"stylelint-config-standard": "^36.0.0",
|
||||||
|
"stylelint-order": "^6.0.4",
|
||||||
|
"terser": "^5.28.1",
|
||||||
|
"typescript": "5.3.3",
|
||||||
|
"unocss": "^0.58.5",
|
||||||
|
"unplugin-auto-import": "^0.16.7",
|
||||||
|
"unplugin-element-plus": "^0.8.0",
|
||||||
|
"unplugin-vue-components": "^0.25.2",
|
||||||
|
"vite": "5.1.4",
|
||||||
|
"vite-plugin-compression": "^0.5.1",
|
||||||
|
"vite-plugin-ejs": "^1.7.0",
|
||||||
|
"vite-plugin-eslint": "^1.8.1",
|
||||||
|
"vite-plugin-progress": "^0.0.7",
|
||||||
|
"vite-plugin-purge-icons": "^0.10.0",
|
||||||
|
"vite-plugin-svg-icons": "^2.0.1",
|
||||||
|
"vite-plugin-top-level-await": "^1.3.1",
|
||||||
|
"vue-eslint-parser": "^9.3.2",
|
||||||
|
"vue-tsc": "^1.8.27"
|
||||||
|
},
|
||||||
|
"license": "MIT",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://gitee.com/yudaocode/yudao-ui-admin-vue3"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://gitee.com/yudaocode/yudao-ui-admin-vue3",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16.0.0",
|
||||||
|
"pnpm": ">=8.6.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,5 @@
|
|||||||
|
module.exports = {
|
||||||
|
plugins: {
|
||||||
|
autoprefixer: {}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.7 MiB |
@ -0,0 +1,57 @@
|
|||||||
|
<script lang="ts" setup>
|
||||||
|
import { isDark } from '@/utils/is'
|
||||||
|
import { useAppStore } from '@/store/modules/app'
|
||||||
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
|
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
|
||||||
|
import routerSearch from '@/components/RouterSearch/index.vue'
|
||||||
|
|
||||||
|
defineOptions({ name: 'APP' })
|
||||||
|
|
||||||
|
const { getPrefixCls } = useDesign()
|
||||||
|
const prefixCls = getPrefixCls('app')
|
||||||
|
const appStore = useAppStore()
|
||||||
|
const currentSize = computed(() => appStore.getCurrentSize)
|
||||||
|
const greyMode = computed(() => appStore.getGreyMode)
|
||||||
|
const { wsCache } = useCache()
|
||||||
|
|
||||||
|
// 根据浏览器当前主题设置系统主题色
|
||||||
|
const setDefaultTheme = () => {
|
||||||
|
let isDarkTheme = wsCache.get(CACHE_KEY.IS_DARK)
|
||||||
|
if (isDarkTheme === null) {
|
||||||
|
isDarkTheme = isDark()
|
||||||
|
}
|
||||||
|
appStore.setIsDark(isDarkTheme)
|
||||||
|
}
|
||||||
|
setDefaultTheme()
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<ConfigGlobal :size="currentSize">
|
||||||
|
<RouterView :class="greyMode ? `${prefixCls}-grey-mode` : ''" />
|
||||||
|
<routerSearch />
|
||||||
|
</ConfigGlobal>
|
||||||
|
</template>
|
||||||
|
<style lang="scss">
|
||||||
|
$prefix-cls: #{$namespace}-app;
|
||||||
|
|
||||||
|
.size {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
@extend .size;
|
||||||
|
|
||||||
|
padding: 0 !important;
|
||||||
|
margin: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
#app {
|
||||||
|
@extend .size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.#{$prefix-cls}-grey-mode {
|
||||||
|
filter: grayscale(100%);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export const getActivityList = async (params) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/activity/list',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// BPM 流程分类 VO
|
||||||
|
export interface CategoryVO {
|
||||||
|
id: number // 分类编号
|
||||||
|
name: string // 分类名
|
||||||
|
code: string // 分类标志
|
||||||
|
status: number // 分类状态
|
||||||
|
sort: number // 分类排序
|
||||||
|
}
|
||||||
|
|
||||||
|
// BPM 流程分类 API
|
||||||
|
export const CategoryApi = {
|
||||||
|
// 查询流程分类分页
|
||||||
|
getCategoryPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/bpm/category/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询流程分类列表
|
||||||
|
getCategorySimpleList: async () => {
|
||||||
|
return await request.get({ url: `/bpm/category/simple-list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询流程分类详情
|
||||||
|
getCategory: async (id: number) => {
|
||||||
|
return await request.get({ url: `/bpm/category/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增流程分类
|
||||||
|
createCategory: async (data: CategoryVO) => {
|
||||||
|
return await request.post({ url: `/bpm/category/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改流程分类
|
||||||
|
updateCategory: async (data: CategoryVO) => {
|
||||||
|
return await request.put({ url: `/bpm/category/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除流程分类
|
||||||
|
deleteCategory: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/bpm/category/delete?id=` + id })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export const getProcessDefinition = async (id: number, key: string) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/process-definition/get',
|
||||||
|
params: { id, key }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessDefinitionPage = async (params) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/process-definition/page',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessDefinitionList = async (params) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/process-definition/list',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,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 getFormSimpleList = async () => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/form/simple-list'
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type LeaveVO = {
|
||||||
|
id: number
|
||||||
|
status: number
|
||||||
|
type: number
|
||||||
|
reason: string
|
||||||
|
processInstanceId: string
|
||||||
|
startTime: string
|
||||||
|
endTime: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建请假申请
|
||||||
|
export const createLeave = async (data: LeaveVO) => {
|
||||||
|
return await request.post({ url: '/bpm/oa/leave/create', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得请假申请
|
||||||
|
export const getLeave = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/oa/leave/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得请假申请分页
|
||||||
|
export const getLeavePage = async (params: PageParam) => {
|
||||||
|
return await request.get({ url: '/bpm/oa/leave/page', params })
|
||||||
|
}
|
||||||
@ -0,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 })
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// BPM 流程表达式 VO
|
||||||
|
export interface ProcessExpressionVO {
|
||||||
|
id: number // 编号
|
||||||
|
name: string // 表达式名字
|
||||||
|
status: number // 表达式状态
|
||||||
|
expression: string // 表达式
|
||||||
|
}
|
||||||
|
|
||||||
|
// BPM 流程表达式 API
|
||||||
|
export const ProcessExpressionApi = {
|
||||||
|
// 查询BPM 流程表达式分页
|
||||||
|
getProcessExpressionPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/bpm/process-expression/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询BPM 流程表达式详情
|
||||||
|
getProcessExpression: async (id: number) => {
|
||||||
|
return await request.get({ url: `/bpm/process-expression/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增BPM 流程表达式
|
||||||
|
createProcessExpression: async (data: ProcessExpressionVO) => {
|
||||||
|
return await request.post({ url: `/bpm/process-expression/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改BPM 流程表达式
|
||||||
|
updateProcessExpression: async (data: ProcessExpressionVO) => {
|
||||||
|
return await request.put({ url: `/bpm/process-expression/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除BPM 流程表达式
|
||||||
|
deleteProcessExpression: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/bpm/process-expression/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出BPM 流程表达式 Excel
|
||||||
|
exportProcessExpression: async (params) => {
|
||||||
|
return await request.download({ url: `/bpm/process-expression/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,68 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type Task = {
|
||||||
|
id: string
|
||||||
|
name: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type ProcessInstanceVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
processDefinitionId: string
|
||||||
|
category: string
|
||||||
|
result: number
|
||||||
|
tasks: Task[]
|
||||||
|
fields: string[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
businessKey: string
|
||||||
|
createTime: string
|
||||||
|
endTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type ProcessInstanceCopyVO = {
|
||||||
|
type: number
|
||||||
|
taskName: string
|
||||||
|
taskKey: string
|
||||||
|
processInstanceName: string
|
||||||
|
processInstanceKey: string
|
||||||
|
startUserId: string
|
||||||
|
options: string[]
|
||||||
|
reason: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessInstanceMyPage = async (params: any) => {
|
||||||
|
return await request.get({ url: '/bpm/process-instance/my-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessInstanceManagerPage = async (params: any) => {
|
||||||
|
return await request.get({ url: '/bpm/process-instance/manager-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const createProcessInstance = async (data) => {
|
||||||
|
return await request.post({ url: '/bpm/process-instance/create', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cancelProcessInstanceByStartUser = async (id: number, reason: string) => {
|
||||||
|
const data = {
|
||||||
|
id: id,
|
||||||
|
reason: reason
|
||||||
|
}
|
||||||
|
return await request.delete({ url: '/bpm/process-instance/cancel-by-start-user', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cancelProcessInstanceByAdmin = async (id: number, reason: string) => {
|
||||||
|
const data = {
|
||||||
|
id: id,
|
||||||
|
reason: reason
|
||||||
|
}
|
||||||
|
return await request.delete({ url: '/bpm/process-instance/cancel-by-admin', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessInstance = async (id: string) => {
|
||||||
|
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessInstanceCopyPage = async (params: any) => {
|
||||||
|
return await request.get({ url: '/bpm/process-instance/copy/page', params })
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// BPM 流程监听器 VO
|
||||||
|
export interface ProcessListenerVO {
|
||||||
|
id: number // 编号
|
||||||
|
name: string // 监听器名字
|
||||||
|
type: string // 监听器类型
|
||||||
|
status: number // 监听器状态
|
||||||
|
event: string // 监听事件
|
||||||
|
valueType: string // 监听器值类型
|
||||||
|
value: string // 监听器值
|
||||||
|
}
|
||||||
|
|
||||||
|
// BPM 流程监听器 API
|
||||||
|
export const ProcessListenerApi = {
|
||||||
|
// 查询流程监听器分页
|
||||||
|
getProcessListenerPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/bpm/process-listener/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询流程监听器详情
|
||||||
|
getProcessListener: async (id: number) => {
|
||||||
|
return await request.get({ url: `/bpm/process-listener/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增流程监听器
|
||||||
|
createProcessListener: async (data: ProcessListenerVO) => {
|
||||||
|
return await request.post({ url: `/bpm/process-listener/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改流程监听器
|
||||||
|
updateProcessListener: async (data: ProcessListenerVO) => {
|
||||||
|
return await request.put({ url: `/bpm/process-listener/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除流程监听器
|
||||||
|
deleteProcessListener: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/bpm/process-listener/delete?id=` + id })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,66 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type TaskVO = {
|
||||||
|
id: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTaskTodoPage = async (params: any) => {
|
||||||
|
return await request.get({ url: '/bpm/task/todo-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTaskDonePage = async (params: any) => {
|
||||||
|
return await request.get({ url: '/bpm/task/done-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTaskManagerPage = async (params: any) => {
|
||||||
|
return await request.get({ url: '/bpm/task/manager-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const approveTask = async (data: any) => {
|
||||||
|
return await request.put({ url: '/bpm/task/approve', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const rejectTask = async (data: any) => {
|
||||||
|
return await request.put({ url: '/bpm/task/reject', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTaskListByProcessInstanceId = async (processInstanceId: string) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取所有可回退的节点
|
||||||
|
export const getTaskListByReturn = async (id: string) => {
|
||||||
|
return await request.get({ url: '/bpm/task/list-by-return', params: { id } })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 回退
|
||||||
|
export const returnTask = async (data: any) => {
|
||||||
|
return await request.put({ url: '/bpm/task/return', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 委派
|
||||||
|
export const delegateTask = async (data: any) => {
|
||||||
|
return await request.put({ url: '/bpm/task/delegate', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 转派
|
||||||
|
export const transferTask = async (data: any) => {
|
||||||
|
return await request.put({ url: '/bpm/task/transfer', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加签
|
||||||
|
export const signCreateTask = async (data: any) => {
|
||||||
|
return await request.put({ url: '/bpm/task/create-sign', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 减签
|
||||||
|
export const signDeleteTask = async (data: any) => {
|
||||||
|
return await request.delete({ url: '/bpm/task/delete-sign', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取减签任务列表
|
||||||
|
export const getChildrenTaskList = async (id: string) => {
|
||||||
|
return await request.get({ url: '/bpm/task/list-by-parent-task-id?parentTaskId=' + id })
|
||||||
|
}
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type UserGroupVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
description: string
|
||||||
|
userIds: number[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建用户组
|
||||||
|
export const createUserGroup = async (data: UserGroupVO) => {
|
||||||
|
return await request.post({
|
||||||
|
url: '/bpm/user-group/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新用户组
|
||||||
|
export const updateUserGroup = async (data: UserGroupVO) => {
|
||||||
|
return await request.put({
|
||||||
|
url: '/bpm/user-group/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除用户组
|
||||||
|
export const deleteUserGroup = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得用户组
|
||||||
|
export const getUserGroup = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得用户组分页
|
||||||
|
export const getUserGroupPage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取用户组精简信息列表
|
||||||
|
export const getUserGroupSimpleList = async (): Promise<UserGroupVO[]> => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/simple-list' })
|
||||||
|
}
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
|
||||||
|
// 相机 API
|
||||||
|
export const CameraControlApi = {
|
||||||
|
// 查询相机分页
|
||||||
|
cameraControl: async (urlStr: string,data) => {
|
||||||
|
return await request.post({ url: urlStr, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// //查询相机列表
|
||||||
|
// getCameraList: () => {
|
||||||
|
// return request.get({ url: `/logistics/camera/list` })
|
||||||
|
// },
|
||||||
|
// // 查询相机详情
|
||||||
|
// getCamera: async (id: number) => {
|
||||||
|
// return await request.get({ url: `/logistics/camera/get?id=` + id })
|
||||||
|
// },
|
||||||
|
|
||||||
|
// // 新增相机
|
||||||
|
// createCamera: async (data: CameraVO) => {
|
||||||
|
// return await request.post({ url: `/logistics/camera/create`, data })
|
||||||
|
// },
|
||||||
|
|
||||||
|
// // 修改相机
|
||||||
|
// updateCamera: async (data: CameraVO) => {
|
||||||
|
// return await request.put({ url: `/logistics/camera/update`, data })
|
||||||
|
// },
|
||||||
|
|
||||||
|
// // 删除相机
|
||||||
|
// deleteCamera: async (id: number) => {
|
||||||
|
// return await request.delete({ url: `/logistics/camera/delete?id=` + id })
|
||||||
|
// },
|
||||||
|
|
||||||
|
// // 导出相机 Excel
|
||||||
|
// exportCamera: async (params) => {
|
||||||
|
// return await request.download({ url: `/logistics/camera/export-excel`, params })
|
||||||
|
// },
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 结算账户 VO
|
||||||
|
export interface AccountVO {
|
||||||
|
id: number // 结算账户编号
|
||||||
|
no: string // 账户编码
|
||||||
|
remark: string // 备注
|
||||||
|
status: number // 开启状态
|
||||||
|
sort: number // 排序
|
||||||
|
defaultStatus: boolean // 是否默认
|
||||||
|
name: string // 账户名称
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 结算账户 API
|
||||||
|
export const AccountApi = {
|
||||||
|
// 查询结算账户分页
|
||||||
|
getAccountPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/account/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询结算账户精简列表
|
||||||
|
getAccountSimpleList: async () => {
|
||||||
|
return await request.get({ url: `/erp/account/simple-list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询结算账户详情
|
||||||
|
getAccount: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/account/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增结算账户
|
||||||
|
createAccount: async (data: AccountVO) => {
|
||||||
|
return await request.post({ url: `/erp/account/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改结算账户
|
||||||
|
updateAccount: async (data: AccountVO) => {
|
||||||
|
return await request.put({ url: `/erp/account/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改结算账户默认状态
|
||||||
|
updateAccountDefaultStatus: async (id: number, defaultStatus: boolean) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/account/update-default-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
defaultStatus
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除结算账户
|
||||||
|
deleteAccount: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/erp/account/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出结算账户 Excel
|
||||||
|
exportAccount: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/account/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 付款单 VO
|
||||||
|
export interface FinancePaymentVO {
|
||||||
|
id: number // 付款单编号
|
||||||
|
no: string // 付款单号
|
||||||
|
supplierId: number // 供应商编号
|
||||||
|
paymentTime: Date // 付款时间
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 付款单 API
|
||||||
|
export const FinancePaymentApi = {
|
||||||
|
// 查询付款单分页
|
||||||
|
getFinancePaymentPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/finance-payment/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询付款单详情
|
||||||
|
getFinancePayment: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/finance-payment/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增付款单
|
||||||
|
createFinancePayment: async (data: FinancePaymentVO) => {
|
||||||
|
return await request.post({ url: `/erp/finance-payment/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改付款单
|
||||||
|
updateFinancePayment: async (data: FinancePaymentVO) => {
|
||||||
|
return await request.put({ url: `/erp/finance-payment/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新付款单的状态
|
||||||
|
updateFinancePaymentStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/finance-payment/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除付款单
|
||||||
|
deleteFinancePayment: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/finance-payment/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出付款单 Excel
|
||||||
|
exportFinancePayment: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/finance-payment/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 收款单 VO
|
||||||
|
export interface FinanceReceiptVO {
|
||||||
|
id: number // 收款单编号
|
||||||
|
no: string // 收款单号
|
||||||
|
customerId: number // 客户编号
|
||||||
|
receiptTime: Date // 收款时间
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 收款单 API
|
||||||
|
export const FinanceReceiptApi = {
|
||||||
|
// 查询收款单分页
|
||||||
|
getFinanceReceiptPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/finance-receipt/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询收款单详情
|
||||||
|
getFinanceReceipt: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/finance-receipt/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增收款单
|
||||||
|
createFinanceReceipt: async (data: FinanceReceiptVO) => {
|
||||||
|
return await request.post({ url: `/erp/finance-receipt/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改收款单
|
||||||
|
updateFinanceReceipt: async (data: FinanceReceiptVO) => {
|
||||||
|
return await request.put({ url: `/erp/finance-receipt/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新收款单的状态
|
||||||
|
updateFinanceReceiptStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/finance-receipt/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除收款单
|
||||||
|
deleteFinanceReceipt: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/finance-receipt/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出收款单 Excel
|
||||||
|
exportFinanceReceipt: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/finance-receipt/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 产品分类 VO
|
||||||
|
export interface ProductCategoryVO {
|
||||||
|
id: number // 分类编号
|
||||||
|
parentId: number // 父分类编号
|
||||||
|
name: string // 分类名称
|
||||||
|
code: string // 分类编码
|
||||||
|
sort: number // 分类排序
|
||||||
|
status: number // 开启状态
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 产品分类 API
|
||||||
|
export const ProductCategoryApi = {
|
||||||
|
// 查询产品分类列表
|
||||||
|
getProductCategoryList: async () => {
|
||||||
|
return await request.get({ url: `/erp/product-category/list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询产品分类精简列表
|
||||||
|
getProductCategorySimpleList: async () => {
|
||||||
|
return await request.get({ url: `/erp/product-category/simple-list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询产品分类详情
|
||||||
|
getProductCategory: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/product-category/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增产品分类
|
||||||
|
createProductCategory: async (data: ProductCategoryVO) => {
|
||||||
|
return await request.post({ url: `/erp/product-category/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改产品分类
|
||||||
|
updateProductCategory: async (data: ProductCategoryVO) => {
|
||||||
|
return await request.put({ url: `/erp/product-category/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除产品分类
|
||||||
|
deleteProductCategory: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/erp/product-category/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出产品分类 Excel
|
||||||
|
exportProductCategory: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/product-category/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 产品单位 VO
|
||||||
|
export interface ProductUnitVO {
|
||||||
|
id: number // 单位编号
|
||||||
|
name: string // 单位名字
|
||||||
|
status: number // 单位状态
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 产品单位 API
|
||||||
|
export const ProductUnitApi = {
|
||||||
|
// 查询产品单位分页
|
||||||
|
getProductUnitPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/product-unit/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询产品单位精简列表
|
||||||
|
getProductUnitSimpleList: async () => {
|
||||||
|
return await request.get({ url: `/erp/product-unit/simple-list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询产品单位详情
|
||||||
|
getProductUnit: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/product-unit/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增产品单位
|
||||||
|
createProductUnit: async (data: ProductUnitVO) => {
|
||||||
|
return await request.post({ url: `/erp/product-unit/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改产品单位
|
||||||
|
updateProductUnit: async (data: ProductUnitVO) => {
|
||||||
|
return await request.put({ url: `/erp/product-unit/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除产品单位
|
||||||
|
deleteProductUnit: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/erp/product-unit/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出产品单位 Excel
|
||||||
|
exportProductUnit: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/product-unit/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 采购入库 VO
|
||||||
|
export interface PurchaseInVO {
|
||||||
|
id: number // 入库工单编号
|
||||||
|
no: string // 采购入库号
|
||||||
|
customerId: number // 客户编号
|
||||||
|
inTime: Date // 入库时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
outCount: number // 采购出库数量
|
||||||
|
returnCount: number // 采购退货数量
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 采购入库 API
|
||||||
|
export const PurchaseInApi = {
|
||||||
|
// 查询采购入库分页
|
||||||
|
getPurchaseInPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/purchase-in/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询采购入库详情
|
||||||
|
getPurchaseIn: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/purchase-in/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增采购入库
|
||||||
|
createPurchaseIn: async (data: PurchaseInVO) => {
|
||||||
|
return await request.post({ url: `/erp/purchase-in/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改采购入库
|
||||||
|
updatePurchaseIn: async (data: PurchaseInVO) => {
|
||||||
|
return await request.put({ url: `/erp/purchase-in/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新采购入库的状态
|
||||||
|
updatePurchaseInStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/purchase-in/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除采购入库
|
||||||
|
deletePurchaseIn: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/purchase-in/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出采购入库 Excel
|
||||||
|
exportPurchaseIn: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/purchase-in/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 采购订单 VO
|
||||||
|
export interface PurchaseOrderVO {
|
||||||
|
id: number // 订单工单编号
|
||||||
|
no: string // 采购订单号
|
||||||
|
customerId: number // 客户编号
|
||||||
|
orderTime: Date // 订单时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
outCount: number // 采购出库数量
|
||||||
|
returnCount: number // 采购退货数量
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 采购订单 API
|
||||||
|
export const PurchaseOrderApi = {
|
||||||
|
// 查询采购订单分页
|
||||||
|
getPurchaseOrderPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/purchase-order/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询采购订单详情
|
||||||
|
getPurchaseOrder: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/purchase-order/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增采购订单
|
||||||
|
createPurchaseOrder: async (data: PurchaseOrderVO) => {
|
||||||
|
return await request.post({ url: `/erp/purchase-order/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改采购订单
|
||||||
|
updatePurchaseOrder: async (data: PurchaseOrderVO) => {
|
||||||
|
return await request.put({ url: `/erp/purchase-order/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新采购订单的状态
|
||||||
|
updatePurchaseOrderStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/purchase-order/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除采购订单
|
||||||
|
deletePurchaseOrder: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/purchase-order/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出采购订单 Excel
|
||||||
|
exportPurchaseOrder: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/purchase-order/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 采购退货 VO
|
||||||
|
export interface PurchaseReturnVO {
|
||||||
|
id: number // 采购退货编号
|
||||||
|
no: string // 采购退货号
|
||||||
|
customerId: number // 客户编号
|
||||||
|
returnTime: Date // 退货时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 采购退货 API
|
||||||
|
export const PurchaseReturnApi = {
|
||||||
|
// 查询采购退货分页
|
||||||
|
getPurchaseReturnPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/purchase-return/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询采购退货详情
|
||||||
|
getPurchaseReturn: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/purchase-return/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增采购退货
|
||||||
|
createPurchaseReturn: async (data: PurchaseReturnVO) => {
|
||||||
|
return await request.post({ url: `/erp/purchase-return/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改采购退货
|
||||||
|
updatePurchaseReturn: async (data: PurchaseReturnVO) => {
|
||||||
|
return await request.put({ url: `/erp/purchase-return/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新采购退货的状态
|
||||||
|
updatePurchaseReturnStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/purchase-return/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除采购退货
|
||||||
|
deletePurchaseReturn: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/purchase-return/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出采购退货 Excel
|
||||||
|
exportPurchaseReturn: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/purchase-return/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,58 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 供应商 VO
|
||||||
|
export interface SupplierVO {
|
||||||
|
id: number // 供应商编号
|
||||||
|
name: string // 供应商名称
|
||||||
|
contact: string // 联系人
|
||||||
|
mobile: string // 手机号码
|
||||||
|
telephone: string // 联系电话
|
||||||
|
email: string // 电子邮箱
|
||||||
|
fax: string // 传真
|
||||||
|
remark: string // 备注
|
||||||
|
status: number // 开启状态
|
||||||
|
sort: number // 排序
|
||||||
|
taxNo: string // 纳税人识别号
|
||||||
|
taxPercent: number // 税率
|
||||||
|
bankName: string // 开户行
|
||||||
|
bankAccount: string // 开户账号
|
||||||
|
bankAddress: string // 开户地址
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 供应商 API
|
||||||
|
export const SupplierApi = {
|
||||||
|
// 查询供应商分页
|
||||||
|
getSupplierPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/supplier/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获得供应商精简列表
|
||||||
|
getSupplierSimpleList: async () => {
|
||||||
|
return await request.get({ url: `/erp/supplier/simple-list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询供应商详情
|
||||||
|
getSupplier: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/supplier/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增供应商
|
||||||
|
createSupplier: async (data: SupplierVO) => {
|
||||||
|
return await request.post({ url: `/erp/supplier/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改供应商
|
||||||
|
updateSupplier: async (data: SupplierVO) => {
|
||||||
|
return await request.put({ url: `/erp/supplier/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除供应商
|
||||||
|
deleteSupplier: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/erp/supplier/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出供应商 Excel
|
||||||
|
exportSupplier: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/supplier/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,58 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 客户 VO
|
||||||
|
export interface CustomerVO {
|
||||||
|
id: number // 客户编号
|
||||||
|
name: string // 客户名称
|
||||||
|
contact: string // 联系人
|
||||||
|
mobile: string // 手机号码
|
||||||
|
telephone: string // 联系电话
|
||||||
|
email: string // 电子邮箱
|
||||||
|
fax: string // 传真
|
||||||
|
remark: string // 备注
|
||||||
|
status: number // 开启状态
|
||||||
|
sort: number // 排序
|
||||||
|
taxNo: string // 纳税人识别号
|
||||||
|
taxPercent: number // 税率
|
||||||
|
bankName: string // 开户行
|
||||||
|
bankAccount: string // 开户账号
|
||||||
|
bankAddress: string // 开户地址
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 客户 API
|
||||||
|
export const CustomerApi = {
|
||||||
|
// 查询客户分页
|
||||||
|
getCustomerPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/customer/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询客户精简列表
|
||||||
|
getCustomerSimpleList: async () => {
|
||||||
|
return await request.get({ url: `/erp/customer/simple-list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询客户详情
|
||||||
|
getCustomer: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/customer/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增客户
|
||||||
|
createCustomer: async (data: CustomerVO) => {
|
||||||
|
return await request.post({ url: `/erp/customer/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改客户
|
||||||
|
updateCustomer: async (data: CustomerVO) => {
|
||||||
|
return await request.put({ url: `/erp/customer/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除客户
|
||||||
|
deleteCustomer: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/erp/customer/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出客户 Excel
|
||||||
|
exportCustomer: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/customer/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 销售订单 VO
|
||||||
|
export interface SaleOrderVO {
|
||||||
|
id: number // 订单工单编号
|
||||||
|
no: string // 销售订单号
|
||||||
|
customerId: number // 客户编号
|
||||||
|
orderTime: Date // 订单时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
outCount: number // 销售出库数量
|
||||||
|
returnCount: number // 销售退货数量
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 销售订单 API
|
||||||
|
export const SaleOrderApi = {
|
||||||
|
// 查询销售订单分页
|
||||||
|
getSaleOrderPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/sale-order/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询销售订单详情
|
||||||
|
getSaleOrder: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/sale-order/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增销售订单
|
||||||
|
createSaleOrder: async (data: SaleOrderVO) => {
|
||||||
|
return await request.post({ url: `/erp/sale-order/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改销售订单
|
||||||
|
updateSaleOrder: async (data: SaleOrderVO) => {
|
||||||
|
return await request.put({ url: `/erp/sale-order/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新销售订单的状态
|
||||||
|
updateSaleOrderStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/sale-order/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除销售订单
|
||||||
|
deleteSaleOrder: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/sale-order/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出销售订单 Excel
|
||||||
|
exportSaleOrder: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/sale-order/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 销售出库 VO
|
||||||
|
export interface SaleOutVO {
|
||||||
|
id: number // 销售出库编号
|
||||||
|
no: string // 销售出库号
|
||||||
|
customerId: number // 客户编号
|
||||||
|
outTime: Date // 出库时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 销售出库 API
|
||||||
|
export const SaleOutApi = {
|
||||||
|
// 查询销售出库分页
|
||||||
|
getSaleOutPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/sale-out/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询销售出库详情
|
||||||
|
getSaleOut: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/sale-out/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增销售出库
|
||||||
|
createSaleOut: async (data: SaleOutVO) => {
|
||||||
|
return await request.post({ url: `/erp/sale-out/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改销售出库
|
||||||
|
updateSaleOut: async (data: SaleOutVO) => {
|
||||||
|
return await request.put({ url: `/erp/sale-out/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新销售出库的状态
|
||||||
|
updateSaleOutStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/sale-out/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除销售出库
|
||||||
|
deleteSaleOut: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/sale-out/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出销售出库 Excel
|
||||||
|
exportSaleOut: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/sale-out/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 销售退货 VO
|
||||||
|
export interface SaleReturnVO {
|
||||||
|
id: number // 销售退货编号
|
||||||
|
no: string // 销售退货号
|
||||||
|
customerId: number // 客户编号
|
||||||
|
returnTime: Date // 退货时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 销售退货 API
|
||||||
|
export const SaleReturnApi = {
|
||||||
|
// 查询销售退货分页
|
||||||
|
getSaleReturnPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/sale-return/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询销售退货详情
|
||||||
|
getSaleReturn: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/sale-return/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增销售退货
|
||||||
|
createSaleReturn: async (data: SaleReturnVO) => {
|
||||||
|
return await request.post({ url: `/erp/sale-return/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改销售退货
|
||||||
|
updateSaleReturn: async (data: SaleReturnVO) => {
|
||||||
|
return await request.put({ url: `/erp/sale-return/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新销售退货的状态
|
||||||
|
updateSaleReturnStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/sale-return/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除销售退货
|
||||||
|
deleteSaleReturn: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/sale-return/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出销售退货 Excel
|
||||||
|
exportSaleReturn: async (params: any) => {
|
||||||
|
return await request.download({ url: `/erp/sale-return/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 采购全局统计 VO
|
||||||
|
export interface ErpPurchaseSummaryRespVO {
|
||||||
|
todayPrice: number // 今日采购金额
|
||||||
|
yesterdayPrice: number // 昨日采购金额
|
||||||
|
monthPrice: number // 本月采购金额
|
||||||
|
yearPrice: number // 今年采购金额
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 采购时间段统计 VO
|
||||||
|
export interface ErpPurchaseTimeSummaryRespVO {
|
||||||
|
time: string // 时间
|
||||||
|
price: number // 采购金额
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 采购统计 API
|
||||||
|
export const PurchaseStatisticsApi = {
|
||||||
|
// 获得采购统计
|
||||||
|
getPurchaseSummary: async (): Promise<ErpPurchaseSummaryRespVO> => {
|
||||||
|
return await request.get({ url: `/erp/purchase-statistics/summary` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获得采购时间段统计
|
||||||
|
getPurchaseTimeSummary: async (): Promise<ErpPurchaseTimeSummaryRespVO[]> => {
|
||||||
|
return await request.get({ url: `/erp/purchase-statistics/time-summary` })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 销售全局统计 VO
|
||||||
|
export interface ErpSaleSummaryRespVO {
|
||||||
|
todayPrice: number // 今日销售金额
|
||||||
|
yesterdayPrice: number // 昨日销售金额
|
||||||
|
monthPrice: number // 本月销售金额
|
||||||
|
yearPrice: number // 今年销售金额
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 销售时间段统计 VO
|
||||||
|
export interface ErpSaleTimeSummaryRespVO {
|
||||||
|
time: string // 时间
|
||||||
|
price: number // 销售金额
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 销售统计 API
|
||||||
|
export const SaleStatisticsApi = {
|
||||||
|
// 获得销售统计
|
||||||
|
getSaleSummary: async (): Promise<ErpSaleSummaryRespVO> => {
|
||||||
|
return await request.get({ url: `/erp/sale-statistics/summary` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获得销售时间段统计
|
||||||
|
getSaleTimeSummary: async (): Promise<ErpSaleTimeSummaryRespVO[]> => {
|
||||||
|
return await request.get({ url: `/erp/sale-statistics/time-summary` })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 库存盘点单 VO
|
||||||
|
export interface StockCheckVO {
|
||||||
|
id: number // 出库编号
|
||||||
|
no: string // 出库单号
|
||||||
|
outTime: Date // 出库时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 库存盘点单 API
|
||||||
|
export const StockCheckApi = {
|
||||||
|
// 查询库存盘点单分页
|
||||||
|
getStockCheckPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/stock-check/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询库存盘点单详情
|
||||||
|
getStockCheck: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/stock-check/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增库存盘点单
|
||||||
|
createStockCheck: async (data: StockCheckVO) => {
|
||||||
|
return await request.post({ url: `/erp/stock-check/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改库存盘点单
|
||||||
|
updateStockCheck: async (data: StockCheckVO) => {
|
||||||
|
return await request.put({ url: `/erp/stock-check/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新库存盘点单的状态
|
||||||
|
updateStockCheckStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/stock-check/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除库存盘点单
|
||||||
|
deleteStockCheck: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/stock-check/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出库存盘点单 Excel
|
||||||
|
exportStockCheck: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/stock-check/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 其它入库单 VO
|
||||||
|
export interface StockInVO {
|
||||||
|
id: number // 入库编号
|
||||||
|
no: string // 入库单号
|
||||||
|
supplierId: number // 供应商编号
|
||||||
|
inTime: Date // 入库时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 其它入库单 API
|
||||||
|
export const StockInApi = {
|
||||||
|
// 查询其它入库单分页
|
||||||
|
getStockInPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/stock-in/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询其它入库单详情
|
||||||
|
getStockIn: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/stock-in/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增其它入库单
|
||||||
|
createStockIn: async (data: StockInVO) => {
|
||||||
|
return await request.post({ url: `/erp/stock-in/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改其它入库单
|
||||||
|
updateStockIn: async (data: StockInVO) => {
|
||||||
|
return await request.put({ url: `/erp/stock-in/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新其它入库单的状态
|
||||||
|
updateStockInStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/stock-in/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除其它入库单
|
||||||
|
deleteStockIn: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/stock-in/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出其它入库单 Excel
|
||||||
|
exportStockIn: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/stock-in/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 库存调度单 VO
|
||||||
|
export interface StockMoveVO {
|
||||||
|
id: number // 出库编号
|
||||||
|
no: string // 出库单号
|
||||||
|
outTime: Date // 出库时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 库存调度单 API
|
||||||
|
export const StockMoveApi = {
|
||||||
|
// 查询库存调度单分页
|
||||||
|
getStockMovePage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/stock-move/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询库存调度单详情
|
||||||
|
getStockMove: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/stock-move/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增库存调度单
|
||||||
|
createStockMove: async (data: StockMoveVO) => {
|
||||||
|
return await request.post({ url: `/erp/stock-move/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改库存调度单
|
||||||
|
updateStockMove: async (data: StockMoveVO) => {
|
||||||
|
return await request.put({ url: `/erp/stock-move/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新库存调度单的状态
|
||||||
|
updateStockMoveStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/stock-move/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除库存调度单
|
||||||
|
deleteStockMove: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/stock-move/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出库存调度单 Excel
|
||||||
|
exportStockMove: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/stock-move/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 其它出库单 VO
|
||||||
|
export interface StockOutVO {
|
||||||
|
id: number // 出库编号
|
||||||
|
no: string // 出库单号
|
||||||
|
customerId: number // 客户编号
|
||||||
|
outTime: Date // 出库时间
|
||||||
|
totalCount: number // 合计数量
|
||||||
|
totalPrice: number // 合计金额,单位:元
|
||||||
|
status: number // 状态
|
||||||
|
remark: string // 备注
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 其它出库单 API
|
||||||
|
export const StockOutApi = {
|
||||||
|
// 查询其它出库单分页
|
||||||
|
getStockOutPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/stock-out/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询其它出库单详情
|
||||||
|
getStockOut: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/stock-out/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增其它出库单
|
||||||
|
createStockOut: async (data: StockOutVO) => {
|
||||||
|
return await request.post({ url: `/erp/stock-out/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改其它出库单
|
||||||
|
updateStockOut: async (data: StockOutVO) => {
|
||||||
|
return await request.put({ url: `/erp/stock-out/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新其它出库单的状态
|
||||||
|
updateStockOutStatus: async (id: number, status: number) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/stock-out/update-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除其它出库单
|
||||||
|
deleteStockOut: async (ids: number[]) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: `/erp/stock-out/delete`,
|
||||||
|
params: {
|
||||||
|
ids: ids.join(',')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出其它出库单 Excel
|
||||||
|
exportStockOut: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/stock-out/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 产品库存明细 VO
|
||||||
|
export interface StockRecordVO {
|
||||||
|
id: number // 编号
|
||||||
|
productId: number // 产品编号
|
||||||
|
warehouseId: number // 仓库编号
|
||||||
|
count: number // 出入库数量
|
||||||
|
totalCount: number // 总库存量
|
||||||
|
bizType: number // 业务类型
|
||||||
|
bizId: number // 业务编号
|
||||||
|
bizItemId: number // 业务项编号
|
||||||
|
bizNo: string // 业务单号
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 产品库存明细 API
|
||||||
|
export const StockRecordApi = {
|
||||||
|
// 查询产品库存明细分页
|
||||||
|
getStockRecordPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/stock-record/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询产品库存明细详情
|
||||||
|
getStockRecord: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/stock-record/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出产品库存明细 Excel
|
||||||
|
exportStockRecord: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/stock-record/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 产品库存 VO
|
||||||
|
export interface StockVO {
|
||||||
|
// 编号
|
||||||
|
id: number
|
||||||
|
// 产品编号
|
||||||
|
productId: number
|
||||||
|
// 仓库编号
|
||||||
|
warehouseId: number
|
||||||
|
// 库存数量
|
||||||
|
count: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 产品库存 API
|
||||||
|
export const StockApi = {
|
||||||
|
// 查询产品库存分页
|
||||||
|
getStockPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/stock/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询产品库存详情
|
||||||
|
getStock: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/stock/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询产品库存详情
|
||||||
|
getStock2: async (productId: number, warehouseId: number) => {
|
||||||
|
return await request.get({ url: `/erp/stock/get`, params: { productId, warehouseId } })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获得产品库存数量
|
||||||
|
getStockCount: async (productId: number) => {
|
||||||
|
return await request.get({ url: `/erp/stock/get-count`, params: { productId } })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出产品库存 Excel
|
||||||
|
exportStock: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/stock/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 仓库 VO
|
||||||
|
export interface WarehouseVO {
|
||||||
|
id: number // 仓库编号
|
||||||
|
name: string // 仓库名称
|
||||||
|
address: string // 仓库地址
|
||||||
|
sort: number // 排序
|
||||||
|
remark: string // 备注
|
||||||
|
principal: string // 负责人
|
||||||
|
warehousePrice: number // 仓储费,单位:元
|
||||||
|
truckagePrice: number // 搬运费,单位:元
|
||||||
|
status: number // 开启状态
|
||||||
|
defaultStatus: boolean // 是否默认
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 仓库 API
|
||||||
|
export const WarehouseApi = {
|
||||||
|
// 查询仓库分页
|
||||||
|
getWarehousePage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/warehouse/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询仓库精简列表
|
||||||
|
getWarehouseSimpleList: async () => {
|
||||||
|
return await request.get({ url: `/erp/warehouse/simple-list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询仓库详情
|
||||||
|
getWarehouse: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/warehouse/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增仓库
|
||||||
|
createWarehouse: async (data: WarehouseVO) => {
|
||||||
|
return await request.post({ url: `/erp/warehouse/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改仓库
|
||||||
|
updateWarehouse: async (data: WarehouseVO) => {
|
||||||
|
return await request.put({ url: `/erp/warehouse/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改仓库默认状态
|
||||||
|
updateWarehouseDefaultStatus: async (id: number, defaultStatus: boolean) => {
|
||||||
|
return await request.put({
|
||||||
|
url: `/erp/warehouse/update-default-status`,
|
||||||
|
params: {
|
||||||
|
id,
|
||||||
|
defaultStatus
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除仓库
|
||||||
|
deleteWarehouse: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/erp/warehouse/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出仓库 Excel
|
||||||
|
exportWarehouse: async (params) => {
|
||||||
|
return await request.download({ url: `/erp/warehouse/export-excel`, params })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface ApiAccessLogVO {
|
||||||
|
id: number
|
||||||
|
traceId: string
|
||||||
|
userId: number
|
||||||
|
userType: number
|
||||||
|
applicationName: string
|
||||||
|
requestMethod: string
|
||||||
|
requestParams: string
|
||||||
|
responseBody: string
|
||||||
|
requestUrl: string
|
||||||
|
userIp: string
|
||||||
|
userAgent: string
|
||||||
|
operateModule: string
|
||||||
|
operateName: string
|
||||||
|
operateType: number
|
||||||
|
beginTime: Date
|
||||||
|
endTime: Date
|
||||||
|
duration: number
|
||||||
|
resultCode: number
|
||||||
|
resultMsg: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表API 访问日志
|
||||||
|
export const getApiAccessLogPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/api-access-log/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出API 访问日志
|
||||||
|
export const exportApiAccessLog = (params) => {
|
||||||
|
return request.download({ url: '/infra/api-access-log/export-excel', params })
|
||||||
|
}
|
||||||
@ -0,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
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,122 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type CodegenTableVO = {
|
||||||
|
id: number
|
||||||
|
tableId: number
|
||||||
|
isParentMenuIdValid: boolean
|
||||||
|
dataSourceConfigId: number
|
||||||
|
scene: number
|
||||||
|
tableName: string
|
||||||
|
tableComment: string
|
||||||
|
remark: string
|
||||||
|
moduleName: string
|
||||||
|
businessName: string
|
||||||
|
className: string
|
||||||
|
classComment: string
|
||||||
|
author: string
|
||||||
|
createTime: Date
|
||||||
|
updateTime: Date
|
||||||
|
templateType: number
|
||||||
|
parentMenuId: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenColumnVO = {
|
||||||
|
id: number
|
||||||
|
tableId: number
|
||||||
|
columnName: string
|
||||||
|
dataType: string
|
||||||
|
columnComment: string
|
||||||
|
nullable: number
|
||||||
|
primaryKey: number
|
||||||
|
ordinalPosition: number
|
||||||
|
javaType: string
|
||||||
|
javaField: string
|
||||||
|
dictType: string
|
||||||
|
example: string
|
||||||
|
createOperation: number
|
||||||
|
updateOperation: number
|
||||||
|
listOperation: number
|
||||||
|
listOperationCondition: string
|
||||||
|
listOperationResult: number
|
||||||
|
htmlType: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type DatabaseTableVO = {
|
||||||
|
name: string
|
||||||
|
comment: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenDetailVO = {
|
||||||
|
table: CodegenTableVO
|
||||||
|
columns: CodegenColumnVO[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenPreviewVO = {
|
||||||
|
filePath: string
|
||||||
|
code: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenUpdateReqVO = {
|
||||||
|
table: CodegenTableVO | any
|
||||||
|
columns: CodegenColumnVO[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenCreateListReqVO = {
|
||||||
|
dataSourceConfigId: number
|
||||||
|
tableNames: string[]
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表代码生成表定义
|
||||||
|
export const getCodegenTableList = (dataSourceConfigId: number) => {
|
||||||
|
return request.get({ url: '/infra/codegen/table/list?dataSourceConfigId=' + dataSourceConfigId })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表代码生成表定义
|
||||||
|
export const getCodegenTablePage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/codegen/table/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询详情代码生成表定义
|
||||||
|
export const getCodegenTable = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/codegen/detail?tableId=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增代码生成表定义
|
||||||
|
export const createCodegenTable = (data: CodegenCreateListReqVO) => {
|
||||||
|
return request.post({ url: '/infra/codegen/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改代码生成表定义
|
||||||
|
export const updateCodegenTable = (data: CodegenUpdateReqVO) => {
|
||||||
|
return request.put({ url: '/infra/codegen/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 基于数据库的表结构,同步数据库的表和字段定义
|
||||||
|
export const syncCodegenFromDB = (id: number) => {
|
||||||
|
return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 预览生成代码
|
||||||
|
export const previewCodegen = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/codegen/preview?tableId=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 下载生成代码
|
||||||
|
export const downloadCodegen = (id: number) => {
|
||||||
|
return request.download({ url: '/infra/codegen/download?tableId=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得表定义
|
||||||
|
export const getSchemaTableList = (params) => {
|
||||||
|
return request.get({ url: '/infra/codegen/db/table/list', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 基于数据库的表结构,创建代码生成器的表定义
|
||||||
|
export const createCodegenList = (data) => {
|
||||||
|
return request.post({ url: '/infra/codegen/create-list', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除代码生成表定义
|
||||||
|
export const deleteCodegenTable = (id: number) => {
|
||||||
|
return request.delete({ url: '/infra/codegen/delete?tableId=' + id })
|
||||||
|
}
|
||||||
@ -0,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 })
|
||||||
|
}
|
||||||
@ -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' })
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface Demo01ContactVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
sex: number
|
||||||
|
birthday: Date
|
||||||
|
description: string
|
||||||
|
avatar: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询示例联系人分页
|
||||||
|
export const getDemo01ContactPage = async (params) => {
|
||||||
|
return await request.get({ url: `/infra/demo01-contact/page`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询示例联系人详情
|
||||||
|
export const getDemo01Contact = async (id: number) => {
|
||||||
|
return await request.get({ url: `/infra/demo01-contact/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增示例联系人
|
||||||
|
export const createDemo01Contact = async (data: Demo01ContactVO) => {
|
||||||
|
return await request.post({ url: `/infra/demo01-contact/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改示例联系人
|
||||||
|
export const updateDemo01Contact = async (data: Demo01ContactVO) => {
|
||||||
|
return await request.put({ url: `/infra/demo01-contact/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除示例联系人
|
||||||
|
export const deleteDemo01Contact = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/infra/demo01-contact/delete?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出示例联系人 Excel
|
||||||
|
export const exportDemo01Contact = async (params) => {
|
||||||
|
return await request.download({ url: `/infra/demo01-contact/export-excel`, params })
|
||||||
|
}
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface Demo02CategoryVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
parentId: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询示例分类列表
|
||||||
|
export const getDemo02CategoryList = async () => {
|
||||||
|
return await request.get({ url: `/infra/demo02-category/list` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询示例分类详情
|
||||||
|
export const getDemo02Category = async (id: number) => {
|
||||||
|
return await request.get({ url: `/infra/demo02-category/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增示例分类
|
||||||
|
export const createDemo02Category = async (data: Demo02CategoryVO) => {
|
||||||
|
return await request.post({ url: `/infra/demo02-category/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改示例分类
|
||||||
|
export const updateDemo02Category = async (data: Demo02CategoryVO) => {
|
||||||
|
return await request.put({ url: `/infra/demo02-category/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除示例分类
|
||||||
|
export const deleteDemo02Category = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/infra/demo02-category/delete?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出示例分类 Excel
|
||||||
|
export const exportDemo02Category = async (params) => {
|
||||||
|
return await request.download({ url: `/infra/demo02-category/export-excel`, params })
|
||||||
|
}
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface Demo03StudentVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
sex: number
|
||||||
|
birthday: Date
|
||||||
|
description: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询学生分页
|
||||||
|
export const getDemo03StudentPage = async (params) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/page`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询学生详情
|
||||||
|
export const getDemo03Student = async (id: number) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增学生
|
||||||
|
export const createDemo03Student = async (data: Demo03StudentVO) => {
|
||||||
|
return await request.post({ url: `/infra/demo03-student/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改学生
|
||||||
|
export const updateDemo03Student = async (data: Demo03StudentVO) => {
|
||||||
|
return await request.put({ url: `/infra/demo03-student/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除学生
|
||||||
|
export const deleteDemo03Student = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出学生 Excel
|
||||||
|
export const exportDemo03Student = async (params) => {
|
||||||
|
return await request.download({ url: `/infra/demo03-student/export-excel`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(学生课程) ====================
|
||||||
|
|
||||||
|
// 获得学生课程分页
|
||||||
|
export const getDemo03CoursePage = async (params) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/demo03-course/page`, params })
|
||||||
|
}
|
||||||
|
// 新增学生课程
|
||||||
|
export const createDemo03Course = async (data) => {
|
||||||
|
return await request.post({ url: `/infra/demo03-student/demo03-course/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改学生课程
|
||||||
|
export const updateDemo03Course = async (data) => {
|
||||||
|
return await request.put({ url: `/infra/demo03-student/demo03-course/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除学生课程
|
||||||
|
export const deleteDemo03Course = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/infra/demo03-student/demo03-course/delete?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得学生课程
|
||||||
|
export const getDemo03Course = async (id: number) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/demo03-course/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(学生班级) ====================
|
||||||
|
|
||||||
|
// 获得学生班级分页
|
||||||
|
export const getDemo03GradePage = async (params) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/demo03-grade/page`, params })
|
||||||
|
}
|
||||||
|
// 新增学生班级
|
||||||
|
export const createDemo03Grade = async (data) => {
|
||||||
|
return await request.post({ url: `/infra/demo03-student/demo03-grade/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改学生班级
|
||||||
|
export const updateDemo03Grade = async (data) => {
|
||||||
|
return await request.put({ url: `/infra/demo03-student/demo03-grade/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除学生班级
|
||||||
|
export const deleteDemo03Grade = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/infra/demo03-student/demo03-grade/delete?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得学生班级
|
||||||
|
export const getDemo03Grade = async (id: number) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/demo03-grade/get?id=` + id })
|
||||||
|
}
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface Demo03StudentVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
sex: number
|
||||||
|
birthday: Date
|
||||||
|
description: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询学生分页
|
||||||
|
export const getDemo03StudentPage = async (params) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/page`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询学生详情
|
||||||
|
export const getDemo03Student = async (id: number) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增学生
|
||||||
|
export const createDemo03Student = async (data: Demo03StudentVO) => {
|
||||||
|
return await request.post({ url: `/infra/demo03-student/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改学生
|
||||||
|
export const updateDemo03Student = async (data: Demo03StudentVO) => {
|
||||||
|
return await request.put({ url: `/infra/demo03-student/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除学生
|
||||||
|
export const deleteDemo03Student = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出学生 Excel
|
||||||
|
export const exportDemo03Student = async (params) => {
|
||||||
|
return await request.download({ url: `/infra/demo03-student/export-excel`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(学生课程) ====================
|
||||||
|
|
||||||
|
// 获得学生课程列表
|
||||||
|
export const getDemo03CourseListByStudentId = async (studentId) => {
|
||||||
|
return await request.get({
|
||||||
|
url: `/infra/demo03-student/demo03-course/list-by-student-id?studentId=` + studentId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(学生班级) ====================
|
||||||
|
|
||||||
|
// 获得学生班级
|
||||||
|
export const getDemo03GradeByStudentId = async (studentId) => {
|
||||||
|
return await request.get({
|
||||||
|
url: `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=` + studentId
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface Demo03StudentVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
sex: number
|
||||||
|
birthday: Date
|
||||||
|
description: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询学生分页
|
||||||
|
export const getDemo03StudentPage = async (params) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/page`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询学生详情
|
||||||
|
export const getDemo03Student = async (id: number) => {
|
||||||
|
return await request.get({ url: `/infra/demo03-student/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增学生
|
||||||
|
export const createDemo03Student = async (data: Demo03StudentVO) => {
|
||||||
|
return await request.post({ url: `/infra/demo03-student/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改学生
|
||||||
|
export const updateDemo03Student = async (data: Demo03StudentVO) => {
|
||||||
|
return await request.put({ url: `/infra/demo03-student/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除学生
|
||||||
|
export const deleteDemo03Student = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/infra/demo03-student/delete?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出学生 Excel
|
||||||
|
export const exportDemo03Student = async (params) => {
|
||||||
|
return await request.download({ url: `/infra/demo03-student/export-excel`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(学生课程) ====================
|
||||||
|
|
||||||
|
// 获得学生课程列表
|
||||||
|
export const getDemo03CourseListByStudentId = async (studentId) => {
|
||||||
|
return await request.get({
|
||||||
|
url: `/infra/demo03-student/demo03-course/list-by-student-id?studentId=` + studentId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== 子表(学生班级) ====================
|
||||||
|
|
||||||
|
// 获得学生班级
|
||||||
|
export const getDemo03GradeByStudentId = async (studentId) => {
|
||||||
|
return await request.get({
|
||||||
|
url: `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=` + studentId
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface FilePageReqVO extends PageParam {
|
||||||
|
path?: string
|
||||||
|
type?: string
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
// 文件预签名地址 Response VO
|
||||||
|
export interface FilePresignedUrlRespVO {
|
||||||
|
// 文件配置编号
|
||||||
|
configId: number
|
||||||
|
// 文件上传 URL
|
||||||
|
uploadUrl: string
|
||||||
|
// 文件 URL
|
||||||
|
url: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询文件列表
|
||||||
|
export const getFilePage = (params: FilePageReqVO) => {
|
||||||
|
return request.get({ url: '/infra/file/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除文件
|
||||||
|
export const deleteFile = (id: number) => {
|
||||||
|
return request.delete({ url: '/infra/file/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取文件预签名地址
|
||||||
|
export const getFilePresignedUrl = (path: string) => {
|
||||||
|
return request.get<FilePresignedUrlRespVO>({
|
||||||
|
url: '/infra/file/presigned-url',
|
||||||
|
params: { path }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建文件
|
||||||
|
export const createFile = (data: any) => {
|
||||||
|
return request.post({ url: '/infra/file/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传文件
|
||||||
|
export const updateFile = (data: any) => {
|
||||||
|
return request.upload({ url: '/infra/file/upload', data })
|
||||||
|
}
|
||||||
@ -0,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?: number
|
||||||
|
master: boolean
|
||||||
|
visible: boolean
|
||||||
|
config: FileClientConfig
|
||||||
|
remark: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询文件配置列表
|
||||||
|
export const getFileConfigPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/file-config/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询文件配置详情
|
||||||
|
export const getFileConfig = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/file-config/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新文件配置为主配置
|
||||||
|
export const updateFileConfigMaster = (id: number) => {
|
||||||
|
return request.put({ url: '/infra/file-config/update-master?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增文件配置
|
||||||
|
export const createFileConfig = (data: FileConfigVO) => {
|
||||||
|
return request.post({ url: '/infra/file-config/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改文件配置
|
||||||
|
export const updateFileConfig = (data: FileConfigVO) => {
|
||||||
|
return request.put({ url: '/infra/file-config/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除文件配置
|
||||||
|
export const deleteFileConfig = (id: number) => {
|
||||||
|
return request.delete({ url: '/infra/file-config/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 测试文件配置
|
||||||
|
export const testFileConfig = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/file-config/test?id=' + id })
|
||||||
|
}
|
||||||
@ -0,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 })
|
||||||
|
}
|
||||||
@ -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: Date
|
||||||
|
endTime: Date
|
||||||
|
duration: string
|
||||||
|
status: number
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务日志列表
|
||||||
|
export const getJobLogPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/job-log/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务日志详情
|
||||||
|
export const getJobLog = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/job-log/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出定时任务日志
|
||||||
|
export const exportJobLog = (params) => {
|
||||||
|
return request.download({
|
||||||
|
url: '/infra/job-log/export-excel',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取redis 监控信息
|
||||||
|
*/
|
||||||
|
export const getCache = () => {
|
||||||
|
return request.get({ url: '/infra/redis/get-monitor-info' })
|
||||||
|
}
|
||||||
@ -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_pointers: 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_pointers: 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_pointers_received: string
|
||||||
|
migrate_cached_sockets: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RedisCommandStatsVO {
|
||||||
|
command: string
|
||||||
|
calls: number
|
||||||
|
usec: number
|
||||||
|
}
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
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 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 })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取验证图片以及 token
|
||||||
|
export const getCode = (data) => {
|
||||||
|
return request.postOriginal({ url: 'system/captcha/get', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滑动或者点选验证
|
||||||
|
export const reqCheck = (data) => {
|
||||||
|
return request.postOriginal({ url: 'system/captcha/check', data })
|
||||||
|
}
|
||||||
@ -0,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)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -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,0 +1,100 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 相机 VO
|
||||||
|
export interface CameraVO {
|
||||||
|
id: number // id
|
||||||
|
name: string // 名称
|
||||||
|
type: number // 类型
|
||||||
|
ip: string // ip
|
||||||
|
port: number // 端口
|
||||||
|
user: string // 用户名
|
||||||
|
password: string // 密码
|
||||||
|
rtcServer: string // 流媒体ip
|
||||||
|
rtcServerPort: number // 流媒体端口
|
||||||
|
rtspPort: number // rtsp端口
|
||||||
|
channel: string // 通道
|
||||||
|
recorderIp: string // 录像机ip
|
||||||
|
}
|
||||||
|
|
||||||
|
// 相机 VO
|
||||||
|
export interface CameraIOVO {
|
||||||
|
id: number // id
|
||||||
|
cameraId: number // 相机id
|
||||||
|
ptzId: number // 预置点id
|
||||||
|
name: string // 名称
|
||||||
|
code: number // 预支点code
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 相机 API
|
||||||
|
export const CameraApi = {
|
||||||
|
// 查询相机分页
|
||||||
|
getCameraPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/logistics/camera/page`, params })
|
||||||
|
},
|
||||||
|
// 查询相机分页
|
||||||
|
getTree: async () => {
|
||||||
|
return await request.post({ url: `/logistics/camera/tree` })
|
||||||
|
},
|
||||||
|
//查询相机列表
|
||||||
|
getCameraList: () => {
|
||||||
|
return request.get({ url: `/logistics/camera/list` })
|
||||||
|
},
|
||||||
|
// 查询相机详情
|
||||||
|
getCamera: async (id: number) => {
|
||||||
|
return await request.get({ url: `/logistics/camera/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增相机
|
||||||
|
createCamera: async (data: CameraVO) => {
|
||||||
|
return await request.post({ url: `/logistics/camera/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改相机
|
||||||
|
updateCamera: async (data: CameraVO) => {
|
||||||
|
return await request.put({ url: `/logistics/camera/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除相机
|
||||||
|
deleteCamera: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/logistics/camera/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出相机 Excel
|
||||||
|
exportCamera: async (params) => {
|
||||||
|
return await request.download({ url: `/logistics/camera/export-excel`, params })
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// 相机 API
|
||||||
|
export const CameraIoApi = {
|
||||||
|
|
||||||
|
//查询相机io列表
|
||||||
|
getCameraIoList:async () => {
|
||||||
|
return request.get({ url: `/camera/camera-io/list` })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增相机io
|
||||||
|
createCameraIo: async (data: CameraVO) => {
|
||||||
|
return await request.post({ url: `/camera/camera-io/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改相机io
|
||||||
|
updateCameraIo: async (data: CameraVO) => {
|
||||||
|
return await request.put({ url: `/camera/camera-io/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除相机io
|
||||||
|
deleteCameraIo: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/camera/camera-io/delete?id=` + id })
|
||||||
|
},
|
||||||
|
// 调用预置点位
|
||||||
|
callPtz: async (data: CameraIOVO) => {
|
||||||
|
return await request.post({ url: `/camera/camera-io/callPtz`, data })
|
||||||
|
},
|
||||||
|
// 覆盖预置点位
|
||||||
|
overwritePtz: async (data: CameraIOVO) => {
|
||||||
|
return await request.post({ url: `/camera/camera-io/overwritePtz`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 盘点 VO
|
||||||
|
export interface CheckLogVO {
|
||||||
|
}
|
||||||
|
|
||||||
|
// 盘点 API
|
||||||
|
export const CheckLogApi = {
|
||||||
|
// 查询盘点分页
|
||||||
|
getCheckLogPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/logistics/check-log/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询盘点详情
|
||||||
|
getCheckLog: async (id: number) => {
|
||||||
|
return await request.get({ url: `/logistics/check-log/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增盘点
|
||||||
|
createCheckLog: async (data: CheckLogVO) => {
|
||||||
|
return await request.post({ url: `/logistics/check-log/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改盘点
|
||||||
|
updateCheckLog: async (data: CheckLogVO) => {
|
||||||
|
return await request.put({ url: `/logistics/check-log/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除盘点
|
||||||
|
deleteCheckLog: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/logistics/check-log/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出盘点 Excel
|
||||||
|
exportCheckLog: async (params) => {
|
||||||
|
return await request.download({ url: `/logistics/check-log/export-excel`, params })
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 光源 VO
|
||||||
|
export interface LightSourceVO {
|
||||||
|
id: number // id
|
||||||
|
streetId: number // 巷道id
|
||||||
|
ip: string // ip
|
||||||
|
port: string // 端口
|
||||||
|
direction: number // 方向
|
||||||
|
info: string // 信息
|
||||||
|
type: number // 类型
|
||||||
|
}
|
||||||
|
|
||||||
|
// 光源 API
|
||||||
|
export const LightSourceApi = {
|
||||||
|
// 查询光源分页
|
||||||
|
getLightSourcePage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/logistics/light-source/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询光源详情
|
||||||
|
getLightSource: async (id: number) => {
|
||||||
|
return await request.get({ url: `/logistics/light-source/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增光源
|
||||||
|
createLightSource: async (data: LightSourceVO) => {
|
||||||
|
return await request.post({ url: `/logistics/light-source/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改光源
|
||||||
|
updateLightSource: async (data: LightSourceVO) => {
|
||||||
|
return await request.put({ url: `/logistics/light-source/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除光源
|
||||||
|
deleteLightSource: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/logistics/light-source/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 导出光源 Excel
|
||||||
|
exportLightSource: async (params) => {
|
||||||
|
return await request.download({ url: `/logistics/light-source/export-excel`, params })
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// RFID VO
|
||||||
|
export interface RfidVO {
|
||||||
|
id: number // id
|
||||||
|
streetId: number // 巷道id
|
||||||
|
direction: number // 方向
|
||||||
|
ip: string // ip
|
||||||
|
port: number // 端口
|
||||||
|
}
|
||||||
|
|
||||||
|
// RFID API
|
||||||
|
export const RfidApi = {
|
||||||
|
// 查询RFID分页
|
||||||
|
getRfidPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/logistics/rfid/page`, params })
|
||||||
|
},
|
||||||
|
// 查询RFID详情
|
||||||
|
getRfid: async (id: number) => {
|
||||||
|
return await request.get({ url: `/logistics/rfid/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增RFID
|
||||||
|
createRfid: async (data: RfidVO) => {
|
||||||
|
return await request.post({ url: `/logistics/rfid/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改RFID
|
||||||
|
updateRfid: async (data: RfidVO) => {
|
||||||
|
return await request.put({ url: `/logistics/rfid/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除RFID
|
||||||
|
deleteRfid: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/logistics/rfid/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出RFID Excel
|
||||||
|
exportRfid: async (params) => {
|
||||||
|
return await request.download({ url: `/logistics/rfid/export-excel`, params })
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 扫码枪 VO
|
||||||
|
export interface SensorGunVO {
|
||||||
|
id: number // id
|
||||||
|
streetId: number // 巷道id
|
||||||
|
direction: number // 左右
|
||||||
|
ip: string // ip
|
||||||
|
port: number // 端口
|
||||||
|
}
|
||||||
|
|
||||||
|
// 扫码枪 API
|
||||||
|
export const SensorGunApi = {
|
||||||
|
// 查询扫码枪分页
|
||||||
|
getSensorGunPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/logistics/sensor-gun/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询扫码枪详情
|
||||||
|
getSensorGun: async (id: number) => {
|
||||||
|
return await request.get({ url: `/logistics/sensor-gun/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增扫码枪
|
||||||
|
createSensorGun: async (data: SensorGunVO) => {
|
||||||
|
return await request.post({ url: `/logistics/sensor-gun/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改扫码枪
|
||||||
|
updateSensorGun: async (data: SensorGunVO) => {
|
||||||
|
return await request.put({ url: `/logistics/sensor-gun/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除扫码枪
|
||||||
|
deleteSensorGun: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/logistics/sensor-gun/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出扫码枪 Excel
|
||||||
|
exportSensorGun: async (params) => {
|
||||||
|
return await request.download({ url: `/logistics/sensor-gun/export-excel`, params })
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 货位历史 VO
|
||||||
|
export interface StockLogVO {
|
||||||
|
}
|
||||||
|
|
||||||
|
// 货位历史 API
|
||||||
|
export const StockLogApi = {
|
||||||
|
// 查询货位历史分页
|
||||||
|
getStockLogPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/logistics/stock-log/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询货位历史详情
|
||||||
|
getStockLog: async (id: number) => {
|
||||||
|
return await request.get({ url: `/logistics/stock-log/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增货位历史
|
||||||
|
createStockLog: async (data: StockLogVO) => {
|
||||||
|
return await request.post({ url: `/logistics/stock-log/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改货位历史
|
||||||
|
updateStockLog: async (data: StockLogVO) => {
|
||||||
|
return await request.put({ url: `/logistics/stock-log/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除货位历史
|
||||||
|
deleteStockLog: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/logistics/stock-log/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出货位历史 Excel
|
||||||
|
exportStockLog: async (params) => {
|
||||||
|
return await request.download({ url: `/logistics/stock-log/export-excel`, params })
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// netty客户端连接 VO
|
||||||
|
export interface TcpClientVO {
|
||||||
|
id: number // id
|
||||||
|
name: string // 连接名称
|
||||||
|
port: number // 端口
|
||||||
|
ip: string // ip
|
||||||
|
type: string // 处理器类型
|
||||||
|
reconnectNum: number // 重试个数
|
||||||
|
reconnectInterval: number // 重试间隔时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// netty客户端连接 API
|
||||||
|
export const TcpClientApi = {
|
||||||
|
// 查询netty客户端连接分页
|
||||||
|
getTcpClientPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/logistics/tcp-client/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询netty客户端连接详情
|
||||||
|
getTcpClient: async (id: number) => {
|
||||||
|
return await request.get({ url: `/logistics/tcp-client/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增netty客户端连接
|
||||||
|
createTcpClient: async (data: TcpClientVO) => {
|
||||||
|
return await request.post({ url: `/logistics/tcp-client/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改netty客户端连接
|
||||||
|
updateTcpClient: async (data: TcpClientVO) => {
|
||||||
|
return await request.put({ url: `/logistics/tcp-client/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除netty客户端连接
|
||||||
|
deleteTcpClient: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/logistics/tcp-client/delete?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出netty客户端连接 Excel
|
||||||
|
exportTcpClient: async (params) => {
|
||||||
|
return await request.download({ url: `/logistics/tcp-client/export-excel`, params })
|
||||||
|
},
|
||||||
|
// 手动连接
|
||||||
|
ConnecTcpClient: async (id: number) => {
|
||||||
|
return await request.put({ url: `/logistics/tcp-client/conn?id=` + id })
|
||||||
|
},
|
||||||
|
// 手动断开
|
||||||
|
BreakcpClient: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/logistics/tcp-client/disconn?id=` + id })
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface AddressVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
mobile: string
|
||||||
|
areaId: number
|
||||||
|
detailAddress: string
|
||||||
|
defaultStatus: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询用户收件地址列表
|
||||||
|
export const getAddressList = async (params) => {
|
||||||
|
return await request.get({ url: `/member/address/list`, params })
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface ConfigVO {
|
||||||
|
id: number
|
||||||
|
pointTradeDeductEnable: number
|
||||||
|
pointTradeDeductUnitPrice: number
|
||||||
|
pointTradeDeductMaxPrice: number
|
||||||
|
pointTradeGivePoint: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询积分设置详情
|
||||||
|
export const getConfig = async () => {
|
||||||
|
return await request.get({ url: `/member/config/get` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增修改积分设置
|
||||||
|
export const saveConfig = async (data: ConfigVO) => {
|
||||||
|
return await request.put({ url: `/member/config/save`, data })
|
||||||
|
}
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface ExperienceRecordVO {
|
||||||
|
id: number
|
||||||
|
userId: number
|
||||||
|
bizId: string
|
||||||
|
bizType: number
|
||||||
|
title: string
|
||||||
|
description: string
|
||||||
|
experience: number
|
||||||
|
totalExperience: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询会员经验记录列表
|
||||||
|
export const getExperienceRecordPage = async (params) => {
|
||||||
|
return await request.get({ url: `/member/experience-record/page`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询会员经验记录详情
|
||||||
|
export const getExperienceRecord = async (id: number) => {
|
||||||
|
return await request.get({ url: `/member/experience-record/get?id=` + id })
|
||||||
|
}
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface GroupVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
remark: string
|
||||||
|
status: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询用户分组列表
|
||||||
|
export const getGroupPage = async (params: any) => {
|
||||||
|
return await request.get({ url: `/member/group/page`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询用户分组详情
|
||||||
|
export const getGroup = async (id: number) => {
|
||||||
|
return await request.get({ url: `/member/group/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增用户分组
|
||||||
|
export const createGroup = async (data: GroupVO) => {
|
||||||
|
return await request.post({ url: `/member/group/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询用户分组 - 精简信息列表
|
||||||
|
export const getSimpleGroupList = async () => {
|
||||||
|
return await request.get({ url: `/member/group/list-all-simple` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改用户分组
|
||||||
|
export const updateGroup = async (data: GroupVO) => {
|
||||||
|
return await request.put({ url: `/member/group/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除用户分组
|
||||||
|
export const deleteGroup = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/member/group/delete?id=` + id })
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface LevelVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
experience: number
|
||||||
|
value: number
|
||||||
|
discountPercent: number
|
||||||
|
icon: string
|
||||||
|
bgUrl: string
|
||||||
|
status: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询会员等级列表
|
||||||
|
export const getLevelList = async (params) => {
|
||||||
|
return await request.get({ url: `/member/level/list`, params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询会员等级详情
|
||||||
|
export const getLevel = async (id: number) => {
|
||||||
|
return await request.get({ url: `/member/level/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询会员等级 - 精简信息列表
|
||||||
|
export const getSimpleLevelList = async () => {
|
||||||
|
return await request.get({ url: `/member/level/list-all-simple` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增会员等级
|
||||||
|
export const createLevel = async (data: LevelVO) => {
|
||||||
|
return await request.post({ url: `/member/level/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改会员等级
|
||||||
|
export const updateLevel = async (data: LevelVO) => {
|
||||||
|
return await request.put({ url: `/member/level/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除会员等级
|
||||||
|
export const deleteLevel = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/member/level/delete?id=` + id })
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface RecordVO {
|
||||||
|
id: number
|
||||||
|
bizId: string
|
||||||
|
bizType: string
|
||||||
|
title: string
|
||||||
|
description: string
|
||||||
|
point: number
|
||||||
|
totalPoint: number
|
||||||
|
userId: number
|
||||||
|
createDate: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询用户积分记录列表
|
||||||
|
export const getRecordPage = async (params) => {
|
||||||
|
return await request.get({ url: `/member/point/record/page`, params })
|
||||||
|
}
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface SignInConfigVO {
|
||||||
|
id?: number
|
||||||
|
day?: number
|
||||||
|
point?: number
|
||||||
|
experience?: number
|
||||||
|
status?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询积分签到规则列表
|
||||||
|
export const getSignInConfigList = async () => {
|
||||||
|
return await request.get({ url: `/member/sign-in/config/list` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询积分签到规则详情
|
||||||
|
export const getSignInConfig = async (id: number) => {
|
||||||
|
return await request.get({ url: `/member/sign-in/config/get?id=` + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增积分签到规则
|
||||||
|
export const createSignInConfig = async (data: SignInConfigVO) => {
|
||||||
|
return await request.post({ url: `/member/sign-in/config/create`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改积分签到规则
|
||||||
|
export const updateSignInConfig = async (data: SignInConfigVO) => {
|
||||||
|
return await request.put({ url: `/member/sign-in/config/update`, data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除积分签到规则
|
||||||
|
export const deleteSignInConfig = async (id: number) => {
|
||||||
|
return await request.delete({ url: `/member/sign-in/config/delete?id=` + id })
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue