diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..5b1a804
--- /dev/null
+++ b/.editorconfig
@@ -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
diff --git a/.env.development b/.env.development
new file mode 100644
index 0000000..8baae26
--- /dev/null
+++ b/.env.development
@@ -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
diff --git a/.env.production b/.env.production
new file mode 100644
index 0000000..e4af003
--- /dev/null
+++ b/.env.production
@@ -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
diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 0000000..e74db40
--- /dev/null
+++ b/.eslintignore
@@ -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
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
new file mode 100644
index 0000000..a6661b6
--- /dev/null
+++ b/.eslintrc-auto-import.json
@@ -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
+ }
+}
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 0000000..6042c39
--- /dev/null
+++ b/.eslintrc.cjs
@@ -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'
+ }
+};
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fcab11b
--- /dev/null
+++ b/.gitignore
@@ -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
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..d251d2e
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,9 @@
+/dist/*
+.local
+.output.js
+/node_modules/**
+
+**/*.svg
+**/*.sh
+
+/public/*
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..a37e2d5
--- /dev/null
+++ b/.prettierrc
@@ -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"
+}
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..32b3071
--- /dev/null
+++ b/LICENSE
@@ -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.
diff --git a/README.md b/README.md
index e69de29..010adb9 100644
--- a/README.md
+++ b/README.md
@@ -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代码。 | 支持 | 支持 |
+| 使用案例 | 系统的一些功能案例 | 支持 | 不支持 |
+
+## 演示图例
+
+| | |
+| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
+|  |  |
diff --git a/bin/build.bat b/bin/build.bat
new file mode 100644
index 0000000..ecbb454
--- /dev/null
+++ b/bin/build.bat
@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [Ϣ] Weḅdistļ
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+yarn build:prod
+
+pause
\ No newline at end of file
diff --git a/bin/package.bat b/bin/package.bat
new file mode 100644
index 0000000..f5b24e0
--- /dev/null
+++ b/bin/package.bat
@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [Ϣ] װWeḅnode_modulesļ
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+yarn --registry=https://registry.npmmirror.com
+
+pause
\ No newline at end of file
diff --git a/bin/run-web.bat b/bin/run-web.bat
new file mode 100644
index 0000000..d2fe397
--- /dev/null
+++ b/bin/run-web.bat
@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [Ϣ] ʹ Vite Web ̡
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+yarn dev
+
+pause
\ No newline at end of file
diff --git a/html/ie.html b/html/ie.html
new file mode 100644
index 0000000..4d2773d
--- /dev/null
+++ b/html/ie.html
@@ -0,0 +1,242 @@
+
+
+
+
+ 请升级您的浏览器
+
+
+
+
+
+
+ 请升级您的浏览器,以便我们更好的为您提供服务!
+ 您正在使用 Internet Explorer 的早期版本(IE11以下版本或使用该内核的浏览器)。这意味着在升级浏览器前,您将无法访问此网站。
+
+ 请注意:微软公司对Windows XP 及 Internet Explorer 早期版本的支持已经结束
+
+ 自 2016 年 1 月 12 日起,Microsoft 不再为 IE 11
+ 以下版本提供相应支持和更新。没有关键的浏览器安全更新,您的电脑可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。请参阅
+ 微软对 Internet Explorer 早期版本的支持将于 2016 年 1 月 12 日结束的说明
+ 。
+
+
+ 您可以选择更先进的浏览器
+ 推荐使用以下浏览器的最新版本。如果您的电脑已有以下浏览器的最新版本则直接使用该浏览器访问即可。
+
+
+
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..7fcb569
--- /dev/null
+++ b/index.html
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+ PSPP管理系统
+
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..16d51a8
--- /dev/null
+++ b/package.json
@@ -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"
+ }
+}
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..3f919d8
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/logo.png b/public/logo.png
new file mode 100644
index 0000000..4b02536
Binary files /dev/null and b/public/logo.png differ
diff --git a/qitian-ui/src/views/finance/storeValueCenter/components/StoredValueUsers.vue b/qitian-ui/src/views/finance/storeValueCenter/components/StoredValueUsers.vue
new file mode 100644
index 0000000..bf53f76
--- /dev/null
+++ b/qitian-ui/src/views/finance/storeValueCenter/components/StoredValueUsers.vue
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+ {{ row.customerName }}
+ VIP{{ row.vipLevel }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..04040fb
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
diff --git a/src/animate.ts b/src/animate.ts
new file mode 100644
index 0000000..7a23df8
--- /dev/null
+++ b/src/animate.ts
@@ -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
+};
diff --git a/src/api/advertisement/index.ts b/src/api/advertisement/index.ts
new file mode 100644
index 0000000..284a175
--- /dev/null
+++ b/src/api/advertisement/index.ts
@@ -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
+ })
+}
\ No newline at end of file
diff --git a/src/api/channel/shipping/index.ts b/src/api/channel/shipping/index.ts
new file mode 100644
index 0000000..f0dc082
--- /dev/null
+++ b/src/api/channel/shipping/index.ts
@@ -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 => {
+ return request({
+ url: '/freightTemplates/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询运费模板详细
+ * @param id
+ */
+export const getFreightTemplates = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/freightTemplates/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ * 查询所有区域-华中/华北等列表
+ * @param query
+ * @returns {*}
+ */
+
+export const regionArea = (query?: FreightTemplatesQuery): AxiosPromise => {
+ return request({
+ url: '/system/regionArea/all',
+ method: 'get',
+ params: query
+ });
+};
diff --git a/src/api/channel/shipping/types.ts b/src/api/channel/shipping/types.ts
new file mode 100644
index 0000000..89c51c1
--- /dev/null
+++ b/src/api/channel/shipping/types.ts
@@ -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;
+}
diff --git a/src/api/channel/tickets/index.ts b/src/api/channel/tickets/index.ts
new file mode 100644
index 0000000..8d1840e
--- /dev/null
+++ b/src/api/channel/tickets/index.ts
@@ -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 => {
+ return request({
+ url: '/cashier_receipt_model/cashierReceiptModel/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询打印小票配置详细
+ * @param id
+ */
+export const getCashierReceiptModel = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/cashier_receipt_model/cashierReceiptModel/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/channel/tickets/types.ts b/src/api/channel/tickets/types.ts
new file mode 100644
index 0000000..542438f
--- /dev/null
+++ b/src/api/channel/tickets/types.ts
@@ -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;
+}
+
+
+
diff --git a/src/api/client/cusLabel/cusUserCorwd.ts b/src/api/client/cusLabel/cusUserCorwd.ts
new file mode 100644
index 0000000..36fa901
--- /dev/null
+++ b/src/api/client/cusLabel/cusUserCorwd.ts
@@ -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
+ });
+}
\ No newline at end of file
diff --git a/src/api/client/cusLabel/index.ts b/src/api/client/cusLabel/index.ts
new file mode 100644
index 0000000..442c3e5
--- /dev/null
+++ b/src/api/client/cusLabel/index.ts
@@ -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): AxiosPromise => {
+ return request({
+ url: `/system/tag/${id}`,
+ method: 'delete'
+ });
+};
diff --git a/src/api/client/cusLabel/type.ts b/src/api/client/cusLabel/type.ts
new file mode 100644
index 0000000..f0ebec1
--- /dev/null
+++ b/src/api/client/cusLabel/type.ts
@@ -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[];
+}
+//编辑和删除标签
+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;
+}
diff --git a/src/api/client/cusScore/index.ts b/src/api/client/cusScore/index.ts
new file mode 100644
index 0000000..b592628
--- /dev/null
+++ b/src/api/client/cusScore/index.ts
@@ -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'
+ });
+};
diff --git a/src/api/client/cusScore/type.ts b/src/api/client/cusScore/type.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/api/client/cusUser/index.ts b/src/api/client/cusUser/index.ts
new file mode 100644
index 0000000..b1e0480
--- /dev/null
+++ b/src/api/client/cusUser/index.ts
@@ -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 => {
+ return request({
+ url: '/shop/dataScope',
+ method: 'get'
+ });
+};
+/**
+ * 查询客户列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listCusUser = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/cusUser/queryCusPageList',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询会员详细
+ * @param query
+ */
+export const getCusMember = (id: any): AxiosPromise => {
+ return request({
+ url: `/system/cusUser/memberInfo?id=${id}`,
+ method: 'get'
+ });
+};
+/**
+ * 查询客户详细
+ * @param id
+ */
+export const getCusUser = (id: string | number | Array) => {
+ 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) => {
+ return request({
+ url: '/system/cusUser/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ * 客户资产 储值管理 删除储值卡
+ * @param id
+ */
+export const cardCommentDelete = (id: string | number | Array) => {
+ return request({
+ url: '' + id,
+ method: 'delete'
+ });
+};
+/**
+ * 查询储值卡列表
+ * @param query
+ * @returns {*}
+ */
+export const listMoneyCard = (query?: CusUserQuery): AxiosPromise => {
+ 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 => {
+ return request({
+ url: '/system/moneyCard/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 储值查询 卡查询 列表
+ * @param query
+ */
+export const userCardQueryList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/moneyCardUser/listMoneyCardUser',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 储值查询 卡查询 详情
+ * @param query
+ */
+export const userCardQueryDetail = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/moneyCardUser/moneyCardInfo',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 储值查询 卡查询 交易明细
+ * @param query
+ */
+export const userCardQuerytrans = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/moneyCardUser/moneyCardUserRecordList1',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 储值查询 卡查询 交易明细 详情 礼包
+ * @param query
+ */
+export const cardRecordGiftPackageContent = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/cardRecordGiftPackageContent/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 储值查询 交易查询 列表
+ * @param query
+ */
+export const userTransQueryList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/moneyCardUser/adminQueryPageList',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 储值查询 礼包查询 列表
+ * @param query
+ */
+export const userGiftQueryList = (query?: CusUserQuery): AxiosPromise => {
+ 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 => {
+ return request({
+ url: '/system/moneyCardUser/queryCouponListForUserCardId',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 调账
+ * @param query
+ */
+export const userCardAdjust = (query?: CusUserQuery): AxiosPromise => {
+ 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 => {
+ return request({
+ url: '/system/moneyCardUser/addSysMarkReceiptVoucherEquity',
+ method: 'post',
+ data: data
+ });
+}
+/**
+ * 查看标记支付凭证
+ * @param query
+ */
+export const checkMark = (query?: CusUserQuery): AxiosPromise => {
+ 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 => {
+ return request({
+ url: '/system/giftPackage/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 权益卡 列表
+ * @param query
+ */
+export const equityCardList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCard/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 权益卡 列表 礼包用
+ * @param query
+ */
+export const equityCardListGift = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCard/listWithGiftPackage',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 优惠券 列表
+ * @param query
+ */
+export const userCouponQueryList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/courtesyCard/courtesyCard/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 获取可用金额
+ * @param query
+ */
+export const queryRefundableAmount = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/moneyCardUser/queryRefundableAmount',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 礼包禁用 启用
+ * @param query
+ */
+export const giftPackageStatus = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/giftPackage/giftPackageEnableDisable',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 权益卡列表
+ * @param query
+ */
+export const queryCardList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCard/list',
+ method: 'get',
+ params: query
+ });
+};
+// 获取用户权益卡列表
+export const queryCardUserList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCard/listEquityCardFree',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 赠品列表
+ * @param query
+ */
+export const queryCompList = (query?: CusUserQuery): AxiosPromise => {
+ 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 => {
+ return request({
+ url: '/system/equityCard/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 删除权益卡
+ * @param id
+ */
+export const deleteValueCard = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/equityCard/' + id,
+ method: 'delete'
+ });
+};
+/**
+ * 禁用权益卡
+ * @param query
+ */
+export const disabledValueCard = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCard/disableOrEnable',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 数据效果
+ * @param query
+ */
+export const checkDataEffect = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCardData/query',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 查看成员
+ * @param query
+ */
+export const getMembers = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCard/userList',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 领卡记录
+ * @param query
+ */
+export const querygetCardList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/cusCard/userReceiveRecordList',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 领卡记录 退卡操作
+ * @param query
+ */
+export const getCardReturn = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/cardReturnRecord/cardReturnRecordInfoForAdd',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 退卡记录
+ * @param query
+ */
+export const queryrefundCardList = (query?: CusUserQuery): AxiosPromise => {
+ 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 => {
+ return request({
+ url: '/system/diyBenefit/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 自定义权益 选择列表
+ * @param query
+ */
+export const querydiyBenefitSelectList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCardDiy/list',
+ method: 'get',
+ params: query
+ });
+}
+
+/**
+ * 自定义权益详情
+ * @param id
+ */
+export const querydiyBenefitDetail = (id: string | number): AxiosPromise => {
+ 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 => {
+ return request({
+ url: '/system/diyBenefit/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ * 权益卡适用店铺
+ * @param query
+ */
+export const queryshopList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCardForShop/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 权益卡适用优惠券
+ * @param query
+ */
+export const queryCouponList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCardForCoupon/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 权益卡付费购买商品
+ * @param query
+ */
+export const queryProductList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCardForProduct/listAll',
+ method: 'get',
+ params: query
+ });
+};
+// /**
+// * 权益卡适用赠品
+// * @param query
+// */
+export const querygiftList = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/equityCardGift/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 延期
+ * @param query
+ */
+export const editExtendDays = (query?: CusUserQuery): AxiosPromise => {
+ return request({
+ url: '/system/cusCard/extendValidity',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 领卡记录详情
+ * @param id
+ */
+export const getRecordDetail = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/cardCollectionRecord/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 领卡记录详情
+ * @param id
+ */
+export const getReturnDetail = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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
+ });
+}
diff --git a/src/api/client/cusUser/member/index.ts b/src/api/client/cusUser/member/index.ts
new file mode 100644
index 0000000..ad03ca8
--- /dev/null
+++ b/src/api/client/cusUser/member/index.ts
@@ -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';
diff --git a/src/api/client/cusUser/types.ts b/src/api/client/cusUser/types.ts
new file mode 100644
index 0000000..de85bda
--- /dev/null
+++ b/src/api/client/cusUser/types.ts
@@ -0,0 +1,335 @@
+export interface CusUserVO {
+ /**
+ * 用户ID
+ */
+ id: string | number;
+
+ /**
+ * 密码
+ */
+ password: string;
+
+ /**
+ * 用户账号
+ */
+ userName: string;
+
+ /**
+ * 用户昵称
+ */
+ nickName: string;
+
+ /**
+ * 邮箱
+ */
+ email: string;
+
+ /**
+ * 手机号
+ */
+ phonenumber: string;
+
+ /**
+ * 用户性别(0男,1女,2未知)
+ */
+ sex: number;
+
+ /**
+ * 头像地址
+ */
+ avatar: string;
+
+ /**
+ * 帐号状态(0正常,1停用)
+ */
+ status: number;
+
+ /**
+ * 生日
+ */
+ birthday: string;
+
+ /**
+ * 微信号
+ */
+ wechat: string;
+
+ /**
+ * 备注
+ */
+ notes: string;
+
+ /**
+ * 会员等级
+ */
+ userLevelId: string | number;
+
+ /**
+ * 成为客户时间
+ */
+ becomeCustomerTime: string;
+
+ /**
+ * 成为会员时间
+ */
+ becomeMemberTime: string;
+
+ /**
+ * 关键词
+ */
+ keysword: string;
+
+ /**
+ * 归属组织(门店)
+ */
+ belongingStore: number;
+
+ /**
+ * 授权手机号(0未授权,1已授权)
+ */
+ wechatPhone: number;
+
+ /**
+ * 来源渠道(0门店小程序,1总部小程序,2线下门店)
+ */
+ sourceChannel: number;
+
+ /**
+ * 来源方式(0访问优惠券页面,1访问商品页面,2登录创建客户,3领取优惠券,4访问权益卡页面)
+ */
+ 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;
+
+ /**
+ * 用户性别(0男,1女,2未知)
+ */
+ sex?: number;
+
+ /**
+ * 头像地址
+ */
+ avatar?: string;
+
+ /**
+ * 帐号状态(0正常,1停用)
+ */
+ status?: number;
+
+ /**
+ * 生日
+ */
+ birthday?: string;
+
+ /**
+ * 微信号
+ */
+ wechat?: string;
+
+ /**
+ * 备注
+ */
+ notes?: string;
+
+ /**
+ * 会员等级
+ */
+ userLevelId?: string | number;
+
+ /**
+ * 成为客户时间
+ */
+ becomeCustomerTime?: string;
+
+ /**
+ * 成为会员时间
+ */
+ becomeMemberTime?: string;
+
+ /**
+ * 关键词
+ */
+ keysword?: string;
+
+ /**
+ * 归属组织(门店)
+ */
+ belongingStore?: number;
+
+ /**
+ * 授权手机号(0未授权,1已授权)
+ */
+ wechatPhone?: number;
+
+ /**
+ * 来源渠道(0门店小程序,1总部小程序,2线下门店)
+ */
+ sourceChannel?: number;
+
+ /**
+ * 来源方式(0访问优惠券页面,1访问商品页面,2登录创建客户,3领取优惠券,4访问权益卡页面)
+ */
+ sourceMethod?: number;
+
+ /**
+ * 分销员
+ */
+ distributor?: number;
+
+ /**
+ * 地区
+ */
+ region?: string;
+}
+
+export interface CusUserQuery extends PageQuery {
+ /**
+ * 密码
+ */
+ password?: string;
+
+ /**
+ * 用户账号
+ */
+ userName?: string;
+
+ /**
+ * 用户昵称
+ */
+ nickName?: string;
+
+ /**
+ * 邮箱
+ */
+ email?: string;
+
+ /**
+ * 手机号
+ */
+ phonenumber?: string;
+
+ /**
+ * 用户性别(0男,1女,2未知)
+ */
+ sex?: number;
+
+ /**
+ * 头像地址
+ */
+ avatar?: string;
+
+ /**
+ * 帐号状态(0正常,1停用)
+ */
+ status?: number;
+
+ /**
+ * 生日
+ */
+ birthday?: string;
+
+ /**
+ * 微信号
+ */
+ wechat?: string;
+
+ /**
+ * 备注
+ */
+ notes?: string;
+
+ /**
+ * 会员等级
+ */
+ userLevelId?: string | number;
+
+ /**
+ * 成为客户时间
+ */
+ becomeCustomerTime?: string;
+
+ /**
+ * 成为会员时间
+ */
+ becomeMemberTime?: string;
+
+ /**
+ * 关键词
+ */
+ keysword?: string;
+
+ /**
+ * 归属组织(门店)
+ */
+ belongingStore?: number;
+
+ /**
+ * 授权手机号(0未授权,1已授权)
+ */
+ wechatPhone?: number;
+
+ /**
+ * 来源渠道(0门店小程序,1总部小程序,2线下门店)
+ */
+ sourceChannel?: number;
+
+ /**
+ * 来源方式(0访问优惠券页面,1访问商品页面,2登录创建客户,3领取优惠券,4访问权益卡页面)
+ */
+ sourceMethod?: number;
+
+ /**
+ * 分销员
+ */
+ distributor?: number;
+
+ /**
+ * 地区
+ */
+ region?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/src/api/client/entryStoreRecord/index.ts b/src/api/client/entryStoreRecord/index.ts
new file mode 100644
index 0000000..2019cf6
--- /dev/null
+++ b/src/api/client/entryStoreRecord/index.ts
@@ -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 => {
+ return request({
+ url: '/system/enterShopRecord/list',
+ method: 'get',
+ params: query
+ });
+};
diff --git a/src/api/client/memberShip/index.ts b/src/api/client/memberShip/index.ts
new file mode 100644
index 0000000..d33c89d
--- /dev/null
+++ b/src/api/client/memberShip/index.ts
@@ -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[]): AxiosPromise => {
+ return request({
+ url: `/system/userLevel/${userLevelIds}`,
+ method: 'delete'
+ });
+};
diff --git a/src/api/client/operation/index.ts b/src/api/client/operation/index.ts
new file mode 100644
index 0000000..5232b89
--- /dev/null
+++ b/src/api/client/operation/index.ts
@@ -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
+ });
+};
diff --git a/src/api/commodity/commodityClassify/index.ts b/src/api/commodity/commodityClassify/index.ts
new file mode 100644
index 0000000..6a62300
--- /dev/null
+++ b/src/api/commodity/commodityClassify/index.ts
@@ -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 => {
+ return request({
+ url: '/commodity/commodityClassify/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 查询商品分类详细
+ * @param id
+ */
+export const getCommodityClassify = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/commodity/commodityClassify/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/commodity/commodityClassify/types.ts b/src/api/commodity/commodityClassify/types.ts
new file mode 100644
index 0000000..b18c3b4
--- /dev/null
+++ b/src/api/commodity/commodityClassify/types.ts
@@ -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;
+}
diff --git a/src/api/commodity/commodityPackage/index.ts b/src/api/commodity/commodityPackage/index.ts
new file mode 100644
index 0000000..ef25d8b
--- /dev/null
+++ b/src/api/commodity/commodityPackage/index.ts
@@ -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 => {
+ return request({
+ url: '/commodity/commodityPackage/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商品套餐详细
+ * @param id
+ */
+export const getCommodityPackage = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/commodity/commodityPackage/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/commodity/commodityPackage/types.ts b/src/api/commodity/commodityPackage/types.ts
new file mode 100644
index 0000000..9cc7164
--- /dev/null
+++ b/src/api/commodity/commodityPackage/types.ts
@@ -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;
+}
diff --git a/src/api/commodityGroup/index.ts b/src/api/commodityGroup/index.ts
new file mode 100644
index 0000000..c164462
--- /dev/null
+++ b/src/api/commodityGroup/index.ts
@@ -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 => {
+ return request({
+ url: '/commodity/commodityGroup/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商品分组详细
+ * @param id
+ */
+export const getCommodityGroup = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/commodity/commodityGroup/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/commodityGroup/types.ts b/src/api/commodityGroup/types.ts
new file mode 100644
index 0000000..28bd458
--- /dev/null
+++ b/src/api/commodityGroup/types.ts
@@ -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;
+}
diff --git a/src/api/contentManage/activity/index.ts b/src/api/contentManage/activity/index.ts
new file mode 100644
index 0000000..5e9099e
--- /dev/null
+++ b/src/api/contentManage/activity/index.ts
@@ -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
+ })
+}
+
diff --git a/src/api/contentManage/article/index.ts b/src/api/contentManage/article/index.ts
new file mode 100644
index 0000000..7441720
--- /dev/null
+++ b/src/api/contentManage/article/index.ts
@@ -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 => {
+ return request({
+ url: '/demo/demo/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询测试单详细
+ * @param id
+ */
+export const getDemo = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/demo/demo/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/contentManage/article/types.ts b/src/api/contentManage/article/types.ts
new file mode 100644
index 0000000..f27fea3
--- /dev/null
+++ b/src/api/contentManage/article/types.ts
@@ -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;
+ }
+
\ No newline at end of file
diff --git a/src/api/contentManage/business/banner/index.ts b/src/api/contentManage/business/banner/index.ts
new file mode 100644
index 0000000..72fb033
--- /dev/null
+++ b/src/api/contentManage/business/banner/index.ts
@@ -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 => {
+ return request({
+ url: '/content/business/banner/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商学院banner内容详细
+ * @param id
+ */
+export const getContentBusinessBanner = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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'
+ });
+};
diff --git a/src/api/contentManage/business/banner/types.ts b/src/api/contentManage/business/banner/types.ts
new file mode 100644
index 0000000..0da4215
--- /dev/null
+++ b/src/api/contentManage/business/banner/types.ts
@@ -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;
+}
diff --git a/src/api/contentManage/business/maintain/index.ts b/src/api/contentManage/business/maintain/index.ts
new file mode 100644
index 0000000..c4089b5
--- /dev/null
+++ b/src/api/contentManage/business/maintain/index.ts
@@ -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 => {
+ return request({
+ url: '/content/business/category/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商学院分类详细
+ * @param id
+ */
+export const getContentBusinessCategory = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/content/business/category/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/contentManage/business/maintain/types.ts b/src/api/contentManage/business/maintain/types.ts
new file mode 100644
index 0000000..6131fad
--- /dev/null
+++ b/src/api/contentManage/business/maintain/types.ts
@@ -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;
+}
diff --git a/src/api/contentManage/business/videoContent/index.ts b/src/api/contentManage/business/videoContent/index.ts
new file mode 100644
index 0000000..e4e34d0
--- /dev/null
+++ b/src/api/contentManage/business/videoContent/index.ts
@@ -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 => {
+ return request({
+ url: '/content/business/video/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商学院视频内容详细
+ * @param id
+ */
+export const getContentBusinessVideo = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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) => {
+ return request({
+ url: '/content/business/article/' + id,
+ method: 'delete'
+ });
+};
+/**
+ * 获取商学院图文内容详情
+ * @param id
+ * @returns
+ */
+export const getContentBusinessArticle = (id: string | number): AxiosPromise => {
+ 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'
+ });
+};
diff --git a/src/api/contentManage/business/videoContent/types.ts b/src/api/contentManage/business/videoContent/types.ts
new file mode 100644
index 0000000..ae8e815
--- /dev/null
+++ b/src/api/contentManage/business/videoContent/types.ts
@@ -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;
+}
diff --git a/src/api/contentManage/commodity/index.ts b/src/api/contentManage/commodity/index.ts
new file mode 100644
index 0000000..41ce944
--- /dev/null
+++ b/src/api/contentManage/commodity/index.ts
@@ -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
+ })
+}
\ No newline at end of file
diff --git a/src/api/contentManage/feedback/index.ts b/src/api/contentManage/feedback/index.ts
new file mode 100644
index 0000000..249706d
--- /dev/null
+++ b/src/api/contentManage/feedback/index.ts
@@ -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
+ })
+}
diff --git a/src/api/contentManage/material/index.ts b/src/api/contentManage/material/index.ts
new file mode 100644
index 0000000..61eea0b
--- /dev/null
+++ b/src/api/contentManage/material/index.ts
@@ -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',
+ })
+}
+
diff --git a/src/api/contentManage/sourceContent/index.ts b/src/api/contentManage/sourceContent/index.ts
new file mode 100644
index 0000000..b7c5bd7
--- /dev/null
+++ b/src/api/contentManage/sourceContent/index.ts
@@ -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
+ })
+}
\ No newline at end of file
diff --git a/src/api/dataCenter/index.ts b/src/api/dataCenter/index.ts
new file mode 100644
index 0000000..6f5219e
--- /dev/null
+++ b/src/api/dataCenter/index.ts
@@ -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
+ })
+}
+
+
+
+
+
diff --git a/src/api/demo/demo/index.ts b/src/api/demo/demo/index.ts
new file mode 100644
index 0000000..7441720
--- /dev/null
+++ b/src/api/demo/demo/index.ts
@@ -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 => {
+ return request({
+ url: '/demo/demo/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询测试单详细
+ * @param id
+ */
+export const getDemo = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/demo/demo/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/demo/demo/types.ts b/src/api/demo/demo/types.ts
new file mode 100644
index 0000000..ea51d32
--- /dev/null
+++ b/src/api/demo/demo/types.ts
@@ -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;
+}
diff --git a/src/api/demo/tree/index.ts b/src/api/demo/tree/index.ts
new file mode 100644
index 0000000..562deb6
--- /dev/null
+++ b/src/api/demo/tree/index.ts
@@ -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 => {
+ return request({
+ url: '/demo/tree/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询测试树详细
+ * @param id
+ */
+export const getTree = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/demo/tree/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/demo/tree/types.ts b/src/api/demo/tree/types.ts
new file mode 100644
index 0000000..e164d8b
--- /dev/null
+++ b/src/api/demo/tree/types.ts
@@ -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;
+}
diff --git a/src/api/fund/index.ts b/src/api/fund/index.ts
new file mode 100644
index 0000000..18320ee
--- /dev/null
+++ b/src/api/fund/index.ts
@@ -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 => {
+ return request({
+ url: '/system/financeCenter/getHqFinance',
+ method: 'get',
+ params
+ });
+};
+/*
+ * 门店资金概况
+ * */
+export const getShopFinance = (params?): AxiosPromise => {
+ 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 => {
+ return request({
+ url: '/system/financeCenter/getHeadBalanceRecord',
+ method: 'get',
+ params
+ });
+};
+/**
+ * 门店余额明细
+ */
+export const getBalanceDetail = (params: Balance): AxiosPromise => {
+ return request({
+ url: '/system/financeCenter/getBalanceRecord',
+ method: 'get',
+ params
+ });
+};
+
+// 查询核销结算储值金记录列表
+export const getBalanceRecordListApi = (params: Balance): AxiosPromise => {
+ return request({
+ url: '/system/settlementRecord/list',
+ method: 'get',
+ params
+ });
+};
+
+
+/**
+ * /system/financeCenter/settleAccounts
+ * 财务中心-门店余额-第三方核销明细
+ */
+export const getCardVerificationRecord = (
+ params: getBalanceRecordList
+): AxiosPromise => {
+ 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
+ });
+};
diff --git a/src/api/fund/types.ts b/src/api/fund/types.ts
new file mode 100644
index 0000000..ac3cf01
--- /dev/null
+++ b/src/api/fund/types.ts
@@ -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;
+ /**
+ * 支付方式 (0现金支付,1线下转账已转总部 2标记支付(线下转账),3三方收款)
+ */
+ payType?: number | string;
+ /**
+ * 来源门店id
+ */
+ shopId: string;
+ /**
+ * 来源门店
+ */
+ shopName?: string;
+ /**
+ * 来源 0门店小程序,1总部小程序,2线下门店 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;
+ /**
+ * 支付方式 (0现金支付,1线下转账已转总部 2标记支付(线下转账),3三方收款)
+ */
+ payType?: number;
+ /**
+ * 订单退款金额,前端不要用, 都用金额
+ */
+ returnAmount?: number;
+ /**
+ * 来源门店
+ */
+ shopName?: string;
+ /**
+ * 来源 0门店小程序,1总部小程序,2线下门店 3小程序
+ */
+ sourceType?: number;
+ /**
+ * *
+ * 收支类型0 收入 1指出
+ */
+ type?: number;
+}
+
+export interface getBalanceRecordList {
+ page: number;
+ size: number;
+
+ [property: string]: any;
+}
diff --git a/src/api/goods/index.ts b/src/api/goods/index.ts
new file mode 100644
index 0000000..70f37cc
--- /dev/null
+++ b/src/api/goods/index.ts
@@ -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 ?? {}
+ });
+}
\ No newline at end of file
diff --git a/src/api/handOver/index.ts b/src/api/handOver/index.ts
new file mode 100644
index 0000000..67c3cf8
--- /dev/null
+++ b/src/api/handOver/index.ts
@@ -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'
+ });
+};
diff --git a/src/api/index.ts b/src/api/index.ts
new file mode 100644
index 0000000..99f39f2
--- /dev/null
+++ b/src/api/index.ts
@@ -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
+ });
+ };
+
+
+
+
diff --git a/src/api/inventory/inventoryCheck/index.ts b/src/api/inventory/inventoryCheck/index.ts
new file mode 100644
index 0000000..f0967e7
--- /dev/null
+++ b/src/api/inventory/inventoryCheck/index.ts
@@ -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 => {
+ return request({
+ url: '/system/inventoryCheck/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询盘点单主详细
+ * @param id
+ */
+export const getInventoryCheck = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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'
+ });
+};
diff --git a/src/api/inventory/inventoryCheck/types.ts b/src/api/inventory/inventoryCheck/types.ts
new file mode 100644
index 0000000..83ede6b
--- /dev/null
+++ b/src/api/inventory/inventoryCheck/types.ts
@@ -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;
+}
+
+
+
diff --git a/src/api/inventory/inventoryCheckTask/index.ts b/src/api/inventory/inventoryCheckTask/index.ts
new file mode 100644
index 0000000..d6dbdf0
--- /dev/null
+++ b/src/api/inventory/inventoryCheckTask/index.ts
@@ -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 => {
+ 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) => {
+ 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
+ });
+};
diff --git a/src/api/inventory/inventoryCheckTask/types.ts b/src/api/inventory/inventoryCheckTask/types.ts
new file mode 100644
index 0000000..bf3e6a5
--- /dev/null
+++ b/src/api/inventory/inventoryCheckTask/types.ts
@@ -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;
+}
diff --git a/src/api/inventory/inventoryLoss/index.ts b/src/api/inventory/inventoryLoss/index.ts
new file mode 100644
index 0000000..3b04a82
--- /dev/null
+++ b/src/api/inventory/inventoryLoss/index.ts
@@ -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 => {
+ return request({
+ url: '/system/inventoryLoss/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询报损单主详细
+ * @param id
+ */
+export const getInventoryLoss = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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'
+ });
+};
+
diff --git a/src/api/inventory/inventoryLoss/types.ts b/src/api/inventory/inventoryLoss/types.ts
new file mode 100644
index 0000000..98a5d16
--- /dev/null
+++ b/src/api/inventory/inventoryLoss/types.ts
@@ -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;
+}
diff --git a/src/api/inventory/inventoryMain/index.ts b/src/api/inventory/inventoryMain/index.ts
new file mode 100644
index 0000000..926f98d
--- /dev/null
+++ b/src/api/inventory/inventoryMain/index.ts
@@ -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 => {
+ return request({
+ url: '/system/inventoryMain/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询库存主详细
+ * @param id
+ */
+export const getInventoryMain = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/system/inventoryMain/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/inventory/inventoryMain/types.ts b/src/api/inventory/inventoryMain/types.ts
new file mode 100644
index 0000000..dc3c4e2
--- /dev/null
+++ b/src/api/inventory/inventoryMain/types.ts
@@ -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;
+}
+
+
+
diff --git a/src/api/inventory/inventoryRecord/index.ts b/src/api/inventory/inventoryRecord/index.ts
new file mode 100644
index 0000000..c7b0c77
--- /dev/null
+++ b/src/api/inventory/inventoryRecord/index.ts
@@ -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 => {
+ return request({
+ url: '/system/inventoryRecord/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询库存流水记录详细
+ * @param id
+ */
+export const getInventoryRecord = (id: string | number): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/system/inventoryRecord/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/inventory/inventoryRecord/types.ts b/src/api/inventory/inventoryRecord/types.ts
new file mode 100644
index 0000000..fb27d12
--- /dev/null
+++ b/src/api/inventory/inventoryRecord/types.ts
@@ -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;
+}
+
+
+
diff --git a/src/api/inventory/inventoryWarning/index.ts b/src/api/inventory/inventoryWarning/index.ts
new file mode 100644
index 0000000..34f36b9
--- /dev/null
+++ b/src/api/inventory/inventoryWarning/index.ts
@@ -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
+ });
+};
diff --git a/src/api/inventory/types.ts b/src/api/inventory/types.ts
new file mode 100644
index 0000000..f063def
--- /dev/null
+++ b/src/api/inventory/types.ts
@@ -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;
+}
+
+
+
diff --git a/src/api/liveManage/index.ts b/src/api/liveManage/index.ts
new file mode 100644
index 0000000..3c4f527
--- /dev/null
+++ b/src/api/liveManage/index.ts
@@ -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) => {
+ return request({
+ url: '/shopLiveCommodity/' + id,
+ method: 'delete'
+ });
+};
+
+
+
+// 直播列表==========================================================
+/**
+ * 查询门店直播列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listShopLive = (query?: ShopLiveQuery): AxiosPromise => {
+ 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) => {
+ 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
+ });
+};
\ No newline at end of file
diff --git a/src/api/liveManage/types.ts b/src/api/liveManage/types.ts
new file mode 100644
index 0000000..9e12f10
--- /dev/null
+++ b/src/api/liveManage/types.ts
@@ -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;
+}
+
+
+
+
diff --git a/src/api/login.ts b/src/api/login.ts
new file mode 100644
index 0000000..c7c291e
--- /dev/null
+++ b/src/api/login.ts
@@ -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 {
+ 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 {
+ return request({
+ url: '/auth/code',
+ headers: {
+ isToken: false
+ },
+ method: 'get',
+ timeout: 20000
+ });
+}
+
+/**
+ * 第三方登录
+ */
+export function callback(data: LoginData): AxiosPromise {
+ const LoginData = {
+ ...data,
+ clientId: clientId,
+ grantType: 'social'
+ };
+ return request({
+ url: '/auth/social/callback',
+ method: 'post',
+ data: LoginData
+ });
+}
+
+// 获取用户详细信息
+export function getInfo(): AxiosPromise {
+ return request({
+ url: '/system/user/getInfo',
+ method: 'get'
+ });
+}
+
+// 获取租户列表
+export function getTenantList(): AxiosPromise {
+ return request({
+ url: '/auth/tenant/list',
+ headers: {
+ isToken: false
+ },
+ method: 'get'
+ });
+}
diff --git a/src/api/marketing/courtesyCard/index.ts b/src/api/marketing/courtesyCard/index.ts
new file mode 100644
index 0000000..d56b8f8
--- /dev/null
+++ b/src/api/marketing/courtesyCard/index.ts
@@ -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 => {
+ return request({
+ url: '/courtesyCard/courtesyCard/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 查询优惠券详细
+ * @param id
+ */
+export const getCourtesyCards = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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
+ });
+};
diff --git a/src/api/marketing/courtesyCard/types.ts b/src/api/marketing/courtesyCard/types.ts
new file mode 100644
index 0000000..006caf0
--- /dev/null
+++ b/src/api/marketing/courtesyCard/types.ts
@@ -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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 3无门槛全减
+ */
+ physicalDistributionDiscountsType?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/src/api/marketing/enterShopGift/index.ts b/src/api/marketing/enterShopGift/index.ts
new file mode 100644
index 0000000..cba7f09
--- /dev/null
+++ b/src/api/marketing/enterShopGift/index.ts
@@ -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 => {
+ return request({
+ url: '/system/enterShopGift/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询营销中心-进店有礼详细
+ * @param id
+ */
+export const getEnterShopGift = (id: any): AxiosPromise => {
+ 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) => {
+ return request({
+ url: '/system/enterShopGift/' + id,
+ method: 'delete'
+ });
+};
+/*
+ * 优惠券统计
+ * */
+export const countEnterShopGift = (query?: any): AxiosPromise => {
+ return request({
+ url: `/courtesyCard/courtesyCard/getCardStatistics/info`,
+ method: 'get',
+ params: query
+ });
+};
+/*
+ * 优惠券维度统计
+ * */
+export const countEnterShopGiftDimension = (query?: any): AxiosPromise => {
+ return request({
+ url: `/courtesyCard/courtesyCard/getCardStatistics`,
+ method: 'get',
+ params: query
+ });
+};
+//查询单个优惠券统计
+export const countEnterShopGiftOne = (query?: any): AxiosPromise => {
+ 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
+ });
+};
\ No newline at end of file
diff --git a/src/api/marketing/enterShopGift/types.ts b/src/api/marketing/enterShopGift/types.ts
new file mode 100644
index 0000000..356381c
--- /dev/null
+++ b/src/api/marketing/enterShopGift/types.ts
@@ -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;
+}
diff --git a/src/api/marketing/fullDiscount/index.ts b/src/api/marketing/fullDiscount/index.ts
new file mode 100644
index 0000000..c658c0f
--- /dev/null
+++ b/src/api/marketing/fullDiscount/index.ts
@@ -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 => {
+ return request({
+ url: '/system/fullDiscount/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 查询优惠券详细
+ * @param id
+ */
+export const getFullDiscounts = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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
+ });
+};
\ No newline at end of file
diff --git a/src/api/marketing/fullDiscount/types.ts b/src/api/marketing/fullDiscount/types.ts
new file mode 100644
index 0000000..2538f47
--- /dev/null
+++ b/src/api/marketing/fullDiscount/types.ts
@@ -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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 3无门槛全减
+ */
+ physicalDistributionDiscountsType?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+ /**
+ * 归属门店
+ */
+ belongingStore: string;
+ /**
+ * 归属渠道
+ */
+ channelBos: [];
+ }
+
\ No newline at end of file
diff --git a/src/api/marketing/gift/index.ts b/src/api/marketing/gift/index.ts
new file mode 100644
index 0000000..0973c8c
--- /dev/null
+++ b/src/api/marketing/gift/index.ts
@@ -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 => {
+ return request({
+ url: '/system/gift/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 查询优惠券详细
+ * @param id
+ */
+export const getGifts = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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
+ });
+};
+
+
diff --git a/src/api/marketing/gift/types.ts b/src/api/marketing/gift/types.ts
new file mode 100644
index 0000000..4c0dd09
--- /dev/null
+++ b/src/api/marketing/gift/types.ts
@@ -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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 3无门槛全减
+ */
+ physicalDistributionDiscountsType?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+ /**
+ * 归属门店
+ */
+ belongingStore: string;
+ /**
+ * 归属渠道
+ */
+ channelBos: [];
+}
diff --git a/src/api/marketing/marketingDiscount/index.ts b/src/api/marketing/marketingDiscount/index.ts
new file mode 100644
index 0000000..57704d5
--- /dev/null
+++ b/src/api/marketing/marketingDiscount/index.ts
@@ -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 => {
+ return request({
+ url: '/system/marketingDiscount/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 查询优惠券详细
+ * @param id
+ */
+export const getMarketingDiscounts = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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 }
+ });
+};
diff --git a/src/api/marketing/marketingDiscount/types.ts b/src/api/marketing/marketingDiscount/types.ts
new file mode 100644
index 0000000..19d42ea
--- /dev/null
+++ b/src/api/marketing/marketingDiscount/types.ts
@@ -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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 3无门槛全减
+ */
+ physicalDistributionDiscountsType?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+ /**
+ * 归属门店
+ */
+ belongingStore: string;
+ /**
+ * 归属渠道
+ */
+ channelBos: Array;
+
+}
diff --git a/src/api/marketing/newUserGift/index.ts b/src/api/marketing/newUserGift/index.ts
new file mode 100644
index 0000000..b9d5a85
--- /dev/null
+++ b/src/api/marketing/newUserGift/index.ts
@@ -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 => {
+ return request({
+ url: '/system/newUserGift/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 查询新用户详细
+ * @param id
+ */
+export const getNewUserGifts = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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
+ });
+};
+
+
diff --git a/src/api/marketing/newUserGift/index_copy.ts b/src/api/marketing/newUserGift/index_copy.ts
new file mode 100644
index 0000000..eb98941
--- /dev/null
+++ b/src/api/marketing/newUserGift/index_copy.ts
@@ -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 => {
+ 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) => {
+ 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
+ });
+};
diff --git a/src/api/marketing/newUserGift/types.ts b/src/api/marketing/newUserGift/types.ts
new file mode 100644
index 0000000..4c0dd09
--- /dev/null
+++ b/src/api/marketing/newUserGift/types.ts
@@ -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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 3无门槛全减
+ */
+ physicalDistributionDiscountsType?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+ /**
+ * 归属门店
+ */
+ belongingStore: string;
+ /**
+ * 归属渠道
+ */
+ channelBos: [];
+}
diff --git a/src/api/marketing/newUserGift/types_copy.ts b/src/api/marketing/newUserGift/types_copy.ts
new file mode 100644
index 0000000..d87f5fc
--- /dev/null
+++ b/src/api/marketing/newUserGift/types_copy.ts
@@ -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;
+}
+
+
+
diff --git a/src/api/marketing/signRecord/index.ts b/src/api/marketing/signRecord/index.ts
new file mode 100644
index 0000000..65750f6
--- /dev/null
+++ b/src/api/marketing/signRecord/index.ts
@@ -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 => {
+ return request({
+ url: '/system/signRecord/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 查询签到统计列表
+ * @param id
+ */
+export const getSignRecordStatistics = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/signRecord/info',
+ method: 'get'
+ });
+};
+/**
+ * 查询签到详细
+ * @param cycle
+ */
+export const getSignRecordStatisticsItem = (query?: any): AxiosPromise => {
+ return request({
+ url: '/system/signRecord/recInfo',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询签到详细
+ * @param id
+ */
+export const getSignRecords = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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
+ });
+};
diff --git a/src/api/marketing/signRecord/types.ts b/src/api/marketing/signRecord/types.ts
new file mode 100644
index 0000000..4c0dd09
--- /dev/null
+++ b/src/api/marketing/signRecord/types.ts
@@ -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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 3无门槛全减
+ */
+ physicalDistributionDiscountsType?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+ /**
+ * 归属门店
+ */
+ belongingStore: string;
+ /**
+ * 归属渠道
+ */
+ channelBos: [];
+}
diff --git a/src/api/marketing/snapUp/index.ts b/src/api/marketing/snapUp/index.ts
new file mode 100644
index 0000000..a67ffe1
--- /dev/null
+++ b/src/api/marketing/snapUp/index.ts
@@ -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 => {
+ return request({
+ url: '/system/snapUp/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 查询优惠券详细
+ * @param id
+ */
+export const getSnapUps = (id: string | number): AxiosPromise => {
+ 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) => {
+ 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
+ });
+};
+
+
diff --git a/src/api/marketing/snapUp/types.ts b/src/api/marketing/snapUp/types.ts
new file mode 100644
index 0000000..4c0dd09
--- /dev/null
+++ b/src/api/marketing/snapUp/types.ts
@@ -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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 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全部用户可用 2新用户(订单为0或为1但全退款的)
+ */
+ 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;
+
+ /**
+ * 运费抵扣内容 0满n减n 1满n全减 2无门槛减n 3无门槛全减
+ */
+ physicalDistributionDiscountsType?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+ /**
+ * 归属门店
+ */
+ belongingStore: string;
+ /**
+ * 归属渠道
+ */
+ channelBos: [];
+}
diff --git a/src/api/menu.ts b/src/api/menu.ts
new file mode 100644
index 0000000..a3ae80e
--- /dev/null
+++ b/src/api/menu.ts
@@ -0,0 +1,11 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { RouteRecordRaw } from 'vue-router';
+
+// 获取路由
+export function getRouters(): AxiosPromise {
+ return request({
+ url: '/system/menu/getRouters',
+ method: 'get'
+ });
+}
diff --git a/src/api/monitor/cache/index.ts b/src/api/monitor/cache/index.ts
new file mode 100644
index 0000000..e45d6fb
--- /dev/null
+++ b/src/api/monitor/cache/index.ts
@@ -0,0 +1,59 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { CacheVO } from './types';
+
+// 查询缓存详细
+export function getCache(): AxiosPromise {
+ return request({
+ url: '/monitor/cache',
+ method: 'get'
+ });
+}
+
+// 查询缓存名称列表
+export function listCacheName() {
+ return request({
+ url: '/monitor/cache/getNames',
+ method: 'get'
+ });
+}
+
+// 查询缓存键名列表
+export function listCacheKey(cacheName: string) {
+ return request({
+ url: '/monitor/cache/getKeys/' + cacheName,
+ method: 'get'
+ });
+}
+
+// 查询缓存内容
+export function getCacheValue(cacheName: string, cacheKey: string) {
+ return request({
+ url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey,
+ method: 'get'
+ });
+}
+
+// 清理指定名称缓存
+export function clearCacheName(cacheName: string) {
+ return request({
+ url: '/monitor/cache/clearCacheName/' + cacheName,
+ method: 'delete'
+ });
+}
+
+// 清理指定键名缓存
+export function clearCacheKey(cacheName: string, cacheKey: string) {
+ return request({
+ url: '/monitor/cache/clearCacheKey/' + cacheName + '/' + cacheKey,
+ method: 'delete'
+ });
+}
+
+// 清理全部缓存
+export function clearCacheAll() {
+ return request({
+ url: '/monitor/cache/clearCacheAll',
+ method: 'delete'
+ });
+}
diff --git a/src/api/monitor/cache/types.ts b/src/api/monitor/cache/types.ts
new file mode 100644
index 0000000..4017b65
--- /dev/null
+++ b/src/api/monitor/cache/types.ts
@@ -0,0 +1,7 @@
+export interface CacheVO {
+ commandStats: Array<{ name: string; value: string }>;
+
+ dbSize: number;
+
+ info: { [key: string]: string };
+}
diff --git a/src/api/monitor/loginInfo/index.ts b/src/api/monitor/loginInfo/index.ts
new file mode 100644
index 0000000..f8877c9
--- /dev/null
+++ b/src/api/monitor/loginInfo/index.ts
@@ -0,0 +1,36 @@
+import request from '@/utils/request';
+import { LoginInfoQuery, LoginInfoVO } from './types';
+import { AxiosPromise } from 'axios';
+
+// 查询登录日志列表
+export function list(query: LoginInfoQuery): AxiosPromise {
+ return request({
+ url: '/monitor/logininfor/list',
+ method: 'get',
+ params: query
+ });
+}
+
+// 删除登录日志
+export function delLoginInfo(infoId: string | number | Array) {
+ return request({
+ url: '/monitor/logininfor/' + infoId,
+ method: 'delete'
+ });
+}
+
+// 解锁用户登录状态
+export function unlockLoginInfo(userName: string | Array) {
+ return request({
+ url: '/monitor/logininfor/unlock/' + userName,
+ method: 'get'
+ });
+}
+
+// 清空登录日志
+export function cleanLoginInfo() {
+ return request({
+ url: '/monitor/logininfor/clean',
+ method: 'delete'
+ });
+}
diff --git a/src/api/monitor/loginInfo/types.ts b/src/api/monitor/loginInfo/types.ts
new file mode 100644
index 0000000..202c779
--- /dev/null
+++ b/src/api/monitor/loginInfo/types.ts
@@ -0,0 +1,20 @@
+export interface LoginInfoVO {
+ infoId: string | number;
+ tenantId: string | number;
+ userName: string;
+ status: string;
+ ipaddr: string;
+ loginLocation: string;
+ browser: string;
+ os: string;
+ msg: string;
+ loginTime: string;
+}
+
+export interface LoginInfoQuery extends PageQuery {
+ ipaddr: string;
+ userName: string;
+ status: string;
+ orderByColumn: string;
+ isAsc: string;
+}
diff --git a/src/api/monitor/online/index.ts b/src/api/monitor/online/index.ts
new file mode 100644
index 0000000..7484702
--- /dev/null
+++ b/src/api/monitor/online/index.ts
@@ -0,0 +1,36 @@
+import request from '@/utils/request';
+import { OnlineQuery, OnlineVO } from './types';
+import { AxiosPromise } from 'axios';
+
+// 查询在线用户列表
+export function list(query: OnlineQuery): AxiosPromise {
+ return request({
+ url: '/monitor/online/list',
+ method: 'get',
+ params: query
+ });
+}
+
+// 强退用户
+export function forceLogout(tokenId: string) {
+ return request({
+ url: '/monitor/online/' + tokenId,
+ method: 'delete'
+ });
+}
+
+// 获取当前用户登录在线设备
+export function getOnline() {
+ return request({
+ url: '/monitor/online',
+ method: 'get'
+ });
+}
+
+// 删除当前在线设备
+export function delOnline(tokenId: string) {
+ return request({
+ url: '/monitor/online/' + tokenId,
+ method: 'post'
+ });
+}
diff --git a/src/api/monitor/online/types.ts b/src/api/monitor/online/types.ts
new file mode 100644
index 0000000..8c0ec27
--- /dev/null
+++ b/src/api/monitor/online/types.ts
@@ -0,0 +1,15 @@
+export interface OnlineQuery extends PageQuery {
+ ipaddr: string;
+ userName: string;
+}
+
+export interface OnlineVO extends BaseEntity {
+ tokenId: string;
+ deptName: string;
+ userName: string;
+ ipaddr: string;
+ loginLocation: string;
+ browser: string;
+ os: string;
+ loginTime: number;
+}
diff --git a/src/api/monitor/operlog/index.ts b/src/api/monitor/operlog/index.ts
new file mode 100644
index 0000000..7ac3453
--- /dev/null
+++ b/src/api/monitor/operlog/index.ts
@@ -0,0 +1,28 @@
+import request from '@/utils/request';
+import { OperLogQuery, OperLogVO } from './types';
+import { AxiosPromise } from 'axios';
+
+// 查询操作日志列表
+export function list(query: OperLogQuery): AxiosPromise {
+ return request({
+ url: '/monitor/operlog/list',
+ method: 'get',
+ params: query
+ });
+}
+
+// 删除操作日志
+export function delOperlog(operId: string | number | Array) {
+ return request({
+ url: '/monitor/operlog/' + operId,
+ method: 'delete'
+ });
+}
+
+// 清空操作日志
+export function cleanOperlog() {
+ return request({
+ url: '/monitor/operlog/clean',
+ method: 'delete'
+ });
+}
diff --git a/src/api/monitor/operlog/types.ts b/src/api/monitor/operlog/types.ts
new file mode 100644
index 0000000..10f65c7
--- /dev/null
+++ b/src/api/monitor/operlog/types.ts
@@ -0,0 +1,53 @@
+export interface OperLogQuery extends PageQuery {
+ operIp: string;
+ title: string;
+ operName: string;
+ businessType: string;
+ status: string;
+ orderByColumn: string;
+ isAsc: string;
+}
+
+export interface OperLogVO extends BaseEntity {
+ operId: string | number;
+ tenantId: string;
+ title: string;
+ businessType: number;
+ businessTypes: number[] | undefined;
+ method: string;
+ requestMethod: string;
+ operatorType: number;
+ operName: string;
+ deptName: string;
+ operUrl: string;
+ operIp: string;
+ operLocation: string;
+ operParam: string;
+ jsonResult: string;
+ status: number;
+ errorMsg: string;
+ operTime: string;
+ costTime: number;
+}
+
+export interface OperLogForm {
+ operId: number | string | undefined;
+ tenantId: string | number | undefined;
+ title: string;
+ businessType: number;
+ businessTypes: number[] | undefined;
+ method: string;
+ requestMethod: string;
+ operatorType: number;
+ operName: string;
+ deptName: string;
+ operUrl: string;
+ operIp: string;
+ operLocation: string;
+ operParam: string;
+ jsonResult: string;
+ status: number;
+ errorMsg: string;
+ operTime: string;
+ costTime: number;
+}
diff --git a/src/api/organization/index.ts b/src/api/organization/index.ts
new file mode 100644
index 0000000..6eb25d4
--- /dev/null
+++ b/src/api/organization/index.ts
@@ -0,0 +1,13 @@
+import request from '@/utils/request';
+
+/**
+ * 获取组织选择框列表
+ * @returns {Promise} 返回一个请求Promise对象
+ */
+export function getShop(data?: anyObject) {
+ return request({
+ url: '/system/dept/optionselect',
+ method: 'get',
+ params: data ?? {}
+ });
+}
\ No newline at end of file
diff --git a/src/api/paymentLog/index.ts b/src/api/paymentLog/index.ts
new file mode 100644
index 0000000..6e10e60
--- /dev/null
+++ b/src/api/paymentLog/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import {AxiosPromise} from 'axios';
+import {PaymentLogForm, PaymentLogQuery, PaymentLogVO} from '@/api/';
+
+/**
+ * 查询支付与退款日志列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listPaymentLog = (query?: PaymentLogQuery): AxiosPromise => {
+ return request({
+ url: '/system/paymentLog/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询支付与退款日志详细
+ * @param id
+ */
+export const getPaymentLog = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/paymentLog/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增支付与退款日志
+ * @param data
+ */
+export const addPaymentLog = (data: PaymentLogForm) => {
+ return request({
+ url: '/system/paymentLog',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改支付与退款日志
+ * @param data
+ */
+export const updatePaymentLog = (data: PaymentLogForm) => {
+ return request({
+ url: '/system/paymentLog',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除支付与退款日志
+ * @param id
+ */
+export const delPaymentLog = (id: string | number | Array) => {
+ return request({
+ url: '/system/paymentLog/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/paymentLog/types.ts b/src/api/paymentLog/types.ts
new file mode 100644
index 0000000..f998be1
--- /dev/null
+++ b/src/api/paymentLog/types.ts
@@ -0,0 +1,419 @@
+export interface PaymentLogVO {
+ /**
+ * 自增主键
+ */
+ id: string | number;
+
+ /**
+ * 0-小程序、1-收银台
+ */
+ type: boolean;
+
+ /**
+ * 设备Id
+ */
+ deviceId: string | number;
+
+ /**
+ * 收钱吧系统单号(支付/退款单号)
+ */
+ sn: string;
+
+ /**
+ * 支付单号
+ */
+ clientSn: string;
+
+ /**
+ * 商户订单号(与业务系统关联)
+ */
+ orderId: string | number;
+
+ /**
+ * 交易总额 以分为单位
+ */
+ totalAmount: number;
+
+ /**
+ * 实收金额 以分为单位
+ */
+ netAmount: number;
+
+ /**
+ * 币种(如CNY)
+ */
+ currency: string;
+
+ /**
+ * 全局返回码(如200)
+ */
+ resultCode: string;
+
+ /**
+ * 业务结果码(如PAY_SUCCESS/REFUND_SUCCESS)
+ */
+ bizResultCode: string;
+
+ /**
+ * '收钱吧订单状态,取值及含义如下:
+- CREATED:订单已创建/支付中
+- PAID:订单支付成功
+- PAY_CANCELED:支付失败并且已经成功充正
+- PAY_ERROR:支付异常,不确定是否已经成功充正,请联系收钱吧客服确认是否支付成功
+- REFUNDED:已成功全额退款
+- PARTIAL_REFUNDED:已成功部分退款
+- REFUND_INPROGRESS:退款进行中
+- REFUND_ERROR:退款异常并且不确定第三方支付通道的最终退款状态';
+ */
+ orderStatus: string;
+
+ /**
+ * 最终状态
+{SUCCESS 业务执行确认成功(即收钱吧后台和消费者端均成功)
+FAIL_CANCELED 确认失败(即收钱吧后台和消费者端均失败)}
+
+ */
+ status: string;
+
+ /**
+ * 支付方式(2:支付宝 3:微信)
+ */
+ payway: string;
+
+ /**
+ * 二级支付方式(1-扫码 4-小程序支付)
+ */
+ subPayway: string;
+
+ /**
+ * 渠道交易号(支付/退款成功时返回)
+ */
+ tradeNo: string;
+
+ /**
+ * 订单创建时间
+ */
+ ctime: string;
+
+ /**
+ * 本地系统完成时间
+ */
+ finishTime: string;
+
+ /**
+ * 支付渠道完成时间
+ */
+ channelFinishTime: string;
+
+ /**
+ * 操作员
+ */
+ operator: string;
+
+ /**
+ * 订单标题/商品描述
+ */
+ subject: string;
+
+ /**
+ * 请求参数 (JSON格式)
+ */
+ requestParams: string;
+
+ /**
+ * 响应参数(JSON数组)
+ */
+ responseParams: string;
+
+ /**
+ * 退款原因(仅退款时填充)
+ */
+ refundReason: string;
+
+ /**
+ * 失败原因
+ */
+ errorMessage: string;
+
+}
+
+export interface PaymentLogForm extends BaseEntity {
+ /**
+ * 自增主键
+ */
+ id?: string | number;
+
+ /**
+ * 0-小程序、1-收银台
+ */
+ type?: boolean;
+
+ /**
+ * 设备Id
+ */
+ deviceId?: string | number;
+
+ /**
+ * 收钱吧系统单号(支付/退款单号)
+ */
+ sn?: string;
+
+ /**
+ * 支付单号
+ */
+ clientSn?: string;
+
+ /**
+ * 商户订单号(与业务系统关联)
+ */
+ orderId?: string | number;
+
+ /**
+ * 交易总额 以分为单位
+ */
+ totalAmount?: number;
+
+ /**
+ * 实收金额 以分为单位
+ */
+ netAmount?: number;
+
+ /**
+ * 币种(如CNY)
+ */
+ currency?: string;
+
+ /**
+ * 全局返回码(如200)
+ */
+ resultCode?: string;
+
+ /**
+ * 业务结果码(如PAY_SUCCESS/REFUND_SUCCESS)
+ */
+ bizResultCode?: string;
+
+ /**
+ * '收钱吧订单状态,取值及含义如下:
+- CREATED:订单已创建/支付中
+- PAID:订单支付成功
+- PAY_CANCELED:支付失败并且已经成功充正
+- PAY_ERROR:支付异常,不确定是否已经成功充正,请联系收钱吧客服确认是否支付成功
+- REFUNDED:已成功全额退款
+- PARTIAL_REFUNDED:已成功部分退款
+- REFUND_INPROGRESS:退款进行中
+- REFUND_ERROR:退款异常并且不确定第三方支付通道的最终退款状态';
+ */
+ orderStatus?: string;
+
+ /**
+ * 最终状态
+{SUCCESS 业务执行确认成功(即收钱吧后台和消费者端均成功)
+FAIL_CANCELED 确认失败(即收钱吧后台和消费者端均失败)}
+
+ */
+ status?: string;
+
+ /**
+ * 支付方式(2:支付宝 3:微信)
+ */
+ payway?: string;
+
+ /**
+ * 二级支付方式(1-扫码 4-小程序支付)
+ */
+ subPayway?: string;
+
+ /**
+ * 渠道交易号(支付/退款成功时返回)
+ */
+ tradeNo?: string;
+
+ /**
+ * 订单创建时间
+ */
+ ctime?: string;
+
+ /**
+ * 本地系统完成时间
+ */
+ finishTime?: string;
+
+ /**
+ * 支付渠道完成时间
+ */
+ channelFinishTime?: string;
+
+ /**
+ * 操作员
+ */
+ operator?: string;
+
+ /**
+ * 订单标题/商品描述
+ */
+ subject?: string;
+
+ /**
+ * 请求参数 (JSON格式)
+ */
+ requestParams?: string;
+
+ /**
+ * 响应参数(JSON数组)
+ */
+ responseParams?: string;
+
+ /**
+ * 退款原因(仅退款时填充)
+ */
+ refundReason?: string;
+
+ /**
+ * 失败原因
+ */
+ errorMessage?: string;
+
+}
+
+export interface PaymentLogQuery extends PageQuery {
+
+ /**
+ * 0-小程序、1-收银台
+ */
+ type?: boolean;
+
+ /**
+ * 设备Id
+ */
+ deviceId?: string | number;
+
+ /**
+ * 收钱吧系统单号(支付/退款单号)
+ */
+ sn?: string;
+
+ /**
+ * 支付单号
+ */
+ clientSn?: string;
+
+ /**
+ * 商户订单号(与业务系统关联)
+ */
+ orderId?: string | number;
+
+ /**
+ * 交易总额 以分为单位
+ */
+ totalAmount?: number;
+
+ /**
+ * 实收金额 以分为单位
+ */
+ netAmount?: number;
+
+ /**
+ * 币种(如CNY)
+ */
+ currency?: string;
+
+ /**
+ * 全局返回码(如200)
+ */
+ resultCode?: string;
+
+ /**
+ * 业务结果码(如PAY_SUCCESS/REFUND_SUCCESS)
+ */
+ bizResultCode?: string;
+
+ /**
+ * '收钱吧订单状态,取值及含义如下:
+- CREATED:订单已创建/支付中
+- PAID:订单支付成功
+- PAY_CANCELED:支付失败并且已经成功充正
+- PAY_ERROR:支付异常,不确定是否已经成功充正,请联系收钱吧客服确认是否支付成功
+- REFUNDED:已成功全额退款
+- PARTIAL_REFUNDED:已成功部分退款
+- REFUND_INPROGRESS:退款进行中
+- REFUND_ERROR:退款异常并且不确定第三方支付通道的最终退款状态';
+ */
+ orderStatus?: string;
+
+ /**
+ * 最终状态
+{SUCCESS 业务执行确认成功(即收钱吧后台和消费者端均成功)
+FAIL_CANCELED 确认失败(即收钱吧后台和消费者端均失败)}
+
+ */
+ status?: string;
+
+ /**
+ * 支付方式(2:支付宝 3:微信)
+ */
+ payway?: string;
+
+ /**
+ * 二级支付方式(1-扫码 4-小程序支付)
+ */
+ subPayway?: string;
+
+ /**
+ * 渠道交易号(支付/退款成功时返回)
+ */
+ tradeNo?: string;
+
+ /**
+ * 订单创建时间
+ */
+ ctime?: string;
+
+ /**
+ * 本地系统完成时间
+ */
+ finishTime?: string;
+
+ /**
+ * 支付渠道完成时间
+ */
+ channelFinishTime?: string;
+
+ /**
+ * 操作员
+ */
+ operator?: string;
+
+ /**
+ * 订单标题/商品描述
+ */
+ subject?: string;
+
+ /**
+ * 请求参数 (JSON格式)
+ */
+ requestParams?: string;
+
+ /**
+ * 响应参数(JSON数组)
+ */
+ responseParams?: string;
+
+ /**
+ * 退款原因(仅退款时填充)
+ */
+ refundReason?: string;
+
+ /**
+ * 失败原因
+ */
+ errorMessage?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/purchase/purchaseManage/index.ts b/src/api/purchase/purchaseManage/index.ts
new file mode 100644
index 0000000..ffc28e6
--- /dev/null
+++ b/src/api/purchase/purchaseManage/index.ts
@@ -0,0 +1,537 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { PurchaseRequestOrderVO, PurchaseRequestOrderForm, PurchaseRequestOrderQuery } from '@/api/purchase/purchaseManage/types';
+
+/**
+ * 查询调拨发起方列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listsendProductRequestOrder = (query?: PurchaseRequestOrderQuery): AxiosPromise => {
+ return request({
+ url: '/purchase_transfer_order/purchaseTransferOrder/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商品采购单-申请单列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listPurchaseRequestOrder = (query?: PurchaseRequestOrderQuery): AxiosPromise => {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商品采购单-申请单详细
+ * @param id
+ */
+export const getPurchaseRequestOrder = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增商品采购单-申请单
+ * @param data
+ */
+export const addPurchaseRequestOrder = (data: PurchaseRequestOrderForm) => {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改商品采购单-申请单
+ * @param data
+ */
+export const updatePurchaseRequestOrder = (data: PurchaseRequestOrderForm) => {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除商品采购单-申请单
+ * @param id
+ */
+export const delPurchaseRequestOrder = (id: string | number | Array) => {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ * 获取入库列表
+ * @param {any} data - 请求所需的数据,具体结构取决于接口要求
+ * @returns {Promise} - 返回一个请求的Promise对象
+ */
+export function getInboundList(data) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/list',
+ method: 'get',
+ params: data
+ });
+}
+/**
+ * 获取入库单详情
+ * @param id
+ */
+export function getInboundInfo(id) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/'+id,
+ method: 'get',
+ });
+}
+
+
+
+export function addInbound(params) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry',
+ method: 'post',
+ data: params
+ });
+}
+
+
+
+export function nullifyPurchaseRequestOrder(id: string) {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/' + id,
+ method: 'delete'
+ });
+}
+
+// 提交采购单
+export function submitPurchaseRequestOrder(params: anyObject) {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/submit',
+ method: 'post',
+ data: params
+ });
+}
+
+/* 驳回采购单 */
+
+export function revokeSubmitPurchaseRequestOrder(id: string) {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/returnSubmit/' + id,
+ method: 'get'
+ });
+}
+
+// 审核通过采购单
+export function submitPurchaseOfSupplier(id: string) {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/reviewSubmit/' + id,
+ method: 'get'
+ });
+}
+
+
+/* 撤销审核采购单 */
+export function revokeReviewPurchaseOfSupplier(id: string) {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/cancelReviewSubmit/' + id,
+ method: 'get'
+ });
+}
+
+/* 撤销提交采购单 */
+export function revokeSubmitPurchaseOfSupplier(id: string) {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/cancelSubmit/' + id,
+ method: 'get'
+ });
+}
+/* 保存采购单草稿 */
+export function draftpurchaseRequestOrder(params: anyObject) {
+ return request({
+ url: '/purchase_request_order/purchaseRequestOrder/draft' ,
+ method: 'post',
+ data: params
+ });
+}
+
+
+
+
+
+
+/* =========================入库单 */
+/* 新建入库单-确认入库 */
+export function submitPurchaseWarehousingEntry(params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/submit' ,
+ method: 'post',
+ data: params
+ });
+}
+
+/* 新建入库保存草稿 */
+export function draftPurchaseWarehousingEntry(params: anyObject){
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/draft' ,
+ method: 'post',
+ data: params
+ });
+}
+
+
+/* 确认入库单保存草稿 */
+export function confirmDraftPurchaseWarehousingEntry(params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/confirmDraft' ,
+ method: 'put',
+ data: params
+ });
+}
+
+/* 确认入库-提交 */
+export function confirmSubmitPurchaseWarehousingEntry(params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/confirm' ,
+ method: 'put',
+ data: params
+ });
+}
+
+/* 删除入库单 */
+export function delPurchaseWarehousingEntry(id: any) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/'+id ,
+ method: 'delete',
+ });
+}
+
+/* 审核同意入库 */
+export function receiptApprovalPurchaseWarehousingEntry(id: any,params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/receiptApproval/'+id ,
+ method: 'get',
+ params: params
+ });
+}
+
+/* 驳回入库 */
+export function returnSubmitPurchaseWarehousingEntry(id: any,params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingEntry/returnSubmit/'+id ,
+ method: 'get',
+ params: params
+ });
+}
+
+
+/* =========================出库单========================= */
+
+
+/* 获取出库单列表 */
+export function getOutboundPurchaseWarehousingOut(params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingOut/list',
+ method: 'get',
+ params
+ });
+}
+/* 获取出库原因下拉 */
+export function getOutBoundReasonList(params: anyObject) {
+ return request({
+ url: '/system/dict/data/purchase_warehousing_entry_reason',
+ method: 'get',
+ });
+}
+
+/* 确认出库单 */
+export function confirmOutBoundPurchaseWarehousingOut(params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingOut/submit',
+ method: 'post',
+ data: params
+ });
+}
+
+/* 获取出库单详情 */
+export function getPurchaseWarehousingOutInfo(id: any) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingOut/'+id,
+ method: 'get',
+ });
+}
+
+/* 删除出库单 */
+export function delpurchaseWarehousingOut(id: any) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingOut/'+id,
+ method: 'delete',
+ });
+}
+
+/* 保存出库单草稿 */
+export function confirmDraftPurchaseWarehousingOut(params: any) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingOut/draft',
+ method: 'post',
+ data: params
+ });
+}
+
+/* 审核同意出库单 */
+export function receiptApprovalOut(id: any, params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingOut/receiptApproval/'+id,
+ method: 'get',
+ params: params
+ });
+}
+
+
+/* 驳回出库单 */
+export function returnSubmitOut(id: any, params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingOut/returnSubmit/'+id,
+ method: 'get',
+ params: params
+ });
+}
+
+
+
+
+/* =========================补发单========================= */
+
+
+/* 获取补发单列表 */
+export function getReissueOrderList(params: anyObject) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/list',
+ method: 'get',
+ params
+ });
+}
+
+/* 获取补发单详情 */
+export function getReissueOrderInfo(id: any) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/'+id,
+ method: 'get',
+ });
+}
+
+/* 新建获取补发单详情 */
+export function getReissueOrderInfoAdd(id: any) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/purchase/'+id,
+ method: 'get',
+ });
+}
+
+
+
+
+/* 新建补发单 */
+export function addPurchaseWarehousingReissue(params: anyObject) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/submit',
+ method: 'post',
+ data: params
+ });
+}
+
+/* 审核同意补发单 */
+export function receiptApprovalReissue(id: any, params: anyObject) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/audit/'+id,
+ method: 'get',
+ params: params
+ });
+}
+
+/* 驳回补发单 */
+export function returnSubmitReissue(id: any, params: anyObject) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/reject/'+id,
+ method: 'get',
+ params: params
+ });
+}
+
+/* 保存出库单草稿 */
+export function draftPurchaseWarehousingReissue(params: any) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/draft',
+ method: 'post',
+ data: params
+ });
+}
+
+/* 删除补发单 */
+export function delpurchaseWarehousingReissue(id: any) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/'+id,
+ method: 'delete',
+ });
+}
+
+
+/* =========================发起调拨单========================= */
+
+
+/* 获取发起调拨单列表 */
+export function getSentListForPurchaseId(params: anyObject) {
+ return request({
+ url: '/purchase_transfer_order/purchaseTransferOrder/list',
+ method: 'get',
+ params
+ });
+}
+
+
+/* 新建发起调拨单 */
+export function addSentOrder(params: anyObject){
+ return request({
+ url: '/purchase_transfer_order/purchaseTransferOrder/submit' ,
+ method: 'post',
+ data: params
+ });
+}
+
+/* 保存草稿发起调拨单 */
+export function saveDarftSentOrder(params: anyObject){
+ return request({
+ url: '/purchase_transfer_order/purchaseTransferOrder/draft' ,
+ method: 'post',
+ data: params
+ });
+}
+
+
+/* 删除发起调拨单 */
+export function delSentOrder(id: any) {
+ return request({
+ url: '/purchase_transfer_order/purchaseTransferOrder/'+id ,
+ method: 'delete',
+ });
+}
+
+/* 获取发起调拨单详情 */
+export function getSentOrderInfo(id: any) {
+ return request({
+ url: '/purchase_transfer_order/purchaseTransferOrder/'+id ,
+ method: 'get',
+ });
+}
+
+/* 撤销发起的调拨单 */
+export function cancelSentOrder(id: any) {
+ return request({
+ url: '/purchase_transfer_order/purchaseTransferOrder/revoke/'+id ,
+ method: 'get',
+ });
+}
+
+/* 发起的调拨单入库 */
+export function sentOrderInbound(params: any) {
+ return request({
+ url: '/purchase_transfer_order/purchaseTransferOrder/store' ,
+ method: 'put',
+ data: params
+ });
+}
+
+/* 发起的调拨单入库 */
+export function getSelectGoodsList(params: any) {
+ return request({
+ url: '/system/commoditySpu/storeList',
+ method: 'get',
+ params:params
+ });
+}
+
+
+/* =========================收到调拨单========================= */
+
+
+/* 获取收到调拨单列表 */
+export function getReceivedOrderList(params: anyObject) {
+ return request({
+ url: '/purchase_transfer_send_order/purchaseTransferSendOrder/list',
+ method: 'get',
+ params
+ });
+}
+
+
+/* 获取收到调拨单详情 */
+export function getReceivedOrderInfo(id: any) {
+ return request({
+ url: '/purchase_transfer_send_order/purchaseTransferSendOrder/'+id ,
+ method: 'get',
+ });
+}
+
+/* 确认出库*/
+export function confrimOutBound(params: any) {
+ return request({
+ url: '/purchase_transfer_send_order/purchaseTransferSendOrder/submit' ,
+ method: 'put',
+ data:params
+ });
+}
+
+/* 撤销发货*/
+export function cancelShipment(id: any) {
+ return request({
+ url: '/purchase_transfer_send_order/purchaseTransferSendOrder/revoke' ,
+ method: 'put',
+ data:{
+ id
+ }
+ });
+}
+
+
+
+
+
+
+export function getReissueListForPurchaseId(params: anyObject) {
+ return request({
+ url: '/purchase_return_order/purchaseReturnOrder/list',
+ method: 'get',
+ params
+ });
+}
+
+export function getDeliveryListForPurchaseId(params: anyObject) {
+ return request({
+ url: '/system/order/supplierOrderList',
+ method: 'get',
+ params
+ });
+}
+
+//供应商售后维权 列表
+export function getDeliverySupplierApplies(params: anyObject) {
+ return request({
+ url: '/system/orderReturnApply/supplierApplies',
+ method: 'get',
+ params
+ });
+}
diff --git a/src/api/purchase/purchaseManage/types.ts b/src/api/purchase/purchaseManage/types.ts
new file mode 100644
index 0000000..e859587
--- /dev/null
+++ b/src/api/purchase/purchaseManage/types.ts
@@ -0,0 +1,165 @@
+export interface PurchaseRequestOrderVO {
+ /**
+ *
+ */
+ id: string | number;
+
+ /**
+ * 采购组织:门店ID
+ */
+ shopId: string | number;
+
+ /**
+ * 供应商类型
+ */
+ supplierType: number;
+
+ /**
+ * 供应商ID
+ */
+ supplierId: string | number;
+
+ /**
+ * 希望到达时间
+ */
+ hopeArrivedDate: string;
+
+ /**
+ * 结算方式
+ */
+ paymentMethod: number;
+
+ /**
+ * 采购备注
+ */
+ recoment: string;
+
+ /**
+ *
+ */
+ deptId: string | number;
+
+ /**
+ *
+ */
+ userId: string | number;
+
+ /**
+ * 状态:0:草稿采购单 1:审批中 2:审批通过
+ */
+ status: number;
+}
+
+export interface PurchaseRequestOrderForm extends BaseEntity {
+ /**
+ *
+ */
+ id?: string | number;
+ inventoryRecords?: any[];
+ /**
+ * 采购组织:门店ID
+ */
+ shopId?: string | number;
+
+ /**
+ * 供应商类型
+ */
+ supplierType?: number;
+
+ /**
+ * 供应商ID
+ */
+ supplierId?: string | number;
+
+ /**
+ * 希望到达时间
+ */
+ hopeArrivedDate?: string;
+
+ /**
+ * 结算方式
+ */
+ paymentMethod?: number;
+
+ /**
+ * 采购备注
+ */
+ recoment?: string;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ *
+ */
+ userId?: string | number;
+
+ /**
+ * 状态:0:草稿采购单 1:审批中 2:审批通过
+ */
+ status?: number;
+}
+
+export interface PurchaseRequestOrderQuery {
+ /**
+ * 采购订单编号
+ */
+ id?: number | string;
+ /**
+ * 采购人姓名
+ */
+ purchaserName?: string;
+ /**
+ * 采购组织:门店ID
+ */
+ shopId?: string | number;
+ purchaseTimeGroup?: string[];
+ beginTime?: string;
+ endTime?: string;
+ /**
+ * 供应商类型
+ */
+ supplierType?: number;
+
+ /**
+ * 供应商ID
+ */
+ supplierId?: string | number;
+
+ /**
+ * 希望到达时间
+ */
+ hopeArrivedDate?: string;
+
+ /**
+ * 结算方式
+ */
+ paymentMethod?: number;
+
+ /**
+ * 采购备注
+ */
+ recoment?: string;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ *
+ */
+ userId?: string | number;
+
+ /**
+ * 状态:0:草稿采购单 1:审批中 2:审批通过
+ */
+ status?: number | string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/src/api/refundLog/index.ts b/src/api/refundLog/index.ts
new file mode 100644
index 0000000..358e38f
--- /dev/null
+++ b/src/api/refundLog/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import {AxiosPromise} from 'axios';
+import {RefundLogForm, RefundLogQuery, RefundLogVO} from '@/api/';
+
+/**
+ * 查询收钱吧-退款日志列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listRefundLog = (query?: RefundLogQuery): AxiosPromise => {
+ return request({
+ url: '/system/refundLog/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询收钱吧-退款日志详细
+ * @param id
+ */
+export const getRefundLog = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/refundLog/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增收钱吧-退款日志
+ * @param data
+ */
+export const addRefundLog = (data: RefundLogForm) => {
+ return request({
+ url: '/system/refundLog',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改收钱吧-退款日志
+ * @param data
+ */
+export const updateRefundLog = (data: RefundLogForm) => {
+ return request({
+ url: '/system/refundLog',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除收钱吧-退款日志
+ * @param id
+ */
+export const delRefundLog = (id: string | number | Array) => {
+ return request({
+ url: '/system/refundLog/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/refundLog/types.ts b/src/api/refundLog/types.ts
new file mode 100644
index 0000000..54dcfce
--- /dev/null
+++ b/src/api/refundLog/types.ts
@@ -0,0 +1,419 @@
+export interface RefundLogVO {
+ /**
+ * 自增主键
+ */
+ id: string | number;
+
+ /**
+ * 0-小程序、1-收银台
+ */
+ type: boolean;
+
+ /**
+ * 设备Id
+ */
+ deviceId: string | number;
+
+ /**
+ * 收钱吧系统单号(支付/退款单号)
+ */
+ sn: string;
+
+ /**
+ * 支付单号
+ */
+ clientSn: string;
+
+ /**
+ * 商户订单号(与业务系统关联)
+ */
+ orderId: string | number;
+
+ /**
+ * 交易总额 以分为单位
+ */
+ totalAmount: number;
+
+ /**
+ * 实收金额 以分为单位
+ */
+ netAmount: number;
+
+ /**
+ * 币种(如CNY)
+ */
+ currency: string;
+
+ /**
+ * 全局返回码(如200)
+ */
+ resultCode: string;
+
+ /**
+ * 业务结果码(如PAY_SUCCESS/REFUND_SUCCESS)
+ */
+ bizResultCode: string;
+
+ /**
+ * '收钱吧订单状态,取值及含义如下:
+- CREATED:订单已创建/支付中
+- PAID:订单支付成功
+- PAY_CANCELED:支付失败并且已经成功充正
+- PAY_ERROR:支付异常,不确定是否已经成功充正,请联系收钱吧客服确认是否支付成功
+- REFUNDED:已成功全额退款
+- PARTIAL_REFUNDED:已成功部分退款
+- REFUND_INPROGRESS:退款进行中
+- REFUND_ERROR:退款异常并且不确定第三方支付通道的最终退款状态';
+ */
+ orderStatus: string;
+
+ /**
+ * 最终状态
+{SUCCESS 业务执行确认成功(即收钱吧后台和消费者端均成功)
+FAIL_CANCELED 确认失败(即收钱吧后台和消费者端均失败)}
+
+ */
+ status: string;
+
+ /**
+ * 支付方式(1:支付宝 3:微信)
+ */
+ payway: string;
+
+ /**
+ * 二级支付方式(1-扫码 3-小程序支付)
+ */
+ subPayway: string;
+
+ /**
+ * 渠道交易号(支付/退款成功时返回)
+ */
+ tradeNo: string;
+
+ /**
+ * 订单创建时间
+ */
+ ctime: string;
+
+ /**
+ * 本地系统完成时间
+ */
+ finishTime: string;
+
+ /**
+ * 支付渠道完成时间
+ */
+ channelFinishTime: string;
+
+ /**
+ * 操作员
+ */
+ operator: string;
+
+ /**
+ * 订单标题/商品描述
+ */
+ subject: string;
+
+ /**
+ * 请求参数 (JSON格式)
+ */
+ requestParams: string;
+
+ /**
+ * 响应参数(JSON数组)
+ */
+ responseParams: string;
+
+ /**
+ * 退款原因(仅退款时填充)
+ */
+ refundReason: string;
+
+ /**
+ * 失败原因
+ */
+ errorMessage: string;
+
+}
+
+export interface RefundLogForm extends BaseEntity {
+ /**
+ * 自增主键
+ */
+ id?: string | number;
+
+ /**
+ * 0-小程序、1-收银台
+ */
+ type?: boolean;
+
+ /**
+ * 设备Id
+ */
+ deviceId?: string | number;
+
+ /**
+ * 收钱吧系统单号(支付/退款单号)
+ */
+ sn?: string;
+
+ /**
+ * 支付单号
+ */
+ clientSn?: string;
+
+ /**
+ * 商户订单号(与业务系统关联)
+ */
+ orderId?: string | number;
+
+ /**
+ * 交易总额 以分为单位
+ */
+ totalAmount?: number;
+
+ /**
+ * 实收金额 以分为单位
+ */
+ netAmount?: number;
+
+ /**
+ * 币种(如CNY)
+ */
+ currency?: string;
+
+ /**
+ * 全局返回码(如200)
+ */
+ resultCode?: string;
+
+ /**
+ * 业务结果码(如PAY_SUCCESS/REFUND_SUCCESS)
+ */
+ bizResultCode?: string;
+
+ /**
+ * '收钱吧订单状态,取值及含义如下:
+- CREATED:订单已创建/支付中
+- PAID:订单支付成功
+- PAY_CANCELED:支付失败并且已经成功充正
+- PAY_ERROR:支付异常,不确定是否已经成功充正,请联系收钱吧客服确认是否支付成功
+- REFUNDED:已成功全额退款
+- PARTIAL_REFUNDED:已成功部分退款
+- REFUND_INPROGRESS:退款进行中
+- REFUND_ERROR:退款异常并且不确定第三方支付通道的最终退款状态';
+ */
+ orderStatus?: string;
+
+ /**
+ * 最终状态
+{SUCCESS 业务执行确认成功(即收钱吧后台和消费者端均成功)
+FAIL_CANCELED 确认失败(即收钱吧后台和消费者端均失败)}
+
+ */
+ status?: string;
+
+ /**
+ * 支付方式(1:支付宝 3:微信)
+ */
+ payway?: string;
+
+ /**
+ * 二级支付方式(1-扫码 3-小程序支付)
+ */
+ subPayway?: string;
+
+ /**
+ * 渠道交易号(支付/退款成功时返回)
+ */
+ tradeNo?: string;
+
+ /**
+ * 订单创建时间
+ */
+ ctime?: string;
+
+ /**
+ * 本地系统完成时间
+ */
+ finishTime?: string;
+
+ /**
+ * 支付渠道完成时间
+ */
+ channelFinishTime?: string;
+
+ /**
+ * 操作员
+ */
+ operator?: string;
+
+ /**
+ * 订单标题/商品描述
+ */
+ subject?: string;
+
+ /**
+ * 请求参数 (JSON格式)
+ */
+ requestParams?: string;
+
+ /**
+ * 响应参数(JSON数组)
+ */
+ responseParams?: string;
+
+ /**
+ * 退款原因(仅退款时填充)
+ */
+ refundReason?: string;
+
+ /**
+ * 失败原因
+ */
+ errorMessage?: string;
+
+}
+
+export interface RefundLogQuery extends PageQuery {
+
+ /**
+ * 0-小程序、1-收银台
+ */
+ type?: boolean;
+
+ /**
+ * 设备Id
+ */
+ deviceId?: string | number;
+
+ /**
+ * 收钱吧系统单号(支付/退款单号)
+ */
+ sn?: string;
+
+ /**
+ * 支付单号
+ */
+ clientSn?: string;
+
+ /**
+ * 商户订单号(与业务系统关联)
+ */
+ orderId?: string | number;
+
+ /**
+ * 交易总额 以分为单位
+ */
+ totalAmount?: number;
+
+ /**
+ * 实收金额 以分为单位
+ */
+ netAmount?: number;
+
+ /**
+ * 币种(如CNY)
+ */
+ currency?: string;
+
+ /**
+ * 全局返回码(如200)
+ */
+ resultCode?: string;
+
+ /**
+ * 业务结果码(如PAY_SUCCESS/REFUND_SUCCESS)
+ */
+ bizResultCode?: string;
+
+ /**
+ * '收钱吧订单状态,取值及含义如下:
+- CREATED:订单已创建/支付中
+- PAID:订单支付成功
+- PAY_CANCELED:支付失败并且已经成功充正
+- PAY_ERROR:支付异常,不确定是否已经成功充正,请联系收钱吧客服确认是否支付成功
+- REFUNDED:已成功全额退款
+- PARTIAL_REFUNDED:已成功部分退款
+- REFUND_INPROGRESS:退款进行中
+- REFUND_ERROR:退款异常并且不确定第三方支付通道的最终退款状态';
+ */
+ orderStatus?: string;
+
+ /**
+ * 最终状态
+{SUCCESS 业务执行确认成功(即收钱吧后台和消费者端均成功)
+FAIL_CANCELED 确认失败(即收钱吧后台和消费者端均失败)}
+
+ */
+ status?: string;
+
+ /**
+ * 支付方式(1:支付宝 3:微信)
+ */
+ payway?: string;
+
+ /**
+ * 二级支付方式(1-扫码 3-小程序支付)
+ */
+ subPayway?: string;
+
+ /**
+ * 渠道交易号(支付/退款成功时返回)
+ */
+ tradeNo?: string;
+
+ /**
+ * 订单创建时间
+ */
+ ctime?: string;
+
+ /**
+ * 本地系统完成时间
+ */
+ finishTime?: string;
+
+ /**
+ * 支付渠道完成时间
+ */
+ channelFinishTime?: string;
+
+ /**
+ * 操作员
+ */
+ operator?: string;
+
+ /**
+ * 订单标题/商品描述
+ */
+ subject?: string;
+
+ /**
+ * 请求参数 (JSON格式)
+ */
+ requestParams?: string;
+
+ /**
+ * 响应参数(JSON数组)
+ */
+ responseParams?: string;
+
+ /**
+ * 退款原因(仅退款时填充)
+ */
+ refundReason?: string;
+
+ /**
+ * 失败原因
+ */
+ errorMessage?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/shopping/fee/index.ts b/src/api/shopping/fee/index.ts
new file mode 100644
index 0000000..2d70257
--- /dev/null
+++ b/src/api/shopping/fee/index.ts
@@ -0,0 +1,85 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { PackingChargeVO, PackingChargeForm, PackingChargeQuery } from '@/api/shopping/fee/types';
+
+/**
+ * 查询打包费列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listPackingCharge = (query?: PackingChargeQuery): AxiosPromise => {
+ return request({
+ url: '/packing_charge/packingCharge/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询打包费详细
+ * @param id
+ */
+export const getPackingCharge = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/packing_charge/packingCharge/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增打包费
+ * @param data
+ */
+export const addPackingCharge = (data: PackingChargeForm) => {
+ return request({
+ url: '/packing_charge/packingCharge',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改打包费
+ * @param data
+ */
+export const updatePackingCharge = (data: PackingChargeForm) => {
+ return request({
+ url: '/packing_charge/packingCharge',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除打包费
+ * @param id
+ */
+export const delPackingCharge = (id: string | number | Array) => {
+ return request({
+ url: '/packing_charge/packingCharge/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ * 启用打包费
+ * @param id
+ */
+export const startPackingCharge = (id: string | number | Array) => {
+ return request({
+ url: '/packing_charge/packingCharge/start/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 禁用打包费
+ * @param id
+ */
+export const stopPackingCharge = (id: string | number | Array) => {
+ return request({
+ url: '/packing_charge/packingCharge/stop/' + id,
+ method: 'get'
+ });
+};
diff --git a/src/api/shopping/fee/types.ts b/src/api/shopping/fee/types.ts
new file mode 100644
index 0000000..887ba4e
--- /dev/null
+++ b/src/api/shopping/fee/types.ts
@@ -0,0 +1,206 @@
+export interface PackingChargeVO {
+ /**
+ *
+ */
+ id: string | number;
+
+ /**
+ * 打包费名称
+ */
+ name: string;
+
+ /**
+ * 价格
+ */
+ price: number;
+
+ /**
+ * 计费方式
+ */
+ billingMethod: number;
+
+ /**
+ * 状态0:启动 1:停止:关联字典
+ */
+ status: number;
+
+ /**
+ *
+ */
+ deptId: string | number;
+
+ /**
+ *
+ */
+ userId: string | number;
+
+ /**
+ * 适用渠道:数组
+ */
+ channel: string;
+
+ /**
+ * 适用全部商品:0: 全部适用 1:全部不适用
+ */
+ skuIdsAll: string | number;
+
+ /**
+ * 适用指定商品:数组
+ */
+ skuIdsApply: string | number;
+
+ /**
+ * 不适用指定商品:数组
+ */
+ skuIdsInapplicable: string | number;
+
+ /**
+ * 配送方式:数组
+ */
+ deliveryMethodIs: string;
+
+ /**
+ * 适用门店:数组
+ */
+ shopIds: string | number;
+
+}
+
+export interface PackingChargeForm extends BaseEntity {
+ /**
+ *
+ */
+ id?: string | number;
+
+ /**
+ * 打包费名称
+ */
+ name?: string;
+
+ /**
+ * 价格
+ */
+ price?: number;
+
+ /**
+ * 计费方式
+ */
+ billingMethod?: number;
+
+ /**
+ * 状态0:启动 1:停止:关联字典
+ */
+ status?: number;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ *
+ */
+ userId?: string | number;
+
+ /**
+ * 适用渠道:数组
+ */
+ channel?: string;
+
+ /**
+ * 适用全部商品:0: 全部适用 1:全部不适用
+ */
+ skuIdsAll?: string | number;
+
+ /**
+ * 适用指定商品:数组
+ */
+ skuIdsApply?: string | number;
+
+ /**
+ * 不适用指定商品:数组
+ */
+ skuIdsInapplicable?: string | number;
+
+ /**
+ * 配送方式:数组
+ */
+ deliveryMethodIs?: string;
+
+ /**
+ * 适用门店:数组
+ */
+ shopIds?: string | number;
+
+}
+
+export interface PackingChargeQuery extends PageQuery {
+
+ /**
+ * 打包费名称
+ */
+ name?: string;
+
+ /**
+ * 价格
+ */
+ price?: number;
+
+ /**
+ * 计费方式
+ */
+ billingMethod?: number;
+
+ /**
+ * 状态0:启动 1:停止:关联字典
+ */
+ status?: number;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ *
+ */
+ userId?: string | number;
+
+ /**
+ * 适用渠道:数组
+ */
+ channel?: string;
+
+ /**
+ * 适用全部商品:0: 全部适用 1:全部不适用
+ */
+ skuIdsAll?: string | number;
+
+ /**
+ * 适用指定商品:数组
+ */
+ skuIdsApply?: string | number;
+
+ /**
+ * 不适用指定商品:数组
+ */
+ skuIdsInapplicable?: string | number;
+
+ /**
+ * 配送方式:数组
+ */
+ deliveryMethodIs?: string;
+
+ /**
+ * 适用门店:数组
+ */
+ shopIds?: string | number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/shopping/index.ts b/src/api/shopping/index.ts
new file mode 100644
index 0000000..9dd26fa
--- /dev/null
+++ b/src/api/shopping/index.ts
@@ -0,0 +1,334 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { CommoditySpuVO, CommoditySpuForm, CommoditySpuQuery } from '@/api/shopping/types';
+
+/**
+ * 查询商品库 SPU-列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listCommoditySpu = (query?: CommoditySpuQuery): AxiosPromise => {
+ return request({
+ url: '/system/commoditySpu/list',
+ method: 'get',
+ params: query
+ });
+};
+/*
+ * 查询品牌方列表
+ * */
+export const commodityBrandList = (query?: any): AxiosPromise => {
+ return request({
+ url: '/commodity/commodityBrand/list',
+ method: 'get',
+ params: query
+ });
+};
+/*
+ * 查询商品渠道城市价格列表
+ * */
+export const commoditySkuNameValueList = (data?: any): AxiosPromise => {
+ return request({
+ url: '/system/commodityChannelCityInfo/listBySpuId',
+ method: 'post',
+ data: data
+ });
+};
+/*
+ * 查询分组列表
+ * */
+export const commodityGroupList = (query?: any): AxiosPromise => {
+ return request({
+ url: '/commodity/commodityGroup/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 查询商品库 SPU-详细
+ * @param id
+ */
+export const getCommoditySpu = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/commoditySpu/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增商品库 SPU-
+ * @param data
+ */
+export const addCommoditySpu = (data: CommoditySpuForm) => {
+ return request({
+ url: '/system/commoditySpu',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改商品库 SPU-
+ * @param data
+ */
+export const updateCommoditySpu = (data: CommoditySpuForm) => {
+ return request({
+ url: '/system/commoditySpu',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除商品库 SPU-
+ * @param id
+ */
+export const delCommoditySpu = (id: string | number | Array) => {
+ return request({
+ url: '/system/commoditySpu/' + id,
+ method: 'delete'
+ });
+};
+/**
+ * 获取商品列表
+ * @param id
+ * @returns
+ */
+export const commoditySpuStockList = (data: any) => {
+ return request({
+ url: '/system/commoditySpu/commoditySpuStockList',
+ method: 'get',
+ params: data
+ });
+};
+/**
+ * 获取规格商品列表
+ * @param id
+ * @returns
+ */
+export const commoditySpuSkuStockList = (data: any) => {
+ return request({
+ url: '/system/commoditySpu/commoditySpuSkuStockList',
+ method: 'get',
+ params: data
+ });
+};
+/**
+ * 查询卡券 关联的 商品
+ * @param data
+ * @returns
+ */
+export const cardList = (data: any) => {
+ return request({
+ url: '/system/commoditySpu/cardList',
+ method: 'get',
+ params: data
+ });
+};
+//查询规格名
+export const columnNameListByName = (data?: any) => {
+ return request({
+ url: '/system/commoditySkuColumnName/listByName',
+ method: 'get',
+ params: data
+ });
+};
+//新增规格名
+export const commoditySkuColumnNameAdd = (data: any) => {
+ return request({
+ url: '/system/commoditySkuColumnName/add',
+ method: 'post',
+ data
+ });
+};
+//查询规格值
+export const commoditySkuColumnListByName = (data?: any) => {
+ return request({
+ url: '/system/commoditySkuColumnValues/listByName',
+ method: 'get',
+ params: data
+ });
+};
+//保存规格值
+export const commoditySkuColumnValuesAdd = (data: any) => {
+ return request({
+ url: '/system/commoditySkuColumnValues/add',
+ method: 'post',
+ data
+ });
+};
+//批量修改可售状态
+export const commoditySpuUpdateOrgAndStatus = (data: any) => {
+ return request({
+ url: '/system/commoditySpu/updateOrgAndStatus',
+ method: 'put',
+ data
+ });
+};
+//查询上下架门店列表
+export const commoditySpuStoreRelationList = (params?: any) => {
+ return request({
+ url: 'system/commoditySpuStoreRelation/list',
+ method: 'get',
+ params
+ });
+};
+//更改上下架商品
+export const commoditySpuUpdateStoreStatus = (data?: any) => {
+ return request({
+ url: '/system/commoditySpu/updateStoreStatus',
+ method: 'put',
+ data
+ });
+};
+//查询会员价和零售价
+export const commoditySpuCommoditySkuNameValueList = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/commoditySkuNameValueList',
+ method: 'get',
+ params
+ });
+};
+
+//查询商品套餐 会员价和零售价
+export const commodityPackageSpuCommoditySkuNameValueList = (params?: any) => {
+ return request({
+ url: '/commodity/commodityPackage/commoditySkuNameValueList',
+ method: 'put',
+ params
+ });
+};
+
+//查询商品套餐 城市会员价和零售价
+export const commodityChannelCityInfoGetPackCityType = (params?: any) => {
+ return request({
+ url: '/system/commodityChannelCityInfo/getPackCityType',
+ method: 'get',
+ params
+ });
+};
+
+
+//查询城市会员价和零售价
+export const commodityChannelCityInfoGetCityType = (params?: any) => {
+ return request({
+ url: '/system/commodityChannelCityInfo/getCityType',
+ method: 'get',
+ params
+ });
+};
+
+//修改商品套餐 零售价
+export const commodityPackSpuRetailPrice = (data?: any) => {
+ return request({
+ url: '/commodity/commodityPackage/retailPrice',
+ method: 'put',
+ data
+ });
+};
+
+//设置 商品套餐会员价
+export const commodityPackageSetVipPrice = (data?: any) => {
+ return request({
+ url: '/commodity/commodityPackage/setVipPrice',
+ method: 'post',
+ data
+ });
+};
+
+//批量修改商品零售价
+export const commoditySpuRetailPrice = (data?: any) => {
+ return request({
+ url: '/system/commoditySpu/retailPrice',
+ method: 'put',
+ data
+ });
+};
+//门店商品列表
+export const commoditySpuStoreList = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/storeList',
+ method: 'get',
+ params
+ });
+};
+
+//商品门店列表
+export const storeListByStatus = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/storeListByStatus',
+ method: 'get',
+ params
+ });
+};
+//商品套餐 门店列表
+export const storeListByPackageStatus = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/storeListByPackageStatus',
+ method: 'get',
+ params
+ });
+};
+
+
+//校验商品名称
+export const commoditySpuCheckNameUnique = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/checkNameUnique',
+ method: 'get',
+ params
+ });
+};
+/* 选择商品 */
+
+//校验商品名称
+export const queryCommodityList = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/allCommoditySpuList',
+ method: 'get',
+ params
+ });
+};
+//会员价明细
+export const commoditySpuMemberPriceList = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/getVipPrice',
+ method: 'put',
+ params
+ });
+};
+//套餐 会员价明细
+export const commoditySpuPackMemberPriceList = (params?: any) => {
+ return request({
+ url: '/commodity/commodityPackage/getPrice',
+ method: 'put',
+ params
+ });
+};
+//设置会员和权益卡价格
+export const commoditySpuSetVipPrice = (data?: any) => {
+ return request({
+ url: '/system/commoditySpu/setVipPrice',
+ method: 'post',
+ data
+ });
+};
+
+//补发单商品列表
+export function getReissueGoodsList(params: anyObject) {
+ return request({
+ url: '/purchase_request_reissue_order/purchaseRequestReissueOrder/purchase/list',
+ method: 'get',
+ params
+ });
+}
+
+//退款单商品列表
+export function getRefundGoodsList(params: anyObject) {
+ return request({
+ url: '/purchase_warehousing_entry/purchaseWarehousingOut/purchase/list',
+ method: 'get',
+ params
+ });
+}
\ No newline at end of file
diff --git a/src/api/shopping/information/commodityBrand/index.ts b/src/api/shopping/information/commodityBrand/index.ts
new file mode 100644
index 0000000..abbe557
--- /dev/null
+++ b/src/api/shopping/information/commodityBrand/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { CommodityBrandVO, CommodityBrandForm, CommodityBrandQuery } from '@/api/shopping/information/commodityBrand/types';
+
+/**
+ * 查询商品品牌列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listCommodityBrand = (query?: CommodityBrandQuery): AxiosPromise => {
+ return request({
+ url: '/commodity/commodityBrand/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商品品牌详细
+ * @param id
+ */
+export const getCommodityBrand = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/commodity/commodityBrand/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增商品品牌
+ * @param data
+ */
+export const addCommodityBrand = (data: CommodityBrandForm) => {
+ return request({
+ url: '/commodity/commodityBrand',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改商品品牌
+ * @param data
+ */
+export const updateCommodityBrand = (data: CommodityBrandForm) => {
+ return request({
+ url: '/commodity/commodityBrand',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除商品品牌
+ * @param id
+ */
+export const delCommodityBrand = (id: string | number | Array) => {
+ return request({
+ url: '/commodity/commodityBrand/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/shopping/information/commodityBrand/types.ts b/src/api/shopping/information/commodityBrand/types.ts
new file mode 100644
index 0000000..468a75b
--- /dev/null
+++ b/src/api/shopping/information/commodityBrand/types.ts
@@ -0,0 +1,60 @@
+export interface CommodityBrandVO {
+ /**
+ * 品牌名称
+ */
+ brandName: string;
+
+ /**
+ * 品牌logo
+ */
+ 品牌logo: string;
+
+ /**
+ * 品牌logoUrl
+ */
+ 品牌logoUrl: string;
+ /**
+ * 介绍
+ */
+ introduce: string;
+
+ /**
+ * 创建时间
+ */
+ createTime: string;
+
+}
+
+export interface CommodityBrandForm extends BaseEntity {
+ /**
+ * 品牌名称
+ */
+ brandName?: string;
+
+ /**
+ * 品牌logo
+ */
+ 品牌logo?: string;
+
+ /**
+ * 介绍
+ */
+ introduce?: string;
+
+}
+
+export interface CommodityBrandQuery extends PageQuery {
+
+ /**
+ * 品牌名称
+ */
+ brandName?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/shopping/information/index.ts b/src/api/shopping/information/index.ts
new file mode 100644
index 0000000..8324c52
--- /dev/null
+++ b/src/api/shopping/information/index.ts
@@ -0,0 +1,71 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { SkuAttributesModelVO, SkuAttributesModelForm, SkuAttributesModelQuery } from '@/api/shopping/information/types';
+
+/**
+ * 查询商品属性模版列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listSkuAttributesModel = (query?: SkuAttributesModelQuery): AxiosPromise => {
+ return request({
+ url: '/sku_attributes_model/skuAttributesModel/list',
+ method: 'get',
+ params: query
+ });
+};
+//商品属性列表分页
+export const listSkuAttributesListPages = (query?: SkuAttributesModelQuery): AxiosPromise => {
+ return request({
+ url: '/sku_attributes_model/skuAttributesModel/pageList',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商品属性模版详细
+ * @param id
+ */
+export const getSkuAttributesModel = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/sku_attributes_model/skuAttributesModel/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增商品属性模版
+ * @param data
+ */
+export const addSkuAttributesModel = (data: SkuAttributesModelForm) => {
+ return request({
+ url: '/sku_attributes_model/skuAttributesModel',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改商品属性模版
+ * @param data
+ */
+export const updateSkuAttributesModel = (data: SkuAttributesModelForm) => {
+ return request({
+ url: '/sku_attributes_model/skuAttributesModel',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除商品属性模版
+ * @param id
+ */
+export const delSkuAttributesModel = (id: string | number | Array) => {
+ return request({
+ url: '/sku_attributes_model/skuAttributesModel/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/shopping/information/skuUnitLibs/index.ts b/src/api/shopping/information/skuUnitLibs/index.ts
new file mode 100644
index 0000000..d93ee37
--- /dev/null
+++ b/src/api/shopping/information/skuUnitLibs/index.ts
@@ -0,0 +1,80 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import {
+ SkuUnitLibsForm,
+ SkuUnitLibsQuery,
+ SkuUnitLibsVO
+} from '@/api/shopping/information/skuUnitLibs/types';
+
+/**
+ * 查询商品单位库列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listSkuUnitLibs = (query?: SkuUnitLibsQuery): AxiosPromise => {
+ return request({
+ url: '/sku_unit_libs/skuUnitLibs/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 查询所有商品单位库列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listSkuUnitLibsAll = (query?: any): AxiosPromise => {
+ return request({
+ url: '/sku_unit_libs/skuUnitLibs/listAll',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商品单位库详细
+ * @param id
+ */
+export const getSkuUnitLibs = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/sku_unit_libs/skuUnitLibs/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增商品单位库
+ * @param data
+ */
+export const addSkuUnitLibs = (data: SkuUnitLibsForm) => {
+ return request({
+ url: '/sku_unit_libs/skuUnitLibs',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改商品单位库
+ * @param data
+ */
+export const updateSkuUnitLibs = (data: SkuUnitLibsForm) => {
+ return request({
+ url: '/sku_unit_libs/skuUnitLibs',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除商品单位库
+ * @param id
+ */
+export const delSkuUnitLibs = (id: string | number | Array) => {
+ return request({
+ url: '/sku_unit_libs/skuUnitLibs/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/shopping/information/skuUnitLibs/types.ts b/src/api/shopping/information/skuUnitLibs/types.ts
new file mode 100644
index 0000000..4b837c3
--- /dev/null
+++ b/src/api/shopping/information/skuUnitLibs/types.ts
@@ -0,0 +1,86 @@
+export interface SkuUnitLibsVO {
+ /**
+ *
+ */
+ id: string | number;
+
+ /**
+ * 单位名称
+ */
+ name: string;
+
+ /**
+ * 排序
+ */
+ sort: number;
+
+ /**
+ *
+ */
+ deptId: string | number;
+
+ /**
+ *
+ */
+ userId: string | number;
+
+}
+
+export interface SkuUnitLibsForm extends BaseEntity {
+ /**
+ *
+ */
+ id?: string | number;
+
+ /**
+ * 单位名称
+ */
+ name?: string;
+
+ /**
+ * 排序
+ */
+ sort?: number;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ *
+ */
+ userId?: string | number;
+
+}
+
+export interface SkuUnitLibsQuery extends PageQuery {
+
+ /**
+ * 单位名称
+ */
+ name?: string;
+
+ /**
+ * 排序
+ */
+ sort?: number;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ *
+ */
+ userId?: string | number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/shopping/information/types.ts b/src/api/shopping/information/types.ts
new file mode 100644
index 0000000..f9ba95b
--- /dev/null
+++ b/src/api/shopping/information/types.ts
@@ -0,0 +1,96 @@
+export interface SkuAttributesModelVO {
+ /**
+ *
+ */
+ id: string | number;
+
+ /**
+ * 属性名称
+ */
+ name: string;
+
+ /**
+ * 启用属性值多选 0:启动 1:停止
+ */
+ startMultiSelect: number;
+
+ /**
+ * 该属性是否在下单页展示 0:展示 1:“隐藏
+ */
+ show: number;
+
+ /**
+ * 属性值是否为必选项0:是 1:不是
+ */
+ required: number;
+
+ /**
+ *
+ */
+ deptId: string | number;
+}
+
+export interface SkuAttributesModelForm extends BaseEntity {
+ /**
+ *
+ */
+ id?: string | number;
+
+ /**
+ * 属性名称
+ */
+ name?: string;
+
+ /**
+ * 启用属性值多选 0:启动 1:停止
+ */
+ startMultiSelect?: number;
+
+ /**
+ * 该属性是否在下单页展示 0:展示 1:“隐藏
+ */
+ show?: number;
+
+ /**
+ * 属性值是否为必选项0:是 1:不是
+ */
+ required?: number;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+ unitType?: string;
+}
+
+export interface SkuAttributesModelQuery extends PageQuery {
+ /**
+ * 属性名称
+ */
+ name?: string;
+
+ /**
+ * 启用属性值多选 0:启动 1:停止
+ */
+ startMultiSelect?: number;
+
+ /**
+ * 该属性是否在下单页展示 0:展示 1:“隐藏
+ */
+ show?: number;
+
+ /**
+ * 属性值是否为必选项0:是 1:不是
+ */
+ required?: number;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/src/api/shopping/package/index.ts b/src/api/shopping/package/index.ts
new file mode 100644
index 0000000..5d88256
--- /dev/null
+++ b/src/api/shopping/package/index.ts
@@ -0,0 +1,41 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+//查询商品套餐列表
+export const commodityPackageList = (params: any) => {
+ return request({
+ url: '/commodity/commodityPackage/list',
+ method: 'get',
+ params
+ });
+};
+//增加商品套餐
+export const addCommodityPackage = (data: any) => {
+ return request({
+ url: '/commodity/commodityPackage',
+ method: 'post',
+ data
+ });
+};
+//修改商品套餐
+export const updateCommodityPackage = (data: any) => {
+ return request({
+ url: '/commodity/commodityPackage',
+ method: 'put',
+ data
+ });
+};
+//查询商品库SPU列表套餐使用
+export const commoditySpupackageList = (params: any) => {
+ return request({
+ url: '/system/commoditySpu/packageList',
+ method: 'get',
+ params
+ });
+};
+//获取商品套餐详情
+export const getCommodityPackage = (id: any) => {
+ return request({
+ url: `/commodity/commodityPackage/${id}`,
+ method: 'get'
+ });
+};
diff --git a/src/api/shopping/selfCollected/index.ts b/src/api/shopping/selfCollected/index.ts
new file mode 100644
index 0000000..97a67fd
--- /dev/null
+++ b/src/api/shopping/selfCollected/index.ts
@@ -0,0 +1,264 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { CommoditySpuVO, CommoditySpuForm, CommoditySpuQuery } from '@/api/shopping/types';
+
+/**
+ * 查询自采商品库 列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listCommoditySpu = (query?: CommoditySpuQuery): AxiosPromise => {
+ return request({
+ url: '/system/selfCommoditySpu/selfList',
+ method: 'get',
+ params: query
+ });
+};
+/*
+ * 查询品牌方列表
+ * */
+export const commodityBrandList = (query?: any): AxiosPromise => {
+ return request({
+ url: '/commodity/commodityBrand/list',
+ method: 'get',
+ params: query
+ });
+};
+/*
+ * 查询商品渠道城市价格列表
+ * */
+export const commoditySkuNameValueList = (data?: any): AxiosPromise => {
+ return request({
+ url: '/system/commodityChannelCityInfo/listBySpuId',
+ method: 'post',
+ data: data
+ });
+};
+/*
+ * 查询分组列表
+ * */
+export const commodityGroupList = (query?: any): AxiosPromise => {
+ return request({
+ url: '/commodity/commodityGroup/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 查询自采商品库 详细
+ * @param id
+ */
+export const getCommoditySpu = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/selfCommoditySpu/self/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增自采商品库
+ * @param data
+ */
+export const addCommoditySpu = (data: CommoditySpuForm) => {
+ return request({
+ url: '/system/selfCommoditySpu/self',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改自采商品库 SPU-
+ * @param data
+ */
+export const updateCommoditySpu = (data: CommoditySpuForm) => {
+ return request({
+ url: '/system/selfCommoditySpu/self',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除自采商品库 SPU-
+ * @param id
+ */
+export const delCommoditySpu = (id: string | number | Array) => {
+ return request({
+ url: '/system/selfCommoditySpu/self/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ * 查询卡券 关联的 商品
+ * @param data
+ * @returns
+ */
+export const cardList = (data: any) => {
+ return request({
+ url: '/system/commoditySpu/cardList',
+ method: 'get',
+ params: data
+ });
+};
+//查询规格名
+export const columnNameListByName = (data?: any) => {
+ return request({
+ url: '/system/commoditySkuColumnName/listByName',
+ method: 'get',
+ params: data
+ });
+};
+//新增规格名
+export const commoditySkuColumnNameAdd = (data: any) => {
+ return request({
+ url: '/system/commoditySkuColumnName/add',
+ method: 'post',
+ data
+ });
+};
+//查询规格值
+export const commoditySkuColumnListByName = (data?: any) => {
+ return request({
+ url: '/system/commoditySkuColumnValues/listByName',
+ method: 'get',
+ params: data
+ });
+};
+//保存规格值
+export const commoditySkuColumnValuesAdd = (data: any) => {
+ return request({
+ url: '/system/commoditySkuColumnValues/add',
+ method: 'post',
+ data
+ });
+};
+//批量修改可售状态
+export const commoditySpuUpdateOrgAndStatus = (data: any) => {
+ return request({
+ url: '/system/commoditySpu/updateOrgAndStatus',
+ method: 'put',
+ data
+ });
+};
+//查询上下架门店列表
+export const commoditySpuStoreRelationList = (params?: any) => {
+ return request({
+ url: 'system/commoditySpuStoreRelation/list',
+ method: 'get',
+ params
+ });
+};
+//更改上下架商品
+export const commoditySpuUpdateStoreStatus = (data?: any) => {
+ return request({
+ url: '/system/commoditySpu/updateStoreStatus',
+ method: 'put',
+ data
+ });
+};
+//查询会员价和零售价
+export const commoditySpuCommoditySkuNameValueList = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/commoditySkuNameValueList',
+ method: 'get',
+ params
+ });
+};
+//查询城市会员价和零售价
+export const commodityChannelCityInfoGetCityType = (params?: any) => {
+ return request({
+ url: '/system/commodityChannelCityInfo/getCityType',
+ method: 'get',
+ params
+ });
+};
+//批量修改商品零售价
+export const commoditySpuRetailPrice = (data?: any) => {
+ return request({
+ url: '/system/commoditySpu/retailPrice',
+ method: 'put',
+ data
+ });
+};
+//门店商品列表
+export const commoditySpuStoreList = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/storeList',
+ method: 'get',
+ params
+ });
+};
+//查询自采商品库 SPU 列表
+export const selfListApi = (params?: any) => {
+ return request({
+ url: '/system/selfCommoditySpu/selfList',
+ method: 'get',
+ params
+ });
+};
+//批量修改自采可售状态
+export const selfCommoditySpuUpdateOrgAndStatus = (data: any) => {
+ return request({
+ url: '/system/selfCommoditySpu/self/updateOrgAndStatus',
+ method: 'put',
+ data
+ });
+};
+//更改自采上下架商品
+export const selfCommoditySpuUpdateStoreStatus = (data?: any) => {
+ return request({
+ url: '/system/selfCommoditySpu/self/updateShelfStatus',
+ method: 'put',
+ data
+ });
+};
+/**
+ * 删除自采商品库 SPU-
+ * @param id
+ */
+export const delSelfCommoditySpu = (id: string | number | Array) => {
+ return request({
+ url: '/system/selfCommoditySpu/self/' + id,
+ method: 'delete'
+ });
+};
+// 自采修改商品会员价
+export const selfCommoditySpuUpdateMemberPrice = (data: any) => {
+ return request({
+ url: '/system/selfCommoditySpu/self/memberPrice',
+ method: 'put',
+ data
+ });
+};
+//自采商品库查询
+export const getSelfCommoditySpu = (id: any) => {
+ return request({
+ url: '/system/selfCommoditySpu/self/' + id,
+ method: 'get'
+ });
+};
+/**
+ * 修改自采商品库 SPU-
+ * @param data
+ */
+export const updateSelfCommoditySpu = (data: CommoditySpuForm) => {
+ return request({
+ url: '/system/selfCommoditySpu/self',
+ method: 'put',
+ data: data
+ });
+};
+/**
+ * 新增自采商品库 SPU-
+ * @param data
+ */
+export const addSelfCommoditySpu = (data: CommoditySpuForm) => {
+ return request({
+ url: '/system/selfCommoditySpu/self',
+ method: 'post',
+ data: data
+ });
+};
diff --git a/src/api/shopping/skuLabelModel/index.ts b/src/api/shopping/skuLabelModel/index.ts
new file mode 100644
index 0000000..d47bc05
--- /dev/null
+++ b/src/api/shopping/skuLabelModel/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { SkuLabelModelVO, SkuLabelModelForm, SkuLabelModelQuery } from '@/api/sku_label_model/skuLabelModel/types';
+
+/**
+ * 查询商品标签模版列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listSkuLabelModel = (query?: SkuLabelModelQuery): AxiosPromise => {
+ return request({
+ url: '/sku_label_model/skuLabelModel/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询商品标签模版详细
+ * @param id
+ */
+export const getSkuLabelModel = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/sku_label_model/skuLabelModel/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增商品标签模版
+ * @param data
+ */
+export const addSkuLabelModel = (data: SkuLabelModelForm) => {
+ return request({
+ url: '/sku_label_model/skuLabelModel',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改商品标签模版
+ * @param data
+ */
+export const updateSkuLabelModel = (data: SkuLabelModelForm) => {
+ return request({
+ url: '/sku_label_model/skuLabelModel',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除商品标签模版
+ * @param id
+ */
+export const delSkuLabelModel = (id: string | number | Array) => {
+ return request({
+ url: '/sku_label_model/skuLabelModel/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/shopping/skuLabelModel/types.ts b/src/api/shopping/skuLabelModel/types.ts
new file mode 100644
index 0000000..2aefbe7
--- /dev/null
+++ b/src/api/shopping/skuLabelModel/types.ts
@@ -0,0 +1,127 @@
+export interface SkuLabelModelVO {
+ /**
+ *
+ */
+ id: string | number;
+
+ /**
+ * 标签名称
+ */
+ labelName: string;
+
+ /**
+ * 标签类型:关联字典
+ */
+ type: number;
+
+ /**
+ * 默认标签:0, 1:自定义标签
+ */
+ defaultModel: number;
+
+ /**
+ * 标签配置
+ */
+ content: string;
+
+ /**
+ *
+ */
+ deptId: string | number;
+
+ /**
+ *
+ */
+ userId: string | number;
+
+ /**
+ * 标签关联的商品:数组
+ */
+ skuId: string | number;
+}
+
+export interface SkuLabelModelForm extends BaseEntity {
+ /**
+ *
+ */
+ id?: string | number;
+ updateTime: string;
+ content_copy: any;
+ spuId: string | number | any;
+ /**
+ * 标签名称
+ */
+ labelName?: string;
+
+ /**
+ * 标签类型:关联字典
+ */
+ type?: number | string;
+
+ /**
+ * 默认标签:0, 1:自定义标签
+ */
+ defaultModel?: number;
+
+ /**
+ * 标签配置
+ */
+ content?: any;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ *
+ */
+ userId?: string | number;
+
+ /**
+ * 标签关联的商品:数组
+ */
+ skuId?: any;
+}
+
+export interface SkuLabelModelQuery extends PageQuery {
+ /**
+ * 标签名称
+ */
+ labelName?: string;
+
+ /**
+ * 标签类型:关联字典
+ */
+ type?: number;
+
+ /**
+ * 默认标签:0, 1:自定义标签
+ */
+ defaultModel?: number;
+
+ /**
+ * 标签配置
+ */
+ content?: string;
+
+ /**
+ *
+ */
+ deptId?: string | number;
+
+ /**
+ *
+ */
+ userId?: string | number;
+
+ /**
+ * 标签关联的商品:数组
+ */
+ skuId?: string | number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/src/api/shopping/storeMerchandise/index.ts b/src/api/shopping/storeMerchandise/index.ts
new file mode 100644
index 0000000..308d54f
--- /dev/null
+++ b/src/api/shopping/storeMerchandise/index.ts
@@ -0,0 +1,32 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { ShopVO, ShopForm, ShopQuery } from '@/api/system/shop/types';
+
+/**
+ * 查询门店列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listShop = (query?: ShopQuery): AxiosPromise => {
+ return request({
+ url: '/shop/list',
+ method: 'get',
+ params: query
+ });
+};
+//门店商品列表
+export const commoditySpuStoreList = (params?: any) => {
+ return request({
+ url: '/system/commoditySpu/storeList',
+ method: 'get',
+ params
+ });
+};
+// 根据商品id查询销售中 已下架 已售罄的门店列表
+export const getCommoditySpuStoreList = (params: any) => {
+ return request({
+ url: `/system/commoditySpu/storeListByStatus?spuId=${params.spuIds}&type=${params.type}`,
+ method: 'get'
+ });
+};
diff --git a/src/api/shopping/storeMerchandise/types.ts b/src/api/shopping/storeMerchandise/types.ts
new file mode 100644
index 0000000..aa7a375
--- /dev/null
+++ b/src/api/shopping/storeMerchandise/types.ts
@@ -0,0 +1,221 @@
+export interface ShopVO {
+ /**
+ * ID
+ */
+ id: string | number;
+
+ /**
+ * 门店名称
+ */
+ shopName: string;
+
+ /**
+ * 配送方式 0-自提 1-同城配送 2-快递
+ */
+ deliveryType: number;
+
+ /**
+ * 省份ID
+ */
+ province: number;
+
+ /**
+ * 城市ID
+ */
+ city: number;
+
+ /**
+ * 区县ID
+ */
+ country: number;
+
+ /**
+ * 详细地址
+ */
+ address: string;
+
+ /**
+ * 是否总店 0-否 1-是
+ */
+ headShop: number;
+
+ /**
+ * 是否线下店铺 0-否 1-是
+ */
+ offlineShop: number;
+
+ /**
+ * 是否线上店铺 0-否 1-是
+ */
+ onlineShop: number;
+
+ /**
+ * 网店状态 0-停用 1-启用
+ */
+ onlineShopStatus: number;
+
+ /**
+ * 经营模式 0-直营 1-加盟
+ */
+ managementModel: number;
+
+ /**
+ * 经度
+ */
+ longitude: number;
+
+ /**
+ * 纬度
+ */
+ latitude: number;
+
+}
+
+export interface ShopForm extends BaseEntity {
+ /**
+ * ID
+ */
+ id?: string | number;
+
+ /**
+ * 门店名称
+ */
+ shopName?: string;
+
+ /**
+ * 配送方式 0-自提 1-同城配送 2-快递
+ */
+ deliveryType?: number;
+
+ /**
+ * 省份ID
+ */
+ province?: number;
+
+ /**
+ * 城市ID
+ */
+ city?: number;
+
+ /**
+ * 区县ID
+ */
+ country?: number;
+
+ /**
+ * 详细地址
+ */
+ address?: string;
+
+ /**
+ * 是否总店 0-否 1-是
+ */
+ headShop?: number;
+
+ /**
+ * 是否线下店铺 0-否 1-是
+ */
+ offlineShop?: number;
+
+ /**
+ * 是否线上店铺 0-否 1-是
+ */
+ onlineShop?: number;
+
+ /**
+ * 网店状态 0-停用 1-启用
+ */
+ onlineShopStatus?: number;
+
+ /**
+ * 经营模式 0-直营 1-加盟
+ */
+ managementModel?: number;
+
+ /**
+ * 经度
+ */
+ longitude?: number;
+
+ /**
+ * 纬度
+ */
+ latitude?: number;
+
+}
+
+export interface ShopQuery extends PageQuery {
+
+ /**
+ * 门店名称
+ */
+ shopName?: string;
+
+ /**
+ * 配送方式 0-自提 1-同城配送 2-快递
+ */
+ deliveryType?: number;
+
+ /**
+ * 省份ID
+ */
+ province?: number;
+
+ /**
+ * 城市ID
+ */
+ city?: number;
+
+ /**
+ * 区县ID
+ */
+ country?: number;
+
+ /**
+ * 详细地址
+ */
+ address?: string;
+
+ /**
+ * 是否总店 0-否 1-是
+ */
+ headShop?: number;
+
+ /**
+ * 是否线下店铺 0-否 1-是
+ */
+ offlineShop?: number;
+
+ /**
+ * 是否线上店铺 0-否 1-是
+ */
+ onlineShop?: number;
+
+ /**
+ * 网店状态 0-停用 1-启用
+ */
+ onlineShopStatus?: number;
+
+ /**
+ * 经营模式 0-直营 1-加盟
+ */
+ managementModel?: number;
+
+ /**
+ * 经度
+ */
+ longitude?: number;
+
+ /**
+ * 纬度
+ */
+ latitude?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/shopping/types.ts b/src/api/shopping/types.ts
new file mode 100644
index 0000000..085387f
--- /dev/null
+++ b/src/api/shopping/types.ts
@@ -0,0 +1,514 @@
+export interface CommoditySpuVO {
+ /**
+ *
+ */
+ id: string | number;
+
+ /**
+ * 商品类型:1-实物商品 0 = false
+ */
+ productType: string;
+
+ /**
+ * 商品可售状态:1-可售 0-不可售
+ */
+ saleStatus: string;
+
+ /**
+ * 上架状态:1-已上架 0-已下架
+ */
+ shelfStatus: string;
+
+ /**
+ * 商品条码
+ */
+ spuKey: string;
+
+ /**
+ * SPU编码
+ */
+ spuCode: string;
+
+ /**
+ * 商品名称,最多100个字
+ */
+ productName: string;
+
+ /**
+ * 商品简介
+ */
+ brief: string;
+
+ /**
+ * 品牌ID
+ */
+ brandId: string | number;
+
+ /**
+ * 分类ID
+ */
+ categoryId: string | number;
+
+ /**
+ * 指导价
+ */
+ guidePrice: string | number;
+
+ /**
+ * 成本价
+ */
+ costPrice: number;
+
+ /**
+ * 价格修改范围:1-网店渠道,2-门店渠道
+ */
+ priceModifyScope: number;
+
+ /**
+ * 零售价
+ */
+ retailPrice: number;
+
+ /**
+ * 一级会员价
+ */
+ memberPrice1: number;
+
+ /**
+ * 二级会员价
+ */
+ memberPrice2: number;
+
+ /**
+ * 三级会员价
+ */
+ memberPrice3: number;
+
+ /**
+ * 四级会员价
+ */
+ memberPrice4: number;
+
+ /**
+ * product_attributes 属性集合
+ */
+ productAttributes: string;
+
+ /**
+ * 商品属性
+ */
+ productAttribute: string;
+
+ /**
+ * 库存单位
+ */
+ storageUnit: string;
+
+ /**
+ * 供应商ID
+ */
+ supplierId: string | number;
+
+ /**
+ * 供应商分类
+ */
+ supplierCategory: string;
+
+ /**
+ * 销售渠道,多个用逗号分隔
+ */
+ saleChannels: string;
+
+ /**
+ * 商品主图
+ */
+ mainImage: string;
+
+ /**
+ * 商品主图Url
+ */
+ mainImageUrl: string;
+ /**
+ * 商品图片列表,多个图片URL用逗号分隔
+ */
+ images: string;
+
+ /**
+ * 商品主视频
+ */
+ mainVideo: string | number;
+
+ /**
+ * 适用组织 (1 = 全部 ,2 =指定门店)
+ */
+ orgId: string | number;
+
+ /**
+ * 分享描述,建议30个字内
+ */
+ shareDesc: string;
+
+ /**
+ * 商品卖点,建议60字内
+ */
+ sellingPoint: string;
+
+ /**
+ * 部门id
+ */
+ deptId: string | number;
+
+ /**
+ * 用户id
+ */
+ userId: string | number;
+}
+
+export interface CommoditySpuForm extends BaseEntity {
+ /**
+ *
+ */
+ id?: string | number;
+
+ /**
+ * 商品类型:1-实物商品 0 = false
+ */
+ productType?: string | number;
+
+ /**
+ * 商品可售状态:1-可售 0-不可售
+ */
+ saleStatus?: string;
+
+ /**
+ * 上架状态:1-已上架 0-已下架
+ */
+ shelfStatus?: string;
+
+ /**
+ * 商品条码
+ */
+ spuKey?: string;
+
+ /**
+ * SPU编码
+ */
+ spuCode?: string;
+
+ /**
+ * 商品名称,最多100个字
+ */
+ productName?: string;
+
+ /**
+ * 商品简介
+ */
+ brief?: string;
+
+ /**
+ * 品牌ID
+ */
+ brandId?: string | number;
+
+ /**
+ * 分类ID
+ */
+ categoryId?: string | number | number[];
+
+ /**
+ * 指导价
+ */
+ guidePrice?: string | number;
+
+ /**
+ * 成本价
+ */
+ costPrice?: number;
+
+ /**
+ * 价格修改范围:1-网店渠道,2-门店渠道
+ */
+ priceModifyScope?: number;
+
+ /**
+ * 零售价
+ */
+ retailPrice?: number;
+
+ /**
+ * 一级会员价
+ */
+ memberPrice1?: number;
+
+ /**
+ * 二级会员价
+ */
+ memberPrice2?: number;
+
+ /**
+ * 三级会员价
+ */
+ memberPrice3?: number;
+
+ /**
+ * 四级会员价
+ */
+ memberPrice4?: number;
+
+ /**
+ * product_attributes 属性集合
+ */
+ productAttributes?: string;
+
+ /**
+ * 商品属性
+ */
+ productAttribute?: string;
+
+ /**
+ * 库存单位
+ */
+ storageUnit?: string;
+
+ /**
+ * 供应商ID
+ */
+ supplierId?: string | number;
+
+ /**
+ * 供应商分类
+ */
+ supplierCategory?: string;
+
+ /**
+ * 销售渠道,多个用逗号分隔
+ */
+ saleChannels?: string[];
+
+ /**
+ * 商品主图
+ */
+ mainImage?: string;
+
+ /**
+ * 商品图片列表,多个图片URL用逗号分隔
+ */
+ images?: string | string[];
+
+ /**
+ * 商品主视频
+ */
+ mainVideo?: string | string[];
+
+ /**
+ * 适用组织 (1 = 全部 ,2 =指定门店)
+ */
+ orgId?: string | number;
+
+ /**
+ * 分享描述,建议30个字内
+ */
+ shareDesc?: string;
+
+ /**
+ * 商品卖点,建议60字内
+ */
+ sellingPoint?: string;
+
+ /**
+ * 部门id
+ */
+ deptId?: string | number;
+
+ /**
+ * 用户id
+ */
+ userId?: string | number;
+ /*
+ * 规格
+ * */
+ skuNameValueBoList: any;
+ weight: any;
+ //线上渠道
+ onlineChannel: any;
+ //线下渠道
+ offlineChannel: any;
+ //配送方式
+ deliveryMethods: string | string[];
+ //模版Id
+ templateIds: string;
+ //
+ onlineCityClassInfoBoList: any;
+ offlineCityClassInfoBoList: any;
+ skuColumnIds: any;
+ storeRelationBoList: any;
+ onlineCityInfoVos: string[];
+ offlineCityInfoVos: string[];
+ skuStrs: string[];
+}
+
+export interface CommoditySpuQuery extends PageQuery {
+ /**
+ * 商品类型:1-实物商品 0 = false
+ */
+ productType?: string;
+
+ /**
+ * 商品可售状态:1-可售 0-不可售
+ */
+ saleStatus?: string;
+
+ /**
+ * 上架状态:1-已上架 0-已下架
+ */
+ shelfStatus?: string;
+
+ /**
+ * 商品条码
+ */
+ spuKey?: string;
+
+ /**
+ * SPU编码
+ */
+ spuCode?: string;
+
+ /**
+ * 商品名称,最多100个字
+ */
+ productName?: string;
+
+ /**
+ * 商品简介
+ */
+ brief?: string;
+
+ /**
+ * 品牌ID
+ */
+ brandId?: string | number;
+
+ /**
+ * 分类ID
+ */
+ categoryId?: string | number;
+
+ /**
+ * 指导价
+ */
+ guidePrice?: string | number;
+
+ /**
+ * 成本价
+ */
+ costPrice?: number;
+
+ /**
+ * 价格修改范围:1-网店渠道,2-门店渠道
+ */
+ priceModifyScope?: number;
+
+ /**
+ * 零售价
+ */
+ retailPrice?: number;
+
+ /**
+ * 一级会员价
+ */
+ memberPrice1?: number;
+
+ /**
+ * 二级会员价
+ */
+ memberPrice2?: number;
+
+ /**
+ * 三级会员价
+ */
+ memberPrice3?: number;
+
+ /**
+ * 四级会员价
+ */
+ memberPrice4?: number;
+
+ /**
+ * product_attributes 属性集合
+ */
+ productAttributes?: string;
+
+ /**
+ * 商品属性
+ */
+ productAttribute?: string;
+
+ /**
+ * 库存单位
+ */
+ storageUnit?: string;
+
+ /**
+ * 供应商ID
+ */
+ supplierId?: string | number;
+
+ /**
+ * 供应商分类
+ */
+ supplierCategory?: string;
+
+ /**
+ * 销售渠道,多个用逗号分隔
+ */
+ saleChannels?: string;
+
+ /**
+ * 商品主图
+ */
+ mainImage?: string;
+
+ /**
+ * 商品图片列表,多个图片URL用逗号分隔
+ */
+ images?: string;
+
+ /**
+ * 商品主视频
+ */
+ mainVideo?: string | number;
+
+ /**
+ * 适用组织 (1 = 全部 ,2 =指定门店)
+ */
+ orgId?: string | number;
+
+ /**
+ * 分享描述,建议30个字内
+ */
+ shareDesc?: string;
+
+ /**
+ * 商品卖点,建议60字内
+ */
+ sellingPoint?: string;
+
+ /**
+ * 部门id
+ */
+ deptId?: string | number;
+
+ /**
+ * 用户id
+ */
+ userId?: string | number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+ searchField?: any;
+ time: any;
+ beginCreateTime: any;
+ endCreateTime: any;
+}
diff --git a/src/api/supplier/order/index.ts b/src/api/supplier/order/index.ts
new file mode 100644
index 0000000..59c41f1
--- /dev/null
+++ b/src/api/supplier/order/index.ts
@@ -0,0 +1,650 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { SupplierVO, SupplierForm, SupplierQuery ,SupplierOrderSend,SupplierOrderReturn,SupplierOrderRestocked,SupplierOrderCommoditySpuItem,PurchaseSettlementOrder} from '@/api/supplier/order/types';
+
+
+
+/**
+ * 查询供应商采购订单列表
+ * @param query
+ * @returns {*}
+ */
+
+export const supplierOrderList = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: '/supplier/order/supplierOrder/list',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 查询供应商采购订单详情
+ * @param query
+ * @returns {*}
+ */
+export const supplierOrderItem = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: `/supplier/order/supplierOrder/${query.id}`,
+ method: 'get',
+ // params: query
+ });
+};
+/**
+ * 采购单产品明细分页列表
+ * @param query
+ * @returns {*}
+ */
+export const supplierOrderPurchaseList = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: `/supplier/order/supplierOrder/purchase/list`,
+ method: 'get',
+ params: query
+ });
+};
+
+
+/**
+ * 导出供应商采购订单列表
+ * @param data
+ */
+export const supplierOrderExport = (data: SupplierForm) => {
+ return request({
+ url: '/supplier/order/supplierOrder/export',
+ method: 'post',
+ data: data
+ });
+};
+/**
+ * 新增供应商发货单
+ * @param data
+ */
+export const supplierOrderSend = (data: SupplierOrderSend) => {
+ return request({
+ url: '/supplier/order/supplierOrderSend',
+ method: 'post',
+ data: data
+ });
+};
+/**
+ * 查询供应商发货单列表
+ * @param data
+ */
+export const supplierOrderSendList=(query:SupplierOrderSend)=>{
+ return request({
+ url:'/supplier/order/supplierOrderSend/list',
+ method: 'get',
+ params: query
+ })
+}
+/**
+ * 获取供应商发货单详细信息
+ * @param data
+ */
+export const supplierOrderSendById=(id)=>{
+ return request({
+ url:`/supplier/order/supplierOrderSend/${id}`,
+ method: 'get'
+ })
+}
+/**
+ * 查询供应商退货单列表
+ * @param data
+ */
+export const supplierOrderReturnList=(query:SupplierOrderReturn)=>{
+ return request({
+ url:`/supplier/order/supplierOrderReturn/list`,
+ method: 'get',
+ params: query
+ })
+}
+/**
+ * 导出供应商退货单列表
+ * @param data
+ */
+export const supplierOrderReturnExport=(data:SupplierOrderReturn)=>{
+ return request({
+ url:`/supplier/order/supplierOrderReturn/export`,
+ method: 'post',
+ data: data
+ })
+}
+/**
+ * 获取供应商退货单详细信息
+ * @param data
+ */
+export const supplierOrderReturnById=(id)=>{
+ return request({
+ url:`/supplier/order/supplierOrderReturn/${id}`,
+ method: 'get'
+ })
+}
+/**
+ * 补发
+ * @param data
+ */
+export const supplierOrderReturnBf=(data:SupplierOrderReturn)=>{
+ return request({
+ url:`/supplier/order/supplierOrderReturn`,
+ method: 'put',
+ data:data
+ })
+}
+
+/**
+ * 退款
+ * @param data
+ */
+export const supplierOrderReturnRefund=(id)=>{
+ return request({
+ url:`/supplier/order/supplierOrderReturn/refund/${id}`,
+ method: 'put',
+ })
+}
+/**
+ * 查询供应商补货单列表
+ * @param data
+ */
+export const supplierOrderRestocked=(query:SupplierOrderRestocked)=>{
+ return request({
+ url:`/supplier/order/supplierOrderRestocked/list`,
+ method: 'get',
+ params: query
+ })
+}
+/**
+ * 查询供应商补货单查看详情
+ * @param data
+ */
+export const supplierOrderRestockedInfo=(id)=>{
+ return request({
+ url:`/supplier/order/supplierOrderRestocked/childList/${id}`,
+ method: 'get'
+ })
+}
+/**
+ * 导出供应商退货单列表
+ * @param data
+ */
+export const supplierOrderRestockedExport=(data:SupplierOrderRestocked)=>{
+ return request({
+ url:`/supplier/order/supplierOrderRestocked/export`,
+ method: 'post',
+ data: data
+ })
+}
+
+/**
+ * 获取供应商退货单详细信息
+ * @param data
+ */
+export const supplierOrderRestockedById=(id)=>{
+ return request({
+ url:`/supplier/order/supplierOrderRestocked/${id}`,
+ method: 'get'
+ })
+}
+
+/**
+ * 新增供应商补货单
+ * @param data
+ */
+export const supplierOrderRestockedAdd=(data:SupplierOrderRestocked)=>{
+ return request({
+ url:`/supplier/order/supplierOrderRestocked`,
+ method: 'post',
+ data: data
+ })
+}
+/**
+ * 新增供应商补货单
+ * @param data
+ */
+export const supplierOrderRestockedAdd1=(data:SupplierOrderRestocked)=>{
+ return request({
+ url:`/supplier/order/supplierOrderSend/restockAdd`,
+ method: 'post',
+ data: data
+ })
+}
+/**
+ * 采购单补发单发货单列表
+ * @param data
+ */
+export const supplierOrderRestockedSendList=(query:SupplierOrderRestocked)=>{
+ return request({
+ url:`/supplier/order/supplierOrderRestocked/sendList`,
+ method: 'get',
+ params: query
+ })
+}
+
+/**
+ * 查询供应商(发货单、退货单、补货单)商品明细列表
+ * @param data
+ */
+export const supplierOrderCommoditySpuItem=(query:SupplierOrderCommoditySpuItem)=>{
+ return request({
+ url:`/supplierOrderCommoditySpu/list`,
+ method: 'get',
+ params: query
+ })
+}
+
+/**
+ * 查询供应商(发货单、退货单、补货单)商品明细列表
+ * @param data
+ */
+export const supplierOrderCommoditySpuItem1=(query:SupplierOrderCommoditySpuItem)=>{
+ return request({
+ url:`/supplierOrderCommoditySpu/spuList`,
+ method: 'get',
+ params: query
+ })
+}
+/**
+ * 采购单产品明细分页列表
+ * @param query
+ * @returns {*}
+ */
+export const supplierOrderPurchase = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: `/supplierOrderCommoditySpu/list`,
+ method: 'get',
+ params: query
+ });
+};
+// 对账
+
+/**
+ * 查询采购单-对账单列表
+ * @param data
+ */
+export const purchaseStatementAccountOrderList=(query:PurchaseSettlementOrder)=>{
+ return request({
+ url:`/purchase_statement_account/purchaseStatementAccountOrder/supplierList`,
+ method: 'get',
+ params: query
+ })
+}
+/**
+ * 查询采购单-对账单列表
+ * @param data
+ */
+export const purchaseStatementAccountOrderList1=(query:PurchaseSettlementOrder)=>{
+ return request({
+ url:`/purchase_statement_account/purchaseStatementAccountOrder/list`,
+ method: 'get',
+ params: query
+ })
+}
+
+/**
+ * 获取采购单-对账单详细信息
+ * @param id
+ */
+export const purchaseStatementAccountOrderById=(id:PurchaseSettlementOrder)=>{
+ return request({
+ url:`/purchase_statement_account/purchaseStatementAccountOrder/${id}`,
+ method: 'get',
+ })
+}
+/**
+ * 新增采购单-对账单
+ * @param data
+ */
+export const purchaseStatementAccountOrderAdd=(data)=>{
+ return request({
+ url:`/purchase_statement_account/purchaseStatementAccountOrder`,
+ method: 'post',
+ data: data
+ })
+}
+/**
+ * 修改采购单-对账单
+ * @param data
+ */
+export const purchaseStatementAccountOrderEdit=(data)=>{
+ return request({
+ url:`/purchase_statement_account/purchaseStatementAccountOrder`,
+ method: 'put',
+ data: data
+ })
+}
+/**
+ * 待确认采购单-对账单
+ * @param id
+ */
+export const purchaseStatementAccountOrderToBeConfirmed=(ids)=>{
+ return request({
+ url:`/purchase_statement_account/purchaseStatementAccountOrder/toBeConfirmed/${ids}`,
+ method: 'get',
+ })
+}
+/**
+ * 修改采购单-对账单
+ * @param data
+ */
+export const purchaseStatementAccountOrderConfirm=(data)=>{
+ return request({
+ url:`/purchase_statement_account/purchaseStatementAccountOrder/supplierConfirm`,
+ method: 'put',
+ data: data
+ })
+}
+/**
+ * 供应商待确认采购单-对账单
+ * @param id
+ */
+export const purchaseStatementAccountOrderSupplierConfirm=(ids)=>{
+ return request({
+ url:`/purchase_statement_account/purchaseStatementAccountOrder/supplierConfirm/${ids}`,
+ method: 'get',
+ })
+}
+
+// 结算
+/**
+ * 查询采购单-结算单列表
+ * @param data
+ */
+export const purchaseSettlementOrderList=(query:SupplierOrderCommoditySpuItem)=>{
+ return request({
+ url:`/purchase_settlement_order/purchaseSettlementOrder/supplierList`,
+ method: 'get',
+ params: query
+ })
+}
+// 结算
+/**
+ * 查询采购单-结算单列表
+ * @param data
+ */
+export const purchaseSettlementOrderList1=(query:SupplierOrderCommoditySpuItem)=>{
+ return request({
+ url:`/purchase_settlement_order/purchaseSettlementOrder/list`,
+ method: 'get',
+ params: query
+ })
+}
+/**
+ * 获取采购单-结算单详细信息
+ * @param id
+ */
+export const purchaseSettlementOrderById=(id)=>{
+ return request({
+ url:`/purchase_settlement_order/purchaseSettlementOrder/${id}`,
+ method: 'get',
+ })
+}
+
+/**
+ * 获取采购单-结算单详细信息
+ * @param id
+ */
+export const purchaseStatementAccountOrderRel=(id)=>{
+ return request({
+ url:`purchase_statement_account/purchaseStatementAccountOrder/rel/${id}`,
+ method: 'get',
+ })
+}
+
+/**
+ * 新增采购单-结算单
+ * @param data
+ */
+export const purchaseSettlementOrderAdd=(data)=>{
+ return request({
+ url:`/purchase_settlement_order/purchaseSettlementOrder`,
+ method: 'post',
+ data: data
+ })
+}
+/**
+ * 修改采购单-结算单 先款后货(多次)
+ * @param data
+ */
+export const purchaseSettlementOrderEdit=(data)=>{
+ return request({
+ url:`/purchase_settlement_order/purchaseSettlementOrder/submitToPayment`,
+ method: 'put',
+ data: data
+ })
+}
+/**
+ * 修改采购单-结算单 先货后款
+ * @param data
+ */
+export const purchaseSettlementOrderEdit1=(data)=>{
+ return request({
+ url:`/purchase_settlement_order/purchaseSettlementOrder/submitToPurchase`,
+ method: 'put',
+ data: data
+ })
+}
+/**
+ * 待结算采购单-结算单
+ * @param id
+ */
+export const purchaseSettlementOrderoBeConfirmed=(ids)=>{
+ return request({
+ url:`/purchase_settlement_order/purchaseSettlementOrder/toBeConfirmed/${ids}`,
+ method: 'get',
+ })
+}
+/**
+ * 供应商待确认采购单-对账单
+ * @param id
+ */
+export const purchaseSettlementOrderSupplierConfirm=(ids)=>{
+ return request({
+ url:`/purchase_settlement_order/purchaseSettlementOrder/supplierConfirm/${ids}`,
+ method: 'get',
+ })
+}
+
+/**
+ * 查询库存流水记录列表-对账单
+ * @param id
+ */
+export const inventoryRecordList=(query:{purchaseNo})=>{
+ return request({
+ url:`/system/inventoryRecord/list`,
+ method: 'get',
+ params: query
+ })
+}
+
+
+
+
+
+/**
+ * 查询供应商管理列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listSupplier = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: '/supplier/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询供应商管理详细
+ * @param id
+ */
+export const getSupplier = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/supplier/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增供应商管理
+ * @param data
+ */
+export const addSupplier = (data: SupplierForm) => {
+ return request({
+ url: '/supplier',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改供应商管理
+ * @param data
+ */
+export const updateSupplier = (data: SupplierForm) => {
+ return request({
+ url: '/supplier',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除供应商管理
+ * @param id
+ */
+export const delSupplier = (id: string | number | Array) => {
+ return request({
+ url: '/supplier/' + id,
+ method: 'delete'
+ });
+};
+/**
+ * 省市区
+ * @param query
+ * @returns {*}
+ */
+
+export const regionTree = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: '/system/region/TreeAll',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 启用供应商
+ * @param data
+ */
+export const supplieropen = (data: SupplierForm) => {
+ return request({
+ url: '/supplier/open',
+ method: 'put',
+ data: data
+ });
+};
+/**
+ * 禁用供应商
+ * @param data
+ */
+export const supplierclose = (data: SupplierForm) => {
+ return request({
+ url: '/supplier/close',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 供应商关联组织机构
+ * @param data
+ */
+export const relationOrganization = (data: SupplierForm) => {
+ return request({
+ url: '/supplier/relationOrganization',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 供应商下拉列表(全部)
+ * @param data
+ */
+export const supplierSelect = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: '/supplier/dropList',
+ method: 'get'
+ });
+};
+//对账单分页
+export const commodityPage = (params: any) => {
+ return request({
+ url: '/purchase_statement_account/purchaseStatementAccountOrder/commodityPage',
+ method: 'get',
+ params: params
+ })
+}
+
+//对账单分页
+export const dataScope = () => {
+ return request({
+ url: '/supplier/dataScope',
+ method: 'get'
+ })
+}
+
+//供应商 一件代发结算单 列表
+export const pieceSettlementOrderList = (params: any) => {
+ return request({
+ url: '/system/order/settlement/supplierList',
+ method: 'get',
+ params: params
+ })
+}
+
+//新建 一件代发结算单
+export const pieceSettlementOrderAdd = (data: any) => {
+ return request({
+ url: '/system/order/settlement/add',
+ method: 'post',
+ data: data
+ })
+}
+
+//选择结算单
+export const pieceSettlementOrderSelect = (params: any) => {
+ return request({
+ url: '/system/order/settlement/settlementOrderList',
+ method: 'get',
+ params: params
+ })
+}
+//发起结算/确认/撤销
+export const pieceSettlementOrderConfirm = (data: any) => {
+ return request({
+ url: '/system/order/settlement/submitToPurchase',
+ method: 'put',
+ data: data
+ })
+}
+//详情
+export const pieceSettlementOrderById = (id) => {
+ return request({
+ url: `/system/order/settlement/${id}`,
+ method: 'get',
+ })
+}
+//详情列表
+export const pieceSettlementOrderByIdRel = (id) => {
+ return request({
+ url: `/system/order/settlement/detail/${id}`,
+ method: 'get',
+ })
+}
+//一件代发 结算
+export const piecePurchaseSettlementOrderList = (params: any) => {
+ return request({
+ url: '/system/order/settlement/list',
+ method: 'get',
+ params: params
+ })
+}
\ No newline at end of file
diff --git a/src/api/supplier/order/types.ts b/src/api/supplier/order/types.ts
new file mode 100644
index 0000000..63afe2e
--- /dev/null
+++ b/src/api/supplier/order/types.ts
@@ -0,0 +1,739 @@
+export interface SupplierVO {
+ /**
+ * ID
+ */
+ id: string | number;
+
+ /**
+ * 供应商编码
+ */
+ supplierCode: string;
+
+ /**
+ * 供应商名称
+ */
+ supplierName: string;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory: number;
+
+ /**
+ * 供应商分类 0-自营 1-合作供应商 2-一件代发 3-自采
+ */
+ supplierCategory: number;
+
+ /**
+ * 状态 0-禁用 1-启用
+ */
+ supplierStatus: boolean;
+
+ /**
+ * 省份ID
+ */
+ province: number;
+
+ /**
+ * 城市ID
+ */
+ city: number;
+
+ /**
+ * 区县ID
+ */
+ country: number;
+
+ /**
+ * 详细地址
+ */
+ address: string;
+
+ /**
+ * 经营方式 0-经销 1-代销 2-联营
+ */
+ operationType: number;
+
+ /**
+ * 结算方式 0-先贷后款 1-先款后贷
+ */
+ settlementType: number;
+
+ /**
+ * 银行账户名称
+ */
+ bankAccountName: string;
+
+ /**
+ * 银行账号
+ */
+ bankAccountCode: string;
+
+ /**
+ * 开户银行
+ */
+ bankId: string | number;
+
+ /**
+ * 开户地区
+ */
+ bankOpenAccountRegion: string;
+
+ /**
+ * 支行名称
+ */
+ subBankName: string;
+
+ /**
+ * 企业名称
+ */
+ enterpriseName: string;
+
+ /**
+ * 公司税号
+ */
+ taxId: string | number;
+
+ /**
+ * 备注
+ */
+ remark: string;
+
+ /**
+ * 资质图片文件
+ */
+ qualificationsImage: string;
+
+ /**
+ * 资质图片文件Url
+ */
+ qualificationsImageUrl: string;
+ /**
+ * 资质文档文件
+ */
+ qualificationsDocument: string;
+
+}
+
+ /**
+ * 供采查询参数
+ */
+export interface SupplierForm extends BaseEntity {
+ /**
+ * ID
+ */
+ id?: string | number;
+ /**
+ * 采购单编号
+ */
+ purchaseRequestOrderNo?: number;
+
+ /**
+ * 采购单状态
+ */
+ purchaseRequestOrderStatus?: number;
+ time?:any;//页面取时间参数
+/**
+ * 采购开始时间
+ */
+purchaserStartDate?: string;//列表
+/**
+ * 采购结束时间
+ */
+purchaserEndDate?: string;//列表
+ /**
+ * 供应商编码
+ */
+ supplierCode?: string;
+
+ /**
+ * 供应商名称
+ */
+ supplierName?: string;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory?: number;
+
+ /**
+ * 供应商分类 0-自营 1-合作供应商 2-一件代发 3-自采
+ */
+ supplierCategory?: number;
+
+ /**
+ * 状态 0-禁用 1-启用
+ */
+ supplierStatus?: boolean;
+
+ /**
+ * 省份ID
+ */
+ province?: number;
+
+ /**
+ * 城市ID
+ */
+ city?: number;
+
+ /**
+ * 区县ID
+ */
+ country?: number;
+
+ /**
+ * 详细地址
+ */
+ address?: string;
+
+ /**
+ * 经营方式 0-经销 1-代销 2-联营
+ */
+ operationType?: number;
+
+ /**
+ * 结算方式 0-先贷后款 1-先款后贷
+ */
+ settlementType?: number;
+ /**
+ * 门店ID
+ */
+ shopId?: number;
+
+ /**
+ * 排序列
+ */
+ orderByColumn?: string;
+ /**
+ * 排序的方向desc或者asc
+ */
+ isAsc?: string;
+ /**
+ *limit起始下标
+ */
+ startIndex?: number;
+
+ /**
+ * 银行账户名称
+ */
+ bankAccountName?: string;
+
+ /**
+ * 银行账号
+ */
+ bankAccountCode?: string;
+
+ /**
+ * 开户银行
+ */
+ bankId?: string | number;
+
+ /**
+ * 开户地区
+ */
+ bankOpenAccountRegion?: string;
+
+ /**
+ * 支行名称
+ */
+ subBankName?: string;
+
+ /**
+ * 企业名称
+ */
+ enterpriseName?: string;
+
+ /**
+ * 公司税号
+ */
+ taxId?: string | number;
+
+ /**
+ * 备注
+ */
+ remark?: string;
+
+ /**
+ * 资质图片文件
+ */
+ qualificationsImage?: string;
+
+ /**
+ * 资质文档文件
+ */
+ qualificationsDocument?: string;
+
+}
+
+ /**
+ * 供采发货 查询参数
+ */
+export interface SupplierOrderSend{
+ /**
+ * 采购订单id
+ */
+ purchaseRequestOrderId: number;
+ /**
+ * 供应商订单id
+ */
+ supplierOrderId: number;
+ /**
+ * 发货时间
+ */
+ sendTime: string;
+ /**
+ * 物流公司名称
+ */
+ logisticsCompany: string;
+ /**
+ * 物流单号
+ */
+ logisticsOrderNum: string;
+/**
+ * 发货凭证
+ */
+sendCommodityVoucher: string;
+/**
+ * 发货状态 0-草稿 1-待发货 2-已发货
+ */
+status: string;
+/**
+ * 发货人员ID
+*/
+shipperId?: string;
+/**
+ * 采购单商品规格列表(商品规格ID、发货数量)
+*/
+commoditySpuList:[{
+ /**
+ * 供应商业务订单ID(发货单ID、退货单ID、补货单ID)
+*/
+ bizId: number;
+ /**
+ * 供应商业务订单ID集合(发货单ID、退货单ID、补货单ID)
+*/
+ bizIdList?: [];
+ /**
+ * 供应商订单类型 0-发货单 1-退货单 2-补货单
+*/
+ bizType: number;
+ /**
+ * 发货数量
+*/
+ commoditySpuCount?: number;
+ /**
+ * 供应商订单ID
+*/
+ supplierOrderId ?: number;
+}],
+}
+
+ /**
+ * 供采退货 参数
+ */
+export interface SupplierOrderReturn extends PageQuery {
+ /**
+ * 退货订单编号
+ */
+ purchaseReturnOrderNum?:string;
+ /**
+ * 采购单状态
+ */
+ purchaseRequestOrderStatus?:string;
+ /**
+ * 门店ID
+ */
+ shopId?:number;
+ /**
+ * 退货开始日期
+ */
+ purchaseReturnOrderStartDate?:string;
+ /**
+ * 退货结束日期
+ */
+ purchaseReturnOrderEndDate?:string;
+ /**
+ * 物流公司名称 补发参数
+ */
+ logisticsCompanyId?:number;
+ /**
+ * 物流单号 补发参数
+ */
+ logisticsOrderNum?:string;
+/**
+ * 退货补发凭证ID 补发参数
+ */
+ returnVoucherId?:number;
+}
+
+ /**
+ * 供采补发 参数
+ */
+ export interface SupplierOrderRestocked extends PageQuery {
+ /**
+ * 采购订单编号
+ */
+ purchaseRequestOrderNum?:string;
+ /**
+ * 采购单状态:0:草稿 1:审批中 2:审批通过
+ */
+ purchaseRequestOrderStatus?:string;
+ /**
+ * 门店ID
+ */
+ shopId?:number;
+ /**
+ * 退货开始日期
+ */
+ purchaseReturnOrderStartDate?:string;
+ /**
+ * 退货结束日期
+ */
+ purchaseReturnOrderEndDate?:string;
+ /**
+ * 补货单父级ID 新增补货单参数
+ */
+ parentId?:number;
+ /**
+ * 物流公司名称 补发参数
+ */
+ logisticsCompanyId?:number;
+ /**
+ * 物流单号 补发参数
+ */
+ logisticsOrderNum?:string;
+/**
+ * 退货补发凭证ID 补发参数
+ */
+sendCommodityVoucherId?:number;
+/**
+* 补发商品列表(商品/商品规格ID、补发数量)
+*/
+commoditySpuList:[
+ {
+ /**
+ * 商品ID
+ */
+ commodityId?:number;
+ /**
+ * 商品规格ID
+ */
+ commoditySpuId?:number;
+ /**
+ * 供应商业务订单ID(发货单ID、退货单ID、补货单ID)
+ */
+ bizId?:number;
+ /**
+ * 供应商订单类型 0-发货单 1-退货单 2-补货单
+ */
+ bizType?:number;
+ /**
+ * 发货数量
+ */
+ commoditySpuCount?:number;
+ }
+]
+}
+ /**
+ * 查询供应商(发货单、退货单、补货单)商品明细列表 参数
+ */
+export interface SupplierOrderCommoditySpuItem extends PageQuery {
+ /**
+ * 商品ID
+ */
+ commodityId?:number;
+ /**
+ * 商品规格ID
+ */
+ commoditySpuId?:number;
+ /**
+ * 供应商业务订单ID(发货单ID、退货单ID、补货单ID)
+ */
+ bizId?:number;
+ /**
+ * 供应商订单类型 0-发货单 1-退货单 2-补货单
+ */
+ bizType?:number;
+ /**
+ * 发货数量
+ */
+ commoditySpuCount?:number;
+}
+// 对账
+export interface PurchaseSettlementOrder extends PageQuery {
+ /**
+ * 采购单号
+ */
+ purchaseNo?:number;
+ /**
+ * 入库单号
+ */
+ inNo?:number;
+ /**
+ * 结算门店
+ */
+ shopId?:number;
+ /**
+ * 供应商ID
+ */
+ supplierId?:number;
+ /**
+ * 采购单状态:0:全部入库 1:部分入库
+ */
+ purchaseStatus?:number;
+ /**
+ * 采购时间
+ */
+ purchaseTime?:string;
+ /**
+ * 最后1次入库成功时间
+ */
+ lastWarehousingTime?:string;
+ /**
+ * 结算方式
+ */
+ paymentMethod?:number;
+ /**
+ * 采购总数量
+ */
+ totalSkuCount?:number;
+ /**
+ *入库数量
+ */
+ totalWarehousingCount?:number;
+ /**
+ *补发数量
+ */
+ reissuedQuantity?:number;
+
+ /**
+ *采购总金额
+ */
+ totalPurchasePrice?:number;
+ /**
+ * 对账状态:0:未对账 1:已对账
+ */
+ dzStatus?:number;
+ /**
+ * 结算操作人ID
+ */
+ operatorId?:number;
+ /**
+ * 结算操作时间
+ */
+ operatorTime?:string;
+ /**
+ * 应付金额
+ */
+ payableAmount?:string;
+ /**
+ * 采购总金额
+ */
+ totalPurchaseAmount?:string;
+ /**
+ *结算状态:0:未结算 1:已结算
+ */
+ jsStatus?:number;
+ /**
+ *商品应付金额(元)
+ */
+ totalAmount?:string;
+
+ /**
+ *运费
+ */
+ shippingFee?:string;
+ }
+
+export interface SupplierQuery extends PageQuery {
+
+
+ /**
+ * 创建部门
+ */
+ createDept?: string;
+ /**
+ * 创建者
+ */
+ createBy?: string;
+ /**
+ * 创建时间
+ */
+ createTime?: string;
+ /**
+ * 更新时间
+ */
+ updateBy?: string;
+ /**
+ * 供应商订单ID
+ */
+ id?: string;
+ /**
+ * 采购单ID
+ */
+ purchaseRequestOrderId?: number;
+ /**
+ * 采购单编号
+ */
+ purchaseRequestOrderNo?: string;
+ /**
+ * 供应商订单状态 0-待发货 1-已发货(部分) 2-已发货(全部)
+ */
+ orderStatus?: number;
+ /**
+ * 采购人
+ */
+ purchaser?: string;
+ /**
+ * 对账状态 0-未对账 1-已对账
+ */
+ checkBillStatus?: number;
+
+ /**
+ * 采购单状态
+ */
+ purchaseRequestOrderStatus?: number;
+ /**
+ * 结算状态 0-未对账 1-对账完成
+ */
+ settlementStatus?: number;
+ /**
+ * 结算方式 0-先贷后款 1-先款后贷
+ */
+ settlementType?: number;
+ /**
+ * 门店ID
+ */
+ shopId?: number;
+ /**
+ * 采购开始时间
+ */
+ purchaserStartDate?: string;//列表
+ purchaserStartTime?: string;//导出
+ /**
+ * 采购结束时间
+ */
+ purchaserEndDate?: string;//列表
+ purchaserEndTime?: string;//导出
+ /**
+ * 供应商分类 0-自营 1-合作供应商 2-一件代发 3-自采
+ */
+ supplierCategory?: number;
+ /**
+ * 供应商ID
+ */
+ supplierId?: number;
+ /**
+ * 排序列
+ */
+ orderByColumn?: string;
+ /**
+ * 排序的方向desc或者asc
+ */
+ isAsc?: string;
+ /**
+ *limit起始下标
+ */
+ startIndex?: number;
+
+ /**
+ * 供应商编码
+ */
+ supplierCode?: string;
+
+ /**
+ * 供应商名称
+ */
+ supplierName?: string;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory?: number;
+
+
+
+
+ /**
+ * 状态 0-禁用 1-启用
+ */
+ supplierStatus?: boolean;
+
+ /**
+ * 省份ID
+ */
+ province?: number;
+
+ /**
+ * 城市ID
+ */
+ city?: number;
+
+ /**
+ * 区县ID
+ */
+ country?: number;
+
+ /**
+ * 详细地址
+ */
+ address?: string;
+
+ /**
+ * 经营方式 0-经销 1-代销 2-联营
+ */
+ operationType?: number;
+
+ /**
+ * 银行账户名称
+ */
+ bankAccountName?: string;
+
+ /**
+ * 银行账号
+ */
+ bankAccountCode?: string;
+
+ /**
+ * 开户银行
+ */
+ bankId?: string | number;
+
+ /**
+ * 开户地区
+ */
+ bankOpenAccountRegion?: string;
+
+ /**
+ * 支行名称
+ */
+ subBankName?: string;
+
+ /**
+ * 企业名称
+ */
+ enterpriseName?: string;
+
+ /**
+ * 公司税号
+ */
+ taxId?: string | number;
+
+ /**
+ * 资质图片文件
+ */
+ qualificationsImage?: string;
+
+ /**
+ * 资质文档文件
+ */
+ qualificationsDocument?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/supplier/supplier/index.ts b/src/api/supplier/supplier/index.ts
new file mode 100644
index 0000000..d24c6a6
--- /dev/null
+++ b/src/api/supplier/supplier/index.ts
@@ -0,0 +1,131 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { SupplierVO, SupplierForm, SupplierQuery } from '@/api/supplier/supplier/types';
+
+/**
+ * 查询供应商管理列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listSupplier = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: '/supplier/list',
+ method: 'get',
+ params: query
+ });
+};
+// 新供应商下拉列表(全部)
+export const listSupplierDropList = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: '/supplier/dropList',
+ method: 'get',
+ params: query
+ });
+};
+
+
+/**
+ * 查询供应商管理详细
+ * @param id
+ */
+export const getSupplier = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/supplier/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增供应商管理
+ * @param data
+ */
+export const addSupplier = (data: SupplierForm) => {
+ return request({
+ url: '/supplier',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改供应商管理
+ * @param data
+ */
+export const updateSupplier = (data: SupplierForm) => {
+ return request({
+ url: '/supplier',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除供应商管理
+ * @param id
+ */
+export const delSupplier = (id: string | number | Array) => {
+ return request({
+ url: '/supplier/' + id,
+ method: 'delete'
+ });
+};
+/**
+ * 省市区
+ * @param query
+ * @returns {*}
+ */
+
+export const regionTree = (query?: SupplierQuery): AxiosPromise => {
+ return request({
+ url: '/system/region/TreeAll',
+ method: 'get',
+ params: query
+ });
+};
+/**
+ * 启用供应商
+ * @param data
+ */
+export const supplieropen = (data: SupplierForm) => {
+ return request({
+ url: '/supplier/open',
+ method: 'put',
+ data: data
+ });
+};
+/**
+ * 禁用供应商
+ * @param data
+ */
+export const supplierclose = (data: SupplierForm) => {
+ return request({
+ url: '/supplier/close',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 供应商关联组织机构
+ * @param data
+ */
+export const relationOrganization = (data: SupplierForm) => {
+ return request({
+ url: '/supplier/relationOrganization',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 供应商下拉列表(全部)
+ * @param data
+ */
+export const supplierSelect = (query:anyObject) => {
+ return request({
+ url: '/supplier/dropList',
+ method: 'get',
+ params: query
+ });
+};
diff --git a/src/api/supplier/supplier/types.ts b/src/api/supplier/supplier/types.ts
new file mode 100644
index 0000000..83e9fa2
--- /dev/null
+++ b/src/api/supplier/supplier/types.ts
@@ -0,0 +1,334 @@
+export interface SupplierVO {
+ /**
+ * ID
+ */
+ id: string | number;
+
+ /**
+ * 供应商编码
+ */
+ supplierCode: string;
+
+ /**
+ * 供应商名称
+ */
+ supplierName: string;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory: number;
+
+ /**
+ * 供应商分类 0-自营 1-合作供应商 2-一件代发 3-自采
+ */
+ supplierCategory: number;
+
+ /**
+ * 状态 0-禁用 1-启用
+ */
+ supplierStatus: boolean;
+
+ /**
+ * 省份ID
+ */
+ province: number;
+
+ /**
+ * 城市ID
+ */
+ city: number;
+
+ /**
+ * 区县ID
+ */
+ country: number;
+
+ /**
+ * 详细地址
+ */
+ address: string;
+
+ /**
+ * 经营方式 0-经销 1-代销 2-联营
+ */
+ operationType: number;
+
+ /**
+ * 结算方式 0-先贷后款 1-先款后贷
+ */
+ settlementType: number;
+
+ /**
+ * 银行账户名称
+ */
+ bankAccountName: string;
+
+ /**
+ * 银行账号
+ */
+ bankAccountCode: string;
+
+ /**
+ * 开户银行
+ */
+ bankId: string | number;
+
+ /**
+ * 开户地区
+ */
+ bankOpenAccountRegion: string;
+
+ /**
+ * 支行名称
+ */
+ subBankName: string;
+
+ /**
+ * 企业名称
+ */
+ enterpriseName: string;
+
+ /**
+ * 公司税号
+ */
+ taxId: string | number;
+
+ /**
+ * 备注
+ */
+ remark: string;
+
+ /**
+ * 资质图片文件
+ */
+ qualificationsImage: string;
+
+ /**
+ * 资质图片文件Url
+ */
+ qualificationsImageUrl: string;
+ /**
+ * 资质文档文件
+ */
+ qualificationsDocument: string;
+}
+
+export interface SupplierForm extends BaseEntity {
+ /**
+ * ID
+ */
+ id?: string | number;
+
+ /**
+ * 供应商编码
+ */
+ supplierCode?: string;
+
+ /**
+ * 供应商名称
+ */
+ supplierName?: string;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory?: number;
+
+ /**
+ * 供应商分类 0-自营 1-合作供应商 2-一件代发 3-自采
+ */
+ supplierCategory?: number;
+
+ /**
+ * 状态 0-禁用 1-启用
+ */
+ supplierStatus?: boolean;
+
+ /**
+ * 省份ID
+ */
+ province?: number;
+
+ /**
+ * 城市ID
+ */
+ city?: number;
+
+ /**
+ * 区县ID
+ */
+ country?: number;
+
+ /**
+ * 详细地址
+ */
+ address?: string;
+
+ /**
+ * 经营方式 0-经销 1-代销 2-联营
+ */
+ operationType?: number;
+
+ /**
+ * 结算方式 0-先贷后款 1-先款后贷
+ */
+ settlementType?: number;
+
+ /**
+ * 银行账户名称
+ */
+ bankAccountName?: string;
+
+ /**
+ * 银行账号
+ */
+ bankAccountCode?: string;
+
+ /**
+ * 开户银行
+ */
+ bankId?: string | number;
+
+ /**
+ * 开户地区
+ */
+ bankOpenAccountRegion?: string;
+
+ /**
+ * 支行名称
+ */
+ subBankName?: string;
+
+ /**
+ * 企业名称
+ */
+ enterpriseName?: string;
+
+ /**
+ * 公司税号
+ */
+ taxId?: string | number;
+
+ /**
+ * 备注
+ */
+ remark?: string;
+
+ /**
+ * 资质图片文件
+ */
+ qualificationsImage?: string;
+
+ /**
+ * 资质文档文件
+ */
+ qualificationsDocument?: string;
+}
+
+export interface SupplierQuery extends PageQuery {
+ /**
+ * 供应商编码
+ */
+ supplierCode?: string;
+
+ /**
+ * 供应商名称
+ */
+ supplierName?: string;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory?: number;
+
+ /**
+ * 供应商分类 0-自营 1-合作供应商 2-一件代发 3-自采
+ */
+ supplierCategory?: number;
+
+ /**
+ * 状态 0-禁用 1-启用
+ */
+ supplierStatus?: boolean | number;
+
+ /**
+ * 省份ID
+ */
+ province?: number;
+
+ /**
+ * 城市ID
+ */
+ city?: number;
+
+ /**
+ * 区县ID
+ */
+ country?: number;
+
+ /**
+ * 详细地址
+ */
+ address?: string;
+
+ /**
+ * 经营方式 0-经销 1-代销 2-联营
+ */
+ operationType?: number;
+
+ /**
+ * 结算方式 0-先贷后款 1-先款后贷
+ */
+ settlementType?: number;
+
+ /**
+ * 银行账户名称
+ */
+ bankAccountName?: string;
+
+ /**
+ * 银行账号
+ */
+ bankAccountCode?: string;
+
+ /**
+ * 开户银行
+ */
+ bankId?: string | number;
+
+ /**
+ * 开户地区
+ */
+ bankOpenAccountRegion?: string;
+
+ /**
+ * 支行名称
+ */
+ subBankName?: string;
+
+ /**
+ * 企业名称
+ */
+ enterpriseName?: string;
+
+ /**
+ * 公司税号
+ */
+ taxId?: string | number;
+
+ /**
+ * 资质图片文件
+ */
+ qualificationsImage?: string;
+
+ /**
+ * 资质文档文件
+ */
+ qualificationsDocument?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/src/api/system/AfterOrder/index.ts b/src/api/system/AfterOrder/index.ts
new file mode 100644
index 0000000..a75fed8
--- /dev/null
+++ b/src/api/system/AfterOrder/index.ts
@@ -0,0 +1,168 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { OrderReturnApplyVO, OrderReturnApplyForm, OrderReturnApplyQuery } from '@/api/system/orderReturnApply/types';
+
+/**
+ * 查询订单退货申请列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listOrderReturnApply = (query?: OrderReturnApplyQuery): AxiosPromise => {
+ return request({
+ url: '/system/orderReturnApply/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询订单退货申请详细
+ * @param id
+ */
+export const getOrderReturnApply = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/orderReturnApply/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增订单退货申请
+ * @param data
+ */
+export const addOrderReturnApply = (data: OrderReturnApplyForm) => {
+ return request({
+ url: '/system/orderReturnApply',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改订单退货申请
+ * @param data
+ */
+export const updateOrderReturnApply = (data: OrderReturnApplyForm) => {
+ return request({
+ url: '/system/orderReturnApply',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除订单退货申请
+ * @param id
+ */
+export const delOrderReturnApply = (id: string | number | Array) => {
+ return request({
+ url: '/system/orderReturnApply/' + id,
+ method: 'delete'
+ });
+};
+/**
+ * 供应商收货地址
+ * @param data
+ */
+export const checkSupplierAddress = (data: OrderReturnApplyVO) => {
+ return request({
+ url: '/system/orderReturnApply/getReturnAddress',
+ method: 'post',
+ params: data
+ });
+};
+
+/**
+ * 同意退款申请
+ * @param data
+ */
+export const agreeOrderRefund = (data: OrderReturnApplyVO) => {
+ return request({
+ url: '/system/orderReturnApply/agree',
+ method: 'post',
+ params: data
+ });
+};
+/**
+ * 同意退货退款申请
+ * @param data
+ */
+export const agreeOrderRefundAddress = (data: OrderReturnApplyVO) => {
+ return request({
+ url: '/system/orderReturnApply/agreeWithAddress',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 拒绝退款申请 退货退款
+ * @param data
+ */
+export const refusedOrderRefund = (data: OrderReturnApplyVO) => {
+ return request({
+ url: '/system/orderReturnApply/reject',
+ method: 'post',
+ params: data
+ });
+};
+
+/**
+ * 新增退货协商记录
+ * @param data
+ */
+export const refundRecord = (data: OrderReturnApplyVO) => {
+ return request({
+ url: '/system/orderNegotiation',
+ method: 'post',
+ data: data
+ });
+};
+/**
+ * 收到货 立即退款
+ * @param data
+ */
+export const agreeRefundOfdeliver = (data: OrderReturnApplyVO) => {
+ return request({
+ url: '/system/orderReturnApply/confirmReceive',
+ method: 'post',
+ params: data
+ });
+};
+//退货物流信息
+export const addDeliveryInfo = (query: any) => {
+ return request({
+ url: '/system/orderReturnApply/addDeliveryInfo',
+ method: 'post',
+ data: query
+ // data: query
+ });
+};
+//商家收到货 并退款
+export const confirmReceive = (query: any) => {
+ return request({
+ url: '/system/orderReturnApply/confirmReceive',
+ method: 'post',
+ params: query
+ // data: query
+ });
+};
+// 商家拒绝收货
+export const refusedReceive = (query: any) => {
+ return request({
+ url: '/system/orderReturnApply/rejectCommodity',
+ method: 'post',
+ params: query
+ // data: query
+ });
+};
+//一键入库
+export const oneKeyInStorage = (query: any) => {
+ return request({
+ url: '/system/orderReturnApply/rollBackStock',
+ method: 'post',
+ params: query
+ // data: query
+ });
+}
diff --git a/src/api/system/AfterOrder/types.ts b/src/api/system/AfterOrder/types.ts
new file mode 100644
index 0000000..afe54d0
--- /dev/null
+++ b/src/api/system/AfterOrder/types.ts
@@ -0,0 +1,536 @@
+export interface OrderReturnApplyVO {
+ /**
+ *
+ */
+ id: string | number;
+
+ /**
+ * 订单id
+ */
+ orderId: string | number;
+
+ /**
+ * 订单编号
+ */
+ orderSn: string;
+
+ /**
+ * 门店ID
+ */
+ shopId: string | number;
+
+ /**
+ * 用户ID
+ */
+ userId: string | number;
+
+ /**
+ * 供应商ID
+ */
+ supplierId: string | number;
+
+ /**
+ * 会员用户名
+ */
+ username: string;
+
+ /**
+ * 退款金额
+ */
+ returnAmount: number;
+
+ /**
+ * 退货人电话
+ */
+ returnPhone: string;
+
+ /**
+ * 退款类型:0->未发货仅退款;1->已发货,退货退款;3->商家主动退款
+ */
+ type: number;
+
+ /**
+ * 申请状态:0->待处理;1->商家同意,待买家发货;2->买家已发货,等待商家收货;3->已完成;4->已拒绝,5->已撤销",6->拒绝收货,7->已关闭
+ */
+ status: number;
+
+ /**
+ * 退货物流公司
+ */
+ returnDeliveryCompany: string;
+
+ /**
+ * 退货物流编号
+ */
+ returnDeliverySn: string;
+
+ /**
+ * 退货物流备注
+ */
+ returnDeliveryRemark: string;
+
+ /**
+ * 处理时间
+ */
+ handleTime: string;
+
+ /**
+ * 退款原因
+ */
+ reason: string;
+
+ /**
+ * 退款说明
+ */
+ description: string;
+
+ /**
+ * 凭证图片,以逗号隔开
+ */
+ proofPics: string;
+
+ /**
+ * 收货人
+ */
+ receiveMan: string;
+
+ /**
+ * 收货人手机号
+ */
+ receiveMobile: string;
+
+ /**
+ * 收货人座机号
+ */
+ receivePhone: string;
+
+ /**
+ * 省/直辖市编码
+ */
+ receiveProvinceCode: number;
+
+ /**
+ * 市编码
+ */
+ receiveCityCode: number;
+
+ /**
+ * 区编码
+ */
+ receiveRegionCode: number;
+
+ /**
+ * 详细地址
+ */
+ receiveDetailAddress: string;
+
+ /**
+ * 收货备注
+ */
+ receiveNote: string;
+
+ /**
+ * 整单退款:0-部分,1-整单
+ */
+ returnOrderAll: number;
+
+ /**
+ * 退货商品是否已入库:0-否,1-是
+ */
+ rollBackStock: number;
+
+ /**
+ * 订单来源类型
+ */
+ orderSourceType: boolean;
+
+ /**
+ * 退款支付方式:0-现金支付,1-原路返回
+ */
+ refundPayType: boolean;
+
+ /**
+ * 运费
+ */
+ freightAmount: number;
+
+ /**
+ * 商家同意时间
+ */
+ agreeTime: string;
+
+ /**
+ * 银行受理时间
+ */
+ bankProcessTime: string;
+
+ /**
+ * 退款完成或失败时间
+ */
+ refundedTime: string;
+
+ /**
+ * 操作人
+ */
+ operator: string;
+
+}
+
+export interface OrderReturnApplyForm extends BaseEntity {
+ /**
+ *
+ */
+ id?: string | number;
+
+ /**
+ * 订单id
+ */
+ orderId?: string | number;
+
+ /**
+ * 订单编号
+ */
+ orderSn?: string;
+
+ /**
+ * 门店ID
+ */
+ shopId?: string | number;
+
+ /**
+ * 用户ID
+ */
+ userId?: string | number;
+
+ /**
+ * 供应商ID
+ */
+ supplierId?: string | number;
+
+ /**
+ * 会员用户名
+ */
+ username?: string;
+
+ /**
+ * 退款金额
+ */
+ returnAmount?: number;
+
+ /**
+ * 退货人电话
+ */
+ returnPhone?: string;
+
+ /**
+ * 退款类型:0->未发货仅退款;1->已发货,退货退款;3->商家主动退款
+ */
+ type?: number;
+
+ /**
+ * 申请状态:0->待处理;1->商家同意,待买家发货;2->买家已发货,等待商家收货;3->已完成;4->已拒绝,5->已撤销",6->拒绝收货,7->已关闭
+ */
+ status?: number;
+
+ /**
+ * 退货物流公司
+ */
+ returnDeliveryCompany?: string;
+
+ /**
+ * 退货物流编号
+ */
+ returnDeliverySn?: string;
+
+ /**
+ * 退货物流备注
+ */
+ returnDeliveryRemark?: string;
+
+ /**
+ * 处理时间
+ */
+ handleTime?: string;
+
+ /**
+ * 退款原因
+ */
+ reason?: string;
+
+ /**
+ * 退款说明
+ */
+ description?: string;
+
+ /**
+ * 凭证图片,以逗号隔开
+ */
+ proofPics?: string;
+
+ /**
+ * 收货人
+ */
+ receiveMan?: string;
+
+ /**
+ * 收货人手机号
+ */
+ receiveMobile?: string;
+
+ /**
+ * 收货人座机号
+ */
+ receivePhone?: string;
+
+ /**
+ * 省/直辖市编码
+ */
+ receiveProvinceCode?: number;
+
+ /**
+ * 市编码
+ */
+ receiveCityCode?: number;
+
+ /**
+ * 区编码
+ */
+ receiveRegionCode?: number;
+
+ /**
+ * 详细地址
+ */
+ receiveDetailAddress?: string;
+
+ /**
+ * 收货备注
+ */
+ receiveNote?: string;
+
+ /**
+ * 整单退款:0-部分,1-整单
+ */
+ returnOrderAll?: number;
+
+ /**
+ * 退货商品是否已入库:0-否,1-是
+ */
+ rollBackStock?: number;
+
+ /**
+ * 订单来源类型
+ */
+ orderSourceType?: boolean;
+
+ /**
+ * 退款支付方式:0-现金支付,1-原路返回
+ */
+ refundPayType?: boolean;
+
+ /**
+ * 运费
+ */
+ freightAmount?: number;
+
+ /**
+ * 商家同意时间
+ */
+ agreeTime?: string;
+
+ /**
+ * 银行受理时间
+ */
+ bankProcessTime?: string;
+
+ /**
+ * 退款完成或失败时间
+ */
+ refundedTime?: string;
+
+ /**
+ * 操作人
+ */
+ operator?: string;
+
+}
+
+export interface OrderReturnApplyQuery extends PageQuery {
+
+ /**
+ * 订单id
+ */
+ orderId?: string | number;
+
+ /**
+ * 订单编号
+ */
+ orderSn?: string;
+
+ /**
+ * 门店ID
+ */
+ shopId?: string | number;
+
+ /**
+ * 用户ID
+ */
+ userId?: string | number;
+
+ /**
+ * 供应商ID
+ */
+ supplierId?: string | number;
+
+ /**
+ * 会员用户名
+ */
+ username?: string;
+
+ /**
+ * 退款金额
+ */
+ returnAmount?: number;
+
+ /**
+ * 退货人电话
+ */
+ returnPhone?: string;
+
+ /**
+ * 退款类型:0->未发货仅退款;1->已发货,退货退款;3->商家主动退款
+ */
+ type?: number;
+
+ /**
+ * 申请状态:0->待处理;1->商家同意,待买家发货;2->买家已发货,等待商家收货;3->已完成;4->已拒绝,5->已撤销",6->拒绝收货,7->已关闭
+ */
+ status?: number;
+
+ /**
+ * 退货物流公司
+ */
+ returnDeliveryCompany?: string;
+
+ /**
+ * 退货物流编号
+ */
+ returnDeliverySn?: string;
+
+ /**
+ * 退货物流备注
+ */
+ returnDeliveryRemark?: string;
+
+ /**
+ * 处理时间
+ */
+ handleTime?: string;
+
+ /**
+ * 退款原因
+ */
+ reason?: string;
+
+ /**
+ * 退款说明
+ */
+ description?: string;
+
+ /**
+ * 凭证图片,以逗号隔开
+ */
+ proofPics?: string;
+
+ /**
+ * 收货人
+ */
+ receiveMan?: string;
+
+ /**
+ * 收货人手机号
+ */
+ receiveMobile?: string;
+
+ /**
+ * 收货人座机号
+ */
+ receivePhone?: string;
+
+ /**
+ * 省/直辖市编码
+ */
+ receiveProvinceCode?: number;
+
+ /**
+ * 市编码
+ */
+ receiveCityCode?: number;
+
+ /**
+ * 区编码
+ */
+ receiveRegionCode?: number;
+
+ /**
+ * 详细地址
+ */
+ receiveDetailAddress?: string;
+
+ /**
+ * 收货备注
+ */
+ receiveNote?: string;
+
+ /**
+ * 整单退款:0-部分,1-整单
+ */
+ returnOrderAll?: number;
+
+ /**
+ * 退货商品是否已入库:0-否,1-是
+ */
+ rollBackStock?: number;
+
+ /**
+ * 订单来源类型
+ */
+ orderSourceType?: boolean;
+
+ /**
+ * 退款支付方式:0-现金支付,1-原路返回
+ */
+ refundPayType?: boolean;
+
+ /**
+ * 运费
+ */
+ freightAmount?: number;
+
+ /**
+ * 商家同意时间
+ */
+ agreeTime?: string;
+
+ /**
+ * 银行受理时间
+ */
+ bankProcessTime?: string;
+
+ /**
+ * 退款完成或失败时间
+ */
+ refundedTime?: string;
+
+ /**
+ * 操作人
+ */
+ operator?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/system/appVersion/index.ts b/src/api/system/appVersion/index.ts
new file mode 100644
index 0000000..b6bc6b2
--- /dev/null
+++ b/src/api/system/appVersion/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { AppVersionVO, AppVersionForm, AppVersionQuery } from '@/api/system/appVersion/types';
+
+/**
+ * 查询收银台版本管理列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listAppVersion = (query?: AppVersionQuery): AxiosPromise => {
+ return request({
+ url: '/system/appVersion/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询收银台版本管理详细
+ * @param id
+ */
+export const getAppVersion = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/appVersion/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增收银台版本管理
+ * @param data
+ */
+export const addAppVersion = (data: AppVersionForm) => {
+ return request({
+ url: '/system/appVersion',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改收银台版本管理
+ * @param data
+ */
+export const updateAppVersion = (data: AppVersionForm) => {
+ return request({
+ url: '/system/appVersion',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除收银台版本管理
+ * @param id
+ */
+export const delAppVersion = (id: string | number | Array) => {
+ return request({
+ url: '/system/appVersion/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/system/appVersion/types.ts b/src/api/system/appVersion/types.ts
new file mode 100644
index 0000000..b132b8f
--- /dev/null
+++ b/src/api/system/appVersion/types.ts
@@ -0,0 +1,146 @@
+export interface AppVersionVO {
+ /**
+ *
+ */
+ id: string | number;
+
+ /**
+ * 应用名称
+ */
+ appName: string;
+
+ /**
+ * 版本号(数字)
+ */
+ versionCode: number;
+
+ /**
+ * 版本名称(字符串)
+ */
+ versionName: string;
+
+ /**
+ * 更新类型(1:普通更新 2:强制更新)
+ */
+ updateType: string;
+
+ /**
+ * 下载地址
+ */
+ downloadUrl: string;
+
+ /**
+ * 更新说明
+ */
+ updateDesc: string;
+
+ /**
+ * 文件大小(字节)
+ */
+ fileSize: number;
+
+ /**
+ * 状态(0:禁用 1:启用)
+ */
+ status: string;
+
+}
+
+export interface AppVersionForm extends BaseEntity {
+ /**
+ *
+ */
+ id?: string | number;
+
+ /**
+ * 应用名称
+ */
+ appName?: string;
+
+ /**
+ * 版本号(数字)
+ */
+ versionCode?: number;
+
+ /**
+ * 版本名称(字符串)
+ */
+ versionName?: string;
+
+ /**
+ * 更新类型(1:普通更新 2:强制更新)
+ */
+ updateType?: string;
+
+ /**
+ * 下载地址
+ */
+ downloadUrl?: string;
+
+ /**
+ * 更新说明
+ */
+ updateDesc?: string;
+
+ /**
+ * 文件大小(字节)
+ */
+ fileSize?: number;
+
+ /**
+ * 状态(0:禁用 1:启用)
+ */
+ status?: string;
+
+}
+
+export interface AppVersionQuery extends PageQuery {
+
+ /**
+ * 应用名称
+ */
+ appName?: string;
+
+ /**
+ * 版本号(数字)
+ */
+ versionCode?: number;
+
+ /**
+ * 版本名称(字符串)
+ */
+ versionName?: string;
+
+ /**
+ * 更新类型(1:普通更新 2:强制更新)
+ */
+ updateType?: string;
+
+ /**
+ * 下载地址
+ */
+ downloadUrl?: string;
+
+ /**
+ * 更新说明
+ */
+ updateDesc?: string;
+
+ /**
+ * 文件大小(字节)
+ */
+ fileSize?: number;
+
+ /**
+ * 状态(0:禁用 1:启用)
+ */
+ status?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/system/city/index.ts b/src/api/system/city/index.ts
new file mode 100644
index 0000000..7266ba2
--- /dev/null
+++ b/src/api/system/city/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { CityVO, CityForm, CityQuery } from '@/api/system/city/types';
+
+/**
+ * 查询城市分类信息列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listCity = (query?: CityQuery): AxiosPromise => {
+ return request({
+ url: '/system/city/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询城市分类信息详细
+ * @param id
+ */
+export const getCity = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/city/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增城市分类信息
+ * @param data
+ */
+export const addCity = (data: CityForm) => {
+ return request({
+ url: '/system/city',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改城市分类信息
+ * @param data
+ */
+export const updateCity = (data: CityForm) => {
+ return request({
+ url: '/system/city',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除城市分类信息
+ * @param id
+ */
+export const delCity = (id: string | number | Array) => {
+ return request({
+ url: '/system/city/' + id,
+ method: 'delete'
+ });
+};
diff --git a/src/api/system/city/types.ts b/src/api/system/city/types.ts
new file mode 100644
index 0000000..5177244
--- /dev/null
+++ b/src/api/system/city/types.ts
@@ -0,0 +1,61 @@
+export interface CityVO {
+ /**
+ * 自增主键,唯一标识符
+ */
+ id: string | number;
+
+ /**
+ * (1 - 一线城市、2 - 二线城市、3 -三线城市、4 - 四线城市)
+ */
+ cityCode: number;
+
+ /**
+ * 包含城市的列表,多个城市区域代码以顿号分隔
+ */
+ regionCode: string;
+
+ /**
+ * 更新时间
+ */
+ updateTime: string;
+
+}
+
+export interface CityForm extends BaseEntity {
+ /**
+ * 自增主键,唯一标识符
+ */
+ id?: string | number;
+
+ /**
+ * (1 - 一线城市、2 - 二线城市、3 -三线城市、4 - 四线城市)
+ */
+ cityCode?: number;
+
+ /**
+ * 包含城市的列表,多个城市区域代码以顿号分隔
+ */
+ regionCode?: string;
+
+}
+
+export interface CityQuery extends PageQuery {
+
+ /**
+ * (1 - 一线城市、2 - 二线城市、3 -三线城市、4 - 四线城市)
+ */
+ cityCode?: number;
+
+ /**
+ * 包含城市的列表,多个城市区域代码以顿号分隔
+ */
+ regionCode?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
+
+
+
diff --git a/src/api/system/client/index.ts b/src/api/system/client/index.ts
new file mode 100644
index 0000000..6b302b0
--- /dev/null
+++ b/src/api/system/client/index.ts
@@ -0,0 +1,80 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { ClientVO, ClientForm, ClientQuery } from '@/api/system/client/types';
+
+/**
+ * 查询客户端管理列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listClient = (query?: ClientQuery): AxiosPromise => {
+ return request({
+ url: '/system/client/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询客户端管理详细
+ * @param id
+ */
+export const getClient = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/system/client/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增客户端管理
+ * @param data
+ */
+export const addClient = (data: ClientForm) => {
+ return request({
+ url: '/system/client',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改客户端管理
+ * @param data
+ */
+export const updateClient = (data: ClientForm) => {
+ return request({
+ url: '/system/client',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除客户端管理
+ * @param id
+ */
+export const delClient = (id: string | number | Array) => {
+ return request({
+ url: '/system/client/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ * 状态修改
+ * @param clientId 客户端id
+ * @param status 状态
+ */
+export function changeStatus(clientId: string, status: string) {
+ const data = {
+ clientId,
+ status
+ };
+ return request({
+ url: '/system/client/changeStatus',
+ method: 'put',
+ data: data
+ });
+}
diff --git a/src/api/system/client/types.ts b/src/api/system/client/types.ts
new file mode 100644
index 0000000..142118d
--- /dev/null
+++ b/src/api/system/client/types.ts
@@ -0,0 +1,135 @@
+export interface ClientVO {
+ /**
+ * id
+ */
+ id: string | number;
+
+ /**
+ * 客户端id
+ */
+ clientId: string;
+
+ /**
+ * 客户端key
+ */
+ clientKey: string;
+
+ /**
+ * 客户端秘钥
+ */
+ clientSecret: string;
+
+ /**
+ * 授权类型
+ */
+ grantTypeList: string[];
+
+ /**
+ * 设备类型
+ */
+ deviceType: string;
+
+ /**
+ * token活跃超时时间
+ */
+ activeTimeout: number;
+
+ /**
+ * token固定超时
+ */
+ timeout: number;
+
+ /**
+ * 状态(0正常 1停用)
+ */
+ status: string;
+}
+
+export interface ClientForm extends BaseEntity {
+ /**
+ * id
+ */
+ id?: string | number;
+
+ /**
+ * 客户端id
+ */
+ clientId?: string | number;
+
+ /**
+ * 客户端key
+ */
+ clientKey?: string;
+
+ /**
+ * 客户端秘钥
+ */
+ clientSecret?: string;
+
+ /**
+ * 授权类型
+ */
+ grantTypeList?: string[];
+
+ /**
+ * 设备类型
+ */
+ deviceType?: string;
+
+ /**
+ * token活跃超时时间
+ */
+ activeTimeout?: number;
+
+ /**
+ * token固定超时
+ */
+ timeout?: number;
+
+ /**
+ * 状态(0正常 1停用)
+ */
+ status?: string;
+}
+
+export interface ClientQuery extends PageQuery {
+ /**
+ * 客户端id
+ */
+ clientId?: string | number;
+
+ /**
+ * 客户端key
+ */
+ clientKey?: string;
+
+ /**
+ * 客户端秘钥
+ */
+ clientSecret?: string;
+
+ /**
+ * 授权类型
+ */
+ grantType?: string;
+
+ /**
+ * 设备类型
+ */
+ deviceType?: string;
+
+ /**
+ * token活跃超时时间
+ */
+ activeTimeout?: number;
+
+ /**
+ * token固定超时
+ */
+ timeout?: number;
+
+ /**
+ * 状态(0正常 1停用)
+ */
+ status?: string;
+}
diff --git a/src/api/system/config/index.ts b/src/api/system/config/index.ts
new file mode 100644
index 0000000..1e4842d
--- /dev/null
+++ b/src/api/system/config/index.ts
@@ -0,0 +1,74 @@
+import request from '@/utils/request';
+import { ConfigForm, ConfigQuery, ConfigVO } from './types';
+import { AxiosPromise } from 'axios';
+
+// 查询参数列表
+export function listConfig(query: ConfigQuery): AxiosPromise {
+ return request({
+ url: '/system/config/list',
+ method: 'get',
+ params: query
+ });
+}
+
+// 查询参数详细
+export function getConfig(configId: string | number): AxiosPromise {
+ return request({
+ url: '/system/config/' + configId,
+ method: 'get'
+ });
+}
+
+// 根据参数键名查询参数值
+export function getConfigKey(configKey: string): AxiosPromise {
+ return request({
+ url: '/system/config/configKey/' + configKey,
+ method: 'get'
+ });
+}
+
+// 新增参数配置
+export function addConfig(data: ConfigForm) {
+ return request({
+ url: '/system/config',
+ method: 'post',
+ data: data
+ });
+}
+
+// 修改参数配置
+export function updateConfig(data: ConfigForm) {
+ return request({
+ url: '/system/config',
+ method: 'put',
+ data: data
+ });
+}
+
+// 修改参数配置
+export function updateConfigByKey(key: string, value: any) {
+ return request({
+ url: '/system/config/updateByKey',
+ method: 'put',
+ data: {
+ configKey: key,
+ configValue: value
+ }
+ });
+}
+
+// 删除参数配置
+export function delConfig(configId: string | number | Array) {
+ return request({
+ url: '/system/config/' + configId,
+ method: 'delete'
+ });
+}
+
+// 刷新参数缓存
+export function refreshCache() {
+ return request({
+ url: '/system/config/refreshCache',
+ method: 'delete'
+ });
+}
diff --git a/src/api/system/config/types.ts b/src/api/system/config/types.ts
new file mode 100644
index 0000000..b68f073
--- /dev/null
+++ b/src/api/system/config/types.ts
@@ -0,0 +1,23 @@
+export interface ConfigVO extends BaseEntity {
+ configId: number | string;
+ configName: string;
+ configKey: string;
+ configValue: string;
+ configType: string;
+ remark: string;
+}
+
+export interface ConfigForm {
+ configId: number | string | undefined;
+ configName: string;
+ configKey: string;
+ configValue: string;
+ configType: string;
+ remark: string;
+}
+
+export interface ConfigQuery extends PageQuery {
+ configName: string;
+ configKey: string;
+ configType: string;
+}
diff --git a/src/api/system/coupon/index.ts b/src/api/system/coupon/index.ts
new file mode 100644
index 0000000..1c605df
--- /dev/null
+++ b/src/api/system/coupon/index.ts
@@ -0,0 +1,88 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { CouponVO, CouponForm, CouponQuery } from '@/api/system/coupon/types';
+
+/**
+ * 查询卡券管理列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listCoupon = (query?: CouponQuery): AxiosPromise => {
+ return request({
+ url: '/coupon/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询卡券管理详细
+ * @param id
+ */
+export const getCoupon = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/coupon/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增卡券管理
+ * @param data
+ */
+export const addCoupon = (data: CouponForm) => {
+ return request({
+ url: '/coupon',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改卡券管理
+ * @param data
+ */
+export const updateCoupon = (data: CouponForm) => {
+ return request({
+ url: '/coupon',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除卡券管理
+ * @param id
+ */
+export const delCoupon = (id: string | number | Array) => {
+ return request({
+ url: '/system/coupon/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ *
+ * @param data 卡券 生效失效
+ * @returns
+ */
+export const updatePublish = (data: CouponForm) => {
+ return request({
+ url: '/coupon/unPublish',
+ method: 'put',
+ data: data
+ });
+};
+/**
+ * 关联商品
+ * @param data
+ * @returns
+ */
+export const relationCommoditySpu = (data: CouponForm) => {
+ return request({
+ url: '/coupon/relationCommoditySpu',
+ method: 'put',
+ data: data
+ });
+};
diff --git a/src/api/system/coupon/types.ts b/src/api/system/coupon/types.ts
new file mode 100644
index 0000000..20feae8
--- /dev/null
+++ b/src/api/system/coupon/types.ts
@@ -0,0 +1,302 @@
+export interface CouponVO {
+ /**
+ * ID
+ */
+ id: string | number;
+ commoditySpuIdList: string[];
+ /**
+ * 卡券名称
+ */
+ name: string;
+
+ /**
+ * 渠道 0-抖音 1-美团 2-快手 3-小红书
+ */
+ channel: number;
+
+ /**
+ * 卡券类型 0-商品券 1-代金券
+ */
+ couponType: number;
+
+ /**
+ * 卡券状态 0-销售中 1-失效
+ */
+ couponStatus: number;
+
+ /**
+ * 第三方卡券ID
+ */
+ thirdPartyId: string | number;
+
+ /**
+ * 原价
+ */
+ originPrice: number;
+
+ /**
+ * 开始日期
+ */
+ startDate: string;
+
+ /**
+ * 结束日期
+ */
+ endDate: string;
+
+ /**
+ * 购买后立即生效 0-未生效 1-生效
+ */
+ takeEffect: number;
+
+ /**
+ * 有效期天数
+ */
+ effectDays: number;
+
+ /**
+ * 使用时段 0-全天可用 1-指定时间可用
+ */
+ period: number;
+
+ /**
+ * 指定时段开始时间
+ */
+ startTime: string;
+
+ /**
+ * 指定时段结束时间
+ */
+ endTime: string;
+
+ /**
+ * 适用店铺 0-全部店铺可用 1-仅指定店铺可用
+ */
+ effectShop: number;
+
+ /**
+ * 同步打标签 0-未同步 1-同步
+ */
+ synchronousLabel: number;
+
+ /**
+ * 团购券外卖 0-不支持 1-支持
+ */
+ takeAway: number;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory: number;
+
+ /**
+ * 适用商品 0-全部商品参加 1-指定商品参加 2-指定商品不参加
+ */
+ effectCommodity: number;
+}
+
+export interface CouponForm extends BaseEntity {
+ /**
+ * ID
+ */
+ id?: string | number;
+ useDateGroup?: string[];
+ sellDateGroup?: string[];
+ saleStartDate?: string;
+ saleEndDate?: string;
+ shopIdList?: string[];
+ effectStartTime?: string;
+ effectEndTime?: string;
+ effectStartDate?: string;
+ effectEndDate?: string;
+ commoditySpuIdList?: string[]; //关联商品
+ effectStartTimeGroup?: string[];
+ synchronousLabel_copy: number[] | number[];
+ /**
+ * 卡券名称
+ */
+ name?: string;
+
+ /**
+ * 渠道 0-抖音 1-美团 2-快手 3-小红书
+ */
+ channel?: number;
+
+ /**
+ * 卡券类型 0-商品券 1-代金券
+ */
+ couponType?: number;
+
+ /**
+ * 卡券状态 0-销售中 1-失效
+ */
+ couponStatus?: number;
+
+ /**
+ * 第三方卡券ID
+ */
+ thirdPartyId?: string | number;
+
+ /**
+ * 原价
+ */
+ originPrice?: number;
+
+ /**
+ * 开始日期
+ */
+ startDate?: string;
+
+ /**
+ * 结束日期
+ */
+ endDate?: string;
+
+ /**
+ * 购买后立即生效 0-未生效 1-生效
+ */
+ takeEffect?: number | string;
+
+ /**
+ * 有效期天数
+ */
+ effectDays?: number;
+
+ /**
+ * 使用时段 0-全天可用 1-指定时间可用
+ */
+ period?: number;
+
+ /**
+ * 指定时段开始时间
+ */
+ startTime?: string;
+
+ /**
+ * 指定时段结束时间
+ */
+ endTime?: string;
+
+ /**
+ * 适用店铺 0-全部店铺可用 1-仅指定店铺可用
+ */
+ effectShop?: number;
+
+ /**
+ * 同步打标签 0-未同步 1-同步
+ */
+ synchronousLabel?: number | number[];
+
+ /**
+ * 团购券外卖 0-不支持 1-支持
+ */
+ takeAway?: number;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory?: number;
+
+ /**
+ * 适用商品 0-全部商品参加 1-指定商品参加 2-指定商品不参加
+ */
+ effectCommodity?: number;
+}
+
+export interface CouponQuery extends PageQuery {
+ /**
+ * 卡券名称
+ */
+ name?: string;
+ relationStatus?: number | string;
+ /**
+ * 渠道 0-抖音 1-美团 2-快手 3-小红书
+ */
+ channel?: number;
+ useDateGroup?: string[];
+
+ /**
+ * 卡券类型 0-商品券 1-代金券
+ */
+ couponType?: number;
+
+ /**
+ * 卡券状态 0-销售中 1-失效
+ */
+ couponStatus?: number;
+
+ /**
+ * 第三方卡券ID
+ */
+ thirdPartyId?: string | number;
+
+ /**
+ * 原价
+ */
+ originPrice?: number;
+
+ /**
+ * 开始日期
+ */
+ startDate?: string;
+
+ /**
+ * 结束日期
+ */
+ endDate?: string;
+
+ /**
+ * 购买后立即生效 0-未生效 1-生效
+ */
+ takeEffect?: number;
+
+ /**
+ * 有效期天数
+ */
+ effectDays?: number;
+
+ /**
+ * 使用时段 0-全天可用 1-指定时间可用
+ */
+ period?: number;
+
+ /**
+ * 指定时段开始时间
+ */
+ startTime?: string;
+
+ /**
+ * 指定时段结束时间
+ */
+ endTime?: string;
+
+ /**
+ * 适用店铺 0-全部店铺可用 1-仅指定店铺可用
+ */
+ effectShop?: number;
+
+ /**
+ * 同步打标签 0-未同步 1-同步
+ */
+ synchronousLabel?: number;
+
+ /**
+ * 团购券外卖 0-不支持 1-支持
+ */
+ takeAway?: number;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory?: number;
+
+ /**
+ * 适用商品 0-全部商品参加 1-指定商品参加 2-指定商品不参加
+ */
+ effectCommodity?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/src/api/system/dataCenter/index.ts b/src/api/system/dataCenter/index.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/api/system/dept/index.ts b/src/api/system/dept/index.ts
new file mode 100644
index 0000000..b80ccc7
--- /dev/null
+++ b/src/api/system/dept/index.ts
@@ -0,0 +1,69 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { DeptForm, DeptQuery, DeptVO } from './types';
+
+// 查询部门列表
+export const listDept = (query?: any) => {
+ return request({
+ url: '/system/dept/list',
+ method: 'get',
+ params: query
+ });
+};
+
+// 查询部门列表(排除节点)
+export const listDeptExcludeChild = (deptId: string | number): AxiosPromise => {
+ return request({
+ url: '/system/dept/list/exclude/' + deptId,
+ method: 'get'
+ });
+};
+
+// 查询部门详细
+export const getDept = (deptId: string | number) => {
+ return request({
+ url: '/system/dept/' + deptId,
+ method: 'get'
+ });
+};
+
+// 查询部门下拉树结构
+export const treeselect = (): AxiosPromise => {
+ return request({
+ url: '/system/dept/treeselect',
+ method: 'get'
+ });
+};
+
+// 新增部门
+export const addDept = (data: DeptForm) => {
+ return request({
+ url: '/system/dept',
+ method: 'post',
+ data: data
+ });
+};
+
+// 修改部门
+export const updateDept = (data: DeptForm) => {
+ return request({
+ url: '/system/dept',
+ method: 'put',
+ data: data
+ });
+};
+
+// 删除部门
+export const delDept = (deptId: number | string) => {
+ return request({
+ url: '/system/dept/' + deptId,
+ method: 'delete'
+ });
+};
+// 查询组织类型
+export const organizationType = (): AxiosPromise => {
+ return request({
+ url: '/system/organizationType/list',
+ method: 'get'
+ });
+};
diff --git a/src/api/system/dept/types.ts b/src/api/system/dept/types.ts
new file mode 100644
index 0000000..494745c
--- /dev/null
+++ b/src/api/system/dept/types.ts
@@ -0,0 +1,48 @@
+/**
+ * 部门查询参数
+ */
+export interface DeptQuery extends PageQuery {
+ deptName?: string;
+ deptCategory?: string;
+ status?: number;
+}
+
+/**
+ * 部门类型
+ */
+export interface DeptVO extends BaseEntity {
+ id: number | string;
+ parentName: string;
+ parentId: number | string;
+ children: DeptVO[];
+ deptId: number | string;
+ deptName: string;
+ deptCategory: string;
+ orderNum: number;
+ leader: string;
+ phone: string;
+ email: string;
+ status: string;
+ delFlag: string;
+ ancestors: string;
+ menuId: string | number;
+}
+
+/**
+ * 部门表单类型
+ */
+export interface DeptForm {
+ parentName?: string;
+ parentId?: number | string;
+ children?: DeptForm[];
+ deptId?: number | string;
+ deptName?: string;
+ deptCategory?: string;
+ orderNum?: number;
+ leader?: string;
+ phone?: string;
+ email?: string;
+ status?: string;
+ delFlag?: string;
+ ancestors?: string;
+}
diff --git a/src/api/system/dict/data/index.ts b/src/api/system/dict/data/index.ts
new file mode 100644
index 0000000..7692abc
--- /dev/null
+++ b/src/api/system/dict/data/index.ts
@@ -0,0 +1,53 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { DictDataForm, DictDataQuery, DictDataVO } from './types';
+// 根据字典类型查询字典数据信息
+export function getDicts(dictType: string): AxiosPromise {
+ return request({
+ url: '/system/dict/data/type/' + dictType,
+ method: 'get'
+ });
+}
+
+// 查询字典数据列表
+export function listData(query: DictDataQuery): AxiosPromise {
+ return request({
+ url: '/system/dict/data/list',
+ method: 'get',
+ params: query
+ });
+}
+
+// 查询字典数据详细
+export function getData(dictCode: string | number): AxiosPromise {
+ return request({
+ url: '/system/dict/data/' + dictCode,
+ method: 'get'
+ });
+}
+
+// 新增字典数据
+export function addData(data: DictDataForm) {
+ return request({
+ url: '/system/dict/data',
+ method: 'post',
+ data: data
+ });
+}
+
+// 修改字典数据
+export function updateData(data: DictDataForm) {
+ return request({
+ url: '/system/dict/data',
+ method: 'put',
+ data: data
+ });
+}
+
+// 删除字典数据
+export function delData(dictCode: string | number | Array) {
+ return request({
+ url: '/system/dict/data/' + dictCode,
+ method: 'delete'
+ });
+}
diff --git a/src/api/system/dict/data/types.ts b/src/api/system/dict/data/types.ts
new file mode 100644
index 0000000..e4abb9b
--- /dev/null
+++ b/src/api/system/dict/data/types.ts
@@ -0,0 +1,26 @@
+export interface DictDataQuery extends PageQuery {
+ dictName: string;
+ dictType: string;
+ dictLabel: string;
+}
+
+export interface DictDataVO extends BaseEntity {
+ dictCode: string;
+ dictLabel: string;
+ dictValue: string;
+ cssClass: string;
+ listClass: ElTagType;
+ dictSort: number;
+ remark: string;
+}
+
+export interface DictDataForm {
+ dictType?: string;
+ dictCode: string | undefined;
+ dictLabel: string;
+ dictValue: string;
+ cssClass: string;
+ listClass: ElTagType;
+ dictSort: number;
+ remark: string;
+}
diff --git a/src/api/system/dict/type/index.ts b/src/api/system/dict/type/index.ts
new file mode 100644
index 0000000..7dc3d66
--- /dev/null
+++ b/src/api/system/dict/type/index.ts
@@ -0,0 +1,62 @@
+import request from '@/utils/request';
+import { DictTypeForm, DictTypeVO, DictTypeQuery } from './types';
+import { AxiosPromise } from 'axios';
+
+// 查询字典类型列表
+export function listType(query: DictTypeQuery): AxiosPromise {
+ return request({
+ url: '/system/dict/type/list',
+ method: 'get',
+ params: query
+ });
+}
+
+// 查询字典类型详细
+export function getType(dictId: number | string): AxiosPromise {
+ return request({
+ url: '/system/dict/type/' + dictId,
+ method: 'get'
+ });
+}
+
+// 新增字典类型
+export function addType(data: DictTypeForm) {
+ return request({
+ url: '/system/dict/type',
+ method: 'post',
+ data: data
+ });
+}
+
+// 修改字典类型
+export function updateType(data: DictTypeForm) {
+ return request({
+ url: '/system/dict/type',
+ method: 'put',
+ data: data
+ });
+}
+
+// 删除字典类型
+export function delType(dictId: string | number | Array) {
+ return request({
+ url: '/system/dict/type/' + dictId,
+ method: 'delete'
+ });
+}
+
+// 刷新字典缓存
+export function refreshCache() {
+ return request({
+ url: '/system/dict/type/refreshCache',
+ method: 'delete'
+ });
+}
+
+// 获取字典选择框列表
+export function optionselect(): AxiosPromise {
+ return request({
+ url: '/system/dict/type/optionselect',
+ method: 'get'
+ });
+}
diff --git a/src/api/system/dict/type/types.ts b/src/api/system/dict/type/types.ts
new file mode 100644
index 0000000..4987dbf
--- /dev/null
+++ b/src/api/system/dict/type/types.ts
@@ -0,0 +1,18 @@
+export interface DictTypeVO extends BaseEntity {
+ dictId: number | string;
+ dictName: string;
+ dictType: string;
+ remark: string;
+}
+
+export interface DictTypeForm {
+ dictId: number | string | undefined;
+ dictName: string;
+ dictType: string;
+ remark: string;
+}
+
+export interface DictTypeQuery extends PageQuery {
+ dictName: string;
+ dictType: string;
+}
diff --git a/src/api/system/menu/index.ts b/src/api/system/menu/index.ts
new file mode 100644
index 0000000..c9fb2b8
--- /dev/null
+++ b/src/api/system/menu/index.ts
@@ -0,0 +1,74 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { MenuQuery, MenuVO, MenuForm, MenuTreeOption, RoleMenuTree } from './types';
+import { createCancelTask } from '@/utils/ruoyi';
+// 查询菜单列表
+export const listMenu = (query?: MenuQuery): AxiosPromise => {
+ return request({
+ url: '/system/menu/list',
+ method: 'get',
+ params: query
+ });
+};
+
+// 查询菜单详细
+export const getMenu = (menuId: string | number): AxiosPromise => {
+ return request({
+ url: '/system/menu/' + menuId,
+ method: 'get'
+ });
+};
+
+// 查询菜单下拉树结构
+export const treeselect = createCancelTask((params: any): AxiosPromise => {
+ return request({
+ url: '/system/menu/treeselect',
+ method: 'get',
+ params
+ });
+});
+
+// 根据角色ID查询菜单下拉树结构
+export const roleMenuTreeselect = (roleId: string | number,params?: any): AxiosPromise => {
+ return request({
+ url: '/system/menu/roleMenuTreeselect/' + roleId,
+ method: 'get',
+ params
+ });
+};
+
+// 根据角色ID查询菜单下拉树结构
+export const tenantPackageMenuTreeselect = (
+ packageId: string | number
+): AxiosPromise => {
+ return request({
+ url: '/system/menu/tenantPackageMenuTreeselect/' + packageId,
+ method: 'get'
+ });
+};
+
+// 新增菜单
+export const addMenu = (data: MenuForm) => {
+ return request({
+ url: '/system/menu',
+ method: 'post',
+ data: data
+ });
+};
+
+// 修改菜单
+export const updateMenu = (data: MenuForm) => {
+ return request({
+ url: '/system/menu',
+ method: 'put',
+ data: data
+ });
+};
+
+// 删除菜单
+export const delMenu = (menuId: string | number) => {
+ return request({
+ url: '/system/menu/' + menuId,
+ method: 'delete'
+ });
+};
diff --git a/src/api/system/menu/types.ts b/src/api/system/menu/types.ts
new file mode 100644
index 0000000..1c451d2
--- /dev/null
+++ b/src/api/system/menu/types.ts
@@ -0,0 +1,70 @@
+import { MenuTypeEnum } from '@/enums/MenuTypeEnum';
+
+/**
+ * 菜单树形结构类型
+ */
+export interface MenuTreeOption {
+ id: string | number;
+ label: string;
+ parentId: string | number;
+ weight: number;
+ children?: MenuTreeOption[];
+}
+
+export interface RoleMenuTree {
+ menus: MenuTreeOption[];
+ checkedKeys: string[];
+}
+
+/**
+ * 菜单查询参数类型
+ */
+export interface MenuQuery {
+ keywords?: string;
+ menuName?: string;
+ status?: string;
+}
+
+/**
+ * 菜单视图对象类型
+ */
+export interface MenuVO extends BaseEntity {
+ parentName: string;
+ parentId: string | number;
+ children: MenuVO[];
+ menuId: string | number;
+ menuName: string;
+ orderNum: number;
+ path: string;
+ component: string;
+ queryParam: string;
+ isFrame: string;
+ isCache: string;
+ menuType: MenuTypeEnum;
+ visible: string;
+ status: string;
+ icon: string;
+ remark: string;
+}
+
+export interface MenuForm {
+ parentName?: string;
+ parentId?: string | number;
+ children?: MenuForm[];
+ menuId?: string | number;
+ menuName: string;
+ orderNum: number;
+ menuUse: string;
+ path: string;
+ component?: string;
+ queryParam?: string;
+ isFrame?: string;
+ isCache?: string;
+ menuType?: MenuTypeEnum;
+ visible?: string;
+ status?: string;
+ icon?: string;
+ remark?: string;
+ query?: string;
+ perms?: string;
+}
diff --git a/src/api/system/notice/index.ts b/src/api/system/notice/index.ts
new file mode 100644
index 0000000..285d1f4
--- /dev/null
+++ b/src/api/system/notice/index.ts
@@ -0,0 +1,45 @@
+import request from '@/utils/request';
+import { NoticeForm, NoticeQuery, NoticeVO } from './types';
+import { AxiosPromise } from 'axios';
+// 查询公告列表
+export function listNotice(query: NoticeQuery): AxiosPromise {
+ return request({
+ url: '/system/notice/list',
+ method: 'get',
+ params: query
+ });
+}
+
+// 查询公告详细
+export function getNotice(noticeId: string | number): AxiosPromise {
+ return request({
+ url: '/system/notice/' + noticeId,
+ method: 'get'
+ });
+}
+
+// 新增公告
+export function addNotice(data: NoticeForm) {
+ return request({
+ url: '/system/notice',
+ method: 'post',
+ data: data
+ });
+}
+
+// 修改公告
+export function updateNotice(data: NoticeForm) {
+ return request({
+ url: '/system/notice',
+ method: 'put',
+ data: data
+ });
+}
+
+// 删除公告
+export function delNotice(noticeId: string | number | Array) {
+ return request({
+ url: '/system/notice/' + noticeId,
+ method: 'delete'
+ });
+}
diff --git a/src/api/system/notice/types.ts b/src/api/system/notice/types.ts
new file mode 100644
index 0000000..db3d0af
--- /dev/null
+++ b/src/api/system/notice/types.ts
@@ -0,0 +1,32 @@
+export interface NoticeVO extends BaseEntity {
+ noticeId: number;
+ noticeTitle: string;
+ noticeType: string;
+ noticeContent: string;
+ status: string;
+ remark: string;
+ createByName: string;
+}
+
+export interface NoticeQuery extends PageQuery {
+ noticeTitle: string;
+ createByName: string;
+ status: string;
+ noticeType: string;
+}
+
+export interface NoticeForm {
+ noticeId: number | string | undefined;
+ noticeTitle: string;
+ noticeType: string;
+ noticeContent: string;
+ status: string;
+ remark: string;
+ createByName: string;
+ planPublishType: number;
+ publishTime: string;
+ wechatMiniProgram:number;
+ managePlatform:number;
+ // customerView:number;
+ // businessView:number;
+}
diff --git a/src/api/system/order/index.ts b/src/api/system/order/index.ts
new file mode 100644
index 0000000..80ad1e3
--- /dev/null
+++ b/src/api/system/order/index.ts
@@ -0,0 +1,360 @@
+import { refundRecord } from './../AfterOrder/index';
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { CouponVO, CouponForm, CouponQuery } from './types';
+import { QuillEditor } from '@vueup/vue-quill';
+
+/**
+ * 查询订单管理列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listOrder = (query?: any): AxiosPromise => {
+ return request({
+ url: '/system/order/list',
+ method: 'get',
+ params: query
+ });
+};
+
+/**
+ * 查询卡券管理详细
+ * @param id
+ */
+export const getCoupon = (id: string | number): AxiosPromise => {
+ return request({
+ url: '/coupon/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 新增卡券管理
+ * @param data
+ */
+export const addCoupon = (data: CouponForm) => {
+ return request({
+ url: '/coupon',
+ method: 'post',
+ data: data
+ });
+};
+
+/**
+ * 修改卡券管理
+ * @param data
+ */
+export const updateCoupon = (data: CouponForm) => {
+ return request({
+ url: '/coupon',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 删除卡券管理
+ * @param id
+ */
+export const delCoupon = (id: string | number | Array) => {
+ return request({
+ url: '/system/coupon/' + id,
+ method: 'delete'
+ });
+};
+
+/**
+ *
+ * @param data 卡券 生效失效
+ * @returns
+ */
+export const updatePublish = (data: CouponForm) => {
+ return request({
+ url: '/coupon/unPublish',
+ method: 'put',
+ data: data
+ });
+};
+/**
+ * 关联商品
+ * @param data
+ * @returns
+ */
+export const relationCommoditySpu = (data: CouponForm) => {
+ return request({
+ url: '/coupon/relationCommoditySpu',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 门店发货select的options
+ */
+export const getOrderQuerySelectionsAPI = () => {
+ return request({
+ url: '/system/order/orderQuerySelections',
+ method: 'get'
+ });
+};
+
+/**
+ * 修改价格
+ * @param data
+ */
+export const updatePrice = (data: CouponForm) => {
+ return request({
+ url: '/system/order/editPrice',
+ method: 'put',
+ data: data
+ });
+};
+
+/**
+ * 同城配送-查看批量发货记录
+ * @returns
+ */
+export const getOrderDeliveryBatchListAPI = (query) => {
+ return request({
+ url: '/system/orderDeliveryBatch/list',
+ method: 'get',
+ params:query
+ });
+};
+
+/**
+ * 同城配送-查询批量发货任务详情列表
+ * @returns
+ */
+export const getOrderDeliveryBatchDetailListAPI = (data) => {
+ return request({
+ url: '/system/orderDeliveryBatchDetail/list',
+ method: 'get',
+ params: data
+ });
+};
+
+/**
+ * 同城配送
+ * @param data
+ */
+export const sendOrderForSameCityAPI = (data) => {
+ return request({
+ url: '/system/order/delivery/sendOrderForSameCity',
+ method: 'post',
+ data
+ });
+};
+
+/**
+ * 订单评价-查询订单商品评价列表
+ * @returns
+ */
+export const getOrderCommentListAPI = (data) => {
+ return request({
+ url: '/system/orderComment/list',
+ method: 'get',
+ params: data
+ });
+};
+/**
+ * 订单添加备注
+ * @param orderId
+ * @param remark
+ * @returns
+ */
+export const orderEditRemark = (orderId: string | number, remark: string) => {
+ return request({
+ url: '/system/order/editRemark',
+ method: 'post',
+ params: { orderId: orderId, remark: remark }
+ });
+};
+// 根据订单id,获取详情信息
+export const orderDetailById = (id: string) => {
+ return request({
+ url: '/system/order/' + id,
+ method: 'get'
+ });
+};
+// 取消订单
+export const orderCancel = (id: string, reason: string) => {
+ return request({
+ url: '/system/order/cancel',
+ method: 'post',
+ params: { orderId: id, reason: reason }
+ });
+};
+
+/**
+ * 修改订单的收货信息
+ * @param query
+ * @returns
+ */
+export const editReceiveAddress = (query: any) => {
+ return request({
+ url: '/system/order/editReceiveAddress',
+ method: 'post',
+ params: query
+ });
+};
+
+// 订单 退货申请 整单退货,单个商品退货
+export const orderReturnApply = (query: any) => {
+ return request({
+ url: '/system/orderReturnApply/add',
+ method: 'post',
+ data: query
+ });
+};
+// 订单发货 同城配送
+export const sendOrderForSameCity = (query: any) => {
+ return request({
+ url: '/system/order/delivery/sendOrderForSameCity',
+ method: 'post',
+ data: query
+ });
+};
+// 订单 物流发货
+export const sendOrderForExpress = (query: any) => {
+ return request({
+ url: '/system/order/delivery/sendOrderForExpress',
+ method: 'post',
+ data: query
+ });
+};
+// 订单 核销
+export const checkSelfGet = (query: any) => {
+ return request({
+ url: '/system/order/delivery/checkSelfGet',
+ method: 'post',
+ params: query
+ });
+};
+// 订单退货记录
+export const orderReturnApplyList = (query: any) => {
+ return request({
+ url: '/system/orderReturnApply/list',
+ method: 'get',
+ params: query
+ });
+};
+// 订单 新增订单
+export const orderAdd = (query: any) => {
+ return request({
+ url: '/system/order/add',
+ method: 'post',
+ data: query
+ });
+};
+// 订单加星 修改加星等级
+export const editStar = (query: any) => {
+ return request({
+ url: '/system/order/editStar',
+ method: 'post',
+ params: query
+ });
+};
+
+// 订单 评论置顶
+export const orderCommentTop = (id: string, top: boolean) => {
+ return request({
+ url: '/system/orderComment/top',
+ method: 'post',
+ params: {
+ commentId: id,
+ top: top
+ }
+ });
+};
+// 订单 评论删除
+export const orderCommentDelete = (ids: string) => {
+ return request({
+ url: '/system/orderComment/' + ids,
+ method: 'delete'
+ });
+};
+// 订单 评论加精
+export const orderCommentBest = (id: string, best: boolean) => {
+ return request({
+ url: '/system/orderComment/best',
+ method: 'post',
+ params: {
+ commentId: id,
+ best: best
+ }
+ });
+};
+// 订单 评论回复
+export const orderCommentReply = (data: CouponVO) => {
+ return request({
+ url: '/system/orderCommentReplay/add',
+ method: 'post',
+ data: data
+ });
+};
+
+// 计算订单金额
+export const calcOrderAmount = (query: any) => {
+ return request({
+ url: '/system/order/calcOrderAmount',
+ method: 'post',
+ data: query
+ });
+};
+
+// 订单 查询同城配送信息
+export const deliveryInfoForSameCity = (query: any) => {
+ return request({
+ url: '/system/order/delivery/deliveryInfoForSameCity',
+ method: 'get',
+ params: query
+ });
+};
+// 获取导购列表
+export const getShopUser = (query: any) => {
+ return request({
+ url: '/system/order/getShopUsers',
+ method: 'post',
+ params: query
+ // data: query
+ });
+};
+// 获取输入手机号会员账户余额
+export const getUserAccountAmount = (query: any) => {
+ return request({
+ url: '/system/order/getUserAccountAmount',
+ method: 'post',
+ params: query
+ // data: query
+ });
+};
+//批量核销
+export const getUserWriteoff = (query: any) => {
+ return request({
+ url: '/system/order/delivery/selfGetBatch',
+ method: 'post',
+ params: query
+ // data: query
+ });
+};
+//退款记录
+export const getRefundRecord = (orderItemId: string) => {
+ return request({
+ url: '/system/orderReturnApply/returnCommodities/' + orderItemId,
+ method: 'get',
+ // params: query
+ });
+};
+//标记收款
+export const addCardMark = (query: any) => {
+ return request({
+ url: '/system/order/editCertificate',
+ method: 'post',
+ // data: query
+ params: query
+ });
+}
+
+
diff --git a/src/api/system/order/types.ts b/src/api/system/order/types.ts
new file mode 100644
index 0000000..3449c29
--- /dev/null
+++ b/src/api/system/order/types.ts
@@ -0,0 +1,306 @@
+export interface CouponVO {
+ /**
+ * ID
+ */
+ id: string | number;
+ commoditySpuIdList: string[];
+ /**
+ * 卡券名称
+ */
+ name: string;
+
+ /**
+ * 渠道 0-抖音 1-美团 2-快手 3-小红书
+ */
+ channel: number;
+
+ /**
+ * 卡券类型 0-商品券 1-代金券
+ */
+ couponType: number;
+
+ /**
+ * 卡券状态 0-销售中 1-失效
+ */
+ couponStatus: number;
+
+ /**
+ * 第三方卡券ID
+ */
+ thirdPartyId: string | number;
+
+ /**
+ * 原价
+ */
+ originPrice: number;
+
+ /**
+ * 开始日期
+ */
+ startDate: string;
+
+ /**
+ * 结束日期
+ */
+ endDate: string;
+
+ /**
+ * 购买后立即生效 0-未生效 1-生效
+ */
+ takeEffect: number;
+
+ /**
+ * 有效期天数
+ */
+ effectDays: number;
+
+ /**
+ * 使用时段 0-全天可用 1-指定时间可用
+ */
+ period: number;
+
+ /**
+ * 指定时段开始时间
+ */
+ startTime: string;
+
+ /**
+ * 指定时段结束时间
+ */
+ endTime: string;
+
+ /**
+ * 适用店铺 0-全部店铺可用 1-仅指定店铺可用
+ */
+ effectShop: number;
+
+ /**
+ * 同步打标签 0-未同步 1-同步
+ */
+ synchronousLabel: number;
+
+ /**
+ * 团购券外卖 0-不支持 1-支持
+ */
+ takeAway: number;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory: number;
+
+ /**
+ * 适用商品 0-全部商品参加 1-指定商品参加 2-指定商品不参加
+ */
+ effectCommodity: number;
+}
+
+export interface CouponForm extends BaseEntity {
+ /**
+ * ID
+ */
+ id?: string | number;
+ useDateGroup?: string[];
+ sellDateGroup?: string[];
+ shopIdList?: string[];
+ commoditySpuIdList?: string[]; //关联商品
+ /**
+ * 卡券名称
+ */
+ name?: string;
+
+ /**
+ * 渠道 0-抖音 1-美团 2-快手 3-小红书
+ */
+ channel?: number;
+
+ /**
+ * 卡券类型 0-商品券 1-代金券
+ */
+ couponType?: number;
+
+ /**
+ * 卡券状态 0-销售中 1-失效
+ */
+ couponStatus?: number;
+
+ /**
+ * 第三方卡券ID
+ */
+ thirdPartyId?: string | number;
+
+ /**
+ * 原价
+ */
+ originPrice?: number;
+
+ /**
+ * 开始日期
+ */
+ startDate?: string;
+
+ /**
+ * 结束日期
+ */
+ endDate?: string;
+
+ /**
+ * 购买后立即生效 0-未生效 1-生效
+ */
+ takeEffect?: number | string;
+
+ /**
+ * 有效期天数
+ */
+ effectDays?: number;
+
+ /**
+ * 使用时段 0-全天可用 1-指定时间可用
+ */
+ period?: number;
+
+ /**
+ * 指定时段开始时间
+ */
+ startTime?: string;
+
+ /**
+ * 指定时段结束时间
+ */
+ endTime?: string;
+
+ /**
+ * 适用店铺 0-全部店铺可用 1-仅指定店铺可用
+ */
+ effectShop?: number;
+
+ /**
+ * 同步打标签 0-未同步 1-同步
+ */
+ synchronousLabel?: number | number[];
+
+ /**
+ * 团购券外卖 0-不支持 1-支持
+ */
+ takeAway?: number;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory?: number;
+
+ /**
+ * 适用商品 0-全部商品参加 1-指定商品参加 2-指定商品不参加
+ */
+ effectCommodity?: number;
+}
+
+export interface CouponQuery extends PageQuery {
+ /**
+ * 卡券名称
+ */
+ name?: string;
+ relationStatus?: number | string;
+ createStartTime: any;
+ createEndTime: any;
+ commodityName: any;
+ salesChannel: any;
+ orderType: any;
+ status: any;
+ shopType: any;
+ star: any;
+ deliveryType: any;
+ sourceType: any;
+ orderSn: any;
+ salerName: any;
+ /**
+ * 渠道 0-抖音 1-美团 2-快手 3-小红书
+ */
+ channel?: number;
+ useDateGroup?: string[];
+
+ /**
+ * 卡券类型 0-商品券 1-代金券
+ */
+ couponType?: number;
+
+ /**
+ * 卡券状态 0-销售中 1-失效
+ */
+ couponStatus?: number;
+
+ /**
+ * 第三方卡券ID
+ */
+ thirdPartyId?: string | number;
+
+ /**
+ * 原价
+ */
+ originPrice?: number;
+
+ /**
+ * 开始日期
+ */
+ startDate?: string;
+
+ /**
+ * 结束日期
+ */
+ endDate?: string;
+
+ /**
+ * 购买后立即生效 0-未生效 1-生效
+ */
+ takeEffect?: number;
+
+ /**
+ * 有效期天数
+ */
+ effectDays?: number;
+
+ /**
+ * 使用时段 0-全天可用 1-指定时间可用
+ */
+ period?: number;
+
+ /**
+ * 指定时段开始时间
+ */
+ startTime?: string;
+
+ /**
+ * 指定时段结束时间
+ */
+ endTime?: string;
+
+ /**
+ * 适用店铺 0-全部店铺可用 1-仅指定店铺可用
+ */
+ effectShop?: number;
+
+ /**
+ * 同步打标签 0-未同步 1-同步
+ */
+ synchronousLabel?: number;
+
+ /**
+ * 团购券外卖 0-不支持 1-支持
+ */
+ takeAway?: number;
+
+ /**
+ * 店铺类目
+ */
+ shopCategory?: number;
+
+ /**
+ * 适用商品 0-全部商品参加 1-指定商品参加 2-指定商品不参加
+ */
+ effectCommodity?: number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/src/api/system/organizationType/index.ts b/src/api/system/organizationType/index.ts
new file mode 100644
index 0000000..0c4e581
--- /dev/null
+++ b/src/api/system/organizationType/index.ts
@@ -0,0 +1,63 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { OrganizationTypeVO, OrganizationTypeForm, OrganizationTypeQuery } from '@/api/system/organizationType/types';
+
+/**
+ * 查询组织类型列表
+ * @param query
+ * @returns {*}
+ */
+
+export const listOrganizationType = (query?: OrganizationTypeQuery): AxiosPromise