pspp后台代码初始化

This commit is contained in:
兰帅 2025-07-16 15:43:03 +08:00
parent 7c91c466a0
commit b077704d8b
1034 changed files with 215690 additions and 0 deletions

21
.editorconfig Normal file
View File

@ -0,0 +1,21 @@
# 告诉EditorConfig插件这是根文件不用继续往上查找
root = true
# 匹配全部文件
[*]
# 缩进风格可选space、tab
indent_style = space
# 缩进的空格数
indent_size = 2
# 设置字符集
charset = utf-8
# 结尾换行符可选lf、cr、crlf
end_of_line = lf
# 在文件结尾插入新行
trim_trailing_whitespace = true
# 删除一行中的前后空格
insert_final_newline = true
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

37
.env.development Normal file
View File

@ -0,0 +1,37 @@
# 页面标题
VITE_APP_TITLE = PSPP管理系统
# 开发环境配置
VITE_APP_ENV = 'development'
# 开发环境
VITE_APP_BASE_API = '/dev-api'
# 天地图服务
VITE_TIAN_DI_TU_API = '/tiandi-api'
# 应用访问路径 例如使用前缀 /admin/
VITE_APP_CONTEXT_PATH = '/'
# 监控地址
VITE_APP_MONITOR_ADMIN = 'http://localhost:9090/admin/applications'
# SnailJob 控制台地址
VITE_APP_SNAILJOB_ADMIN = 'http://localhost:8800/snail-job'
VITE_APP_PORT = 80
# 接口加密功能开关(如需关闭 后端也必须对应关闭)
VITE_APP_ENCRYPT = true
# 接口加密传输 RSA 公钥与后端解密私钥对应 如更换需前后端一同更换
VITE_APP_RSA_PUBLIC_KEY = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
# 接口响应解密 RSA 私钥与后端加密公钥对应 如更换需前后端一同更换
VITE_APP_RSA_PRIVATE_KEY = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE='
# 客户端id
VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e'
# websocket 开关 默认使用sse推送
VITE_APP_WEBSOCKET = false
# sse 开关
VITE_APP_SSE = true

41
.env.production Normal file
View File

@ -0,0 +1,41 @@
# 页面标题
VITE_APP_TITLE =PSPP管理系统
# 生产环境配置
VITE_APP_ENV = 'production'
# 天地图服务
VITE_TIAN_DI_TU_API = '/tiandi-api'
# 应用访问路径 例如使用前缀 /admin/
VITE_APP_CONTEXT_PATH = '/'
# 监控地址
VITE_APP_MONITOR_ADMIN = '/admin/applications'
# SnailJob 控制台地址
VITE_APP_SNAILJOB_ADMIN = '/snail-job'
# 生产环境
VITE_APP_BASE_API = '/prod-api'
# 是否在打包时开启压缩,支持 gzip 和 brotli
VITE_BUILD_COMPRESS = gzip
VITE_APP_PORT = 80
# 接口加密功能开关(如需关闭 后端也必须对应关闭)
VITE_APP_ENCRYPT = true
# 接口加密传输 RSA 公钥与后端解密私钥对应 如更换需前后端一同更换
VITE_APP_RSA_PUBLIC_KEY = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
# 接口响应解密 RSA 私钥与后端加密公钥对应 如更换需前后端一同更换
VITE_APP_RSA_PRIVATE_KEY = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE='
# 客户端id
VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e'
# websocket 开关 默认使用sse推送
VITE_APP_WEBSOCKET = false
# sse 开关
VITE_APP_SSE = true

17
.eslintignore Normal file
View File

@ -0,0 +1,17 @@
*.sh
node_modules
*.md
*.woff
*.ttf
.vscode
.idea
dist
/public
/docs
.husky
.local
/bin
.eslintrc.cjs
prettier.config.js
src/assets
tailwind.config.js

312
.eslintrc-auto-import.json Normal file
View File

@ -0,0 +1,312 @@
{
"globals": {
"ComponentInternalInstance": true,
"TransferKey": true,
"ElFormRules": true,
"CheckboxValueType": true,
"PropType": true,
"DateModelType": true,
"UploadFile": true,
"ElFormInstance": true,
"ElTableInstance": true,
"ElTreeInstance": true,
"ElTreeSelectInstance": true,
"ElSelectInstance": true,
"ElUploadInstance": true,
"ElCardInstance": true,
"ElDialogInstance": true,
"ElInputInstance": true,
"ElInputNumberInstance": true,
"ElRadioInstance": true,
"ElRadioGroupInstance": true,
"ElRadioButtonInstance": true,
"ElCheckboxInstance": true,
"ElCheckboxGroupInstance": true,
"ElSwitchInstance": true,
"ElDatePickerInstance": true,
"ElTimePickerInstance": true,
"ElTimeSelectInstance": true,
"ElScrollbarInstance": true,
"ElCascaderInstance": true,
"ElColorPickerInstance": true,
"ElRateInstance": true,
"ElSliderInstance": true,
"useRouter": true,
"useRoute": true,
"EffectScope": true,
"ElTable": true,
"ElSelect": true,
"ElUpload": true,
"ElForm": true,
"ElTree": true,
"ElMessage": true,
"ElMessageBox": 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,
"resolveDirective": 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,
"useArrayFindLast": true,
"useArrayJoin": true,
"useArrayMap": true,
"useArrayReduce": true,
"useArraySome": true,
"useArrayUnique": true,
"useAsyncQueue": true,
"useAsyncState": true,
"useAttrs": true,
"useBase64": true,
"useBattery": true,
"useBluetooth": true,
"useBreakpoints": true,
"useBroadcastChannel": true,
"useBrowserLocation": true,
"useCached": true,
"useClipboard": true,
"useCloned": 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,
"usePointerLock": true,
"usePointerSwipe": true,
"usePreferredColorScheme": true,
"usePreferredContrast": true,
"usePreferredDark": true,
"usePreferredLanguages": true,
"usePreferredReducedMotion": true,
"usePrevious": true,
"useRafFn": true,
"useRefHistory": true,
"useResizeObserver": true,
"useScreenOrientation": true,
"useScreenSafeArea": true,
"useScriptTag": true,
"useScroll": true,
"useScrollLock": true,
"useSessionStorage": true,
"useShare": true,
"useSlots": true,
"useSorted": 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,
"useToNumber": true,
"useToString": 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,
"ImportOption": true,
"TreeType": true,
"FieldOption": true,
"PageData": true,
"storeToRefs": true,
"DictDataOption": true,
"UploadOption": true
}
}

51
.eslintrc.cjs Normal file
View File

@ -0,0 +1,51 @@
module.exports = {
env: {
browser: true,
node: true,
es6: true
},
parser: 'vue-eslint-parser',
extends: [
'plugin:vue/vue3-recommended',
'./.eslintrc-auto-import.json',
'plugin:@typescript-eslint/recommended',
'prettier',
'plugin:prettier/recommended'
],
parserOptions: {
ecmaVersion: '2020',
sourceType: 'module',
project: './tsconfig.*?.json',
parser: '@typescript-eslint/parser'
},
plugins: ['vue', '@typescript-eslint', 'import', 'promise', 'node', 'prettier'],
rules: {
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-this-alias': 'off',
// vue
'vue/multi-word-component-names': 'off',
'vue/valid-define-props': 'off',
'vue/no-v-model-argument': 'off',
'prefer-rest-params': 'off',
// prettier
'prettier/prettier': 'error',
'@typescript-eslint/ban-types': [
'error',
{
// 关闭空类型检查 {}
extendDefaults: true,
types: {
'{}': false,
Function: false
}
}
]
},
globals: {
DialogOption: 'readonly',
OptionType: 'readonly'
}
};

34
.gitignore vendored Normal file
View File

@ -0,0 +1,34 @@
.DS_Store
.history
node_modules/
dist*
vite.config*
npm-debug.log*
yarn-debug.log*
yarn-error.log*
**/*.log
tests/**/coverage/
tests/e2e/reports
selenium-debug.log
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.local
package-lock.json
yarn.lock
pnpm-lock.yaml
# 编译生成的文件
auto-imports.d.ts
components.d.ts
# 项目配置文件
vite.config.ts
dist.zip

9
.prettierignore Normal file
View File

@ -0,0 +1,9 @@
/dist/*
.local
.output.js
/node_modules/**
**/*.svg
**/*.sh
/public/*

20
.prettierrc Normal file
View File

@ -0,0 +1,20 @@
{
"printWidth": 100,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"quoteProps": "preserve",
"jsxSingleQuote": false,
"bracketSameLine": false,
"trailingComma": "none",
"bracketSpacing": true,
"embeddedLanguageFormatting": "auto",
"arrowParens": "always",
"requirePragma": false,
"insertPragma": false,
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"vueIndentScriptAndStyle": false,
"endOfLine": "auto"
}

20
LICENSE Normal file
View File

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

View File

@ -0,0 +1,76 @@
## 平台简介
- 本仓库为前端技术栈 [Vue3](https://v3.cn.vuejs.org) + [TS](https://www.typescriptlang.org/) + [Element Plus](https://element-plus.org/zh-CN) + [Vite](https://cn.vitejs.dev) 版本。
- 成员项目: 基于 vben(ant-design-vue) 的前端项目 [ruoyi-plus-vben](https://gitee.com/dapppp/ruoyi-plus-vben)
- 配套后端代码仓库地址
- [RuoYi-Vue-Plus 5.X(注意版本号)](https://gitee.com/dromara/RuoYi-Vue-Plus)
- [RuoYi-Cloud-Plus 2.X(注意版本号)](https://gitee.com/dromara/RuoYi-Cloud-Plus)
## 前端运行
```bash
# 克隆项目
git clone https://gitee.com/JavaLionLi/plus-ui.git
# 安装依赖
npm install --registry=https://registry.npmmirror.com
# 启动服务
npm run dev
# 构建生产环境
npm run build:prod
# 前端访问地址 http://localhost:80
```
## 本框架与RuoYi的业务差异
| 业务 | 功能说明 | 本框架 | RuoYi |
| ------------ | ------------------------------------------------------------- | ------ | ----------------------------- |
| 租户管理 | 系统内租户的管理 如:租户套餐、过期时间、用户数量、企业信息等 | 支持 | 无 |
| 租户套餐管理 | 系统内租户所能使用的套餐管理 如:套餐内所包含的菜单等 | 支持 | 无 |
| 用户管理 | 用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等 | 支持 | 支持 |
| 部门管理 | 配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限 | 支持 | 支持 |
| 岗位管理 | 配置系统用户所属担任职务 | 支持 | 支持 |
| 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等 | 支持 | 支持 |
| 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | 支持 | 支持 |
| 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | 支持 | 支持 |
| 参数管理 | 对系统动态配置常用参数 | 支持 | 支持 |
| 通知公告 | 系统通知公告信息发布维护 | 支持 | 支持 |
| 操作日志 | 系统正常操作日志记录和查询 系统异常信息日志记录和查询 | 支持 | 支持 |
| 登录日志 | 系统登录日志记录查询包含登录异常 | 支持 | 支持 |
| 文件管理 | 系统文件展示、上传、下载、删除等管理 | 支持 | 无 |
| 文件配置管理 | 系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理 | 支持 | 无 |
| 在线用户管理 | 已登录系统的在线用户信息监控与强制踢出操作 | 支持 | 支持 |
| 定时任务 | 运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等 | 支持 | 仅支持任务与日志管理 |
| 代码生成 | 多数据源前后端代码的生成java、html、xml、sql支持CRUD下载 | 支持 | 仅支持单数据源 |
| 系统接口 | 根据业务代码自动生成相关的api接口文档 | 支持 | 支持 |
| 服务监控 | 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 | 支持 | 仅支持单机CPU、内存、磁盘监控 |
| 缓存监控 | 对系统的缓存信息查询,命令统计等。 | 支持 | 支持 |
| 在线构建器 | 拖动表单元素生成相应的HTML代码。 | 支持 | 支持 |
| 使用案例 | 系统的一些功能案例 | 支持 | 不支持 |
## 演示图例
| | |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| ![输入图片说明](https://foruda.gitee.com/images/1680077524361362822/270bb429_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680077619939771291/989bf9b6_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680077681751513929/1c27c5bd_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680077721559267315/74d63e23_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680077765638904515/1b75d4a6_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078026375951297/eded7a4b_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078237104531207/0eb1b6a7_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078254306078709/5931e22f_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078287971528493/0b9af60a_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078308138770249/8d3b6696_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078352553634393/db5ef880_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078378238393374/601e4357_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078414983206024/2aae27c1_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078446738419874/ecce7d59_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078475971341775/149e8634_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078491666717143/3fadece7_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078558863188826/fb8ced2a_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078574561685461/ae68a0b2_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078594932772013/9d8bfec6_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078626493093532/fcfe4ff6_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078643608812515/0295bd4f_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078685196286463/d7612c81_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078703877318597/56fce0bc_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078716586545643/b6dbd68f_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078734103217688/eb1e6aa6_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078759131415480/73c525d8_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078779416197879/75e3ed02_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078802329118061/77e10915_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078893627848351/34a1c342_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078928175016986/f126ec4a_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078941718318363/b68a0f72_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078963175518631/3bb769a1_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680078982294090567/b31c343d_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680079000642440444/77ca82a9_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680079020995074177/03b7d52e_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680079039367822173/76811806_1766278.png '屏幕截图') |
| ![输入图片说明](https://foruda.gitee.com/images/1680079274333484664/4dfdc7c0_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680079290467458224/d6715fcf_1766278.png '屏幕截图') |

12
bin/build.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 打包Web工程生成dist文件。
echo.
%~d0
cd %~dp0
cd ..
yarn build:prod
pause

12
bin/package.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 安装Web工程生成node_modules文件。
echo.
%~d0
cd %~dp0
cd ..
yarn --registry=https://registry.npmmirror.com
pause

12
bin/run-web.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 使用 Vite 命令运行 Web 工程。
echo.
%~d0
cd %~dp0
cd ..
yarn dev
pause

242
html/ie.html Normal file

File diff suppressed because one or more lines are too long

214
index.html Normal file
View File

@ -0,0 +1,214 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="renderer" content="webkit" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<link rel="icon" href="/src/assets/logo/logo.png" />
<title>PSPP管理系统</title>
<!--[if lt IE 11
]><script>
window.location.href = '/html/ie.html';
</script><!
[endif]-->
<style>
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
}
#loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #fff;
-webkit-animation: spin 2s linear infinite;
-ms-animation: spin 2s linear infinite;
-moz-animation: spin 2s linear infinite;
-o-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
z-index: 1001;
}
#loader:before {
content: '';
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #fff;
-webkit-animation: spin 3s linear infinite;
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
-ms-animation: spin 3s linear infinite;
animation: spin 3s linear infinite;
}
#loader:after {
content: '';
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #fff;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-ms-animation: spin 1.5s linear infinite;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #7171c6;
z-index: 1000;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
#loader-wrapper .loader-section.section-left {
left: 0;
}
#loader-wrapper .loader-section.section-right {
right: 0;
}
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
-ms-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.loaded #loader {
opacity: 0;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.loaded #loader-wrapper {
visibility: hidden;
-webkit-transform: translateY(-100%);
-ms-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition: all 0.3s 1s ease-out;
transition: all 0.3s 1s ease-out;
}
.no-js #loader-wrapper {
display: none;
}
.no-js h1 {
color: #222222;
}
#loader-wrapper .load_title {
font-family: 'Open Sans';
color: #fff;
font-size: 19px;
width: 100%;
text-align: center;
z-index: 9999999999999;
position: absolute;
top: 60%;
opacity: 1;
line-height: 30px;
}
#loader-wrapper .load_title span {
font-weight: normal;
font-style: italic;
font-size: 13px;
color: #fff;
opacity: 0.5;
}
</style>
</head>
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div>
</div>
</div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

100
package.json Normal file
View File

@ -0,0 +1,100 @@
{
"name": "qitian",
"version": "5.2.3",
"description": "PSPP管理系统",
"author": "LionLi",
"license": "MIT",
"type": "module",
"scripts": {
"dev": "vite serve --mode development",
"build:prod": "node --max-old-space-size=8192 ./node_modules/vite/bin/vite.js build --mode production",
"build:dev": "node --max-old-space-size=8192 ./node_modules/vite/bin/vite.js build --mode development",
"preview": "vite preview",
"lint:eslint": "eslint --fix --ext .ts,.js,.vue ./src ",
"prettier": "prettier --write ."
},
"repository": {
"type": "git",
"url": "https://gitee.com/JavaLionLi/plus-ui.git"
},
"dependencies": {
"@element-plus/icons-vue": "2.3.1",
"@highlightjs/vue-plugin": "2.1.0",
"@vueup/vue-quill": "1.2.0",
"@vueuse/core": "10.9.0",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
"animate.css": "4.1.1",
"await-to-js": "3.0.0",
"axios": "1.6.8",
"bpmn-js": "16.4.0",
"crypto-js": "4.2.0",
"dayjs": "^1.11.13",
"diagram-js": "12.3.0",
"didi": "9.0.2",
"echarts": "5.5.0",
"element-plus": "2.9.3",
"file-saver": "2.0.5",
"fuse.js": "7.0.0",
"highlight.js": "11.9.0",
"html2canvas": "^1.4.1",
"image-conversion": "^2.1.1",
"js-cookie": "3.0.5",
"jsencrypt": "3.3.2",
"nprogress": "0.2.0",
"pinia": "2.1.7",
"screenfull": "6.0.2",
"vue": "3.4.34",
"vue-cropper": "1.1.1",
"vue-i18n": "9.10.2",
"vue-pdf-embed": "^2.1.2",
"vue-router": "4.3.2",
"vue-types": "5.1.1",
"vue-video-player": "^6.0.0",
"vue3-video-player": "^1.0.0",
"vxe-table": "4.5.22"
},
"devDependencies": {
"@iconify/json": "2.2.201",
"@intlify/unplugin-vue-i18n": "3.0.1",
"@types/crypto-js": "4.2.2",
"@types/file-saver": "2.0.7",
"@types/js-cookie": "3.0.6",
"@types/node": "18.18.2",
"@types/nprogress": "0.2.3",
"@typescript-eslint/eslint-plugin": "7.3.1",
"@typescript-eslint/parser": "7.3.1",
"@unocss/preset-attributify": "0.58.6",
"@unocss/preset-icons": "0.58.6",
"@unocss/preset-uno": "0.58.6",
"@vitejs/plugin-vue": "5.0.4",
"@vue/compiler-sfc": "3.4.23",
"autoprefixer": "10.4.18",
"eslint": "8.57.0",
"eslint-config-prettier": "9.1.0",
"eslint-define-config": "2.1.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-node": "11.1.0",
"eslint-plugin-prettier": "5.1.3",
"eslint-plugin-promise": "6.1.1",
"eslint-plugin-vue": "9.23.0",
"fast-glob": "3.3.2",
"postcss": "8.4.36",
"postcss-px-to-viewport-8-plugin": "^1.2.5",
"prettier": "3.2.5",
"sass": "1.72.0",
"typescript": "5.4.5",
"unocss": "0.58.6",
"unplugin-auto-import": "0.17.5",
"unplugin-icons": "0.18.5",
"unplugin-vue-components": "0.26.0",
"unplugin-vue-setup-extend-plus": "1.0.1",
"vite": "5.2.12",
"vite-plugin-compression": "0.5.1",
"vite-plugin-svg-icons": "2.0.1",
"vite-plugin-vue-devtools": "^7.7.0",
"vitest": "1.5.0",
"vue-eslint-parser": "9.4.2",
"vue-tsc": "2.0.13"
}
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

BIN
public/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -0,0 +1,114 @@
<template>
<div class="app-container">
<el-table v-loading="loading" :data="tableData" style="width: 100%">
<!-- 客户信息 -->
<el-table-column label="客户" width="200">
<template #default="{ row }">
<div>{{ row.customerName }}</div>
<div><el-tag type="info">VIP{{ row.vipLevel }}</el-tag></div>
</template>
</el-table-column>
<!-- 积分 -->
<el-table-column label="积分" prop="points" align="center" width="80" />
<!-- 储值余额 -->
<el-table-column label="储值余额" prop="storedValue" align="center" width="120" />
<!-- 购买次数 -->
<el-table-column label="购买次数" prop="purchaseCount" align="center" width="100" />
<!-- 累计消费金额 -->
<el-table-column label="累计消费金额" prop="totalSpent" align="center" width="120" />
<!-- 上次消费时间 -->
<el-table-column label="上次消费时间" prop="lastPurchaseTime" align="center" width="150" />
<!-- 操作 -->
<el-table-column label="操作" fixed="right" align="center" width="100">
<template #default="{ row }">
<el-button link type="primary" @click="handleDetails(row)">详情</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<pagination
v-show="total > 0"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref, watch } from 'vue';
import { adminQueryPageList } from '@/api/fund';
let props = defineProps({
});
//
const total = ref(0);
//
const queryParams = ref({
pageNum: 1,
pageSize: 10
});
//
const loading = ref(false);
//
const tableData = ref([]);
//
const getList = async () => {
const { rows, total: t } = await adminQueryPageList({
...queryParams.value,
...props.queryParamsConsumption
});
total.value = t;
tableData.value = rows;
};
//
const handleDetails = (row) => {
console.log('查看详情:', row);
//
};
watch(
() => props.name,
(newValue) => {
if (newValue === 'consumption') {
queryParams.value.pageNum = 1;
getList();
}
}
);
watch(
() => props.queryParamsConsumption,
(newValue) => {
if (props.name === 'consumption') {
getList();
}
},
{
deep: true
}
);
onMounted(() => {
getList();
});
</script>
<style lang="scss" scoped>
.app-container {
padding: 10px;
}
</style>

21
src/App.vue Normal file
View File

@ -0,0 +1,21 @@
<template>
<el-config-provider :locale="appStore.locale" :size="appStore.size">
<router-view />
</el-config-provider>
</template>
<script setup lang="ts">
import useSettingsStore from '@/store/modules/settings';
import { handleThemeStyle } from '@/utils/theme';
import useAppStore from '@/store/modules/app';
const appStore = useAppStore();
onMounted(() => {
nextTick(() => {
//
handleThemeStyle(useSettingsStore().theme);
});
});
</script>

48
src/animate.ts Normal file
View File

@ -0,0 +1,48 @@
// 前缀
const animatePrefix = 'animate__animated ';
// 开启随机动画 随机动画值
const animateList: string[] = [
animatePrefix + 'animate__pulse',
animatePrefix + 'animate__rubberBand',
animatePrefix + 'animate__bounceIn',
animatePrefix + 'animate__bounceInLeft',
animatePrefix + 'animate__fadeIn',
animatePrefix + 'animate__fadeInLeft',
animatePrefix + 'animate__fadeInDown',
animatePrefix + 'animate__fadeInUp',
animatePrefix + 'animate__flipInX',
animatePrefix + 'animate__lightSpeedInLeft',
animatePrefix + 'animate__rotateInDownLeft',
animatePrefix + 'animate__rollIn',
animatePrefix + 'animate__rotateInDownLeft',
animatePrefix + 'animate__zoomIn',
animatePrefix + 'animate__zoomInDown',
animatePrefix + 'animate__slideInLeft',
animatePrefix + 'animate__lightSpeedIn'
];
// 关闭随机动画后的默认效果
const defaultAnimate = animatePrefix + 'animate__fadeIn';
// 搜索隐藏显示动画
const searchAnimate = {
enter: '',
leave: ''
};
// 菜单搜索动画
const menuSearchAnimate = {
enter: animatePrefix + 'animate__fadeIn',
leave: animatePrefix + 'animate__fadeOut'
};
// logo动画
const logoAnimate = {
enter: animatePrefix + 'animate__fadeIn',
leave: animatePrefix + 'animate__fadeOut'
};
export default {
animateList,
defaultAnimate,
searchAnimate,
menuSearchAnimate,
logoAnimate
};

View File

@ -0,0 +1,62 @@
import request from '@/utils/request';
/* 获取广告列表 */
export function getAdvertisement(params:anyObject) {
return request({
url: '/content/material/picAdvertisement/list',
method: 'get',
params
})
}
/* 上架 */
export function publishAdvert(params:anyObject) {
return request({
url: '/content/material/picAdvertisement/publish',
method: 'put',
params
})
}
/* 下架 */
export function cancelAdvert(params:anyObject) {
return request({
url: '/content/material/picAdvertisement/cancel',
method: 'put',
params
})
}
/* 删除广告 */
export function deleteAdvert(id:any) {
return request({
url: '/content/material/picAdvertisement/'+id,
method: 'delete',
})
}
/* 获取广告详情 */
export function getAdvertInfo(id:any) {
return request({
url: '/content/material/picAdvertisement/'+id,
method: 'get',
})
}
/* 新建广告 */
export function submitAdvert(params:anyObject) {
return request({
url: '/content/material/picAdvertisement',
method: 'post',
data: params
})
}
/* 修改广告 */
export function modifyAdvert(params:anyObject) {
return request({
url: '/content/material/picAdvertisement',
method: 'put',
data: params
})
}

View File

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { FreightTemplatesVO, FreightTemplatesForm, FreightTemplatesQuery } from '@/api/channel/shipping/types';
/**
*
* @param query
* @returns {*}
*/
export const listFreightTemplates = (query?: FreightTemplatesQuery): AxiosPromise<FreightTemplatesVO[]> => {
return request({
url: '/freightTemplates/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getFreightTemplates = (id: string | number): AxiosPromise<FreightTemplatesVO> => {
return request({
url: '/freightTemplates/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addFreightTemplates = (data: FreightTemplatesForm) => {
return request({
url: '/freightTemplates',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateFreightTemplates = (data: FreightTemplatesForm) => {
return request({
url: '/freightTemplates',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delFreightTemplates = (id: string | number | Array<string | number>) => {
return request({
url: '/freightTemplates/' + id,
method: 'delete'
});
};
/**
* -/
* @param query
* @returns {*}
*/
export const regionArea = (query?: FreightTemplatesQuery): AxiosPromise<FreightTemplatesVO[]> => {
return request({
url: '/system/regionArea/all',
method: 'get',
params: query
});
};

View File

@ -0,0 +1,118 @@
export interface FreightTemplatesVO {
/**
* ID
*/
id: string | number;
/**
*
*/
name: string;
/**
* 0- 1-
*/
chargingType: number;
/**
*
*/
firstUnit: number;
/**
*
*/
continuationUnit: string;
/**
*
*/
shippingFee: number;
/**
*
*/
renewalFee: number;
}
export interface FreightTemplatesForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
*
*/
name?: string;
/**
* 0- 1-
*/
chargingType?: number;
/**
*
*/
firstUnit?: number;
/**
*
*/
continuationUnit?: string;
/**
*
*/
shippingFee?: number;
/**
*
*/
renewalFee?: number;
/**
*
*/
areaList?: any;
}
export interface FreightTemplatesQuery extends PageQuery {
/**
*
*/
name?: string;
/**
* 0- 1-
*/
chargingType?: number;
/**
*
*/
firstUnit?: number;
/**
*
*/
continuationUnit?: string;
/**
*
*/
shippingFee?: number;
/**
*
*/
renewalFee?: number;
/**
*
*/
params?: any;
/**
*
*/
areaList?: any;
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CashierReceiptModelVO, CashierReceiptModelForm, CashierReceiptModelQuery } from '@/api/channel/tickets/types';
/**
*
* @param query
* @returns {*}
*/
export const listCashierReceiptModel = (query?: CashierReceiptModelQuery): AxiosPromise<CashierReceiptModelVO[]> => {
return request({
url: '/cashier_receipt_model/cashierReceiptModel/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCashierReceiptModel = (id: string | number): AxiosPromise<CashierReceiptModelVO> => {
return request({
url: '/cashier_receipt_model/cashierReceiptModel/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addCashierReceiptModel = (data: CashierReceiptModelForm) => {
return request({
url: '/cashier_receipt_model/cashierReceiptModel',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateCashierReceiptModel = (data: CashierReceiptModelForm) => {
return request({
url: '/cashier_receipt_model/cashierReceiptModel',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delCashierReceiptModel = (id: string | number | Array<string | number>) => {
return request({
url: '/cashier_receipt_model/cashierReceiptModel/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,146 @@
export interface CashierReceiptModelVO {
/**
*
*/
id: string | number;
/**
*
*/
name: string;
/**
*
*/
type: number;
/**
*
*/
content: string;
/**
* 0 1
*/
autoPrint: number;
/**
* 0:点击发货按钮打印 1:点击发货按钮不打印
*/
printTime: number;
/**
* 1
*/
printTimes: number;
/**
*
*/
deptId: string | number;
/**
*
*/
userId: string | number;
}
export interface CashierReceiptModelForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
name?: string;
/**
*
*/
type?: number;
/**
*
*/
content?: string;
/**
* 0 1
*/
autoPrint?: number;
/**
* 0:点击发货按钮打印 1:点击发货按钮不打印
*/
printTime?: number;
/**
* 1
*/
printTimes?: number;
/**
*
*/
deptId?: string | number;
/**
*
*/
userId?: string | number;
}
export interface CashierReceiptModelQuery extends PageQuery {
/**
*
*/
name?: string;
/**
*
*/
type?: number;
/**
*
*/
content?: string;
/**
* 0 1
*/
autoPrint?: number;
/**
* 0:点击发货按钮打印 1:点击发货按钮不打印
*/
printTime?: number;
/**
* 1
*/
printTimes?: number;
/**
*
*/
deptId?: string | number;
/**
*
*/
userId?: string | number;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,197 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
// 获取客户分群列表
export const getCustomerGroupingList = (params: any): AxiosPromise => {
return request({
url: '/system/customerGrouping/list',
method: 'get',
params
});
};
// 新增客户分群
export const addCustomerGrouping = (data: any): AxiosPromise => {
return request({
url: '/system/customerGrouping',
method: 'post',
data
});
}
// 删除客户分群
export const deleteCustomerGrouping = (ids: any): AxiosPromise => {
return request({
url: `/system/customerGrouping/${ids}`,
method: 'delete'
});
}
// 编辑客户分群
export const editCustomerGrouping = (data: any): AxiosPromise => {
return request({
url: `/system/customerGrouping`,
method: 'put',
data
});
}
// 估算
export const getCustomerGroupingCount = (data: any): AxiosPromise => {
return request({
url: '/system/customerGrouping/queryCount',
method: 'post',
data
});
}
// 获取客户分群详情
export const getCustomerGroupingDetail = (id: any): AxiosPromise => {
return request({
url: `/system/customerGrouping/${id}`,
method: 'get'
});
}
// 获取客户分群列表
export const getCustomerGroupingListClient = (params: any): AxiosPromise => {
return request({
url: '/system/cusUser/queryCusPageListGrouping',
method: 'get',
params
});
}
// 人群画像-用户等级
export const getUserLevel= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/userLevel',
method: 'get',
params
});
}
// 人群画像-购买次数
export const getBuyNum= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/buyNum',
method: 'get',
params
});
}
// 人群画像-最近消费时间
export const getLastBuyTime= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/lastBuyTime',
method: 'get',
params
});
}
// 人群画像-笔单价分布
export const getAvgOrderPrice= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/avgOrderPrice',
method: 'get',
params
});
}
// 人群画像-性别
export const getSexNum= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/sexNum',
method: 'get',
params
});
}
// 人群画像-年龄
export const getAgeNum= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/ageNum',
method: 'get',
params
});
}
// 人群画像-人群概览
export const getGroupingInfo= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/groupingInfo',
method: 'get',
params
});
}
// 人群画像-地域
export const getAreaNum= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/areaNum',
method: 'get',
params
});
}
// 人群画像-折扣率
export const getDiscountRateNum= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/discountRateNum',
method: 'get',
params
});
}
// 人群画像-活跃时间
export const getActiveTimeNum= (params: any): AxiosPromise => {
return request({
url: '/system/customerGroupingAudienceProfiling/activeTimeNum',
method: 'get',
params
});
}
// 获取人群运营数据
export const getCrowdOperationData= (params: any): AxiosPromise => {
return request({
url: '/system/crowdOperationData/getInfo',
method: 'get',
params
});
}
// 获取短信模板列表
export const getSmsMbList= (params: any): AxiosPromise => {
return request({
url: '/system/smsMb/list',
method: 'get',
params
});
}
// 获取短信签名
export const getSmsMbSign= (): AxiosPromise => {
return request({
url: '/system/smsMb/querySign',
method: 'get'
});
}
// 修改短信签名
export const editSmsMbSign= (params: any): AxiosPromise => {
return request({
url: '/system/smsMb/editSign',
method: 'put',
params
});
}
// 测试发送短信
export const testSend= (data: any): AxiosPromise => {
return request({
url: '/system/smsMb/testSend',
method: 'post',
data
});
}
// 发送短信
export const sendSmsMb= (data: any): AxiosPromise => {
return request({
url: '/system/smsMb/send',
method: 'post',
data
});
}

View File

@ -0,0 +1,41 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { getTagListParams, getTagDetailParams, deleteTagParams, editTagParams } from './type';
// 获取标签列表
export const getTagList = (params: getTagListParams): AxiosPromise => {
return request({
url: '/system/tag/list',
method: 'get',
params
});
};
// 获取标签详情
export const getTagDetail = (id: number): AxiosPromise => {
return request({
url: `/system/tag/${id}`,
method: 'get'
});
};
// 新建标签
export const addTag = (params: editTagParams): AxiosPromise => {
return request({
url: '/system/tag',
method: 'post',
data: params
});
};
// 编辑标签
export const editTag = (params: editTagParams): AxiosPromise => {
return request({
url: '/system/tag',
method: 'put',
data: params
});
};
// 删除标签
export const deleteTag = (id: string | number | Array<string | number>): AxiosPromise => {
return request({
url: `/system/tag/${id}`,
method: 'delete'
});
};

View File

@ -0,0 +1,91 @@
// 查询标签列表
export interface getTagListParams {
createDept?: number;
createBy?: number;
createTime?: number;
updateBy?: number;
updateTime?: number;
tagId?: number;
tagName?: string;
customerCount?: number;
tagType?: number;
achievementCondition?: string;
assetConditionPointsStart?: number;
assetConditionPointsEnd?: number;
transactionConditionDay?: number;
transactionConditionDateStart?: string;
transactionAccumulatedCountEnd?: number;
transactionAccumulatedAmountStart?: string;
transactionAccumulatedAmountEnd?: string;
transactionAccumulatedCountStart?: string;
transactionCustomerUnitPriceStart?: string;
transactionCustomerUnitPriceEnd?: string;
historicalTransactionChannel?: string;
historyPurchaseProductSwitch?: boolean;
historyAccumulatedPointsSwitch?: boolean;
lastConsumptionTimeSwitch?: boolean;
lastConsumptionTimeSelection?: number;
historyAccumulatedConsumptionTimesSwitch?: boolean;
historyAccumulatedConsumptionAmountSwitch?: boolean;
customerUnitPriceSwitch?: boolean;
historyBuyChanelSwitch?: boolean;
meetCondition?: number;
pageSize?: number;
pageNum?: number;
orderByColumn?: string;
isAsc?: string;
startIndex?: number;
}
//获取标签详情信息
export interface getTagDetailParams {
tagId: number;
}
//删除标签
export interface deleteTagParams {
tagId: Array<any>[];
}
//编辑和删除标签
export interface editTagParams {
// 基础信息
tagId?: number;
tagName: string;
tagType?: number; // 标签类型 0手动打标1自动打标
customerCount?: number; // 客户数
// 部门和创建信息
createDept?: number;
createBy?: number;
createTime?: string;
updateBy?: number;
updateTime?: string;
// 条件相关
achievementCondition?: string;
meetCondition?: number; // 满足条件0满足所有1满足其一
// 资产条件
assetConditionPointsStart?: number;
assetConditionPointsEnd?: number;
// 交易条件
transactionConditionDay?: number;
transactionConditionDateStart?: string;
transactionConditionDateEnd?: string;
transactionAccumulatedCountStart?: number;
transactionAccumulatedCountEnd?: number;
transactionAccumulatedAmountStart?: number;
transactionAccumulatedAmountEnd?: number;
transactionCustomerUnitPriceStart?: number;
transactionCustomerUnitPriceEnd?: number;
// 历史交易相关开关
historicalTransactionChannel?: number;
historyPurchaseProductSwitch?: boolean;
historyAccumulatedPointsSwitch?: boolean;
lastConsumptionTimeSwitch?: boolean;
lastConsumptionTimeSelection?: number; // 0最近天数1日期范围
historyAccumulatedConsumptionTimesSwitch?: boolean;
historyAccumulatedConsumptionAmountSwitch?: boolean;
customerUnitPriceSwitch?: boolean;
historyBuyChanelSwitch?: boolean;
}

View File

@ -0,0 +1,64 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
//积分通用
// 获取积分通用规则详细信息
export const getCusUsuallyScoreApi = (itemId: number): AxiosPromise => {
return request({
url: `/system/pointsRule/${itemId}`,
method: 'get'
});
};
// 修改积分通用规则
export const editCusUsuallyScoreApi = (data: any): AxiosPromise => {
return request({
url: '/system/pointsRule',
method: 'put',
data
});
};
//获取消耗积分规则
export const getCusScoreRuleApi = (itemId: number): AxiosPromise => {
return request({
url: `/system/pointsPayRule/${itemId}`,
method: 'get'
});
};
// 修改消耗积分规则
export const editCusScoreRuleApi = (data: any): AxiosPromise => {
return request({
url: '/system/pointsPayRule',
method: 'put',
data
});
};
// 获取积分获取规则
export const getCusScoreGetRuleApi = (itemId: number): AxiosPromise => {
return request({
url: `/system/pointsGetRule/${itemId}`,
method: 'get'
});
};
// 修改积分获取规则
export const editCusScoreGetRuleApi = (data: any): AxiosPromise => {
return request({
url: '/system/pointsGetRule',
method: 'put',
data
});
};
// 获取积分明细列表
export const getCusScoreListApi = (params: any): AxiosPromise => {
return request({
url: '/system/pointsDetail/list',
method: 'get',
params
});
};
// 获取积分统计
export const getCusScoreStatisticsApi = (): AxiosPromise => {
return request({
url: '/system/pointsDetail/pointsStatistics',
method: 'get'
});
};

View File

View File

@ -0,0 +1,819 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CusUserVO, CusUserForm, CusUserQuery } from '@/api/system/cusUser/types';
// 查询门店列表
export const getStoreList = (): AxiosPromise<CusUserVO[]> => {
return request({
url: '/shop/dataScope',
method: 'get'
});
};
/**
*
* @param query
* @returns {*}
*/
export const listCusUser = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/cusUser/queryCusPageList',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const getCusMember = (id: any): AxiosPromise<CusUserVO[]> => {
return request({
url: `/system/cusUser/memberInfo?id=${id}`,
method: 'get'
});
};
/**
*
* @param id
*/
export const getCusUser = (id: string | number | Array<string | number>) => {
return request({
url: '/system/cusUser/' + id,
method: 'get'
});
};
// /system/cusUser/{id}
/**
*
* @param data
*/
export const addCusUser = (data: CusUserForm) => {
return request({
url: '/system/cusUser',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateCusUser = (data: CusUserForm) => {
return request({
url: '/system/cusUser',
method: 'put',
data: data
});
};
/**
*
* @param data
*/
export const updateBindDistributor = (data: CusUserForm) => {
return request({
url: '/system/cusUser/bindDistributor',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delCusUser = (id: string | number | Array<string | number>) => {
return request({
url: '/system/cusUser/' + id,
method: 'delete'
});
};
/**
*
* @param id
*/
export const cardCommentDelete = (id: string | number | Array<string | number>) => {
return request({
url: '' + id,
method: 'delete'
});
};
/**
*
* @param query
* @returns {*}
*/
export const listMoneyCard = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCard/list',
method: 'get',
params: query
});
};
/**
*
* @param data
*/
export const updateCard = (data: CusUserForm) => {
return request({
url: '/system/moneyCard',
method: 'post',
data: data
});
};
/**
*
* @param id
*/
export const getCardDetail = (id: string | number): AxiosPromise<CusUserVO> => {
return request({
url: '/system/moneyCard/' + id,
method: 'get'
});
};
/**
*
* @param query
*/
export const userCardQueryList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/listMoneyCardUser',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const userCardQueryDetail = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/moneyCardInfo',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const userCardQuerytrans = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/moneyCardUserRecordList1',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const cardRecordGiftPackageContent = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/cardRecordGiftPackageContent/list',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const userTransQueryList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/adminQueryPageList',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const userGiftQueryList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/giftPackage/list',
method: 'get',
params: query
});
};
/**
* 退
* @param data
*/
export const moneyCardReturn = (data: CusUserForm) => {
return request({
url: '/system/moneyCardUser/moneyCardReturn',
method: 'post',
data: data
});
};
/**
* 退
* @param data
*/
export const moneyCardReturnGift = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/queryCouponListForUserCardId',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const userCardAdjust = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/changeAccount',
method: 'get',
params: query
});
};
/**
*
* @param data
*/
export const addMark = (data: CusUserForm) => {
return request({
url: '/system/moneyCardUser/addSysMarkReceiptVoucher',
method: 'post',
data: data
});
};
//领卡记录 标记支付
export const addCardMark = (data?: CusUserForm): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/addSysMarkReceiptVoucherEquity',
method: 'post',
data: data
});
}
/**
*
* @param query
*/
export const checkMark = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/querySysMarkReceiptVoucher',
method: 'post',
params: query
});
};
/**
*
* @param data
*/
export const addGift = (data: CusUserForm) => {
return request({
url: '/system/giftPackage',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const editGift = (data: CusUserForm) => {
return request({
url: '/system/giftPackage',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const queryGiftDetail = (id: string | number): AxiosPromise<CusUserVO> => {
return request({
url: '/system/giftPackage/' + id,
method: 'get'
});
};
/**
*
* @param query
*/
export const equityCardList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCard/list',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const equityCardListGift = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCard/listWithGiftPackage',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const userCouponQueryList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/courtesyCard/courtesyCard/list',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const queryRefundableAmount = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/moneyCardUser/queryRefundableAmount',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const giftPackageStatus = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/giftPackage/giftPackageEnableDisable',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const queryCardList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCard/list',
method: 'get',
params: query
});
};
// 获取用户权益卡列表
export const queryCardUserList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCard/listEquityCardFree',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const queryCompList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/gift/list',
method: 'get',
params: query
});
};
/**
*
* @param data
*/
export const addValueCard = (data: CusUserForm) => {
return request({
url: '/system/equityCard',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const editValueCard = (data: CusUserForm) => {
return request({
url: '/system/equityCard',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const valueCardDetail = (id: string | number): AxiosPromise<CusUserVO> => {
return request({
url: '/system/equityCard/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const deleteValueCard = (id: string | number): AxiosPromise<CusUserVO> => {
return request({
url: '/system/equityCard/' + id,
method: 'delete'
});
};
/**
*
* @param query
*/
export const disabledValueCard = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCard/disableOrEnable',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const checkDataEffect = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCardData/query',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const getMembers = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCard/userList',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const querygetCardList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/cusCard/userReceiveRecordList',
method: 'get',
params: query
});
};
/**
* 退
* @param query
*/
export const getCardReturn = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/cardReturnRecord/cardReturnRecordInfoForAdd',
method: 'get',
params: query
});
};
/**
* 退
* @param query
*/
export const queryrefundCardList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/cardReturnRecord/list',
method: 'get',
params: query
});
};
/**
* 退
* @param data
*/
export const addRefundRecord = (data: CusUserForm) => {
return request({
url: '/system/cardReturnRecord',
method: 'post',
data: data
});
};
/**
*
* @param query
*/
export const querydiyBenefitList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/diyBenefit/list',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const querydiyBenefitSelectList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCardDiy/list',
method: 'get',
params: query
});
}
/**
*
* @param id
*/
export const querydiyBenefitDetail = (id: string | number): AxiosPromise<CusUserVO> => {
return request({
url: '/system/diyBenefit/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addBenefit = (data: CusUserForm) => {
return request({
url: '/system/diyBenefit',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const editBenefit = (data: CusUserForm) => {
return request({
url: '/system/diyBenefit',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const deleteBenefit = (id: string | number): AxiosPromise<CusUserVO> => {
return request({
url: '/system/diyBenefit/' + id,
method: 'delete'
});
};
/**
*
* @param query
*/
export const queryshopList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCardForShop/list',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const queryCouponList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCardForCoupon/list',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const queryProductList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCardForProduct/listAll',
method: 'get',
params: query
});
};
// /**
// * 权益卡适用赠品
// * @param query
// */
export const querygiftList = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/equityCardGift/list',
method: 'get',
params: query
});
};
/**
*
* @param query
*/
export const editExtendDays = (query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/cusCard/extendValidity',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getRecordDetail = (id: string | number): AxiosPromise<CusUserVO> => {
return request({
url: '/system/cardCollectionRecord/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const getReturnDetail = (id: string | number): AxiosPromise<CusUserVO> => {
return request({
url: '/system/cardReturnRecord/' + id,
method: 'get'
});
};
// 根据用户id查询权益卡列表
export const getCardListApi = (params: any) => {
return request({
url: '/system/cusCard/listForUserid',
method: 'get',
params
});
};
// 延长权益卡有效期
export const extendCardTimeApi = (params: any) => {
return request({
url: `/system/cusCard/extendValidity?id=${params.id}&days=${params.days}`,
method: 'get'
});
};
// 删除客户权益卡
export const deleteUserCardApi = (ids: Array<string>) => {
return request({
url: `/system/cusCard/${ids}`,
method: 'delete'
});
};
// 给客户发放权益卡
export const giveCardApi = (data: any) => {
return request({
url: '/system/cusCard',
method: 'post',
data
});
};
// 获取分销员列表
export const getDistributorApi = (params?: any) => {
return request({
url: `/system/cusUser/queryDistributorListAll?nickName=${params}`,
method: 'get'
});
};
//查询分销员下拉列表
export const queryDistributionUserSelectList = (query: any) => {
return request({
url: '/system/distributionUser/selectListAll',
method: 'get',
params: query
});
};
// 查询权益卡列表(不包含权益卡列表)
export const getEquityCardNoMemberListApi = (params?) => {
return request({
url: '/system/equityCard/queryEquityCardNoMemberList',
method: 'get',
params
});
};
// 根据客户id查询标签列表
export const getListForUseridApi = (userId: any) => {
return request({
url: `/system/cusTag/listForUserid?userId=${userId}`,
method: 'get'
});
};
//添加标签
export const addForUserIdApi = (data: any) => {
return request({
url: '/system/cusTag/updateForUserId',
method: 'post',
data
});
};
// 查询所有标签列表
export const getTagAllApi = (params?: any) => {
return request({
url: '/system/tag/list',
method: 'get',
params
});
};
// 批量更改分销员
export const batchUpdateApi = (data: any) => {
return request({
url: '/system/cusUser/batchUpdate',
method: 'put',
data
});
};
//调整积分
export const editPointApi = (data: any) => {
return request({
url: '/system/pointsDetail/modifyPoints',
method: 'post',
data
});
};
// 发放优惠券
export const giveCouponApi = (data: any) => {
return request({
url: '/courtesy_card_details/courtesyCardDetails',
method: 'post',
data
});
};
// 根据用户id查询会员等级信息
export const checkLevelApi = (userId: any) => {
return request({
url: `/system/cusUser/queryUserLevelInfo?userId=${userId}`,
method: 'get'
});
};
// 根据手机号模糊查询分销员列表
export const searchDistributorApi = (phonenumber: any) => {
return request({
url: `/system/cusUser/queryDistributorList?phonenumber=${phonenumber}`,
method: 'get'
});
};
// 设置会员等级
export const setLevelApi = (params: any) => {
return request({
url: `/system/cusUser/setMemberLevel?userId=${params.userId}&levelId=${params.levelId}`,
method: 'put'
});
};
// 根据权益卡id查询店铺
export const dropListForBenefitCard = (benefitCardNumber: any) => {
return request({
url: `/system/equityCardForShop/list?benefitCardNumber=${benefitCardNumber}`,
method: 'get',
});
};
// 获取用户优惠卷列表
export const getCouponListApi = (params: any) => {
return request({
url: `/system/cusUser/queryUserCourtesyCardList`,
method: 'get',
params
});
}
// 作废优惠卷
export const invalidCouponApi = (params: any) => {
return request({
url: `/system/cusUser/delUserCourtesyCard`,
method: 'put',
params
});
}
// 核销优惠卷
export const verifyCouponApi = (params: any) => {
return request({
url: `/system/cusUser/useUserCourtesyCard`,
method: 'put',
params
});
}
// 查询储值退款明细列表
export const getMoneyCardUserListApi = (params: any) => {
return request({
url: `/system/moneyCardUser/queryInfoByMoneyCardUserRecordIdAdmin`,
method: 'get',
params
});
}

View File

@ -0,0 +1,4 @@
import { param } from './../../../utils/index';
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
// import { CusUserVO, CusUserForm, CusUserQuery } from '@/api/system/cusUser/types';

View File

@ -0,0 +1,335 @@
export interface CusUserVO {
/**
* ID
*/
id: string | number;
/**
*
*/
password: string;
/**
*
*/
userName: string;
/**
*
*/
nickName: string;
/**
*
*/
email: string;
/**
*
*/
phonenumber: string;
/**
* 012
*/
sex: number;
/**
*
*/
avatar: string;
/**
* 01
*/
status: number;
/**
*
*/
birthday: string;
/**
*
*/
wechat: string;
/**
*
*/
notes: string;
/**
*
*/
userLevelId: string | number;
/**
*
*/
becomeCustomerTime: string;
/**
*
*/
becomeMemberTime: string;
/**
*
*/
keysword: string;
/**
*
*/
belongingStore: number;
/**
* 01
*/
wechatPhone: number;
/**
* 012线
*/
sourceChannel: number;
/**
* 0访1访234访
*/
sourceMethod: number;
/**
*
*/
distributor: number;
/**
*
*/
region: string;
}
export interface CusUserForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
*
*/
password?: string;
/**
*
*/
userName?: string;
/**
*
*/
nickName?: string;
/**
*
*/
email?: string;
/**
*
*/
phonenumber?: string;
/**
* 012
*/
sex?: number;
/**
*
*/
avatar?: string;
/**
* 01
*/
status?: number;
/**
*
*/
birthday?: string;
/**
*
*/
wechat?: string;
/**
*
*/
notes?: string;
/**
*
*/
userLevelId?: string | number;
/**
*
*/
becomeCustomerTime?: string;
/**
*
*/
becomeMemberTime?: string;
/**
*
*/
keysword?: string;
/**
*
*/
belongingStore?: number;
/**
* 01
*/
wechatPhone?: number;
/**
* 012线
*/
sourceChannel?: number;
/**
* 0访1访234访
*/
sourceMethod?: number;
/**
*
*/
distributor?: number;
/**
*
*/
region?: string;
}
export interface CusUserQuery extends PageQuery {
/**
*
*/
password?: string;
/**
*
*/
userName?: string;
/**
*
*/
nickName?: string;
/**
*
*/
email?: string;
/**
*
*/
phonenumber?: string;
/**
* 012
*/
sex?: number;
/**
*
*/
avatar?: string;
/**
* 01
*/
status?: number;
/**
*
*/
birthday?: string;
/**
*
*/
wechat?: string;
/**
*
*/
notes?: string;
/**
*
*/
userLevelId?: string | number;
/**
*
*/
becomeCustomerTime?: string;
/**
*
*/
becomeMemberTime?: string;
/**
*
*/
keysword?: string;
/**
*
*/
belongingStore?: number;
/**
* 01
*/
wechatPhone?: number;
/**
* 012线
*/
sourceChannel?: number;
/**
* 0访1访234访
*/
sourceMethod?: number;
/**
*
*/
distributor?: number;
/**
*
*/
region?: string;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,12 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CusUserVO, CusUserForm, CusUserQuery } from '@/api/system/cusUser/types';
// 查询门店列表
export const getStoreEnterShopRecord =(query?: CusUserQuery): AxiosPromise<CusUserVO[]> => {
return request({
url: '/system/enterShopRecord/list',
method: 'get',
params: query
});
};

View File

@ -0,0 +1,40 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
//查询会员体系列表
export const getMemberShipListApi = (params?: any): AxiosPromise => {
return request({
url: '/system/userLevel/list',
method: 'get',
params
});
};
// 会员详情
export const getMemberShipDetailApi = (userLevelId: number): AxiosPromise => {
return request({
url: `/system/userLevel/list?userLevelId=${userLevelId}`,
method: 'get'
});
};
// 新增会员体系及其子项
export const addMemberShipApi = (data: any): AxiosPromise => {
return request({
url: '/system/userLevel',
method: 'post',
data
});
};
//修改会员体系及其子项
export const editMemberShipApi = (data: any): AxiosPromise => {
return request({
url: '/system/userLevel',
method: 'put',
data
});
};
//删除会员体系及其子项
export const delMemberShipApi = (userLevelIds: Array<any>[]): AxiosPromise => {
return request({
url: `/system/userLevel/${userLevelIds}`,
method: 'delete'
});
};

View File

@ -0,0 +1,86 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
// 查询人群运营列表
export const getCrowdOperationListApi = (params: AxiosPromise) => {
return request({
url: '/system/crowdOperation/list',
method: 'get',
params
});
};
// 新增人群运营
export const addCrowdOperationApi = (data) => {
return request({
url: '/system/crowdOperation',
method: 'post',
data
});
};
//修改人群运营
export const editCrowdOperationApi = (data) => {
return request({
url: '/system/crowdOperation',
method: 'put',
data
});
};
// 删除人群运营
export const deleteCrowdOperationApi = (id) => {
return request({
url: `/system/crowdOperation/${id}`,
method: 'delete'
});
};
// 查询人群运营详细
export const getCrowdOperationDetailApi = (id) => {
return request({
url: `/system/crowdOperation/${id}`,
method: 'get'
});
};
// 查询场景营销列表
export const getSceneMarketingListApi = (params: AxiosPromise) => {
return request({
url: '/system/crowdOperationScenario/list',
method: 'get',
params
});
};
// 获取场景营销详情
export const getSceneMarketingDetailApi = (id) => {
return request({
url: `/system/crowdOperationScenario/${id}`,
method: 'get'
});
};
// 新增场景营销
export const addSceneMarketingApi = (data) => {
return request({
url: '/system/crowdOperationScenario',
method: 'post',
data
});
};
// 修改场景营销
export const editSceneMarketingApi = (data) => {
return request({
url: '/system/crowdOperationScenario',
method: 'put',
data
});
};
// 删除场景营销
export const deleteSceneMarketingApi = (ids) => {
return request({
url: `/system/crowdOperationScenario/${ids}`,
method: 'delete'
});
};
// 查询会员等级列表
export const getMemberLevelListApi = (params: AxiosPromise) => {
return request({
url: '/system/userLevel/list',
method: 'get',
params
});
};

View File

@ -0,0 +1,62 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CommodityClassifyVO, CommodityClassifyForm, CommodityClassifyQuery } from '@/api/commodity/commodityClassify/types';
/**
*
* @param query
* @returns {*}
*/
export const listCommodityClassify = (query?: CommodityClassifyQuery): AxiosPromise<CommodityClassifyVO[]> => {
return request({
url: '/commodity/commodityClassify/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCommodityClassify = (id: string | number): AxiosPromise<CommodityClassifyVO> => {
return request({
url: '/commodity/commodityClassify/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addCommodityClassify = (data: CommodityClassifyForm) => {
return request({
url: '/commodity/commodityClassify',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateCommodityClassify = (data: CommodityClassifyForm) => {
return request({
url: '/commodity/commodityClassify',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delCommodityClassify = (id: string | number | Array<string | number>) => {
return request({
url: '/commodity/commodityClassify/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,68 @@
export interface CommodityClassifyVO {
/**
*
*/
classifyName: string;
/**
*
*/
parentId: string | number;
/**
*
*/
orderNum: number;
/**
*
*/
logo: string;
/**
* Url
*/
logoUrl: string;
/**
*
*/
createTime: string;
}
export interface CommodityClassifyForm extends BaseEntity {
/*
* id
* */
id?: number | undefined;
/**
*
*/
classifyName?: string;
/**
*
*/
parentId?: string | number;
/**
*
*/
orderNum?: number;
/**
*
*/
logo?: string;
}
export interface CommodityClassifyQuery extends PageQuery {
/**
*
*/
classifyName?: string;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CommodityPackageVO, CommodityPackageForm, CommodityPackageQuery } from '@/api/commodity/commodityPackage/types';
/**
*
* @param query
* @returns {*}
*/
export const listCommodityPackage = (query?: CommodityPackageQuery): AxiosPromise<CommodityPackageVO[]> => {
return request({
url: '/commodity/commodityPackage/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCommodityPackage = (id: string | number): AxiosPromise<CommodityPackageVO> => {
return request({
url: '/commodity/commodityPackage/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addCommodityPackage = (data: CommodityPackageForm) => {
return request({
url: '/commodity/commodityPackage',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateCommodityPackage = (data: CommodityPackageForm) => {
return request({
url: '/commodity/commodityPackage',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delCommodityPackage = (id: string | number | Array<string | number>) => {
return request({
url: '/commodity/commodityPackage/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,74 @@
export interface CommodityPackageVO {
/**
*
*/
packageName: string;
/**
*
*/
packageKey: string;
/**
*
*/
classifyId: string | number;
/**
*
*/
logo: string;
/**
* Url
*/
logoUrl: string;
/**
*
*/
videoUrl: string | number;
/**
*
*/
createTime: string;
}
export interface CommodityPackageForm extends BaseEntity {
/**
*
*/
packageName?: string;
/**
*
*/
packageKey?: string;
/**
*
*/
classifyId?: string | number;
/**
*
*/
logo?: string;
/**
*
*/
videoUrl?: string | number;
}
export interface CommodityPackageQuery extends PageQuery {
/**
*
*/
packageName?: string;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CommodityGroupVO, CommodityGroupForm, CommodityGroupQuery } from './types';
/**
*
* @param query
* @returns {*}
*/
export const listCommodityGroup = (query?: CommodityGroupQuery): AxiosPromise<CommodityGroupVO[]> => {
return request({
url: '/commodity/commodityGroup/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCommodityGroup = (id: string | number): AxiosPromise<CommodityGroupVO> => {
return request({
url: '/commodity/commodityGroup/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addCommodityGroup = (data: CommodityGroupForm) => {
return request({
url: '/commodity/commodityGroup',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateCommodityGroup = (data: CommodityGroupForm) => {
return request({
url: '/commodity/commodityGroup',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delCommodityGroup = (id: string | number | Array<string | number>) => {
return request({
url: '/commodity/commodityGroup/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,46 @@
export interface CommodityGroupVO {
//分组id
id: number;
/**
*
*/
groupName: string;
/**
*
*/
orderNum: number;
/**
*
*/
createTime: string;
}
export interface CommodityGroupForm extends BaseEntity {
/**
*
*/
groupName?: string;
/**
*
*/
orderNum?: number;
//门店分组 总店分组
type?: number;
parentId?: number | string;
}
export interface CommodityGroupQuery extends PageQuery {
/**
*
*/
groupName?: string;
/**
*
*/
params?: any;
type?: number;
}

View File

@ -0,0 +1,89 @@
import request from '@/utils/request';
/* 获取活动组列表 */
export function getQtActivityGroup(params: any) {
return request({
url: '/system/QtActivityGroup/list',
method: 'get',
params
})
}
/* 获取活动组详细信息 */
export function getQtActivityGroupInfo(id: any) {
return request({
url: '/system/QtActivityGroup/'+id,
method: 'get',
})
}
/* 添加活动组 */
export function addQtActivityGroup(params: any) {
return request({
url: '/system/QtActivityGroup',
method: 'post',
data: params
})
}
/* 修改活动组 */
export function modifyQtActivityGroup(params: any) {
return request({
url: '/system/QtActivityGroup',
method: 'put',
data: params
})
}
/* 删除活动组 */
export function deleteQtActivityGroup(id: any) {
return request({
url: '/system/QtActivityGroup/'+id,
method: 'delete',
})
}
/* 上架 */
export function publishQtActivityGroup(params: any) {
return request({
url: '/system/QtActivityGroup/publish/'+params,
method: 'put',
})
}
/* 下架 */
export function cancelQtActivityGroup(params: any) {
return request({
url: '/system/QtActivityGroup/cancel/'+params,
method: 'put',
})
}
/* 获取活动组详细信息-限时折扣 */
export function getQtActivityMarketingList(params: any) {
return request({
url: '/system/marketingDiscount/list',
method: 'get',
params
})
}
/* 获取活动组详细信息-秒杀 */
export function getQtActivitySnapUpList(params: any) {
return request({
url: '/system/snapUp/list',
method: 'get',
params
})
}
/* 获取活动组详细信息-满减送 */
export function getQtActivityFullDiscountList(params: any) {
return request({
url: '/system/fullDiscount/list',
method: 'get',
params
})
}

View File

@ -0,0 +1,62 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DemoVO, DemoForm, DemoQuery } from '@/api/demo/demo/types';
/**
*
* @param query
* @returns {*}
*/
export const listDemo = (query?: DemoQuery): AxiosPromise<DemoVO[]> => {
return request({
url: '/demo/demo/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getDemo = (id: string | number): AxiosPromise<DemoVO> => {
return request({
url: '/demo/demo/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDemo = (data: DemoForm) => {
return request({
url: '/demo/demo',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDemo = (data: DemoForm) => {
return request({
url: '/demo/demo',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delDemo = (id: string | number | Array<string | number>) => {
return request({
url: '/demo/demo/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,91 @@
export interface DemoVO {
/**
*
*/
id: string | number;
/**
* id
*/
deptId: string | number;
/**
* id
*/
userId: string | number;
/**
*
*/
orderNum: number;
/**
* key键
*/
testKey: string;
/**
*
*/
value: string;
}
export interface DemoForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
deptId?: string | number;
/**
* id
*/
userId?: string | number;
/**
*
*/
orderNum?: number;
/**
* key键
*/
testKey?: string;
/**
*
*/
value?: string;
}
export interface DemoQuery extends PageQuery {
/**
* id
*/
deptId?: string | number;
/**
* id
*/
userId?: string | number;
/**
*
*/
orderNum?: number;
/**
* key键
*/
testKey?: string;
/**
*
*/
value?: string;
}

View File

@ -0,0 +1,78 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ContentBusinessBannerVO, ContentBusinessBannerForm, ContentBusinessBannerQuery } from '@/api/contentManage/business/banner/types';
/**
* banner内容列表
* @param query
* @returns {*}
*/
export const listContentBusinessBanner = (query?: ContentBusinessBannerQuery): AxiosPromise<ContentBusinessBannerVO[]> => {
return request({
url: '/content/business/banner/list',
method: 'get',
params: query
});
};
/**
* banner内容详细
* @param id
*/
export const getContentBusinessBanner = (id: string | number): AxiosPromise<ContentBusinessBannerVO> => {
return request({
url: '/content/business/banner/' + id,
method: 'get'
});
};
/**
* banner内容
* @param data
*/
export const addContentBusinessBanner = (data: ContentBusinessBannerForm) => {
return request({
url: '/content/business/banner',
method: 'post',
data: data
});
};
/**
* banner内容
* @param data
*/
export const updateContentBusinessBanner = (data: ContentBusinessBannerForm) => {
return request({
url: '/content/business/banner',
method: 'put',
data: data
});
};
/**
* banner内容
* @param id
*/
export const delContentBusinessBanner = (id: string | number | Array<string | number>) => {
return request({
url: '/content/business/banner/' + id,
method: 'delete'
});
};
// 发布
export const bannerPublish = (id: any) => {
return request({
url: '/content/business/banner/publish/' + id,
method: 'put'
});
};
// 取消发布
export const bannerCancel = (id: any) => {
return request({
url: '/content/business/banner/cancel/' + id,
method: 'put'
});
};

View File

@ -0,0 +1,140 @@
export interface ContentBusinessBannerVO {
/**
* ID
*/
id: string | number;
/**
* banner标题
*/
title: string;
/**
*
*/
sortNum: number;
/**
* 0-C端用户不可见 1-C端用户可见
*/
customerView: number;
/**
* 0-B端员工不可见 1-B端员工可见
*/
businessView: number;
/**
* banner状态 0- 1-
*/
status: number;
/**
* ID
*/
coverImgId: string | number;
/**
*
*/
targetUrl: string;
/**
*
*/
pv: number;
}
export interface ContentBusinessBannerForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
viewType: any;
/**
* banner标题
*/
title?: string;
/**
*
*/
sortNum?: number;
/**
* 0-C端用户不可见 1-C端用户可见
*/
customerView?: number;
/**
* 0-B端员工不可见 1-B端员工可见
*/
businessView?: number;
/**
* banner状态 0- 1-
*/
status?: number;
/**
* ID
*/
coverImgId?: any;
/**
*
*/
targetUrl?: string;
/**
*
*/
pv?: number;
}
export interface ContentBusinessBannerQuery extends PageQuery {
/**
* banner标题
*/
title?: string;
/**
*
*/
sortNum?: number;
/**
* 0-C端用户不可见 1-C端用户可见
*/
customerView?: number;
/**
* 0-B端员工不可见 1-B端员工可见
*/
businessView?: number;
/**
* banner状态 0- 1-
*/
status?: number;
/**
* ID
*/
coverImgId?: string | number;
/**
*
*/
targetUrl?: string;
/**
*
*/
pv?: number;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ContentBusinessCategoryVO, ContentBusinessCategoryForm, ContentBusinessCategoryQuery } from '@/api/contentManage/business/maintain/types';
/**
*
* @param query
* @returns {*}
*/
export const listContentBusinessCategory = (query?: ContentBusinessCategoryQuery): AxiosPromise<ContentBusinessCategoryVO[]> => {
return request({
url: '/content/business/category/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getContentBusinessCategory = (id: string | number): AxiosPromise<ContentBusinessCategoryVO> => {
return request({
url: '/content/business/category/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addContentBusinessCategory = (data: ContentBusinessCategoryForm) => {
return request({
url: '/content/business/category',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateContentBusinessCategory = (data: ContentBusinessCategoryForm) => {
return request({
url: '/content/business/category',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delContentBusinessCategory = (id: string | number | Array<string | number>) => {
return request({
url: '/content/business/category/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,50 @@
export interface ContentBusinessCategoryVO {
/**
* ID
*/
id: string | number;
/**
*
*/
name: string;
/**
*
*/
sortNum: boolean;
}
export interface ContentBusinessCategoryForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
*
*/
name?: string;
/**
*
*/
sortNum?: string | numbe;
}
export interface ContentBusinessCategoryQuery extends PageQuery {
/**
*
*/
name?: string;
/**
*
*/
sortNum?: string | number;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,168 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ContentBusinessVideoVO, ContentBusinessVideoForm, ContentBusinessVideoQuery } from '@/api/contentManage/business/videoContent/types';
/**
*
* @param query
* @returns {*}
*/
export const listContentBusinessVideo = (query?: ContentBusinessVideoQuery): AxiosPromise<ContentBusinessVideoVO[]> => {
return request({
url: '/content/business/video/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getContentBusinessVideo = (id: string | number): AxiosPromise<ContentBusinessVideoVO> => {
return request({
url: '/content/business/video/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addContentBusinessVideo = (data: ContentBusinessVideoForm) => {
return request({
url: '/content/business/video',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateContentBusinessVideo = (data: ContentBusinessVideoForm) => {
return request({
url: '/content/business/video',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delContentBusinessVideo = (id: string | number | Array<string | number>) => {
return request({
url: '/content/business/video/' + id,
method: 'delete'
});
};
/**
*
* @returns
*/
export const categoryDropList = () => {
return request({
url: '/content/business/category/dropList',
method: 'get'
});
};
// 发布
export const publish = (id: any) => {
return request({
url: '/content/business/video/publish/' + id,
method: 'put'
});
};
// 撤销发布
export const cancelPublish = (id: any) => {
return request({
url: '/content/business/video/cancel/' + id,
method: 'put'
});
};
/**
*
* @returns
*/
export const statisticsList = (query: any) => {
return request({
url: '/content/business/statistics/list',
method: 'get',
params: query
});
};
// =================================================================================================
// 商学院 图文管理列表
export const articleList = (query: any) => {
return request({
url: '/content/business/article/list',
method: 'get',
params: query
});
};
/**
*
* @param data
* @returns
*/
export const addContentBusinessArticle = (data: ContentBusinessVideoForm) => {
return request({
url: '/content/business/article',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateContentBusinessArticle = (data: ContentBusinessVideoForm) => {
return request({
url: '/content/business/article',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delContentBusinessArticle = (id: string | number | Array<string | number>) => {
return request({
url: '/content/business/article/' + id,
method: 'delete'
});
};
/**
*
* @param id
* @returns
*/
export const getContentBusinessArticle = (id: string | number): AxiosPromise<ContentBusinessVideoVO> => {
return request({
url: '/content/business/article/' + id,
method: 'get'
});
};
// 发布
export const articlePublish = (id: any) => {
return request({
url: '/content/business/article/publish/' + id,
method: 'put'
});
};
// 撤销发布
export const cancelArticlePublish = (id: any) => {
return request({
url: '/content/business/article/cancel/' + id,
method: 'put'
});
};

View File

@ -0,0 +1,263 @@
export interface ContentBusinessVideoVO {
/**
* ID
*/
id: string | number;
/**
*
*/
title: string;
/**
*
*/
subtitle: string;
/**
*
*/
speaker: string;
/**
*
*/
sortNum: any;
/**
* 0-C端用户不可见 1-C端用户可见
*/
customerView: any;
/**
* 0-B端员工不可见 1-B端员工可见
*/
businessView: any;
/**
* ID
*/
contentBusinessCategoryId: string | number;
/**
* ID
*/
coverImgId: string | number;
/**
* 0- 1-
*/
recommend: boolean;
/**
*
*/
videoId: string | number;
/**
*
*/
videoDetail: string | number;
/**
* 0-稿 1- 1-
*/
mediaStatus: string | number;
/**
*
*/
pv: number;
/**
*
*/
sharePersonCount: number;
/**
*
*/
uv: number;
/**
*
*/
viewAverageDuration: number;
}
export interface ContentBusinessVideoForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
viewType?: any;
mediaType?: any;
/**
*
*/
title?: string;
/**
*
*/
subtitle?: string;
/**
*
*/
speaker?: string;
/**
*
*/
sortNum?: any;
/**
* 0-C端用户不可见 1-C端用户可见
*/
customerView?: any;
/**
* 0-B端员工不可见 1-B端员工可见
*/
businessView?: any;
/**
* ID
*/
contentBusinessCategoryId?: string | number;
/**
* ID
*/
coverImgId?: any;
/**
* 0- 1-
*/
recommend?: number;
/**
*
*/
videoId?: any;
/**
*
*/
detail?: any;
/**
* 0-稿 1- 1-
*/
mediaStatus?: string | number;
/**
*
*/
pv?: number;
/**
*
*/
sharePersonCount?: number;
/**
*
*/
uv?: number;
/**
*
*/
viewAverageDuration?: number;
}
export interface ContentBusinessVideoQuery extends PageQuery {
/**
*
*/
title?: string;
endDate?: string;
startDate?: string;
mediaType: any;
/**
*
*/
subtitle?: string;
/**
*
*/
speaker?: string;
/**
*
*/
sortNum?: number;
/**
* 0-C端用户不可见 1-C端用户可见
*/
customerView?: boolean;
/**
* 0-B端员工不可见 1-B端员工可见
*/
businessView?: boolean;
/**
* ID
*/
contentBusinessCategoryId?: string | number;
/**
* ID
*/
coverImgId?: string | number;
/**
* 0- 1-
*/
recommend?: boolean;
/**
*
*/
videoId?: string | number;
/**
*
*/
detail?: string | number;
/**
* 0-稿 1- 1-
*/
mediaStatus?: string | number;
/**
*
*/
pv?: number;
/**
*
*/
sharePersonCount?: number;
/**
*
*/
uv?: number;
/**
*
*/
viewAverageDuration?: number;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,64 @@
import request from '@/utils/request';
/* 获取商品组列表 */
export function getMerchandiseGroup(params: any) {
return request({
url: '/system/merchandiseGroup/list',
method: 'get',
params
})
}
/* 获取商品组详细信息 */
export function getMerchandiseGroupInfo(id: any) {
return request({
url: '/system/merchandiseGroup/'+id,
method: 'get',
})
}
/* 添加商品组 */
export function addMerchandiseGroup(params: any) {
return request({
url: '/system/merchandiseGroup',
method: 'post',
data: params
})
}
/* 修改商品组 */
export function modifyMerchandiseGroup(params: any) {
return request({
url: '/system/merchandiseGroup',
method: 'put',
data: params
})
}
/* 删除商品组 */
export function deleteMerchandiseGroup(id: any) {
return request({
url: '/system/merchandiseGroup/'+id,
method: 'delete',
})
}
/* 上架 */
export function publishMerchandiseGroup(params: any) {
return request({
url: '/system/merchandiseGroup/publish',
method: 'put',
params
})
}
/* 下架 */
export function cancelMerchandiseGroup(params: any) {
return request({
url: '/system/merchandiseGroup/cancel',
method: 'put',
params
})
}

View File

@ -0,0 +1,13 @@
import request from '@/utils/request';
/**
*
* @returns
*/
export function getMaterialGroups(params:anyObject) {
return request({
url: '/system/contentFeedback/list',
method: 'get',
params:params
})
}

View File

@ -0,0 +1,138 @@
import request from '@/utils/request';
/**
*
* @returns
*/
export function getMaterialGroups(params) {
return request({
url: '/system/contentMaterialGroup/getTree',
method: 'get',
params:params
})
}
/* 获取图片列表 */
export function getPicList(params:anyObject) {
return request({
url: '/system/contentMaterialImage/list',
method: 'get',
params
})
}
/* 添加图片分组 */
export function addPicGroup(params:anyObject) {
return request({
url: '/system/contentMaterialGroup',
method: 'post',
data: params
})
}
/* 修改图片/视频分组 */
export function modifyMaterialGroup(params:anyObject) {
return request({
url: '/system/contentMaterialGroup',
method: 'put',
data: params
})
}
/* 删除分组 */
export function deletePicGroup(id, params) {
return request({
url: '/system/contentMaterialGroup/'+id,
method: 'delete',
params
})
}
/* 获取分组信息 */
export function gettMaterialGroupInfo(id:number|string) {
return request({
url: '/system/contentMaterialGroup/'+id,
method: 'get',
})
}
/* 获取图片信息 */
export function getPicInfo(id:number|string) {
return request({
url: '/system/contentMaterialImage/'+id,
method: 'get',
})
}
/* 删除图片 */
export function deletListPic(id:any) {
return request({
url: '/system/contentMaterialImage/'+id,
method: 'delete',
})
}
/* 上传图片 */
export function addPicMaterial(params:anyObject) {
return request({
url: '/system/contentMaterialImage',
method: 'post',
data: params
})
}
/* 修改图片 */
export function modeifyPicMaterial(params:anyObject) {
return request({
url: '/system/contentMaterialImage',
method: 'put',
data: params
})
}
/* ================================视频====================================== */
/* 新增视频 */
export function addVideoMaterial(params:anyObject) {
return request({
url: '/system/contentMaterialVideo',
method: 'post',
data: params
})
}
/* 获取视频列表 */
export function getVideoList(params:anyObject) {
return request({
url: '/system/contentMaterialVideo/list',
method: 'get',
params
})
}
/* 删除视频 */
export function deletListVideo(id:any) {
return request({
url: '/system/contentMaterialVideo/'+id,
method: 'delete',
})
}
/* 修改视频 */
export function modeifyVideoMaterial(params:anyObject) {
return request({
url: '/system/contentMaterialVideo',
method: 'put',
data: params
})
}
/* 获取视频信息 */
export function getMaterialVideofo(id:number|string) {
return request({
url: '/system/contentMaterialVideo/'+id,
method: 'get',
})
}

View File

@ -0,0 +1,66 @@
import request from '@/utils/request';
/**
*
* @returns
*/
export function getSourceContentList(params) {
return request({
url: '/system/traceabilityConf/list',
method: 'get',
params:params
})
}
/* 上架 */
export function publishSourceContent(params:anyObject) {
return request({
url: '/system/traceabilityConf/publish',
method: 'put',
params
})
}
/* 下架 */
export function cancelSourceContent(params:anyObject) {
return request({
url: '/system/traceabilityConf/cancel',
method: 'put',
params
})
}
/* 删除溯源内容 */
export function deleteSourceContent(id:any) {
return request({
url: '/system/traceabilityConf/'+id,
method: 'delete',
})
}
/* 详情 */
export function getSourceContentInfo(id:any) {
return request({
url: '/system/traceabilityConf/'+id,
method: 'get',
})
}
/* 修改溯源内容 */
export function modifySourceContent(params:any) {
return request({
url: '/system/traceabilityConf',
method: 'put',
data:params
})
}
/* 新增溯源内容 */
export function addSourceContent(params:any) {
return request({
url: '/system/traceabilityConf',
method: 'post',
data:params
})
}

548
src/api/dataCenter/index.ts Normal file
View File

@ -0,0 +1,548 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
// 查询数据中心详情
export const listDatacenter = (query?: any) => {
return request({
url: '/dataCenter/businessOverview/getDataCenterInfo',
method: 'get',
params: query
});
};
//收款构成
//礼包统计
export const listGiftpackge = (query?: any) => {
return request({
url: '/dataCenter/businessOverview/sysGiftPackageStatisticsList',
method: 'get',
params: query
});
};
//待核销金额
export const waitForWriteoff = (query?: any) => {
return request({
url: '/dataCenter/businessOverview/getPendingVerificationAmountInfo',
method: 'get',
params: query
});
};
//储值趋势分析
export const storeValueAnalysis = (query?: any) => {
return request({
url: '/dataCenter/businessOverview/analysisOfStoredValue',
method: 'get',
params: query
});
};
//储值分布
export const storeValueDistrbute = (query?: any) => {
return request({
url: '/dataCenter/businessOverview/distributionOfStoredValue',
method: 'get',
params: query
});
};
//商品概况
export const productOverview = (query?: any) => {
return request({
url: '/system/dataCenter/commodityAnalysis',
method: 'get',
params: query
});
};
//分类 退款 畅销排行
export const classifyCommodityRank = (query?: any) => {
return request({
url: '/system/dataCenter/classifyCommodityRank',
method: 'get',
params: query
});
};
//异常商品
export const commodityAbnormal = (query?: any) => {
return request({
url: '/system/dataCenter/commodityAbnormal',
method: 'get',
params: query
});
};
//商品销售明细
export const commoditySaleDetail = (query?: any) => {
return request({
url: '/system/dataCenter/commoditySaleDetail',
method: 'get',
params: query
});
};
//客户概况
export const customerInfo = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCustomerOverviewStatistics',
method: 'get',
params: query
});
}
// 客户成交
export const customerDeal = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCustomerDealDoneStatistics',
method: 'get',
params: query
});
}
//客户储值
export const customerStoreValue = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCustomerStoredValueStatistics',
method: 'get',
params: query
});
}
//付费会员卡统计
export const paidMembershipCard = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getFeeCustomerStatistics',
method: 'get',
params: query
});
}
//付费会员购买分布汇总统计
export const paidMembershipCardDistribution = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getFeeCustomerDistributionStatistics',
method: 'get',
params: query
});
}
//客户来源渠道排行
export const customerSourceChannel = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCustomerOverviewSourceTopStatistics',
method: 'get',
params: query
});
}
//客户来源门店统计
export const customerSourceStore = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCustomerOverviewMemberFromShopStatistics',
method: 'get',
params: query
});
}
//客户身份分析统计
export const customerIdentity = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCustomerOverviewCustomerIdentityStatistics',
method: 'get',
params: query
});
}
//订单明细报表
export const orderDetail = (query?: any) => {
return request({
url: '/system/dataCenter/orderDetail',
method: 'get',
params: query
});
}
//商品销售汇总
export const commoditySaleSummary = (query?: any) => {
return request({
url: '/system/dataCenter/CommoditySaleSummary',
method: 'get',
params: query
});
}
//经营利润汇总
export const profitSummary = (query?: any) => {
return request({
url: '/dataCenter/profitStatement/list',
method: 'get',
params: query
});
}
// 利润明细
export const profitDetail = (query?: any) => {
return request({
url: '/dataCenter/profitStatement/detail/list',
method: 'get',
params: query
});
}
//店铺业绩报表
export const storePerformance = (query?: any) => {
return request({
url: '/system/dataCenter/shopPerformance',
method: 'get',
params: query
});
}
// 商品同比环比报表
export const commodityYearOnYear = (query?: any) => {
return request({
url: '/system/dataCenter/commodityMonYoy',
method: 'get',
params: query
});
}
//积分概况汇总
export const integralSummary = (query?: any) => {
return request({
url: '/dataCenter/pointsAnalysis/getShopPointsAnalysis',
method: 'get',
params: query
});
}
//积分发放分布汇总
export const integralDistribution = (query?: any) => {
return request({
url: '/dataCenter/pointsAnalysis/getShopPointsDistributionAnalysis',
method: 'get',
params: query
});
}
//积分消耗排行
export const integralConsumption = (query?: any) => {
return request({
url: '/dataCenter/pointsAnalysis/getPointsConsumedRankAnalysis',
method: 'get',
params: query
});
}
//积分发放排行
export const integralIssuance = (query?: any) => {
return request({
url: '/dataCenter/pointsAnalysis/getPointsEarnedRankAnalysis',
method: 'get',
params: query
});
}
//人群画像 人群概览汇总 免费会员等级统计
export const peoplePortrait = (query?: any) => {
return request({
url: '/dataCenter/crowdPortrait/getCrowdPortraitOverviewStatistics',
method: 'get',
params: query
});
}
//人群画像 购次分布统计
export const wordDistribution = (query?: any) => {
return request({
url: '/dataCenter/crowdPortrait/getBuyTimesByGroup',
method: 'get',
params: query
});
}
//人群画像 消费时间统计
export const consumptionTime = (query?: any) => {
return request({
url: '/dataCenter/crowdPortrait/getConsumptionDateByGroup',
method: 'get',
params: query
});
}
//人群画像 性别分布统计
export const genderDistribution = (query?: any) => {
return request({
url: '/dataCenter/crowdPortrait/getSexByGroup',
method: 'get',
params: query
});
}
//人群画像 年龄分布统计
export const ageDistribution = (query?: any) => {
return request({
url: '/dataCenter/crowdPortrait/getAgeByGroup',
method: 'get',
params: query
});
}
//人群画像 地域分布统计
export const regionDistribution = (query?: any) => {
return request({
url: '/dataCenter/crowdPortrait/getRegionDistribution',
method: 'get',
params: query
})
}
//新人引流 数据统计 门店维度列表
export const newcomerTrafficDataStatistics = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/overview',
method: 'get',
params: query
})
}
// 商品图表
export const getBuyTimesByGroup = (query?: any) => {
return request({
url: '/system/dataCenter/commoditySalePic',
method: 'get',
params: query
});
}
//笔单价
export const priceDistributionAPI = (query?: any) => {
return request({
url: '/dataCenter/crowdPortrait/getPerPriceByTradeCount',
method: 'get',
params: query
});
}
//新增会员折线图
export const newMemberLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getAddCustomerStatistics',
method: 'get',
params: query
});
}
//付费会员卡 汇总统计
export const paidMembershipCardSummaryAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getFeeCustomerStatistics',
method: 'get',
params: query
});
}
// 累计客户数折线图
export const cumulativeCustomerLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCumulativeCustomerCountStatistics',
method: 'get',
params: query
});
}
// 累计会员数折线图
export const cumulativeMemberLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCumulativeMemberCountStatistics',
method: 'get',
params: query
});
}
//累计会员占比折线图
export const cumulativeMemberRatioLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getCumulativeMemberPercentStatistics',
method: 'get',
params: query
});
}
//支付会员折线图
export const paymentMemberLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getDayPayMemberCountStatistics',
method: 'get',
params: query
});
}
// 支付会员占比折线图
export const paymentMemberRatioLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getDayPayMemberPercentStatistics',
method: 'get',
params: query
});
}
//会员支付金额 折线图
export const memberPaymentAmountLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getDayPayAmountByMemberStatistics',
method: 'get',
params: query
});
}
// 会员支付金额占比 折线图
export const memberPaymentAmountRatioLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getDayPayAmountPercentByMemberStatistics',
method: 'get',
params: query
});
}
// 会员客单价 折线图
export const memberAveragePriceLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getMemberUnitPriceStatistics',
method: 'get',
params: query
});
}
// 储值客户数折线图
export const storedValueCustomerLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getStoredCustomerCountStatistics',
method: 'get',
params: query
});
}
// 储值金额 本金 折线图
export const storedValueAmountLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getStoredAmountStatistics',
method: 'get',
params: query
});
}
// 储值支付客户数 折现图
export const storedValuePaymentCustomerLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getStoredPayCustomerCountStatistics',
method: 'get',
params: query
});
}
// 储值支付金额 折现图
export const storedValuePaymentAmountLineChartAPI = (query?: any) => {
return request({
url: '/dataCenter/customerOverview/getStoredPayAmountStatistics',
method: 'get',
params: query
});
}
// 不同额度引流储值人数
export const getDrainageStatistics = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/getTrafficAcquisitionPrepaidDetail',
method: 'get',
params: query
});
}
// 不同额度散客人数
export const getConsumeStatistics = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/getWalkInPrepaidCountDetail',
method: 'get',
params: query
});
}
// 不同额度总储值人数
export const getTotalPrepaidUserCountDetail = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/getTotalPrepaidUserCountDetail',
method: 'get',
params: query
});
}
// 不同额度消费人数
export const getTotalConsumeUserCountDetail = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/getPrepaidConsumersDetail',
method: 'get',
params: query
});
}
// 不同额度续充人数
export const getTotalRechargeUserCountDetail = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/getRechargeUserCountDetail',
method: 'get',
params: query
});
}
// 不同额度新增人数
export const getTotalAddUserCountDetail = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/getAddCustomerCountDetail',
method: 'get',
params: query
});
}
//生成商品数据
export const generateData = (query?: any) => {
return request({
url: '/system/dataCenter/generateCommoditySaleStatisticsData',
method: 'get',
params: query
});
}
// 生成订单明细数据
export const generateOrderDetailData = (query?: any) => {
return request({
url: '/system/dataCenter/generateOrderDetailData',
method: 'get',
params: query
});
}
//生成实时利润报表
export const generateProfitStatementData = (query?: any) => {
return request({
url: '/dataCenter/profitStatement/task',
method: 'get',
params: query
});
}
//生成店铺业绩
export const generateDataShop = (query?: any) => {
return request({
url: '/system/dataCenter/generateShopPerformanceData',
method: 'get',
params: query
});
}
//生成商品销售汇总
export const generateCommoditySaleSummaryData = (query?: any) => {
return request({
url: '/system/dataCenter/generateCommoditySaleSummary',
method: 'get',
params: query
});
}
//新人引流 本期汇总
export const getcurrentOverview = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/current/overview',
method: 'get',
params: query
})
}
//新人引流 实时数据
export const generateTrafficData = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/task',
method: 'get',
params: query
})
}
//门店下不同储值人数
export const getDifferentStorePrepaidUserCountDetail = (query?: any) => {
return request({
url: '/system/newcomerTrafficDataStatistics/getShopTotalPrepaidUserCountDetail',
method: 'get',
params: query
})
}
//商品同环比 生成数据
export const generateCommodityMonYoyData = (query?: any) => {
return request({
url: '/system/dataCenter/generateCommodityMomYoyData',
method: 'get',
params: query
})
}
// 同环比 详情信息
export const getCommodityMonYoyDetail = (query?: any) => {
return request({
url: '/system/dataCenter/commodityMonYoy',
method: 'get',
params: query
})
}
// 营业概况 生成数据
export const generateDataBussiness = (query?: any) => {
return request({
url: '/system/dataCenter/fetchDataCenterDateRange',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,62 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DemoVO, DemoForm, DemoQuery } from '@/api/demo/demo/types';
/**
*
* @param query
* @returns {*}
*/
export const listDemo = (query?: DemoQuery): AxiosPromise<DemoVO[]> => {
return request({
url: '/demo/demo/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getDemo = (id: string | number): AxiosPromise<DemoVO> => {
return request({
url: '/demo/demo/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDemo = (data: DemoForm) => {
return request({
url: '/demo/demo',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDemo = (data: DemoForm) => {
return request({
url: '/demo/demo',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delDemo = (id: string | number | Array<string | number>) => {
return request({
url: '/demo/demo/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,90 @@
export interface DemoVO {
/**
*
*/
id: string | number;
/**
* id
*/
deptId: string | number;
/**
* id
*/
userId: string | number;
/**
*
*/
orderNum: number;
/**
* key键
*/
testKey: string;
/**
*
*/
value: string;
}
export interface DemoForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
deptId?: string | number;
/**
* id
*/
userId?: string | number;
/**
*
*/
orderNum?: number;
/**
* key键
*/
testKey?: string;
/**
*
*/
value?: string;
}
export interface DemoQuery extends PageQuery {
/**
* id
*/
deptId?: string | number;
/**
* id
*/
userId?: string | number;
/**
*
*/
orderNum?: number;
/**
* key键
*/
testKey?: string;
/**
*
*/
value?: string;
}

View File

@ -0,0 +1,62 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { TreeVO, TreeForm, TreeQuery } from '@/api/demo/tree/types';
/**
*
* @param query
* @returns {*}
*/
export const listTree = (query?: TreeQuery): AxiosPromise<TreeVO[]> => {
return request({
url: '/demo/tree/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getTree = (id: string | number): AxiosPromise<TreeVO> => {
return request({
url: '/demo/tree/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addTree = (data: TreeForm) => {
return request({
url: '/demo/tree',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateTree = (data: TreeForm) => {
return request({
url: '/demo/tree',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delTree = (id: string | number | Array<string | number>) => {
return request({
url: '/demo/tree/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,80 @@
export interface TreeVO {
/**
*
*/
id: string | number;
/**
* id
*/
parentId: string | number;
/**
* id
*/
deptId: string | number;
/**
* id
*/
userId: string | number;
/**
*
*/
treeName: string;
/**
*
*/
children: TreeVO[];
}
export interface TreeForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
parentId?: string | number;
/**
* id
*/
deptId?: string | number;
/**
* id
*/
userId?: string | number;
/**
*
*/
treeName?: string;
}
export interface TreeQuery {
/**
* id
*/
parentId?: string | number;
/**
* id
*/
deptId?: string | number;
/**
* id
*/
userId?: string | number;
/**
*
*/
treeName?: string;
}

266
src/api/fund/index.ts Normal file
View File

@ -0,0 +1,266 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { Balance, FundOverviewVO, getBalanceRecord, getBalanceRecordList } from '@/api/fund/types';
/*
*
* */
export const getFundOverview = (params?): AxiosPromise<FundOverviewVO> => {
return request({
url: '/system/financeCenter/getHqFinance',
method: 'get',
params
});
};
/*
*
* */
export const getShopFinance = (params?): AxiosPromise<FundOverviewVO> => {
return request({
url: '/system/financeCenter/getShopFinance',
method: 'get',
params
});
};
/*
*
* */
export const getShopBalance = () => {
return request({
url: '/system/financeCenter/settleAccounts',
method: 'get'
});
};
/*
*
*
* */
export const getCalculateAmount = (params?: any) => {
return request({
url: '/system/financeCenter/getSettleAccounts',
method: 'get',
params
});
};
/**
*
*/
export const getHeadBalanceDetail = (params: Balance): AxiosPromise<getHeadBalanceRecord> => {
return request({
url: '/system/financeCenter/getHeadBalanceRecord',
method: 'get',
params
});
};
/**
*
*/
export const getBalanceDetail = (params: Balance): AxiosPromise<getBalanceRecord> => {
return request({
url: '/system/financeCenter/getBalanceRecord',
method: 'get',
params
});
};
// 查询核销结算储值金记录列表
export const getBalanceRecordListApi = (params: Balance): AxiosPromise<getBalanceRecord> => {
return request({
url: '/system/settlementRecord/list',
method: 'get',
params
});
};
/**
* /system/financeCenter/settleAccounts
* --
*/
export const getCardVerificationRecord = (
params: getBalanceRecordList
): AxiosPromise<getBalanceRecord> => {
return request({
url: '/system/financeCenter/getCardVerificationRecord',
method: 'get',
params
});
};
/**
*
* -
*/
export const getWithdrawApply = (params) => {
return request({
url: '/system/shopWithdraw/list',
method: 'get',
params
});
};
/**
*
* --
*/
export const exportWithdrawApply = (params) => {
return request({
url: '/system/shopWithdraw/export',
method: 'post',
params,
responseType: 'blob'
});
};
/**
* --
*
*/
export const getShopBankInfo = (id) => {
return request({
url: `/system/shopWithdraw/${id}`,
method: 'get'
});
};
/**
* -
*
*
*/
export const addWithdrawApply = (data) => {
return request({
url: '/system/shopWithdraw',
method: 'post',
data
});
};
/**
* --
*/
export const editWithdrawApply = (data) => {
return request({
url: '/system/shopWithdraw',
method: 'put',
data
});
};
/*
* --
* /system/moneyCardUser/adminQueryPageList
* */
export const adminQueryPageList = (params) => {
return request({
url: '/system/moneyCardUser/adminQueryPageList',
method: 'get',
params
});
};
/*
* --
* /statisticsQueryPageList
* */
export const statisticsQueryPageList = (params) => {
return request({
url: '/system/moneyCardUser/statisticsQueryPageList',
method: 'get',
params
});
};
/*
*
* */
export const getFinanceCenterList = (params) => {
return request({
url: '/system/dailyStoreReconciliation/list',
method: 'get',
params
});
};
/*
*
*
* */
export const getCashierList = (params) => {
return request({
url: '/system/shop/listAccShopCashier',
method: 'get',
params
});
};
/*
*
*
* */
export const getFinanceCenterDetail = (params) => {
return request({
url: '/system/dailyStoreReconciliation/getInfo',
method: 'get',
params
});
};
/*
*
*
* */
export const putFinanceCenterDetail = (data) => {
return request({
url: '/system/dailyStoreReconciliation',
method: 'put',
data
});
};
/*
*
*
* */
export const exportFinanceCenterDetail = (data) => {
return request({
url: '/system/dailyStoreReconciliation/export',
method: 'post',
data
});
};
/*
*
*
* */
export const getCashierDetail = (params) => {
return request({
url: '/system/shop/accShopCashierDetailsInfo',
method: 'get',
params
});
};
/*
*
*
* */
export const getSummary = (params) => {
return request({
url: '/system/financeCenter/getSummarizing',
method: 'get',
params
});
};
//查询佣金列表
export const getCommissionList = (params?) => {
return request({
url: '/system/financeCenter/queryDistributionOrders',
method: 'get',
params
});
};
//查询佣金列表
export const getCommissionList2 = (params?) => {
return request({
url: '/system/financeCenter/queryDistributionOrders2',
method: 'get',
params
});
};
// 发放储值金
export const getGiveMoney = (data) => {
return request({
url: '/system/financeCenter/settleAccounts',
method: 'post',
data
});
};

170
src/api/fund/types.ts Normal file
View File

@ -0,0 +1,170 @@
export interface FundOverviewVO {
balance: number; // 余额
storedValue: number; // 储值
retailValue: number; // 零售
accountPayAmount: number;//余额支付
payAmount: number; // 商品销售金额(元)
shopPayAmount: number; // 门店商品销售金额(元)
shopMiniPayAmount: number; // 门店小程序 商品销售金额(元)
hqMiniPayAmount: number; // 总部小程序 商品销售金额(元)
signPayAmount: number; // 【门店标记】商品销售金额(元)
shopMiniThirdPayAmount: number,// 商品销售金额 三方-小程序
shopMiniAccountPayAmount: number,// 商品销售金额 余额支付-小程序
cashPayAmount: number; // 按支付价计算
thirdPayAmount: number; // 【小程序】储值金额(元)
shopThirdHistoryStoredValue: number; // 储值
shopCashHistoryStoredValue: number; // 门店储值现金金额
signHistoryStoredValue: number; // 【标记-已交总部】储值金额(元)
verificationHistoryStoredValue: number; // 【标记-已交总部】储值金额(元)
sendVerificationHistoryStoredValue: number; // 已发放核销储值金额(元)
equityCardSellValue: number; // 权益卡销售金额(元)
shopEquityCardSellValue: number; // 【门店标记】权益卡金额(元)
sumEquityCashPrice: number; // 权益卡现金金额(元)
signToHeadEquityCardPayValue: number; // 【门店标记-已交总部】权益卡金额(元)
hqBrokerageValue: number; // 【总部】累计佣金金额(元)
hqWaitSettleAmount: number; // 【总部】待结算佣金金额(元)
hqSendedSettleValue: number; // 【总部】已发放佣金金额(元)
hqSendedSpuSettleValue: number; // 【总部】已发放商品佣金(元)
hqSendedSpuCardValue: number; // 【总部】已发放储值卡佣金(元)
historyStoredValueL: number;
sumMiniEquityCardGiveValue: number;
signToHeadHistoryStoredValue: number;
historyStoredValue: number;
historyMiniStoredValue: number;
caculateValue:Number;//门店三方收款总额
}
export interface Balance {
/**
*
*/
paymentDateEnd?: string;
/**
* /
*/
id?: string;
/**
* desc或者asc
*/
isAsc?: string;
/**
*
*/
orderByColumn?: string;
/**
*
*/
pageNum: number;
/**
*
*/
pageSize: number;
/**
* 01线 2(线)3
*/
payType?: number | string;
/**
* id
*/
shopId: string;
/**
*
*/
shopName?: string;
/**
* 012线 3
*/
sourceType?: number | string;
/**
* limit起始下标
*/
startIndex?: number;
/**
*
*/
paymentDateStart?: string;
/**
*
*/
dateRange?: string[];
}
/**
* TableDataInfoQtBalanceRecordVo
*/
export interface getBalanceRecord {
/**
*
*/
code?: number;
/**
*
*/
commodityCount?: number;
/**
*
*/
msg?: string;
/**
*
*/
rows: QtBalanceRecordVo[];
/**
*
*/
total?: number;
[property: string]: any;
}
/**
*
*
* QtBalanceRecordVo
*/
export interface QtBalanceRecordVo {
/**
*
*/
createTime?: string;
/**
* 1 2 3 4退 5退 6退
*/
ctype?: number;
/**
* /
*/
id?: number;
/**
*
*/
payAmount?: number;
/**
* 01线 2(线)3
*/
payType?: number;
/**
* 退,
*/
returnAmount?: number;
/**
*
*/
shopName?: string;
/**
* 012线 3
*/
sourceType?: number;
/**
* *
* 0 1
*/
type?: number;
}
export interface getBalanceRecordList {
page: number;
size: number;
[property: string]: any;
}

13
src/api/goods/index.ts Normal file
View File

@ -0,0 +1,13 @@
import request from '@/utils/request';
/**
*
* @returns {Promise} Promise对象
*/
export function getGoods(data?: anyObject) {
return request({
url: '/system/commoditySpu/procurementList',
method: 'get',
params: data ?? {}
});
}

16
src/api/handOver/index.ts Normal file
View File

@ -0,0 +1,16 @@
import request from '@/utils/request';
// 查询日交接班记录列表
export const getHandOverList = (query: any) => {
return request({
url: '/system/handoverDayRecord/list',
method: 'get',
params: query
});
};
// 查询日交接班记录详细
export const getHandOverDetails = (id: number) => {
return request({
url: `/system/handoverDayRecord/${id}`,
method: 'get'
});
};

120
src/api/index.ts Normal file
View File

@ -0,0 +1,120 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { RouteRecordRaw } from 'vue-router';
/**
*
* @param query
* @returns {*}
*/
export const purchaseInfo = (query: any) => {
return request({
url: '/system/workbenches/qtPurchase/info',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns {*}
*/
export const distributionList = (query: any) => {
return request({
url: '/system/workbenches/distribution/list',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns {*}
*/
export const orderInfo = (query: any) => {
return request({
url: '/system/workbenches/order/info',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns {*}
*/
export const withdrawInfo = (query: any) => {
return request({
url: '/system/workbenches/withdraw/info',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns {*}
*/
export const storePerformance = (query: any) => {
return request({
url: '/system/workbenches/shopPerformance/list',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns {*}
*/
export const commoditySale = (query: any) => {
return request({
url: '/system/workbenches/commoditySaleCount/list',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns {*}
*/
export const getNewShopList = (query: any) => {
return request({
url: '/shop/dataScopeTree',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns {*}
*/
export const dataCenterInfoShop = (query: any) => {
return request({
url: '/system/workbenches/dataCenterInfoShop/info',
method: 'get',
params: query
});
};

View File

@ -0,0 +1,102 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { InventoryCheckVO, InventoryCheckForm, InventoryCheckQuery } from '@/api/inventory/inventoryCheck/types';
import { dataScope } from '@/api/system/role';
/**
*
* @param query
* @returns {*}
*/
export const listInventoryCheck = (query?: InventoryCheckQuery): AxiosPromise<InventoryCheckVO[]> => {
return request({
url: '/system/inventoryCheck/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getInventoryCheck = (id: string | number): AxiosPromise<InventoryCheckVO> => {
return request({
url: '/system/inventoryCheck/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addInventoryCheck = (data: InventoryCheckForm) => {
return request({
url: '/system/inventoryCheck',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateInventoryCheck = (data: InventoryCheckForm) => {
return request({
url: '/system/inventoryCheck',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delInventoryCheck = (id: string | number | Array<string | number>) => {
return request({
url: '/system/inventoryCheck/' + id,
method: 'delete'
});
};
/**
* 稿
* @param data
*/
export const draftInventoryCheck = (data: InventoryCheckForm) => {
return request({
url: '/system/inventoryCheck/draft',
method: 'post',
data: data
});
};
/**
*
* @param id
*/
export const invalidInventoryCheck = (id: string | number) => {
return request({
url: '/system/inventoryCheck/invalid/' + id,
method: 'put'
});
};
//新增盘点任务提醒
export const addInventoryCheckRemind = (data: any) => {
return request({
url: '/system/inventoryCheckRemindSetting',
method: 'post',
data: data
});
};
//盘点单打印
export const inventoryCheckPrint = (id: any) => {
return request({
url: '/system/inventoryCheck/makePdf/' + id,
method: 'get'
});
};

View File

@ -0,0 +1,176 @@
export interface InventoryCheckVO {
/**
*
*/
id: string | number;
/**
*
*/
checkNo: string;
/**
* id
*/
storeId: string | number;
/**
* (inventory_check_type)
*/
checkType: string;
/**
* (inventory_check_status)
*/
checkStatus: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
itemNum: string | number;
/**
*
*/
goodsNum: string | number;
/**
*
*/
operator: string;
/**
*
*/
remark: string;
/**
*
*/
inventoryCheckDetailList?: Object[];
}
export interface InventoryCheckForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
checkNo?: string;
/**
* id
*/
storeId?: string | number;
/**
* (inventory_check_type)
*/
checkType?: string;
/**
* (inventory_check_status)
*/
checkStatus?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
itemNum: string | number;
/**
*
*/
goodsNum: string | number;
/**
*
*/
inventoryAreaName?: string;
/**
*
*/
operator?: string;
/**
*
*/
remark?: string;
/**
*
*/
inventoryCheckDetailList?: Object[];
}
export interface InventoryCheckQuery extends PageQuery {
/**
*
*/
checkNo?: string;
/**
* id
*/
storeId?: string | number;
/**
* (inventory_check_type)
*/
checkType?: string;
/**
* (inventory_check_status)
*/
checkStatus?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
operator?: string;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,116 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { InventoryCheckTaskVO, InventoryCheckTaskForm, InventoryCheckTaskQuery } from '@/api/inventory/inventoryCheckTask/types';
/**
*
* @param query
* @returns {*}
*/
export const listInventoryCheckTask = (query?: InventoryCheckTaskQuery): AxiosPromise<InventoryCheckTaskVO[]> => {
return request({
url: '/system/inventoryCheckTask/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getInventoryCheckTask = (id: string | number) => {
return request({
url: '/system/inventoryCheckTask/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addInventoryCheckTask = (data: any) => {
return request({
url: '/system/inventoryCheckTask/start',
method: 'post',
data: data
});
};
/**
*
* @param data 稿
* @returns
*/
export const saveDraft = (data: any) => {
return request({
url: '/system/inventoryCheckTask/saveDraft',
method: 'post',
data: data
});
};
// 新增盘点任务接口使用此接口
export const addInventoryCheckTaskTemplate = (data: InventoryCheckTaskForm) => {
return request({
url: '/system/inventoryCheckTaskTemplate',
method: 'post',
data: data
});
};
// 获取盘点任务模板详情
// export const getInventoryCheckTask = (id: string | number) => {
// return request({
// url: '/system/inventoryCheckTask/' + id,
// method: 'get'
// });
// };
/**
*
* @param data
*/
export const updateInventoryCheckTask = (data: InventoryCheckTaskForm) => {
return request({
url: '/system/inventoryCheckTask',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delInventoryCheckTask = (id: string | number | Array<string | number>) => {
return request({
url: '/system/inventoryCheckTask/' + id,
method: 'delete'
});
};
/**
*
* @param id
* @returns
*/
export const invalidInventoryCheckTask = (id: string | number) => {
return request({
url: `/system/inventoryCheckTask/invalid/${id}`,
method: 'put'
});
};
/**
*
* @param data
* @returns
*/
export const inventoryCheckTaskStart = (data: InventoryCheckTaskForm) => {
return request({
url: '/system/inventoryCheckTask/start',
method: 'post',
data: data
});
};

View File

@ -0,0 +1,153 @@
export interface InventoryCheckTaskVO {
/**
*
*/
id: string | number;
/**
*
*/
taskNo: string;
createTime: string;
/**
* id
*/
storeId: string | number;
/**
*
*/
storeName: string;
/**
* (inventory_task_status)
*/
taskStatus: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
creator: string;
/**
*
*/
checker: string;
/**
*
*/
remark: string;
}
export interface InventoryCheckTaskForm extends BaseEntity {
/**
*
*/
id?: string;
taskName?: string;
taskTime?: string;
lossDetailVoList: any;
/**
*
*/
taskNo?: string;
/**
* id
*/
storeIds?: string[] | number[];
taskType?: string | number;
storeId?: string;
/**
*
*/
storeName?: string;
/**
* (inventory_task_status)
*/
taskStatus?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
creator?: string;
/**
*
*/
checker?: string;
/**
*
*/
remark?: string;
}
export interface InventoryCheckTaskQuery extends PageQuery {
/**
*
*/
taskNo?: string;
/**
* id
*/
storeId?: string | number;
/**
*
*/
storeName?: string;
/**
* (inventory_task_status)
*/
taskStatus?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
creator?: string;
/**
*
*/
checker?: string;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,96 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { InventoryLossVO, InventoryLossForm, InventoryLossQuery } from '@/api/system/inventoryLoss/types';
/**
*
* @param query
* @returns {*}
*/
export const listInventoryLoss = (query?: InventoryLossQuery): AxiosPromise<InventoryLossVO[]> => {
return request({
url: '/system/inventoryLoss/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getInventoryLoss = (id: string | number): AxiosPromise<InventoryLossVO> => {
return request({
url: '/system/inventoryLoss/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addInventoryLoss = (data: InventoryLossForm) => {
return request({
url: '/system/inventoryLoss',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateInventoryLoss = (data: InventoryLossForm) => {
return request({
url: '/system/inventoryLoss',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delInventoryLoss = (id: string | number | Array<string | number>) => {
return request({
url: '/system/inventoryLoss/' + id,
method: 'delete'
});
};
// 报损单 进行中的提交审核
export const lossSubmit = (data: InventoryLossForm) => {
return request({
url: '/system/inventoryLoss/submit',
method: 'post',
data: data
});
};
// 报损单,待审核的 审核
export const lossAudit = (data: InventoryLossForm) => {
return request({
url: '/system/inventoryLoss/audit',
method: 'post',
data: data
});
};
// 报损单,作废
export const lossInvalid = (data: InventoryLossForm) => {
return request({
url: '/system/inventoryLoss/invalid',
method: 'post',
data: data
});
};
// 报损单 打印 导出
export const inventoryLossMakePdf = (id: any) => {
return request({
url: '/system/inventoryLoss/makePdf/' + id,
method: 'get'
});
};

View File

@ -0,0 +1,202 @@
export interface InventoryLossVO {
/**
*
*/
id: string | number;
/**
*
*/
lossNo: string;
/**
* id
*/
storeId: string | number;
/**
* (inventory_loss_status)
*/
lossStatus: string;
/**
*
*/
totalQuantity: number;
/**
*
*/
costAmount: number;
/**
*
*/
guideAmount: string | number;
/**
* URL
*/
voucherUrls: string;
/**
*
*/
operator: string;
/**
*
*/
auditor: string;
/**
*
*/
auditTime: string;
/**
*
*/
auditRemark: string;
/**
*
*/
remark: string;
}
export interface InventoryLossForm extends BaseEntity {
/**
*
*/
id?: string | number;
total: any;
lossReason?: string;
lossTime?: string;
lossDetailBoList?: any;
lossDetailVoList?: any;
operatorTime?: string;
/**
*
*/
lossNo?: string;
/**
* id
*/
storeId?: any;
/**
* (inventory_loss_status)
*/
lossStatus?: string;
/**
*
*/
totalQuantity?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
guideAmount?: string | number;
/**
* URL
*/
voucherUrls?: string;
/**
*
*/
operator?: string;
/**
*
*/
auditor?: string;
/**
*
*/
auditTime?: string;
/**
*
*/
auditRemark?: string;
/**
*
*/
remark?: string;
}
export interface InventoryLossQuery extends PageQuery {
/**
*
*/
lossNo?: string;
startTime?: string;
endTime?: string;
lossTimeGroup?: any;
/**
* id
*/
storeId?: any;
lossTime?: string;
/**
* (inventory_loss_status)
*/
lossStatus?: string;
/**
*
*/
totalQuantity?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
guideAmount?: string | number;
/**
* URL
*/
voucherUrls?: string;
/**
*
*/
operator?: string;
/**
*
*/
auditor?: string;
/**
*
*/
auditTime?: string;
/**
*
*/
auditRemark?: string;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { InventoryMainVO, InventoryMainForm, InventoryMainQuery } from '@/api/inventory/inventoryMain/types';
/**
*
* @param query
* @returns {*}
*/
export const listInventoryMain = (query?: InventoryMainQuery): AxiosPromise<InventoryMainVO[]> => {
return request({
url: '/system/inventoryMain/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getInventoryMain = (id: string | number): AxiosPromise<InventoryMainVO> => {
return request({
url: '/system/inventoryMain/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addInventoryMain = (data: InventoryMainForm) => {
return request({
url: '/system/inventoryMain',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateInventoryMain = (data: InventoryMainForm) => {
return request({
url: '/system/inventoryMain',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delInventoryMain = (id: string | number | Array<string | number>) => {
return request({
url: '/system/inventoryMain/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,238 @@
export interface InventoryMainVO {
/**
*
*/
id: string | number;
/**
* id
*/
storeId: string | number;
/**
* id
*/
// commodityId: string | number;
/**
* id
*/
// specId: string | number;
/**
*
*/
commodityName: string;
/**
*
*/
specCode: string;
/**
*
*/
categoryName: string;
/**
*
*/
storageUnit: string;
/**
*
*/
totalStock: number;
/**
*
*/
occupiedStock?: number;
/**
*
*/
availableStock?: number;
/**
*
*/
transitStock?: number;
/**
*
*/
isOldStockConsumed?: boolean;
}
export interface InventoryMainForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
//
storeId?: string | number;
/**
* id
*/
//
// commodityId?: string | number;
/**
* id
*/
// specId?: string | number;
/**
*
*/
commodityName: string;
/**
*
*/
specCode: string;
/**
*
*/
categoryName: string;
/**
*
*/
storageUnit: string;
/**
*
*/
totalStock?: number;
/**
*
*/
occupiedStock?: number;
/**
*
*/
availableStock?: number;
/**
*
*/
transitStock?: number;
/**
*
*/
isOldStockConsumed?: boolean;
}
export interface InventoryMainQuery extends PageQuery {
/**
* id
*/
storeId?: string | number;
/**
* id
*/
// commodityId?: string | number;
/**
* id
*/
// specId?: string | number;
/**
*
*/
commodityName: string;
/**
*
*/
commodityCode: string;
/**
*
*/
specCode: string;
/**
* id
*/
categoryId: number | string | [];
/**
*
*/
categoryName: string;
/**
*
*/
storageUnit: string;
/**
*
*/
totalStock?: number;
/**
*
*/
minStock?: number;
/**
*
*/
maxStock?: number;
/**
*
*/
occupiedStock?: number;
/**
*
*/
availableStock?: number;
/**
*
*/
transitStock?: number;
/**
*
*/
isOldStockConsumed?: boolean;
/**
*
*/
supplierCategory?: string;
/**
* (id)
*/
supplierId?: string;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { InventoryRecordVO, InventoryRecordForm, InventoryRecordQuery } from '@/api/inventory/inventoryRecord/types';
/**
*
* @param query
* @returns {*}
*/
export const listInventoryRecord = (query?: InventoryRecordQuery): AxiosPromise<InventoryRecordVO[]> => {
return request({
url: '/system/inventoryRecord/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getInventoryRecord = (id: string | number): AxiosPromise<InventoryRecordVO> => {
return request({
url: '/system/inventoryRecord/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addInventoryRecord = (data: InventoryRecordForm) => {
return request({
url: '/system/inventoryRecord',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateInventoryRecord = (data: InventoryRecordForm) => {
return request({
url: '/system/inventoryRecord',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delInventoryRecord = (id: string | number | Array<string | number>) => {
return request({
url: '/system/inventoryRecord/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,321 @@
export interface InventoryRecordVO {
/**
*
*/
id: string | number;
/**
* id
*/
storeId: string | number;
/**
* id
*/
commodityId: string | number;
/**
* id
*/
specId: string | number;
/**
*
*/
commodityName: string;
/**
*
*/
commodityCode: string;
/**
* id
*/
classifyId: string | number;
/**
*
*/
classifyName: string;
/**
* (1 2 3 )
*/
recordType: string;
/**
* (inventory_biz_type)
*/
bizType: string;
/**
*
*/
orderNo: string;
/**
*
*/
purchaseNo: string;
/**
*
*/
outNo: string;
/**
*
*/
inNo: string;
/**
*
*/
quantity: number;
/**
*
*/
beforeQuantity: number;
/**
*
*/
afterQuantity: number;
/**
*
*/
unitPrice: number;
/**
*
*/
totalAmount: number;
/**
*
*/
operator: string;
/**
*
*/
remark: string;
}
export interface InventoryRecordForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* id
*/
storeId?: string | number;
/**
* id
*/
commodityId?: string | number;
/**
* id
*/
specId?: string | number;
/**
*
*/
commodityName?: string;
/**
*
*/
commodityCode?: string;
/**
* id
*/
classifyId?: string | number;
/**
*
*/
classifyName?: string;
/**
* (1 2 3 )
*/
recordType?: string;
/**
* (inventory_biz_type)
*/
bizType?: string;
/**
*
*/
orderNo?: string;
/**
*
*/
purchaseNo?: string;
/**
*
*/
outNo?: string;
/**
*
*/
inNo?: string;
/**
*
*/
quantity?: number;
/**
*
*/
beforeQuantity?: number;
/**
*
*/
afterQuantity?: number;
/**
*
*/
unitPrice?: number;
/**
*
*/
totalAmount?: number;
/**
*
*/
operator?: string;
/**
*
*/
remark?: string;
}
export interface InventoryRecordQuery extends PageQuery {
/**
* id
*/
storeId?: string | number;
/**
* id
*/
commodityId?: string | number;
/**
* id
*/
specId?: string | number;
/**
*
*/
commodityName?: string;
/**
*
*/
commodityCode?: string;
/**
* id
*/
classifyId?: string | number;
/**
*
*/
classifyName?: string;
/**
* (1 2 3 )
*/
recordType?: string;
/**
* (inventory_biz_type)
*/
bizType?: string;
/**
*
*/
orderNo?: string;
/**
*
*/
purchaseNo?: string;
/**
*
*/
outNo?: string;
/**
*
*/
searchNo?: string;
/**
*
*/
quantity?: number;
/**
*
*/
beforeQuantity?: number;
/**
*
*/
afterQuantity?: number;
/**
*
*/
unitPrice?: number;
/**
*
*/
totalAmount?: number;
/**
*
*/
operator?: string;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,19 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
// 获取库存预警列表
export const warningList = (query?: any): AxiosPromise => {
return request({
url: '/system/inventory/warning-list',
method: 'get',
params: query
});
};
// 库存预警设置,get获取post修改
export const warningSettings = (type: string, query?: any): AxiosPromise => {
return request({
url: '/system/inventory/warning-settings',
method: type,
params: query
});
};

View File

@ -0,0 +1,56 @@
export interface ShopLiveCommodityVO {
/**
* ID
*/
id: string | number;
/**
* ID
*/
commodityId: string | number;
/**
* ID
*/
commoditySpuId: string | number;
}
export interface ShopLiveCommodityForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
* ID
*/
commodityId?: string | number;
/**
* ID
*/
commoditySpuId?: string | number;
}
export interface ShopLiveCommodityQuery extends PageQuery {
/**
* ID
*/
commodityId?: string | number;
/**
* ID
*/
commoditySpuId?: string | number;
/**
*
*/
params?: any;
}

221
src/api/liveManage/index.ts Normal file
View File

@ -0,0 +1,221 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { ShopLiveVO, ShopLiveForm, ShopLiveQuery } from '@/api/liveManage/types';
/**
*
* @returns
*/
export const QiNiuConsoleUrl = () => {
return request({
url: '/live/shopLive/QiNiuConsoleUrl',
method: 'get',
});
};
/**
*
* @param query
* @returns {*}
*/
export const listShopSchoolsLiveStreams = (query: any) => {
return request({
url: '/system/shopSchoolsLiveStreams/list',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns {*}
*/
export const listShopLiveCommodity = (query?: any) => {
return request({
url: '/shopLiveCommodity/list',
method: 'get',
params: query
});
};
/**
*
* @param data
*/
export const addShopLiveCommodity = (data: any) => {
return request({
url: '/shopLiveCommodity',
method: 'post',
data: data
});
};
/**
*
* @param id
*/
export const delShopLiveCommodity = (id: string | number | Array<string | number>) => {
return request({
url: '/shopLiveCommodity/' + id,
method: 'delete'
});
};
// 直播列表==========================================================
/**
*
* @param query
* @returns {*}
*/
export const listShopLive = (query?: ShopLiveQuery): AxiosPromise<ShopLiveVO[]> => {
return request({
url: '/live/shopLive/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const shopLiveUserShareStatistics = (query: any) => {
return request({
url: '/system/shopLiveUserShareStatistics/list',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns
*/
export const selectLiveProductShareTop = (query: any) => {
return request({
url: '/system/distributionUser/selectLiveProductShareTop',
method: 'get',
params: query
});
};
// 直播优惠券==========================================================
/**
*
* @param query
* @returns {*}
*/
export const listShopLiveCourtesyCards = (query: any) => {
return request({
url: '/shopLiveCourtesyCards/list',
method: 'get',
params: query
});
};
/**
*
* @param data
*/
export const addShopLiveCourtesyCards = (data: any) => {
return request({
url: '/shopLiveCourtesyCards',
method: 'post',
data: data
});
};
/**
*
* @param id
*/
export const delShopLiveCourtesyCards = (id: string | number | Array<string | number>) => {
return request({
url: '/shopLiveCourtesyCards/' + id,
method: 'delete'
});
};
/**
*
* @param query
* @returns
*/
export const getShopLiveLotteryList = (query: any) => {
return request({
url: '/system/shopLiveLottery/list',
method: 'get',
params: query
});
};
/**
* --
* @param query
* @returns
*/
export const getShopLiveUserWatchShopLiveList = (query: any) => {
return request({
url: '/system/shopLiveUserWatch/shopLive/list',
method: 'get',
params: query
});
};
/**
* --访
* @param id
* @returns
*/
export const getShopLiveData = (id: any) => {
return request({
url: '/live/shopLive/' + id,
method: 'get',
});
};
/**
* --
* @param query
* @returns
*/
export const shopLiveVideoProductList = (query: any) => {
return request({
url: '/system/shopLiveVideoProduct/list',
method: 'get',
params: query
});
};
/**
*
* @param query
* @returns
*/
export const liveStatistics = (query: any) => {
return request({
url: '/live/shopLive/liveStatistics',
method: 'get',
params: query
});
};
/**
* --
* @param query
* @returns
*/
export const liveStatisticsByDay = (query: any) => {
return request({
url: '/live/shopLive/liveStatisticsByDay',
method: 'get',
params: query
});
};

369
src/api/liveManage/types.ts Normal file
View File

@ -0,0 +1,369 @@
export interface ShopSchoolsLiveStreamsVO {
/**
* ID
*/
id: string | number;
/**
* ID
*/
liveId: string | number;
/**
*
*/
liveName: string;
/**
*
*/
startTime: string;
/**
* 访
*/
visitCount: number;
/**
*
*/
viewerCount: number;
/**
* 线
*/
maxOnline: number;
/**
*
*/
status: boolean;
}
export interface ShopSchoolsLiveStreamsForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
* ID
*/
liveId?: string | number;
/**
*
*/
liveName?: string;
/**
*
*/
startTime?: string;
/**
* 访
*/
visitCount?: number;
/**
*
*/
viewerCount?: number;
/**
* 线
*/
maxOnline?: number;
/**
*
*/
status?: boolean;
}
export interface ShopSchoolsLiveStreamsQuery extends PageQuery {
/**
* ID
*/
liveId?: string | number;
/**
*
*/
liveName?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
dateRange?: string[];
/**
* 访
*/
visitCount?: number;
/**
*
*/
viewerCount?: number;
/**
* 线
*/
maxOnline?: number;
/**
*
*/
status?: boolean;
/**
*
*/
params?: any;
}
// 直播商品
export interface ShopLiveCommodityVO {
/**
* ID
*/
id: string | number;
/**
* ID
*/
commodityId: string | number;
/**
* ID
*/
commoditySpuId: string | number;
}
export interface ShopLiveCommodityForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
* ID
*/
commodityName?: string | number;
/**
* ID
*/
commoditySpuId?: string | number;
}
export interface ShopLiveCommodityQuery extends PageQuery {
/**
* ID
*/
commoditySpuName?: string | number;
/**
* ID
*/
commoditySpuId?: string | number;
/**
*
*/
params?: any;
}
// 直播列表
export interface ShopLiveVO {
/**
* ID
*/
id: string | number;
/**
* ID
*/
liveId: string | number;
/**
*
*/
title: string;
/**
*
*/
description: string;
/**
* 1-, 2- 3- 4-
*/
liveStatus: number;
/**
* ID
*/
shopId: string | number;
/**
*
*/
image: string;
/**
* Url
*/
imageUrl: string;
/**
*
*/
thirdImage: string;
/**
* Url
*/
thirdImageUrl: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
}
export interface ShopLiveForm extends BaseEntity {
/**
* ID
*/
id?: string | number;
/**
* ID
*/
liveId?: string | number;
/**
*
*/
title?: string;
/**
*
*/
description?: string;
/**
* 1-, 2- 3- 4-
*/
liveStatus?: number;
/**
* ID
*/
shopId?: string | number;
/**
*
*/
image?: string;
/**
*
*/
thirdImage?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
}
export interface ShopLiveQuery extends PageQuery {
/**
* ID
*/
liveId?: string | number;
dateRange?: string[];
/**
*
*/
title?: string;
/**
*
*/
description?: string;
/**
* 1-, 2- 3- 4-
*/
liveStatus?: number;
/**
* ID
*/
shopId?: string | number;
/**
*
*/
image?: string;
/**
*
*/
thirdImage?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
params?: any;
}

111
src/api/login.ts Normal file
View File

@ -0,0 +1,111 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { LoginData, LoginResult, VerifyCodeResult, TenantInfo } from './types';
import { UserInfo } from '@/api/system/user/types';
// pc端固定客户端授权id
const clientId = import.meta.env.VITE_APP_CLIENT_ID;
/**
* @param data {LoginData}
* @returns
*/
export function login(data: LoginData): AxiosPromise<LoginResult> {
const params = {
...data,
clientId: data.clientId || clientId,
grantType: data.grantType || 'password'
};
return request({
url: '/auth/login',
headers: {
isToken: false,
isEncrypt: true,
repeatSubmit: false
},
method: 'post',
data: params
});
}
// 注册方法
export function register(data: any) {
const params = {
...data,
clientId: clientId,
grantType: 'password'
};
return request({
url: '/auth/register',
headers: {
isToken: false,
isEncrypt: true,
repeatSubmit: false
},
method: 'post',
data: params
});
}
/**
*
*/
export function logout() {
request({
url: '/resource/sse/close',
method: 'get'
});
return request({
url: '/auth/logout',
method: 'post'
});
}
/**
*
*/
export function getCodeImg(): AxiosPromise<VerifyCodeResult> {
return request({
url: '/auth/code',
headers: {
isToken: false
},
method: 'get',
timeout: 20000
});
}
/**
*
*/
export function callback(data: LoginData): AxiosPromise<any> {
const LoginData = {
...data,
clientId: clientId,
grantType: 'social'
};
return request({
url: '/auth/social/callback',
method: 'post',
data: LoginData
});
}
// 获取用户详细信息
export function getInfo(): AxiosPromise<UserInfo> {
return request({
url: '/system/user/getInfo',
method: 'get'
});
}
// 获取租户列表
export function getTenantList(): AxiosPromise<TenantInfo> {
return request({
url: '/auth/tenant/list',
headers: {
isToken: false
},
method: 'get'
});
}

View File

@ -0,0 +1,124 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CourtesyCardVO, CourtesyCardForm, CourtesyCardQuery } from '@/api/marketing/courtesyCard/types';
/**
*
* @param query
* @returns {*}
*/
export const globalSwitch = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/get',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const globalSwitchto = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/set',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const listCourtesyCard = (query?: any) => {
return request({
url: '/courtesyCard/courtesyCard/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCourtesyCard = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/courtesyCard/courtesyCard/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const getCourtesyCards = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/courtesyCard/courtesyCard/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addCourtesyCard = (data: CourtesyCardForm) => {
return request({
url: '/courtesyCard/courtesyCard',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateCourtesyCard = (data: CourtesyCardForm) => {
return request({
url: '/courtesyCard/courtesyCard',
method: 'put',
data: data
});
};
/**
*
* @param data
*/
export const invalidCourtesyCard = (data: CourtesyCardForm) => {
return request({
url: '/courtesyCard/courtesyCard/invalid',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delCourtesyCard = (id: string | number | Array<string | number>) => {
return request({
url: '/courtesyCard/courtesyCard/' + id,
method: 'delete'
});
};
/**
*
* @param data
*/
export const exportCourtesyCard = (data: CourtesyCardForm) => {
return request({
url: '/courtesyCard/courtesyCard/export',
method: 'post',
data: data
});
};

View File

@ -0,0 +1,493 @@
export interface CourtesyCardVO {
/**
*
*/
id: string | number;
/**
*
*/
name: string;
/**
* 0 1 2 3 4 5
*/
type: number;
/**
*
*/
comments: string;
/**
*
*/
cardCount: number;
/**
*
*/
skuIdsAll: string | number;
/**
* 具体的配置信息:JSON
*/
content: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
waitDay: number;
/**
*
*/
validDay: string | number;
/**
* 0 1
*/
allTime: number;
/**
* 0 1
*/
status: number;
/**
* 0 1
*/
superposition: number;
/**
* 使
*/
remark: string;
/**
* 0 1 201退
*/
alluser: number;
/**
*
*/
maxClaimCnt: number;
/**
* 0 1
*/
publicRec: number;
/**
* 0 1
*/
canShare: number;
/**
* 0 1
*/
canGive: number;
/**
* 0 1
*/
showCheckstand: number;
/**
*
*/
expirationReminder: number;
/**
* id
*/
userLabel: string;
/**
*
*/
fullAmount: number;
/**
* 0 1
*/
containGiftPrice: number;
/**
* n送n减 n打折
*/
fullNum: number;
/**
*
*/
costAmount: number;
/**
*
*/
discount: number;
/**
*
*/
maxCostAmount: number;
/**
*
*/
giveNum: number;
/**
* 0 1
*/
physicalDistributionType: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType: number;
}
export interface CourtesyCardForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
name?: string;
/**
*
*/
btype?: string | number;
/**
*
*/
bstatus?: string | number;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 使
*/
remark?: string;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
}
export interface CourtesyCardQuery extends PageQuery {
/**
*
*/
name?: string;
createTimeGroup: string[];
beginCreateTime: string;
endCreateTime: string;
statusStr: string;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,116 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
EnterShopGiftForm,
EnterShopGiftQuery,
EnterShopGiftVO
} from '@/api/system/enterShopGift/types';
/**
* -
* @param query
* @returns {*}
*/
export const listEnterShopGift = (query?: EnterShopGiftQuery): AxiosPromise<EnterShopGiftVO[]> => {
return request({
url: '/system/enterShopGift/list',
method: 'get',
params: query
});
};
/**
* -
* @param id
*/
export const getEnterShopGift = (id: any): AxiosPromise<EnterShopGiftVO> => {
return request({
url: '/system/enterShopGift/' + id,
method: 'get'
});
};
/**
* -
* @param data
*/
export const addEnterShopGift = (data: EnterShopGiftForm) => {
return request({
url: '/system/enterShopGift',
method: 'post',
data: data
});
};
/**
* -
* @param data
*/
export const updateEnterShopGift = (data: EnterShopGiftForm) => {
return request({
url: '/system/enterShopGift',
method: 'put',
data: data
});
};
/**
* --
* @param data
*/
export const invalidEnterShopGift = (data: EnterShopGiftForm) => {
return request({
url: '/system/enterShopGift/invalid',
method: 'put',
data: data
});
};
/**
* -
* @param id
*/
export const delEnterShopGift = (id: string | number | Array<string | number>) => {
return request({
url: '/system/enterShopGift/' + id,
method: 'delete'
});
};
/*
*
* */
export const countEnterShopGift = (query?: any): AxiosPromise<EnterShopGiftVO[]> => {
return request({
url: `/courtesyCard/courtesyCard/getCardStatistics/info`,
method: 'get',
params: query
});
};
/*
*
* */
export const countEnterShopGiftDimension = (query?: any): AxiosPromise<EnterShopGiftVO[]> => {
return request({
url: `/courtesyCard/courtesyCard/getCardStatistics`,
method: 'get',
params: query
});
};
//查询单个优惠券统计
export const countEnterShopGiftOne = (query?: any): AxiosPromise<EnterShopGiftVO[]> => {
return request({
url: `/courtesyCard/courtesyCard/getCardStatistics/${query}`,
method: 'get'
});
};
/**
*
* @param data
*/
export const exportEnterShopGift = (data: CourtesyCardForm) => {
return request({
url: '/system/enterShopGift/export',
method: 'post',
data: data
});
};

View File

@ -0,0 +1,96 @@
export interface EnterShopGiftVO {
/**
*
*/
id: string | number;
/**
*
*/
marketingName: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
* 0 1
*/
newUser: boolean;
/**
*
*/
intervalDay: number;
}
export interface EnterShopGiftForm extends BaseEntity {
/**
*
*/
id?: string | number;
qtBusinessShopBos?: any;
qtBusinessShopVos?: any;
/**
*
*/
marketingName?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
* 0 1
*/
newUser?: any;
/**
*
*/
intervalDay?: number;
}
export interface EnterShopGiftQuery extends PageQuery {
/**
*
*/
marketingName?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
* 0 1
*/
newUser?: boolean;
/**
*
*/
intervalDay?: number;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,125 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CourtesyCardVO, CourtesyCardForm, CourtesyCardQuery } from '@/api/marketing/snapUp/types';
/**
*
* @param query
* @returns {*}
*/
export const globalSwitch = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/get',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const globalSwitchto = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/set',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const listFullDiscount = (query?: any) => {
return request({
url: '/system/fullDiscount/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCourtesyCard = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/system/fullDiscount/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const getFullDiscounts = (id: string | number): AxiosPromise<CourtesyCardVO> => {
console.log(id, 'id')
return request({
url: '/system/fullDiscount/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addFullDiscount = (data: CourtesyCardForm) => {
return request({
url: '/system/fullDiscount',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateFullDiscount = (data: CourtesyCardForm) => {
return request({
url: '/system/fullDiscount',
method: 'put',
data: data
});
};
/**
*
* @param data
*/
export const invalidFullDiscount = (data: CourtesyCardForm) => {
return request({
url: '/system/fullDiscount/invalid',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delFullDiscount = (id: string | number | Array<string | number>) => {
return request({
url: '/system/fullDiscount/' + id,
method: 'delete'
});
};
/**
*
* @param id
*/
export const exportFullDiscount = (data: CourtesyCardForm) => {
return request({
url: '/system/fullDiscount/export',
method: 'post',
data: data
});
};

View File

@ -0,0 +1,508 @@
export interface FullDiscountVO {
/**
*
*/
id: string | number;
/**
*
*/
marketingName: string;
/**
* 0 1 2 3 4 5
*/
type: number;
/**
*
*/
comments: string;
/**
*
*/
cardCount: number;
/**
*
*/
skuIdsAll: string | number;
/**
* 具体的配置信息:JSON
*/
content: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
waitDay: number;
/**
*
*/
validDay: string | number;
/**
* 0 1
*/
allTime: number;
/**
* 0 1
*/
status: number;
/**
* 0 1
*/
superposition: number;
/**
* 使
*/
remark: string;
/**
* 0 1 201退
*/
alluser: number;
/**
*
*/
maxClaimCnt: number;
/**
* 0 1
*/
publicRec: number;
/**
* 0 1
*/
canShare: number;
/**
* 0 1
*/
canGive: number;
/**
* 0 1
*/
showCheckstand: number;
/**
*
*/
expirationReminder: number;
/**
* id
*/
userLabel: string;
/**
*
*/
fullAmount: number;
/**
* 0 1
*/
containGiftPrice: number;
/**
* n送n减 n打折
*/
fullNum: number;
/**
*
*/
costAmount: number;
/**
*
*/
discount: number;
/**
*
*/
maxCostAmount: number;
/**
*
*/
giveNum: number;
/**
* 0 1
*/
physicalDistributionType: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType: number;
}
export interface FullDiscountForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
marketingName?: string;
/**
*
*/
btype?: string | number;
/**
*
*/
bstatus?: string | number;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 使
*/
remark?: string;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
}
export interface FullDiscountQuery extends PageQuery {
/**
*
*/
marketingName?: string;
activityTimeGroup: string[];
beginTime: string;
statusStr: string;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
channelStr:string,
/**
*
*/
shopId:string,
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
/**
*
*/
params?: any;
/**
*
*/
belongingStore: string;
/**
*
*/
channelBos: [];
}

View File

@ -0,0 +1,127 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CourtesyCardVO, CourtesyCardForm, CourtesyCardQuery } from '@/api/marketing/snapUp/types';
/**
*
* @param query
* @returns {*}
*/
export const globalSwitch = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/get',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const globalSwitchto = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/set',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const giftList = (query?: any) => {
return request({
url: '/system/gift/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCourtesyCard = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/system/gift/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const getGifts = (id: string | number): AxiosPromise<CourtesyCardVO> => {
console.log(id, 'id')
return request({
url: '/system/gift/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addGift = (data: CourtesyCardForm) => {
return request({
url: '/system/gift',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateGift = (data: CourtesyCardForm) => {
return request({
url: '/system/gift',
method: 'put',
data: data
});
};
/**
*
* @param data
*/
export const invalidGift = (data: CourtesyCardForm) => {
return request({
url: '/system/gift/invalid',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delGift = (id: string | number | Array<string | number>) => {
return request({
url: '/system/gift/' + id,
method: 'delete'
});
};
/**
*
* @param id
*/
export const exportGift = (data: CourtesyCardForm) => {
return request({
url: '/system/gift/export',
method: 'post',
data: data
});
};

View File

@ -0,0 +1,507 @@
export interface CourtesyCardVO {
/**
*
*/
id: string | number;
/**
*
*/
marketingName: string;
/**
* 0 1 2 3 4 5
*/
type: number;
/**
*
*/
comments: string;
/**
*
*/
cardCount: number;
/**
*
*/
skuIdsAll: string | number;
/**
* 具体的配置信息:JSON
*/
content: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
waitDay: number;
/**
*
*/
validDay: string | number;
/**
* 0 1
*/
allTime: number;
/**
* 0 1
*/
status: number;
/**
* 0 1
*/
superposition: number;
/**
* 使
*/
remark: string;
/**
* 0 1 201退
*/
alluser: number;
/**
*
*/
maxClaimCnt: number;
/**
* 0 1
*/
publicRec: number;
/**
* 0 1
*/
canShare: number;
/**
* 0 1
*/
canGive: number;
/**
* 0 1
*/
showCheckstand: number;
/**
*
*/
expirationReminder: number;
/**
* id
*/
userLabel: string;
/**
*
*/
fullAmount: number;
/**
* 0 1
*/
containGiftPrice: number;
/**
* n送n减 n打折
*/
fullNum: number;
/**
*
*/
costAmount: number;
/**
*
*/
discount: number;
/**
*
*/
maxCostAmount: number;
/**
*
*/
giveNum: number;
/**
* 0 1
*/
physicalDistributionType: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType: number;
}
export interface CourtesyCardForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
marketingName?: string;
/**
*
*/
btype?: string | number;
/**
*
*/
bstatus?: string | number;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 使
*/
remark?: string;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
}
export interface CourtesyCardQuery extends PageQuery {
/**
*
*/
marketingName?: string;
activityTimeGroup: string[];
beginTime: string;
statusStr: string;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
channelStr:string,
/**
*
*/
shopId:string,
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
/**
*
*/
params?: any;
/**
*
*/
belongingStore: string;
/**
*
*/
channelBos: [];
}

View File

@ -0,0 +1,136 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
CourtesyCardVO,
CourtesyCardForm,
CourtesyCardQuery
} from '@/api/marketing/courtesyCard/types';
/**
*
* @param query
* @returns {*}
*/
export const globalSwitch = (data: CourtesyCardForm) => {
return request({
url: '/system/globalSwitch/get',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const globalSwitchto = (data: CourtesyCardForm) => {
return request({
url: '/system/globalSwitch/set',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const marketingDiscountList = (query?: any) => {
return request({
url: '/system/marketingDiscount/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCourtesyCard = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/system/marketingDiscount/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const getMarketingDiscounts = (id: string | number): AxiosPromise<CourtesyCardVO> => {
console.log(id, 'id');
return request({
url: '/system/marketingDiscount/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addMarketingDiscount = (data: CourtesyCardForm) => {
return request({
url: '/system/marketingDiscount',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateMarketingDiscount = (data: CourtesyCardForm) => {
return request({
url: '/system/marketingDiscount',
method: 'put',
data: data
});
};
/**
*
* @param data
*/
export const invalidMarketingDiscount = (data: CourtesyCardForm) => {
return request({
url: '/system/marketingDiscount/invalid',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delMarketingDiscount = (id: string | number | Array<string | number>) => {
return request({
url: '/system/marketingDiscount/' + id,
method: 'delete'
});
};
/**
*
* @param id
*/
export const exportMarketingDiscount = (data: CourtesyCardForm) => {
return request({
url: '/system/marketingDiscount/export',
method: 'post',
data: data
});
};
// 查看数据
export const getMarketingDiscountData = (id?: any) => {
return request({
url: `/system/marketingDiscount/getStatistics`,
method: 'get',
params: { id: id }
});
};

View File

@ -0,0 +1,509 @@
export interface CourtesyCardVO {
/**
*
*/
id: string | number;
/**
*
*/
marketingName: string;
/**
* 0 1 2 3 4 5
*/
type: number;
/**
*
*/
comments: string;
/**
*
*/
cardCount: number;
/**
*
*/
skuIdsAll: string | number;
/**
* 具体的配置信息:JSON
*/
content: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
waitDay: number;
/**
*
*/
validDay: string | number;
/**
* 0 1
*/
allTime: number;
/**
* 0 1
*/
status: number;
/**
* 0 1
*/
superposition: number;
/**
* 使
*/
remark: string;
/**
* 0 1 201退
*/
alluser: number;
/**
*
*/
maxClaimCnt: number;
/**
* 0 1
*/
publicRec: number;
/**
* 0 1
*/
canShare: number;
/**
* 0 1
*/
canGive: number;
/**
* 0 1
*/
showCheckstand: number;
/**
*
*/
expirationReminder: number;
/**
* id
*/
userLabel: string;
/**
*
*/
fullAmount: number;
/**
* 0 1
*/
containGiftPrice: number;
/**
* n送n减 n打折
*/
fullNum: number;
/**
*
*/
costAmount: number;
/**
*
*/
discount: number;
/**
*
*/
maxCostAmount: number;
/**
*
*/
giveNum: number;
/**
* 0 1
*/
physicalDistributionType: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType: number;
}
export interface CourtesyCardForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
marketingName?: string;
/**
*
*/
btype?: string | number;
/**
*
*/
bstatus?: string | number;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 使
*/
remark?: string;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
}
export interface CourtesyCardQuery extends PageQuery {
/**
*
*/
marketingName?: string;
activityTimeGroup: string[];
beginTime: string;
statusStr: string;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
channelStr:string,
/**
*
*/
shopId:string,
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
/**
*
*/
params?: any;
/**
*
*/
belongingStore: string;
/**
*
*/
channelBos: Array<string>;
}

View File

@ -0,0 +1,116 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CourtesyCardVO, CourtesyCardForm, CourtesyCardQuery } from '@/api/marketing/courtesyCard/types';
/**
*
* @param query
* @returns {*}
*/
export const globalSwitch = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/get',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const globalSwitchto = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/set',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const newUserGiftList = (query?: any) => {
return request({
url: '/system/newUserGift/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCourtesyCard = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/system/newUserGift/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const getNewUserGifts = (id: string | number): AxiosPromise<CourtesyCardVO> => {
console.log(id, 'id')
return request({
url: '/system/newUserGift/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addNewUserGift = (data: CourtesyCardForm) => {
return request({
url: '/system/newUserGift',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateNewUserGift = (data: CourtesyCardForm) => {
return request({
url: '/system/newUserGift',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delNewUserGift = (id: string | number | Array<string | number>) => {
return request({
url: '/system/newUserGift/' + id,
method: 'delete'
});
};
/**
*
* @param id
*/
export const exportNewUserGift = (data: CourtesyCardForm) => {
return request({
url: '/system/newUserGift/export',
method: 'post',
data: data
});
};

View File

@ -0,0 +1,89 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { NewUserGiftForm, NewUserGiftQuery, NewUserGiftVO } from '@/api/marketing/newUserGift/types_copy';
/**
* -
* @param query
* @returns {*}
*/
export const listNewUserGift = (query?: NewUserGiftQuery): AxiosPromise<NewUserGiftVO[]> => {
return request({
url: '/system/newUserGift/list',
method: 'get',
params: query
});
};
/**
* -
* @param id
*/
export const getNewUserGift = (id: string | number) => {
return request({
url: '/system/newUserGift/' + id,
method: 'get'
});
};
/**
* -
* @param data
*/
export const addNewUserGift = (data: NewUserGiftForm) => {
return request({
url: '/system/newUserGift',
method: 'post',
data: data
});
};
/**
* -
* @param data
*/
export const updateNewUserGift = (data: NewUserGiftForm) => {
return request({
url: '/system/newUserGift',
method: 'put',
data: data
});
};
/**
* -
* @param data
* @returns
*/
export const updateNewUserGiftInvalid = (data: NewUserGiftForm) => {
return request({
url: '/system/newUserGift/invalid',
method: 'put',
data: data
});
};
/**
* -
* @param id
*/
export const delNewUserGift = (id: string | number | Array<string | number>) => {
return request({
url: '/system/newUserGift/' + id,
method: 'delete'
});
};
/**
*
* @param data
* @returns
*/
export const calcStatistics = (data: NewUserGiftForm) => {
return request({
url: '/system/newUserGift/calcStatistics',
method: 'post',
data: data
});
};

View File

@ -0,0 +1,507 @@
export interface CourtesyCardVO {
/**
*
*/
id: string | number;
/**
*
*/
marketingName: string;
/**
* 0 1 2 3 4 5
*/
type: number;
/**
*
*/
comments: string;
/**
*
*/
cardCount: number;
/**
*
*/
skuIdsAll: string | number;
/**
* 具体的配置信息:JSON
*/
content: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
waitDay: number;
/**
*
*/
validDay: string | number;
/**
* 0 1
*/
allTime: number;
/**
* 0 1
*/
status: number;
/**
* 0 1
*/
superposition: number;
/**
* 使
*/
remark: string;
/**
* 0 1 201退
*/
alluser: number;
/**
*
*/
maxClaimCnt: number;
/**
* 0 1
*/
publicRec: number;
/**
* 0 1
*/
canShare: number;
/**
* 0 1
*/
canGive: number;
/**
* 0 1
*/
showCheckstand: number;
/**
*
*/
expirationReminder: number;
/**
* id
*/
userLabel: string;
/**
*
*/
fullAmount: number;
/**
* 0 1
*/
containGiftPrice: number;
/**
* n送n减 n打折
*/
fullNum: number;
/**
*
*/
costAmount: number;
/**
*
*/
discount: number;
/**
*
*/
maxCostAmount: number;
/**
*
*/
giveNum: number;
/**
* 0 1
*/
physicalDistributionType: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType: number;
}
export interface CourtesyCardForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
marketingName?: string;
/**
*
*/
btype?: string | number;
/**
*
*/
bstatus?: string | number;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 使
*/
remark?: string;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
}
export interface CourtesyCardQuery extends PageQuery {
/**
*
*/
marketingName?: string;
activityTimeGroup: string[];
beginTime: string;
statusStr: string;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
channelStr:string,
/**
*
*/
shopId:string,
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
/**
*
*/
params?: any;
/**
*
*/
belongingStore: string;
/**
*
*/
channelBos: [];
}

View File

@ -0,0 +1,71 @@
export interface NewUserGiftVO {
/**
*
*/
id: string | number;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
limitNum: number;
}
export interface NewUserGiftForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
limitNum?: number;
}
export interface NewUserGiftQuery extends PageQuery {
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
limitNum?: number;
/**
*
*/
params?: any;
}

View File

@ -0,0 +1,154 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CourtesyCardVO, CourtesyCardForm, CourtesyCardQuery } from '@/api/marketing/courtesyCard/types';
/**
*
* @param query
* @returns {*}
*/
export const globalSwitch = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/get',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const globalSwitchto = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/set',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const signRecordList = (query?: any) => {
return request({
url: '/system/signRecord/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCourtesyCard = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/system/signRecord/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const getSignRecordStatistics = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/system/signRecord/info',
method: 'get'
});
};
/**
*
* @param cycle
*/
export const getSignRecordStatisticsItem = (query?: any): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/system/signRecord/recInfo',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getSignRecords = (id: string | number): AxiosPromise<CourtesyCardVO> => {
console.log(id, 'id')
return request({
url: '/system/signRecord/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addSignRecord = (data: CourtesyCardForm) => {
return request({
url: '/system/signRecord',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateSignRecord = (data: CourtesyCardForm) => {
return request({
url: '/system/signRecord',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delSignRecord = (id: string | number | Array<string | number>) => {
return request({
url: '/system/signRecord/' + id,
method: 'delete'
});
};
/**
*
* @param id
*/
export const exportSignRecord = (data: CourtesyCardForm) => {
return request({
url: '/system/signRecord/export',
method: 'post',
data: data
});
};
/**
*
* @param id
*/
export const signSettingInfo = () => {
return request({
url: '/system/signSetting/info',
method: 'get'
});
};
export const signSettingSave = (data: any) => {
return request({
url: '/system/signSetting',
method: 'put',
data: data
});
};

View File

@ -0,0 +1,507 @@
export interface CourtesyCardVO {
/**
*
*/
id: string | number;
/**
*
*/
marketingName: string;
/**
* 0 1 2 3 4 5
*/
type: number;
/**
*
*/
comments: string;
/**
*
*/
cardCount: number;
/**
*
*/
skuIdsAll: string | number;
/**
* 具体的配置信息:JSON
*/
content: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
waitDay: number;
/**
*
*/
validDay: string | number;
/**
* 0 1
*/
allTime: number;
/**
* 0 1
*/
status: number;
/**
* 0 1
*/
superposition: number;
/**
* 使
*/
remark: string;
/**
* 0 1 201退
*/
alluser: number;
/**
*
*/
maxClaimCnt: number;
/**
* 0 1
*/
publicRec: number;
/**
* 0 1
*/
canShare: number;
/**
* 0 1
*/
canGive: number;
/**
* 0 1
*/
showCheckstand: number;
/**
*
*/
expirationReminder: number;
/**
* id
*/
userLabel: string;
/**
*
*/
fullAmount: number;
/**
* 0 1
*/
containGiftPrice: number;
/**
* n送n减 n打折
*/
fullNum: number;
/**
*
*/
costAmount: number;
/**
*
*/
discount: number;
/**
*
*/
maxCostAmount: number;
/**
*
*/
giveNum: number;
/**
* 0 1
*/
physicalDistributionType: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType: number;
}
export interface CourtesyCardForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
marketingName?: string;
/**
*
*/
btype?: string | number;
/**
*
*/
bstatus?: string | number;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 使
*/
remark?: string;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
}
export interface CourtesyCardQuery extends PageQuery {
/**
*
*/
marketingName?: string;
activityTimeGroup: string[];
beginTime: string;
statusStr: string;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
channelStr:string,
/**
*
*/
shopId:string,
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
/**
*
*/
params?: any;
/**
*
*/
belongingStore: string;
/**
*
*/
channelBos: [];
}

View File

@ -0,0 +1,128 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { CourtesyCardVO, CourtesyCardForm, CourtesyCardQuery } from '@/api/marketing/courtesyCard/types';
/**
*
* @param query
* @returns {*}
*/
export const globalSwitch = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/get',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const globalSwitchto = (data: CourtesyCardForm ) => {
return request({
url: '/system/globalSwitch/set',
method: 'put',
data: data
});
};
/**
*
* @param query
* @returns {*}
*/
export const snapUpList = (query?: any) => {
return request({
url: '/system/snapUp/list',
method: 'get',
params: query
});
};
/**
*
* @param id
*/
export const getCourtesyCard = (id: string | number): AxiosPromise<CourtesyCardVO> => {
return request({
url: '/system/snapUp/' + id,
method: 'get'
});
};
/**
*
* @param id
*/
export const getSnapUps = (id: string | number): AxiosPromise<CourtesyCardVO> => {
console.log(id, 'id')
return request({
url: '/system/snapUp/' + id,
method: 'get'
});
};
/**
*
* @param data
*/
export const addSnapUp = (data: CourtesyCardForm) => {
return request({
url: '/system/snapUp',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateSnapUp = (data: CourtesyCardForm) => {
return request({
url: '/system/snapUp',
method: 'put',
data: data
});
};
/**
*
* @param data
*/
export const invalidSnapUp = (data: CourtesyCardForm) => {
return request({
url: '/system/snapUp/invalid',
method: 'put',
data: data
});
};
/**
*
* @param id
*/
export const delSnapUp = (id: string | number | Array<string | number>) => {
return request({
url: '/system/snapUp/' + id,
method: 'delete'
});
};
/**
*
* @param id
*/
export const exportSnapUp = (data: CourtesyCardForm) => {
return request({
url: '/system/snapUp/export',
method: 'post',
data: data
});
};

View File

@ -0,0 +1,507 @@
export interface CourtesyCardVO {
/**
*
*/
id: string | number;
/**
*
*/
marketingName: string;
/**
* 0 1 2 3 4 5
*/
type: number;
/**
*
*/
comments: string;
/**
*
*/
cardCount: number;
/**
*
*/
skuIdsAll: string | number;
/**
* 具体的配置信息:JSON
*/
content: string;
/**
*
*/
startTime: string;
/**
*
*/
endTime: string;
/**
*
*/
waitDay: number;
/**
*
*/
validDay: string | number;
/**
* 0 1
*/
allTime: number;
/**
* 0 1
*/
status: number;
/**
* 0 1
*/
superposition: number;
/**
* 使
*/
remark: string;
/**
* 0 1 201退
*/
alluser: number;
/**
*
*/
maxClaimCnt: number;
/**
* 0 1
*/
publicRec: number;
/**
* 0 1
*/
canShare: number;
/**
* 0 1
*/
canGive: number;
/**
* 0 1
*/
showCheckstand: number;
/**
*
*/
expirationReminder: number;
/**
* id
*/
userLabel: string;
/**
*
*/
fullAmount: number;
/**
* 0 1
*/
containGiftPrice: number;
/**
* n送n减 n打折
*/
fullNum: number;
/**
*
*/
costAmount: number;
/**
*
*/
discount: number;
/**
*
*/
maxCostAmount: number;
/**
*
*/
giveNum: number;
/**
* 0 1
*/
physicalDistributionType: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType: number;
}
export interface CourtesyCardForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
*
*/
marketingName?: string;
/**
*
*/
btype?: string | number;
/**
*
*/
bstatus?: string | number;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 使
*/
remark?: string;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
}
export interface CourtesyCardQuery extends PageQuery {
/**
*
*/
marketingName?: string;
activityTimeGroup: string[];
beginTime: string;
statusStr: string;
/**
* 0 1 2 3 4 5
*/
type?: number;
/**
*
*/
channelStr:string,
/**
*
*/
shopId:string,
/**
*
*/
comments?: string;
/**
*
*/
cardCount?: number;
/**
*
*/
skuIdsAll?: string | number;
/**
* 具体的配置信息:JSON
*/
content?: string;
/**
*
*/
startTime?: string;
/**
*
*/
endTime?: string;
/**
*
*/
waitDay?: number;
/**
*
*/
validDay?: string | number;
/**
* 0 1
*/
allTime?: number;
/**
* 0 1
*/
status?: number;
/**
* 0 1
*/
superposition?: number;
/**
* 0 1 201退
*/
alluser?: number;
/**
*
*/
maxClaimCnt?: number;
/**
* 0 1
*/
publicRec?: number;
/**
* 0 1
*/
canShare?: number;
/**
* 0 1
*/
canGive?: number;
/**
* 0 1
*/
showCheckstand?: number;
/**
*
*/
expirationReminder?: number;
/**
* id
*/
userLabel?: string;
/**
*
*/
fullAmount?: number;
/**
* 0 1
*/
containGiftPrice?: number;
/**
* n送n减 n打折
*/
fullNum?: number;
/**
*
*/
costAmount?: number;
/**
*
*/
discount?: number;
/**
*
*/
maxCostAmount?: number;
/**
*
*/
giveNum?: number;
/**
* 0 1
*/
physicalDistributionType?: number;
/**
* 0n减n 1n全减 2n 3
*/
physicalDistributionDiscountsType?: number;
/**
*
*/
params?: any;
/**
*
*/
belongingStore: string;
/**
*
*/
channelBos: [];
}

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