Compare commits
2 Commits
dev-cjl
...
028883975d
| Author | SHA1 | Date | |
|---|---|---|---|
| 028883975d | |||
| acc59c3a9e |
5
.env
5
.env
@@ -1,9 +1,6 @@
|
|||||||
# 标题
|
# 标题
|
||||||
VITE_APP_TITLE=CRM管理系统
|
VITE_APP_TITLE=CRM管理系统
|
||||||
|
|
||||||
# 开发环境
|
|
||||||
VITE_NODE_ENV=development
|
|
||||||
|
|
||||||
# 项目本地运行端口号
|
# 项目本地运行端口号
|
||||||
VITE_PORT=80
|
VITE_PORT=80
|
||||||
|
|
||||||
@@ -11,7 +8,7 @@ VITE_PORT=80
|
|||||||
VITE_OPEN=true
|
VITE_OPEN=true
|
||||||
|
|
||||||
# 租户开关
|
# 租户开关
|
||||||
VITE_APP_TENANT_ENABLE=false
|
VITE_APP_TENANT_ENABLE=true
|
||||||
|
|
||||||
# 验证码的开关
|
# 验证码的开关
|
||||||
VITE_APP_CAPTCHA_ENABLE=true
|
VITE_APP_CAPTCHA_ENABLE=true
|
||||||
|
|||||||
13
.env.base
13
.env.base
@@ -1,21 +1,20 @@
|
|||||||
# 本地开发环境
|
# 本地开发环境
|
||||||
VITE_NODE_ENV=development
|
NODE_ENV=development
|
||||||
|
|
||||||
VITE_DEV=true
|
VITE_DEV=true
|
||||||
|
|
||||||
# 请求路径
|
# 请求路径
|
||||||
VITE_BASE_URL='http://118.31.23.45:48080'
|
#VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
|
||||||
# VITE_BASE_URL='http://114.55.169.15:48080'
|
VITE_BASE_URL='http://localhost:48080'
|
||||||
|
|
||||||
# 上传路径
|
# 上传路径
|
||||||
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
|
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
||||||
# VITE_UPLOAD_URL='http://114.55.169.15:48080/admin-api/system/file/upload'
|
|
||||||
|
|
||||||
# 接口前缀
|
# 接口前缀
|
||||||
VITE_API_BASEPATH=/crm-api
|
VITE_API_BASEPATH=/dev-api
|
||||||
|
|
||||||
# 接口地址
|
# 接口地址
|
||||||
VITE_API_URL=/admin-api
|
VITE_API_URL=/admin-api
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/crm/
|
VITE_BASE_PATH=/
|
||||||
|
|||||||
8
.env.dev
8
.env.dev
@@ -1,5 +1,5 @@
|
|||||||
# 开发环境
|
# 开发环境
|
||||||
VITE_NODE_ENV=production
|
NODE_ENV=production
|
||||||
|
|
||||||
VITE_DEV=false
|
VITE_DEV=false
|
||||||
|
|
||||||
@@ -7,16 +7,16 @@ VITE_DEV=false
|
|||||||
VITE_BASE_URL='http://localhost:48080'
|
VITE_BASE_URL='http://localhost:48080'
|
||||||
|
|
||||||
# 上传路径
|
# 上传路径
|
||||||
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
|
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
||||||
|
|
||||||
# 接口前缀
|
# 接口前缀
|
||||||
VITE_API_BASEPATH=/crm-api
|
VITE_API_BASEPATH=/dev-api
|
||||||
|
|
||||||
# 接口地址
|
# 接口地址
|
||||||
VITE_API_URL=/admin-api
|
VITE_API_URL=/admin-api
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/crm/
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
# 是否删除debugger
|
# 是否删除debugger
|
||||||
VITE_DROP_DEBUGGER=false
|
VITE_DROP_DEBUGGER=false
|
||||||
|
|||||||
10
.env.front
10
.env.front
@@ -1,22 +1,22 @@
|
|||||||
# 本地开发环境
|
# 本地开发环境
|
||||||
VITE_NODE_ENV=development
|
NODE_ENV=development
|
||||||
|
|
||||||
VITE_DEV=true
|
VITE_DEV=true
|
||||||
|
|
||||||
# 请求路径
|
# 请求路径
|
||||||
VITE_BASE_URL='http://118.31.23.45:48080'
|
VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
|
||||||
|
|
||||||
# 上传路径
|
# 上传路径
|
||||||
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
|
VITE_UPLOAD_URL='http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload'
|
||||||
|
|
||||||
# 接口前缀
|
# 接口前缀
|
||||||
VITE_API_BASEPATH=/crm-api
|
VITE_API_BASEPATH=/dev-api
|
||||||
|
|
||||||
# 接口地址
|
# 接口地址
|
||||||
VITE_API_URL=/admin-api
|
VITE_API_URL=/admin-api
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/crm/
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
# 项目本地运行端口号, 与.vscode/launch.json配合
|
# 项目本地运行端口号, 与.vscode/launch.json配合
|
||||||
VITE_PORT=80
|
VITE_PORT=80
|
||||||
|
|||||||
10
.env.pro
10
.env.pro
@@ -1,16 +1,16 @@
|
|||||||
# 生产环境
|
# 生产环境
|
||||||
VITE_NODE_ENV=production
|
NODE_ENV=production
|
||||||
|
|
||||||
VITE_DEV=false
|
VITE_DEV=false
|
||||||
|
|
||||||
# 请求路径
|
# 请求路径
|
||||||
VITE_BASE_URL='/crm-api'
|
VITE_BASE_URL='http://localhost:48080'
|
||||||
|
|
||||||
# 上传路径
|
# 上传路径
|
||||||
VITE_UPLOAD_URL='/crm-api/admin-api/system/file/upload'
|
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
||||||
|
|
||||||
# 接口前缀
|
# 接口前缀
|
||||||
VITE_API_BASEPATH=/crm-api
|
VITE_API_BASEPATH=
|
||||||
|
|
||||||
# 接口地址
|
# 接口地址
|
||||||
VITE_API_URL=/admin-api
|
VITE_API_URL=/admin-api
|
||||||
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=true
|
|||||||
VITE_SOURCEMAP=false
|
VITE_SOURCEMAP=false
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/crm/
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
# 输出路径
|
# 输出路径
|
||||||
VITE_OUT_DIR=dist-pro
|
VITE_OUT_DIR=dist-pro
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# 生产环境
|
# 生产环境
|
||||||
VITE_NODE_ENV=production
|
NODE_ENV=production
|
||||||
|
|
||||||
VITE_DEV=false
|
VITE_DEV=false
|
||||||
|
|
||||||
@@ -7,10 +7,10 @@ VITE_DEV=false
|
|||||||
VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
|
VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
|
||||||
|
|
||||||
# 上传路径
|
# 上传路径
|
||||||
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
|
VITE_UPLOAD_URL='http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload'
|
||||||
|
|
||||||
# 接口前缀
|
# 接口前缀
|
||||||
VITE_API_BASEPATH=/crm-api
|
VITE_API_BASEPATH=
|
||||||
|
|
||||||
# 接口地址
|
# 接口地址
|
||||||
VITE_API_URL=/admin-api
|
VITE_API_URL=/admin-api
|
||||||
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=true
|
|||||||
VITE_SOURCEMAP=false
|
VITE_SOURCEMAP=false
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH='/crm'
|
VITE_BASE_PATH='http://static-vue3.yudao.iocoder.cn/'
|
||||||
|
|
||||||
# 输出路径
|
# 输出路径
|
||||||
VITE_OUT_DIR=dist-stage
|
VITE_OUT_DIR=dist-stage
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# 开发环境
|
# 开发环境
|
||||||
VITE_NODE_ENV=production
|
NODE_ENV=production
|
||||||
|
|
||||||
VITE_DEV=false
|
VITE_DEV=false
|
||||||
|
|
||||||
@@ -7,10 +7,10 @@ VITE_DEV=false
|
|||||||
VITE_BASE_URL='http://localhost:48080'
|
VITE_BASE_URL='http://localhost:48080'
|
||||||
|
|
||||||
# 上传路径
|
# 上传路径
|
||||||
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
|
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
||||||
|
|
||||||
# 接口前缀
|
# 接口前缀
|
||||||
VITE_API_BASEPATH=/crm-api
|
VITE_API_BASEPATH=
|
||||||
|
|
||||||
# 接口地址
|
# 接口地址
|
||||||
VITE_API_URL=/admin-api
|
VITE_API_URL=/admin-api
|
||||||
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=true
|
|||||||
VITE_SOURCEMAP=false
|
VITE_SOURCEMAP=false
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/crm/
|
VITE_BASE_PATH=/admin-ui-vue3/
|
||||||
|
|
||||||
# 输出路径
|
# 输出路径
|
||||||
VITE_OUT_DIR=dist-dev
|
VITE_OUT_DIR=dist-dev
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# 测试环境
|
# 测试环境
|
||||||
VITE_NODE_ENV=production
|
NODE_ENV=production
|
||||||
|
|
||||||
VITE_DEV=false
|
VITE_DEV=false
|
||||||
|
|
||||||
@@ -7,10 +7,10 @@ VITE_DEV=false
|
|||||||
VITE_BASE_URL='http://localhost:48080'
|
VITE_BASE_URL='http://localhost:48080'
|
||||||
|
|
||||||
# 上传路径
|
# 上传路径
|
||||||
VITE_UPLOAD_URL='http://118.31.23.45:48080/admin-api/system/file/upload'
|
VITE_UPLOAD_URL='http://localhost:48080/admin-api/infra/file/upload'
|
||||||
|
|
||||||
# 接口前缀
|
# 接口前缀
|
||||||
VITE_API_BASEPATH=/crm-api
|
VITE_API_BASEPATH=
|
||||||
|
|
||||||
# 接口地址
|
# 接口地址
|
||||||
VITE_API_URL=/admin-api
|
VITE_API_URL=/admin-api
|
||||||
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=false
|
|||||||
VITE_SOURCEMAP=true
|
VITE_SOURCEMAP=true
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/crm/
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
# 输出路径
|
# 输出路径
|
||||||
VITE_OUT_DIR=dist-test
|
VITE_OUT_DIR=dist-test
|
||||||
|
|||||||
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@@ -14,7 +14,7 @@
|
|||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
},
|
},
|
||||||
"[typescript]": {
|
"[typescript]": {
|
||||||
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
},
|
},
|
||||||
"[json]": {
|
"[json]": {
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
|||||||
@@ -141,7 +141,7 @@
|
|||||||
<script type="module" src="/src/main.js"></script>
|
<script type="module" src="/src/main.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
window._AMapSecurityConfig = {
|
window._AMapSecurityConfig = {
|
||||||
securityJsCode: 'f653df5a2c5f44ae68faaab6f6a6b8ab' // 你的密钥
|
securityJsCode: 'a2f0d14a4c5c1e387f9271b1045a781d' // 你的密钥
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
18
package.json
18
package.json
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "ss-crm-manage",
|
"name": "yudao-ui-admin-vue3",
|
||||||
"version": "1.0.0",
|
"version": "1.7.3-snapshot",
|
||||||
"description": "莳松crm管理系统",
|
"description": "基于vue3、vite4、element-plus、typesScript",
|
||||||
"author": "ss",
|
"author": "xingyu",
|
||||||
"private": false,
|
"private": false,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"i": "pnpm install",
|
"i": "pnpm install",
|
||||||
@@ -137,5 +137,13 @@
|
|||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16.0.0"
|
"node": ">=16.0.0"
|
||||||
},
|
},
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://gitee.com/yudaocode/yudao-ui-admin-vue3"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://gitee.com/yudaocode/yudao-ui-admin-vue3"
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 4.2 KiB |
@@ -2,19 +2,19 @@
|
|||||||
import { isDark } from '@/utils/is'
|
import { isDark } from '@/utils/is'
|
||||||
import { useAppStore } from '@/store/modules/app'
|
import { useAppStore } from '@/store/modules/app'
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
import { CACHE_KEY } from '@/hooks/web/useCache'
|
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
|
||||||
import routerSearch from '@/components/RouterSearch/index.vue'
|
import routerSearch from '@/components/RouterSearch/index.vue'
|
||||||
import cache from '@/plugins/cache'
|
|
||||||
|
|
||||||
const { getPrefixCls } = useDesign()
|
const { getPrefixCls } = useDesign()
|
||||||
const prefixCls = getPrefixCls('app')
|
const prefixCls = getPrefixCls('app')
|
||||||
const appStore = useAppStore()
|
const appStore = useAppStore()
|
||||||
const currentSize = computed(() => appStore.getCurrentSize)
|
const currentSize = computed(() => appStore.getCurrentSize)
|
||||||
const greyMode = computed(() => appStore.getGreyMode)
|
const greyMode = computed(() => appStore.getGreyMode)
|
||||||
|
const { wsCache } = useCache()
|
||||||
|
|
||||||
// 根据浏览器当前主题设置系统主题色
|
// 根据浏览器当前主题设置系统主题色
|
||||||
const setDefaultTheme = () => {
|
const setDefaultTheme = () => {
|
||||||
let isDarkTheme = cache.local.get(CACHE_KEY.IS_DARK)
|
let isDarkTheme = wsCache.get(CACHE_KEY.IS_DARK)
|
||||||
if (isDarkTheme === null) {
|
if (isDarkTheme === null) {
|
||||||
isDarkTheme = isDark()
|
isDarkTheme = isDark()
|
||||||
}
|
}
|
||||||
|
|||||||
8
src/api/bpm/activity/index.ts
Normal file
8
src/api/bpm/activity/index.ts
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export const getActivityList = async (params) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/activity/list',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
21
src/api/bpm/definition/index.ts
Normal file
21
src/api/bpm/definition/index.ts
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export const getProcessDefinitionBpmnXML = async (id: number) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/process-definition/get-bpmn-xml?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessDefinitionPage = async (params) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/process-definition/page',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessDefinitionList = async (params) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/process-definition/list',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
56
src/api/bpm/form/index.ts
Normal file
56
src/api/bpm/form/index.ts
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type FormVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
conf: string
|
||||||
|
fields: string[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建工作流的表单定义
|
||||||
|
export const createForm = async (data: FormVO) => {
|
||||||
|
return await request.post({
|
||||||
|
url: '/bpm/form/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新工作流的表单定义
|
||||||
|
export const updateForm = async (data: FormVO) => {
|
||||||
|
return await request.put({
|
||||||
|
url: '/bpm/form/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除工作流的表单定义
|
||||||
|
export const deleteForm = async (id: number) => {
|
||||||
|
return await request.delete({
|
||||||
|
url: '/bpm/form/delete?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得工作流的表单定义
|
||||||
|
export const getForm = async (id: number) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/form/get?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得工作流的表单定义分页
|
||||||
|
export const getFormPage = async (params) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/form/page',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得动态表单的精简列表
|
||||||
|
export const getSimpleFormList = async () => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/form/list-all-simple'
|
||||||
|
})
|
||||||
|
}
|
||||||
27
src/api/bpm/leave/index.ts
Normal file
27
src/api/bpm/leave/index.ts
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type LeaveVO = {
|
||||||
|
id: number
|
||||||
|
result: number
|
||||||
|
type: number
|
||||||
|
reason: string
|
||||||
|
processInstanceId: string
|
||||||
|
startTime: string
|
||||||
|
endTime: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建请假申请
|
||||||
|
export const createLeave = async (data: LeaveVO) => {
|
||||||
|
return await request.post({ url: '/bpm/oa/leave/create', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得请假申请
|
||||||
|
export const getLeave = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/oa/leave/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得请假申请分页
|
||||||
|
export const getLeavePage = async (params: PageParam) => {
|
||||||
|
return await request.get({ url: '/bpm/oa/leave/page', params })
|
||||||
|
}
|
||||||
59
src/api/bpm/model/index.ts
Normal file
59
src/api/bpm/model/index.ts
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type ProcessDefinitionVO = {
|
||||||
|
id: string
|
||||||
|
version: number
|
||||||
|
deploymentTIme: string
|
||||||
|
suspensionState: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export type ModelVO = {
|
||||||
|
id: number
|
||||||
|
formName: string
|
||||||
|
key: string
|
||||||
|
name: string
|
||||||
|
description: string
|
||||||
|
category: string
|
||||||
|
formType: number
|
||||||
|
formId: number
|
||||||
|
formCustomCreatePath: string
|
||||||
|
formCustomViewPath: string
|
||||||
|
processDefinition: ProcessDefinitionVO
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: string
|
||||||
|
bpmnXml: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getModelPage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/model/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getModel = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/model/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateModel = async (data: ModelVO) => {
|
||||||
|
return await request.put({ url: '/bpm/model/update', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务状态修改
|
||||||
|
export const updateModelState = async (id: number, state: number) => {
|
||||||
|
const data = {
|
||||||
|
id: id,
|
||||||
|
state: state
|
||||||
|
}
|
||||||
|
return await request.put({ url: '/bpm/model/update-state', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const createModel = async (data: ModelVO) => {
|
||||||
|
return await request.post({ url: '/bpm/model/create', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const deleteModel = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/bpm/model/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const deployModel = async (id: number) => {
|
||||||
|
return await request.post({ url: '/bpm/model/deploy?id=' + id })
|
||||||
|
}
|
||||||
41
src/api/bpm/processInstance/index.ts
Normal file
41
src/api/bpm/processInstance/index.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type Task = {
|
||||||
|
id: string
|
||||||
|
name: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type ProcessInstanceVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
processDefinitionId: string
|
||||||
|
category: string
|
||||||
|
result: number
|
||||||
|
tasks: Task[]
|
||||||
|
fields: string[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
businessKey: string
|
||||||
|
createTime: string
|
||||||
|
endTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getMyProcessInstancePage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/process-instance/my-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const createProcessInstance = async (data) => {
|
||||||
|
return await request.post({ url: '/bpm/process-instance/create', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cancelProcessInstance = async (id: number, reason: string) => {
|
||||||
|
const data = {
|
||||||
|
id: id,
|
||||||
|
reason: reason
|
||||||
|
}
|
||||||
|
return await request.delete({ url: '/bpm/process-instance/cancel', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getProcessInstance = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
|
||||||
|
}
|
||||||
43
src/api/bpm/task/index.ts
Normal file
43
src/api/bpm/task/index.ts
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type TaskVO = {
|
||||||
|
id: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTodoTaskPage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/task/todo-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getDoneTaskPage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/task/done-page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const completeTask = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/complete', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const approveTask = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/approve', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const rejectTask = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/reject', data })
|
||||||
|
}
|
||||||
|
export const backTask = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/back', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateTaskAssignee = async (data) => {
|
||||||
|
return await request.put({ url: '/bpm/task/update-assignee', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTaskListByProcessInstanceId = async (processInstanceId) => {
|
||||||
|
return await request.get({
|
||||||
|
url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出任务
|
||||||
|
export const exportTask = async (params) => {
|
||||||
|
return await request.download({ url: '/bpm/task/export', params })
|
||||||
|
}
|
||||||
29
src/api/bpm/taskAssignRule/index.ts
Normal file
29
src/api/bpm/taskAssignRule/index.ts
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type TaskAssignVO = {
|
||||||
|
id: number
|
||||||
|
modelId: string
|
||||||
|
processDefinitionId: string
|
||||||
|
taskDefinitionKey: string
|
||||||
|
taskDefinitionName: string
|
||||||
|
options: string[]
|
||||||
|
type: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getTaskAssignRuleList = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/task-assign-rule/list', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const createTaskAssignRule = async (data: TaskAssignVO) => {
|
||||||
|
return await request.post({
|
||||||
|
url: '/bpm/task-assign-rule/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const updateTaskAssignRule = async (data: TaskAssignVO) => {
|
||||||
|
return await request.put({
|
||||||
|
url: '/bpm/task-assign-rule/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
47
src/api/bpm/userGroup/index.ts
Normal file
47
src/api/bpm/userGroup/index.ts
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type UserGroupVO = {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
description: string
|
||||||
|
memberUserIds: number[]
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建用户组
|
||||||
|
export const createUserGroup = async (data: UserGroupVO) => {
|
||||||
|
return await request.post({
|
||||||
|
url: '/bpm/user-group/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新用户组
|
||||||
|
export const updateUserGroup = async (data: UserGroupVO) => {
|
||||||
|
return await request.put({
|
||||||
|
url: '/bpm/user-group/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除用户组
|
||||||
|
export const deleteUserGroup = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得用户组
|
||||||
|
export const getUserGroup = async (id: number) => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得用户组分页
|
||||||
|
export const getUserGroupPage = async (params) => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取用户组精简信息列表
|
||||||
|
export const getSimpleUserGroupList = async (): Promise<UserGroupVO[]> => {
|
||||||
|
return await request.get({ url: '/bpm/user-group/list-all-simple' })
|
||||||
|
}
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询(精简)列表
|
|
||||||
export const getAfterSaleList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-after-sale/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询(精简)列表
|
|
||||||
export const getAfterSalePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-after-sale/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createAfterSale = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/sign-after-sale/create',
|
|
||||||
data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 审核
|
|
||||||
export const auditAfterSale = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-after-sale/check', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const batchAuditAfterSale = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-after-sale/batch/check', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 撤销
|
|
||||||
export const cancelApplyAfterSale = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-after-sale/revoke', params: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getAfterSaleDetail = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-after-sale/get', params })
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询用户配置
|
|
||||||
export const getClueCache = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/param-user-setting/get-by-user', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 保存用户配置
|
|
||||||
export const setClueCache = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/param-user-setting/save', data })
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 创建
|
|
||||||
export const createField = (data) => {
|
|
||||||
return request.post({ url: '/admin-api/crm/param/create', data: { ...data, module: 1 } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新
|
|
||||||
export const updateField = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/param/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteField = (id) => {
|
|
||||||
return request.delete({ url: `/admin-api/crm/param/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得
|
|
||||||
export const getField = (id) => {
|
|
||||||
return request.get({ url: `/admin-api/crm/param/get?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得精简信息列表
|
|
||||||
export const getSimpleFieldList = () => {
|
|
||||||
return request.get({ url: '/admin-api/crm/param/simple-list', params: { module: 1 } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取自定义字段
|
|
||||||
export const getDiyFieldList = () => {
|
|
||||||
return request.get({ url: '/admin-api/crm/param/get-diy-param', params: { module: 1 } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 状态修改
|
|
||||||
export const updateFieldStatus = (signParamId, status) => {
|
|
||||||
const data = {
|
|
||||||
signParamId,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/admin-api/crm/param/status/update', data: data })
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 线索获取规则
|
|
||||||
export const getClueGainRuleList = () => {
|
|
||||||
return request.get({ url: '/admin-api/crm/sch-clue-gain-rule/list' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteClueGainRule = (id) => {
|
|
||||||
return request.delete({ url: `/admin-api/crm/sch-clue-gain-rule/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 线索获取规则保存
|
|
||||||
export const saveClueGainRule = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/sch-clue-gain-rule/batchUpdate', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 线索规则
|
|
||||||
export const getClueDistributeRuleByUser = (params) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/sch-clue-distribution-rule/queryByUserId', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteClueDistributeRule = (id) => {
|
|
||||||
return request.delete({ url: `/admin-api/crm/sch-clue-gain-rule/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询(精简)列表
|
|
||||||
export const getDeliveryList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-send/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询分页列表
|
|
||||||
export const getDeliveryPage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-send/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createDelivery = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-send/create', data, isSubmitForm: true })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getDeliveryDetail = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-send/get', params })
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获得列表
|
|
||||||
export const getExtraFeePage = (params) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/extra-pay/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建
|
|
||||||
export const createExtraFee = (data) => {
|
|
||||||
return request.post({ url: '/admin-api/crm/extra-pay/create', data, isSubmitForm: true })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新
|
|
||||||
export const updateExtraFee = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/extra-pay/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteExtraFee = (id) => {
|
|
||||||
return request.delete({ url: `/admin-api/crm/extra-pay/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得
|
|
||||||
export const getExtraFee = (id) => {
|
|
||||||
return request.get({ url: `/admin-api/crm/extra-pay/get?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getExtraFeeSimpleList = async () => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/extra-pay/simple-list' })
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询(精简)列表
|
|
||||||
export const getFollowList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/clue-follow-record/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createFollow = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/clue-follow-record/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteFollow = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/clue-follow-record/delete?id=' + id })
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询(精简)列表
|
|
||||||
export const getSimpleClueList = async () => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-clue/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询列表
|
|
||||||
export const getCluePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-clue/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getClue = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-clue/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createClue = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/sch-clue/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updateClue = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/sch-clue/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteClue = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/sch-clue/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 释放
|
|
||||||
export const releaseClue = async (data) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/sch-clue/public/save', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 通用查询数量
|
|
||||||
export const getClueCount = async () => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-clue/get-clue-num' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取操作记录
|
|
||||||
export const getOpearateRecord = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/clue-operate-record/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取公海线索
|
|
||||||
export const getPublicClue = async (data) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/sch-clue/public/save', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得线索跟进用户信息
|
|
||||||
export const getFollowUserList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-clue/get-follow-user', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const batchUpdateFollowUser = async (data) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/sch-clue/batchUpdateFollowUser', data })
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 创建
|
|
||||||
export const createField = (data) => {
|
|
||||||
return request.post({ url: '/admin-api/crm/param/create', data: { ...data, module: 2 } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新
|
|
||||||
export const updateField = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/param/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteField = (id) => {
|
|
||||||
return request.delete({ url: `/admin-api/crm/param/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得
|
|
||||||
export const getField = (id) => {
|
|
||||||
return request.get({ url: `/admin-api/crm/param/get?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得精简信息列表
|
|
||||||
export const getSimpleFieldList = () => {
|
|
||||||
return request.get({ url: '/admin-api/crm/param/simple-list', params: { module: 2 } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取自定义字段
|
|
||||||
export const getDiyFieldList = () => {
|
|
||||||
return request.get({ url: '/admin-api/crm/param/get-diy-param', params: { module: 2 } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 状态修改
|
|
||||||
export const updateFieldStatus = (signParamId, status) => {
|
|
||||||
const data = {
|
|
||||||
signParamId,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/admin-api/crm/param/status/update', data: data })
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询(精简)列表
|
|
||||||
export const getPaymentList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-pay-record/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询(精简)列表
|
|
||||||
export const getPaymentPage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-pay-record/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createPayment = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/sign-pay-record/create',
|
|
||||||
data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 审核
|
|
||||||
export const auditPayment = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-pay-record/check', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const batchAuditPayment = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-pay-record/batch/check', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 撤销
|
|
||||||
export const cancelApplyPayment = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-pay-record/revoke', params: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getPaymentDetail = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-pay-record/get', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 撤销
|
|
||||||
export const updateApplyPayment = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/sign-pay-record/updateRecordMoney',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询招生结算列表
|
|
||||||
export const getSchoolSettlePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-settlement/sch/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询招生结算详情
|
|
||||||
export const getSchoolSettleDetail = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-settlement/sch/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询进销存结算列表
|
|
||||||
export const getMallSettlePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-settlement/erp/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询进销存结算详情
|
|
||||||
export const getMallSettleDetail = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign-settlement/erp/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 批量结算
|
|
||||||
export const batchSaveSettle = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-settlement/batch/save', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改结算
|
|
||||||
export const updateSettle = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign-settlement/update/money', data })
|
|
||||||
}
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询列表
|
|
||||||
export const getSignPage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getSign = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createSign = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign/create', data: data, isSubmitForm: true })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 取消登记
|
|
||||||
export const cancelDeal = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/sign/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增支出
|
|
||||||
export const signAddPay = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/sign/extra-pay/save', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询支出
|
|
||||||
export const getSignExtraPayList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sign/extra-pay/get', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 安装状态修改
|
|
||||||
export const updateInstallStatus = (signIdList, installStatus) => {
|
|
||||||
const data = {
|
|
||||||
signIdList,
|
|
||||||
installStatus
|
|
||||||
}
|
|
||||||
return request.post({ url: '/admin-api/crm/sign/install-status/batchSave', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改生产状态
|
|
||||||
export const updateProduceStatus = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/sign-prodcut/update', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const updateProduceSort = (data) => {
|
|
||||||
return request.post({ url: '/admin-api/crm/sign-prodcut/adjust/sort', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getSignProfit = (params) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/sign/profit', params })
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获得列表
|
|
||||||
export const getSkillPage = (params) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/skill/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建
|
|
||||||
export const createSkill = (data) => {
|
|
||||||
return request.post({ url: '/admin-api/crm/skill/create', data, isSubmitForm: true })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新
|
|
||||||
export const updateSkill = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/skill/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteSkill = (id) => {
|
|
||||||
return request.delete({ url: `/admin-api/crm/skill/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得
|
|
||||||
export const getSkill = (id) => {
|
|
||||||
return request.get({ url: `/admin-api/crm/skill/get?id=${id}` })
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询(精简)列表
|
|
||||||
export const getSimpleSourceList = async () => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/source/list' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询列表
|
|
||||||
export const getSourcePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/source/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getSource = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/source/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createSource = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/source/create', data: data, isSubmitForm: true })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updateSource = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/source/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteSource = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/source/delete?id=' + id })
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
// 线索情况
|
|
||||||
export const getUserClueCount = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/home/get-user-count', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 成交率
|
|
||||||
export const getClueSignSignRate = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/home/get-sign-rate', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 成交率
|
|
||||||
export const getClueSignSignRank = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/home/get-sign-top10', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 成交率
|
|
||||||
export const getClueFollowRank = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/home/get-follow-top10', params })
|
|
||||||
}
|
|
||||||
30
src/api/infra/apiAccessLog/index.ts
Normal file
30
src/api/infra/apiAccessLog/index.ts
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface ApiAccessLogVO {
|
||||||
|
id: number
|
||||||
|
traceId: string
|
||||||
|
userId: number
|
||||||
|
userType: number
|
||||||
|
applicationName: string
|
||||||
|
requestMethod: string
|
||||||
|
requestParams: string
|
||||||
|
requestUrl: string
|
||||||
|
userIp: string
|
||||||
|
userAgent: string
|
||||||
|
beginTime: Date
|
||||||
|
endTIme: Date
|
||||||
|
duration: number
|
||||||
|
resultCode: number
|
||||||
|
resultMsg: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表API 访问日志
|
||||||
|
export const getApiAccessLogPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/api-access-log/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出API 访问日志
|
||||||
|
export const exportApiAccessLog = (params) => {
|
||||||
|
return request.download({ url: '/infra/api-access-log/export-excel', params })
|
||||||
|
}
|
||||||
48
src/api/infra/apiErrorLog/index.ts
Normal file
48
src/api/infra/apiErrorLog/index.ts
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface ApiErrorLogVO {
|
||||||
|
id: number
|
||||||
|
traceId: string
|
||||||
|
userId: number
|
||||||
|
userType: number
|
||||||
|
applicationName: string
|
||||||
|
requestMethod: string
|
||||||
|
requestParams: string
|
||||||
|
requestUrl: string
|
||||||
|
userIp: string
|
||||||
|
userAgent: string
|
||||||
|
exceptionTime: Date
|
||||||
|
exceptionName: string
|
||||||
|
exceptionMessage: string
|
||||||
|
exceptionRootCauseMessage: string
|
||||||
|
exceptionStackTrace: string
|
||||||
|
exceptionClassName: string
|
||||||
|
exceptionFileName: string
|
||||||
|
exceptionMethodName: string
|
||||||
|
exceptionLineNumber: number
|
||||||
|
processUserId: number
|
||||||
|
processStatus: number
|
||||||
|
processTime: Date
|
||||||
|
resultCode: number
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表API 访问日志
|
||||||
|
export const getApiErrorLogPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/api-error-log/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新 API 错误日志的处理状态
|
||||||
|
export const updateApiErrorLogPage = (id: number, processStatus: number) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/infra/api-error-log/update-status?id=' + id + '&processStatus=' + processStatus
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出API 访问日志
|
||||||
|
export const exportApiErrorLog = (params) => {
|
||||||
|
return request.download({
|
||||||
|
url: '/infra/api-error-log/export-excel',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
123
src/api/infra/codegen/index.ts
Normal file
123
src/api/infra/codegen/index.ts
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type CodegenTableVO = {
|
||||||
|
id: number
|
||||||
|
tableId: number
|
||||||
|
isParentMenuIdValid: boolean
|
||||||
|
dataSourceConfigId: number
|
||||||
|
scene: number
|
||||||
|
tableName: string
|
||||||
|
tableComment: string
|
||||||
|
remark: string
|
||||||
|
moduleName: string
|
||||||
|
businessName: string
|
||||||
|
className: string
|
||||||
|
classComment: string
|
||||||
|
author: string
|
||||||
|
createTime: Date
|
||||||
|
updateTime: Date
|
||||||
|
templateType: number
|
||||||
|
parentMenuId: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenColumnVO = {
|
||||||
|
id: number
|
||||||
|
tableId: number
|
||||||
|
columnName: string
|
||||||
|
dataType: string
|
||||||
|
columnComment: string
|
||||||
|
nullable: number
|
||||||
|
primaryKey: number
|
||||||
|
autoIncrement: string
|
||||||
|
ordinalPosition: number
|
||||||
|
javaType: string
|
||||||
|
javaField: string
|
||||||
|
dictType: string
|
||||||
|
example: string
|
||||||
|
createOperation: number
|
||||||
|
updateOperation: number
|
||||||
|
listOperation: number
|
||||||
|
listOperationCondition: string
|
||||||
|
listOperationResult: number
|
||||||
|
htmlType: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type DatabaseTableVO = {
|
||||||
|
name: string
|
||||||
|
comment: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenDetailVO = {
|
||||||
|
table: CodegenTableVO
|
||||||
|
columns: CodegenColumnVO[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenPreviewVO = {
|
||||||
|
filePath: string
|
||||||
|
code: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenUpdateReqVO = {
|
||||||
|
table: CodegenTableVO | any
|
||||||
|
columns: CodegenColumnVO[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenCreateListReqVO = {
|
||||||
|
dataSourceConfigId: number
|
||||||
|
tableNames: string[]
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表代码生成表定义
|
||||||
|
export const getCodegenTablePage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/codegen/table/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询详情代码生成表定义
|
||||||
|
export const getCodegenTable = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/codegen/detail?tableId=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增代码生成表定义
|
||||||
|
export const createCodegenTable = (data: CodegenCreateListReqVO) => {
|
||||||
|
return request.post({ url: '/infra/codegen/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改代码生成表定义
|
||||||
|
export const updateCodegenTable = (data: CodegenUpdateReqVO) => {
|
||||||
|
return request.put({ url: '/infra/codegen/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 基于数据库的表结构,同步数据库的表和字段定义
|
||||||
|
export const syncCodegenFromDB = (id: number) => {
|
||||||
|
return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 基于 SQL 建表语句,同步数据库的表和字段定义
|
||||||
|
export const syncCodegenFromSQL = (id: number, sql: string) => {
|
||||||
|
return request.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 预览生成代码
|
||||||
|
export const previewCodegen = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/codegen/preview?tableId=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 下载生成代码
|
||||||
|
export const downloadCodegen = (id: number) => {
|
||||||
|
return request.download({ url: '/infra/codegen/download?tableId=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得表定义
|
||||||
|
export const getSchemaTableList = (params) => {
|
||||||
|
return request.get({ url: '/infra/codegen/db/table/list', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 基于数据库的表结构,创建代码生成器的表定义
|
||||||
|
export const createCodegenList = (data) => {
|
||||||
|
return request.post({ url: '/infra/codegen/create-list', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除代码生成表定义
|
||||||
|
export const deleteCodegenTable = (id: number) => {
|
||||||
|
return request.delete({ url: '/infra/codegen/delete?tableId=' + id })
|
||||||
|
}
|
||||||
@@ -14,35 +14,35 @@ export interface ConfigVO {
|
|||||||
|
|
||||||
// 查询参数列表
|
// 查询参数列表
|
||||||
export const getConfigPage = (params: PageParam) => {
|
export const getConfigPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/admin-api/infra/config/page', params })
|
return request.get({ url: '/infra/config/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询参数详情
|
// 查询参数详情
|
||||||
export const getConfig = (id: number) => {
|
export const getConfig = (id: number) => {
|
||||||
return request.get({ url: '/admin-api/infra/config/get?id=' + id })
|
return request.get({ url: '/infra/config/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据参数键名查询参数值
|
// 根据参数键名查询参数值
|
||||||
export const getConfigKey = (configKey: string) => {
|
export const getConfigKey = (configKey: string) => {
|
||||||
return request.get({ url: '/admin-api/infra/config/get-value-by-key?key=' + configKey })
|
return request.get({ url: '/infra/config/get-value-by-key?key=' + configKey })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增参数
|
// 新增参数
|
||||||
export const createConfig = (data: ConfigVO) => {
|
export const createConfig = (data: ConfigVO) => {
|
||||||
return request.post({ url: '/admin-api/infra/config/create', data })
|
return request.post({ url: '/infra/config/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改参数
|
// 修改参数
|
||||||
export const updateConfig = (data: ConfigVO) => {
|
export const updateConfig = (data: ConfigVO) => {
|
||||||
return request.put({ url: '/admin-api/infra/config/update', data })
|
return request.put({ url: '/infra/config/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除参数
|
// 删除参数
|
||||||
export const deleteConfig = (id: number) => {
|
export const deleteConfig = (id: number) => {
|
||||||
return request.delete({ url: '/admin-api/infra/config/delete?id=' + id })
|
return request.delete({ url: '/infra/config/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出参数
|
// 导出参数
|
||||||
export const exportConfig = (params) => {
|
export const exportConfig = (params) => {
|
||||||
return request.download({ url: '/admin-api/infra/config/export', params })
|
return request.download({ url: '/infra/config/export', params })
|
||||||
}
|
}
|
||||||
|
|||||||
35
src/api/infra/dataSourceConfig/index.ts
Normal file
35
src/api/infra/dataSourceConfig/index.ts
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface DataSourceConfigVO {
|
||||||
|
id: number | undefined
|
||||||
|
name: string
|
||||||
|
url: string
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
createTime?: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增数据源配置
|
||||||
|
export const createDataSourceConfig = (data: DataSourceConfigVO) => {
|
||||||
|
return request.post({ url: '/infra/data-source-config/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改数据源配置
|
||||||
|
export const updateDataSourceConfig = (data: DataSourceConfigVO) => {
|
||||||
|
return request.put({ url: '/infra/data-source-config/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除数据源配置
|
||||||
|
export const deleteDataSourceConfig = (id: number) => {
|
||||||
|
return request.delete({ url: '/infra/data-source-config/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询数据源配置详情
|
||||||
|
export const getDataSourceConfig = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/data-source-config/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询数据源配置列表
|
||||||
|
export const getDataSourceConfigList = () => {
|
||||||
|
return request.get({ url: '/infra/data-source-config/list' })
|
||||||
|
}
|
||||||
16
src/api/infra/dbDoc/index.ts
Normal file
16
src/api/infra/dbDoc/index.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 导出Html
|
||||||
|
export const exportHtml = () => {
|
||||||
|
return request.download({ url: '/infra/db-doc/export-html' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出Word
|
||||||
|
export const exportWord = () => {
|
||||||
|
return request.download({ url: '/infra/db-doc/export-word' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出Markdown
|
||||||
|
export const exportMarkdown = () => {
|
||||||
|
return request.download({ url: '/infra/db-doc/export-markdown' })
|
||||||
|
}
|
||||||
@@ -6,16 +6,6 @@ export interface FilePageReqVO extends PageParam {
|
|||||||
createTime?: Date[]
|
createTime?: Date[]
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文件预签名地址 Response VO
|
|
||||||
export interface FilePresignedUrlRespVO {
|
|
||||||
// 文件配置编号
|
|
||||||
configId: number
|
|
||||||
// 文件上传 URL
|
|
||||||
uploadUrl: string
|
|
||||||
// 文件 URL
|
|
||||||
url: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询文件列表
|
// 查询文件列表
|
||||||
export const getFilePage = (params: FilePageReqVO) => {
|
export const getFilePage = (params: FilePageReqVO) => {
|
||||||
return request.get({ url: '/infra/file/page', params })
|
return request.get({ url: '/infra/file/page', params })
|
||||||
@@ -25,21 +15,3 @@ export const getFilePage = (params: FilePageReqVO) => {
|
|||||||
export const deleteFile = (id: number) => {
|
export const deleteFile = (id: number) => {
|
||||||
return request.delete({ url: '/infra/file/delete?id=' + id })
|
return request.delete({ url: '/infra/file/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取文件预签名地址
|
|
||||||
export const getFilePresignedUrl = (path: string) => {
|
|
||||||
return request.get<FilePresignedUrlRespVO>({
|
|
||||||
url: '/infra/file/presigned-url',
|
|
||||||
params: { path }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建文件
|
|
||||||
export const createFile = (data: any) => {
|
|
||||||
return request.post({ url: '/infra/file/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 上传文件
|
|
||||||
export const updateFile = (data: any) => {
|
|
||||||
return request.upload({ url: '/admin-api/system/file/upload', data })
|
|
||||||
}
|
|
||||||
|
|||||||
61
src/api/infra/fileConfig/index.ts
Normal file
61
src/api/infra/fileConfig/index.ts
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface FileClientConfig {
|
||||||
|
basePath: string
|
||||||
|
host?: string
|
||||||
|
port?: number
|
||||||
|
username?: string
|
||||||
|
password?: string
|
||||||
|
mode?: string
|
||||||
|
endpoint?: string
|
||||||
|
bucket?: string
|
||||||
|
accessKey?: string
|
||||||
|
accessSecret?: string
|
||||||
|
domain: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FileConfigVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
storage: any
|
||||||
|
master: boolean
|
||||||
|
visible: boolean
|
||||||
|
config: FileClientConfig
|
||||||
|
remark: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询文件配置列表
|
||||||
|
export const getFileConfigPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/file-config/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询文件配置详情
|
||||||
|
export const getFileConfig = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/file-config/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新文件配置为主配置
|
||||||
|
export const updateFileConfigMaster = (id: number) => {
|
||||||
|
return request.put({ url: '/infra/file-config/update-master?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增文件配置
|
||||||
|
export const createFileConfig = (data: FileConfigVO) => {
|
||||||
|
return request.post({ url: '/infra/file-config/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改文件配置
|
||||||
|
export const updateFileConfig = (data: FileConfigVO) => {
|
||||||
|
return request.put({ url: '/infra/file-config/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除文件配置
|
||||||
|
export const deleteFileConfig = (id: number) => {
|
||||||
|
return request.delete({ url: '/infra/file-config/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 测试文件配置
|
||||||
|
export const testFileConfig = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/file-config/test?id=' + id })
|
||||||
|
}
|
||||||
63
src/api/infra/job/index.ts
Normal file
63
src/api/infra/job/index.ts
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface JobVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
status: number
|
||||||
|
handlerName: string
|
||||||
|
handlerParam: string
|
||||||
|
cronExpression: string
|
||||||
|
retryCount: number
|
||||||
|
retryInterval: number
|
||||||
|
monitorTimeout: number
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务列表
|
||||||
|
export const getJobPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/job/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务详情
|
||||||
|
export const getJob = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/job/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增任务
|
||||||
|
export const createJob = (data: JobVO) => {
|
||||||
|
return request.post({ url: '/infra/job/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改定时任务调度
|
||||||
|
export const updateJob = (data: JobVO) => {
|
||||||
|
return request.put({ url: '/infra/job/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除定时任务调度
|
||||||
|
export const deleteJob = (id: number) => {
|
||||||
|
return request.delete({ url: '/infra/job/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出定时任务调度
|
||||||
|
export const exportJob = (params) => {
|
||||||
|
return request.download({ url: '/infra/job/export-excel', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务状态修改
|
||||||
|
export const updateJobStatus = (id: number, status: number) => {
|
||||||
|
const params = {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
return request.put({ url: '/infra/job/update-status', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 定时任务立即执行一次
|
||||||
|
export const runJob = (id: number) => {
|
||||||
|
return request.put({ url: '/infra/job/trigger?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得定时任务的下 n 次执行时间
|
||||||
|
export const getJobNextTimes = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/job/get_next_times?id=' + id })
|
||||||
|
}
|
||||||
33
src/api/infra/jobLog/index.ts
Normal file
33
src/api/infra/jobLog/index.ts
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface JobLogVO {
|
||||||
|
id: number
|
||||||
|
jobId: number
|
||||||
|
handlerName: string
|
||||||
|
handlerParam: string
|
||||||
|
cronExpression: string
|
||||||
|
executeIndex: string
|
||||||
|
beginTime: string
|
||||||
|
endTime: string
|
||||||
|
duration: string
|
||||||
|
status: number
|
||||||
|
createTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务日志列表
|
||||||
|
export const getJobLogPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/infra/job-log/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 任务日志详情
|
||||||
|
export const getJobLog = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/job-log/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出定时任务日志
|
||||||
|
export const exportJobLog = (params) => {
|
||||||
|
return request.download({
|
||||||
|
url: '/infra/job-log/export-excel',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
8
src/api/infra/redis/index.ts
Normal file
8
src/api/infra/redis/index.ts
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取redis 监控信息
|
||||||
|
*/
|
||||||
|
export const getCache = () => {
|
||||||
|
return request.get({ url: '/infra/redis/get-monitor-info' })
|
||||||
|
}
|
||||||
176
src/api/infra/redis/types.ts
Normal file
176
src/api/infra/redis/types.ts
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
export interface RedisMonitorInfoVO {
|
||||||
|
info: RedisInfoVO
|
||||||
|
dbSize: number
|
||||||
|
commandStats: RedisCommandStatsVO[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RedisInfoVO {
|
||||||
|
io_threaded_reads_processed: string
|
||||||
|
tracking_clients: string
|
||||||
|
uptime_in_seconds: string
|
||||||
|
cluster_connections: string
|
||||||
|
current_cow_size: string
|
||||||
|
maxmemory_human: string
|
||||||
|
aof_last_cow_size: string
|
||||||
|
master_replid2: string
|
||||||
|
mem_replication_backlog: string
|
||||||
|
aof_rewrite_scheduled: string
|
||||||
|
total_net_input_bytes: string
|
||||||
|
rss_overhead_ratio: string
|
||||||
|
hz: string
|
||||||
|
current_cow_size_age: string
|
||||||
|
redis_build_id: string
|
||||||
|
errorstat_BUSYGROUP: string
|
||||||
|
aof_last_bgrewrite_status: string
|
||||||
|
multiplexing_api: string
|
||||||
|
client_recent_max_output_buffer: string
|
||||||
|
allocator_resident: string
|
||||||
|
mem_fragmentation_bytes: string
|
||||||
|
aof_current_size: string
|
||||||
|
repl_backlog_first_byte_offset: string
|
||||||
|
tracking_total_prefixes: string
|
||||||
|
redis_mode: string
|
||||||
|
redis_git_dirty: string
|
||||||
|
aof_delayed_fsync: string
|
||||||
|
allocator_rss_bytes: string
|
||||||
|
repl_backlog_histlen: string
|
||||||
|
io_threads_active: string
|
||||||
|
rss_overhead_bytes: string
|
||||||
|
total_system_memory: string
|
||||||
|
loading: string
|
||||||
|
evicted_keys: string
|
||||||
|
maxclients: string
|
||||||
|
cluster_enabled: string
|
||||||
|
redis_version: string
|
||||||
|
repl_backlog_active: string
|
||||||
|
mem_aof_buffer: string
|
||||||
|
allocator_frag_bytes: string
|
||||||
|
io_threaded_writes_processed: string
|
||||||
|
instantaneous_ops_per_sec: string
|
||||||
|
used_memory_human: string
|
||||||
|
total_error_replies: string
|
||||||
|
role: string
|
||||||
|
maxmemory: string
|
||||||
|
used_memory_lua: string
|
||||||
|
rdb_current_bgsave_time_sec: string
|
||||||
|
used_memory_startup: string
|
||||||
|
used_cpu_sys_main_thread: string
|
||||||
|
lazyfree_pending_objects: string
|
||||||
|
aof_pending_bio_fsync: string
|
||||||
|
used_memory_dataset_perc: string
|
||||||
|
allocator_frag_ratio: string
|
||||||
|
arch_bits: string
|
||||||
|
used_cpu_user_main_thread: string
|
||||||
|
mem_clients_normal: string
|
||||||
|
expired_time_cap_reached_count: string
|
||||||
|
unexpected_error_replies: string
|
||||||
|
mem_fragmentation_ratio: string
|
||||||
|
aof_last_rewrite_time_sec: string
|
||||||
|
master_replid: string
|
||||||
|
aof_rewrite_in_progress: string
|
||||||
|
lru_clock: string
|
||||||
|
maxmemory_policy: string
|
||||||
|
run_id: string
|
||||||
|
latest_fork_usec: string
|
||||||
|
tracking_total_items: string
|
||||||
|
total_commands_processed: string
|
||||||
|
expired_keys: string
|
||||||
|
errorstat_ERR: string
|
||||||
|
used_memory: string
|
||||||
|
module_fork_in_progress: string
|
||||||
|
errorstat_WRONGPASS: string
|
||||||
|
aof_buffer_length: string
|
||||||
|
dump_payload_sanitizations: string
|
||||||
|
mem_clients_slaves: string
|
||||||
|
keyspace_misses: string
|
||||||
|
server_time_usec: string
|
||||||
|
executable: string
|
||||||
|
lazyfreed_objects: string
|
||||||
|
db0: string
|
||||||
|
used_memory_peak_human: string
|
||||||
|
keyspace_hits: string
|
||||||
|
rdb_last_cow_size: string
|
||||||
|
aof_pending_rewrite: string
|
||||||
|
used_memory_overhead: string
|
||||||
|
active_defrag_hits: string
|
||||||
|
tcp_port: string
|
||||||
|
uptime_in_days: string
|
||||||
|
used_memory_peak_perc: string
|
||||||
|
current_save_keys_processed: string
|
||||||
|
blocked_clients: string
|
||||||
|
total_reads_processed: string
|
||||||
|
expire_cycle_cpu_milliseconds: string
|
||||||
|
sync_partial_err: string
|
||||||
|
used_memory_scripts_human: string
|
||||||
|
aof_current_rewrite_time_sec: string
|
||||||
|
aof_enabled: string
|
||||||
|
process_supervised: string
|
||||||
|
master_repl_offset: string
|
||||||
|
used_memory_dataset: string
|
||||||
|
used_cpu_user: string
|
||||||
|
rdb_last_bgsave_status: string
|
||||||
|
tracking_total_keys: string
|
||||||
|
atomicvar_api: string
|
||||||
|
allocator_rss_ratio: string
|
||||||
|
client_recent_max_input_buffer: string
|
||||||
|
clients_in_timeout_table: string
|
||||||
|
aof_last_write_status: string
|
||||||
|
mem_allocator: string
|
||||||
|
used_memory_scripts: string
|
||||||
|
used_memory_peak: string
|
||||||
|
process_id: string
|
||||||
|
master_failover_state: string
|
||||||
|
errorstat_NOAUTH: string
|
||||||
|
used_cpu_sys: string
|
||||||
|
repl_backlog_size: string
|
||||||
|
connected_slaves: string
|
||||||
|
current_save_keys_total: string
|
||||||
|
gcc_version: string
|
||||||
|
total_system_memory_human: string
|
||||||
|
sync_full: string
|
||||||
|
connected_clients: string
|
||||||
|
module_fork_last_cow_size: string
|
||||||
|
total_writes_processed: string
|
||||||
|
allocator_active: string
|
||||||
|
total_net_output_bytes: string
|
||||||
|
pubsub_channels: string
|
||||||
|
current_fork_perc: string
|
||||||
|
active_defrag_key_hits: string
|
||||||
|
rdb_changes_since_last_save: string
|
||||||
|
instantaneous_input_kbps: string
|
||||||
|
used_memory_rss_human: string
|
||||||
|
configured_hz: string
|
||||||
|
expired_stale_perc: string
|
||||||
|
active_defrag_misses: string
|
||||||
|
used_cpu_sys_children: string
|
||||||
|
number_of_cached_scripts: string
|
||||||
|
sync_partial_ok: string
|
||||||
|
used_memory_lua_human: string
|
||||||
|
rdb_last_save_time: string
|
||||||
|
pubsub_patterns: string
|
||||||
|
slave_expires_tracked_keys: string
|
||||||
|
redis_git_sha1: string
|
||||||
|
used_memory_rss: string
|
||||||
|
rdb_last_bgsave_time_sec: string
|
||||||
|
os: string
|
||||||
|
mem_not_counted_for_evict: string
|
||||||
|
active_defrag_running: string
|
||||||
|
rejected_connections: string
|
||||||
|
aof_rewrite_buffer_length: string
|
||||||
|
total_forks: string
|
||||||
|
active_defrag_key_misses: string
|
||||||
|
allocator_allocated: string
|
||||||
|
aof_base_size: string
|
||||||
|
instantaneous_output_kbps: string
|
||||||
|
second_repl_offset: string
|
||||||
|
rdb_bgsave_in_progress: string
|
||||||
|
used_cpu_user_children: string
|
||||||
|
total_connections_received: string
|
||||||
|
migrate_cached_sockets: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RedisCommandStatsVO {
|
||||||
|
command: string
|
||||||
|
calls: number
|
||||||
|
usec: number
|
||||||
|
}
|
||||||
@@ -14,67 +14,56 @@ export interface SmsLoginVO {
|
|||||||
|
|
||||||
// 登录
|
// 登录
|
||||||
export const login = (data: UserLoginVO) => {
|
export const login = (data: UserLoginVO) => {
|
||||||
return request.post({ url: '/admin-api/system/auth/login', data })
|
return request.post({ url: '/system/auth/login', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 刷新访问令牌
|
// 刷新访问令牌
|
||||||
export const refreshToken = () => {
|
export const refreshToken = () => {
|
||||||
return request.post({
|
return request.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() })
|
||||||
url: '/admin-api/system/auth/refresh-token?refreshToken=' + getRefreshToken()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 使用租户名,获得租户编号
|
// 使用租户名,获得租户编号
|
||||||
export const getTenantIdByName = (name: string) => {
|
export const getTenantIdByName = (name: string) => {
|
||||||
return request.get({ url: '/admin-api/system/tenant/get-id-by-name?name=' + name })
|
return request.get({ url: '/system/tenant/get-id-by-name?name=' + name })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 登出
|
// 登出
|
||||||
export const loginOut = () => {
|
export const loginOut = () => {
|
||||||
return request.post({ url: '/admin-api/system/auth/logout' })
|
return request.post({ url: '/system/auth/logout' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取用户权限信息
|
// 获取用户权限信息
|
||||||
export const getInfo = (params) => {
|
export const getInfo = () => {
|
||||||
return request.get({ url: '/admin-api/system/auth/get-permission-info', params })
|
return request.get({ url: '/system/auth/get-permission-info' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 路由
|
||||||
|
export const getAsyncRoutes = () => {
|
||||||
|
return request.get({ url: '/system/auth/list-menus' })
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取登录验证码
|
//获取登录验证码
|
||||||
export const sendSmsCode = (data: SmsCodeVO) => {
|
export const sendSmsCode = (data: SmsCodeVO) => {
|
||||||
return request.post({ url: '/admin-api/system/auth/send-sms-code', data })
|
return request.post({ url: '/system/auth/send-sms-code', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 短信验证码登录
|
// 短信验证码登录
|
||||||
export const smsLogin = (data: SmsLoginVO) => {
|
export const smsLogin = (data: SmsLoginVO) => {
|
||||||
return request.post({ url: '/admin-api/system/auth/sms-login', data })
|
return request.post({ url: '/system/auth/sms-login', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 社交授权的跳转
|
// 社交授权的跳转
|
||||||
export const socialAuthRedirect = (type: number, redirectUri: string) => {
|
export const socialAuthRedirect = (type: number, redirectUri: string) => {
|
||||||
return request.get({
|
return request.get({
|
||||||
url: '/admin-api/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
|
url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 获取验证图片以及 token
|
// 获取验证图片以及 token
|
||||||
export const getCode = (data) => {
|
export const getCode = (data) => {
|
||||||
return request.postOriginal({ url: '/admin-api/system/captcha/get', data })
|
return request.postOriginal({ url: 'system/captcha/get', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 滑动或者点选验证
|
// 滑动或者点选验证
|
||||||
export const reqCheck = (data) => {
|
export const reqCheck = (data) => {
|
||||||
return request.postOriginal({ url: '/admin-api/system/captcha/check', data })
|
return request.postOriginal({ url: 'system/captcha/check', data })
|
||||||
}
|
|
||||||
|
|
||||||
// 获取应用信息
|
|
||||||
export const getAppInfo = (instanceId: number) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/admin-api/system/serviceInstance/getInstanceInfo?instanceId=' + instanceId
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const bindWx = (data: any) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/admin-api/system/user/bind/wx',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import request from '@/config/axios'
|
|||||||
|
|
||||||
// 获得授权信息
|
// 获得授权信息
|
||||||
export const getAuthorize = (clientId: string) => {
|
export const getAuthorize = (clientId: string) => {
|
||||||
return request.get({ url: '/admin-api/system/oauth2/authorize?clientId=' + clientId })
|
return request.get({ url: '/system/oauth2/authorize?clientId=' + clientId })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发起授权
|
// 发起授权
|
||||||
@@ -25,7 +25,7 @@ export const authorize = (
|
|||||||
}
|
}
|
||||||
// 发起请求
|
// 发起请求
|
||||||
return request.post({
|
return request.post({
|
||||||
url: '/admin-api/system/oauth2/authorize',
|
url: '/system/oauth2/authorize',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-type': 'application/x-www-form-urlencoded'
|
'Content-type': 'application/x-www-form-urlencoded'
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -32,30 +32,30 @@ export interface BrandVO {
|
|||||||
|
|
||||||
// 创建商品品牌
|
// 创建商品品牌
|
||||||
export const createBrand = (data: BrandVO) => {
|
export const createBrand = (data: BrandVO) => {
|
||||||
return request.post({ url: '/admin-api/crm/erp-product-brand/create', data, isSubmitForm: true })
|
return request.post({ url: '/product/brand/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新商品品牌
|
// 更新商品品牌
|
||||||
export const updateBrand = (data: BrandVO) => {
|
export const updateBrand = (data: BrandVO) => {
|
||||||
return request.put({ url: '/admin-api/crm/erp-product-brand/update', data })
|
return request.put({ url: '/product/brand/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除商品品牌
|
// 删除商品品牌
|
||||||
export const deleteBrand = (id: number) => {
|
export const deleteBrand = (id: number) => {
|
||||||
return request.delete({ url: `/admin-api/crm/erp-product-brand/delete?id=${id}` })
|
return request.delete({ url: `/product/brand/delete?id=${id}` })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得商品品牌
|
// 获得商品品牌
|
||||||
export const getBrand = (id: number) => {
|
export const getBrand = (id: number) => {
|
||||||
return request.get({ url: `/admin-api/crm/erp-product-brand/get?id=${id}` })
|
return request.get({ url: `/product/brand/get?id=${id}` })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得商品品牌列表
|
// 获得商品品牌列表
|
||||||
export const getBrandParam = (params: PageParam) => {
|
export const getBrandParam = (params: PageParam) => {
|
||||||
return request.get({ url: '/admin-api/crm/erp-product-brand/page', params })
|
return request.get({ url: '/product/brand/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得商品品牌精简信息列表
|
// 获得商品品牌精简信息列表
|
||||||
export const getSimpleBrandList = () => {
|
export const getSimpleBrandList = () => {
|
||||||
return request.get({ url: '/admin-api/crm/erp-product-brand/simple-list' })
|
return request.get({ url: '/product/brand/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,34 +36,25 @@ export interface CategoryVO {
|
|||||||
|
|
||||||
// 创建商品分类
|
// 创建商品分类
|
||||||
export const createCategory = (data: CategoryVO) => {
|
export const createCategory = (data: CategoryVO) => {
|
||||||
return request.post({
|
return request.post({ url: '/product/category/create', data })
|
||||||
url: '/admin-api/crm/erp-product-category/create',
|
|
||||||
data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新商品分类
|
// 更新商品分类
|
||||||
export const updateCategory = (data: CategoryVO) => {
|
export const updateCategory = (data: CategoryVO) => {
|
||||||
return request.put({ url: '/admin-api/crm/erp-product-category/update', data })
|
return request.put({ url: '/product/category/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除商品分类
|
// 删除商品分类
|
||||||
export const deleteCategory = (id: number) => {
|
export const deleteCategory = (id: number) => {
|
||||||
return request.delete({ url: `/admin-api/crm/erp-product-category/delete?id=${id}` })
|
return request.delete({ url: `/product/category/delete?id=${id}` })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得商品分类
|
// 获得商品分类
|
||||||
export const getCategory = (id: number) => {
|
export const getCategory = (id: number) => {
|
||||||
return request.get({ url: `/admin-api/crm/erp-product-category/get?id=${id}` })
|
return request.get({ url: `/product/category/get?id=${id}` })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得商品分类列表
|
// 获得商品分类列表
|
||||||
export const getCategoryList = (params: any) => {
|
export const getCategoryList = (params: any) => {
|
||||||
return request.get({ url: '/admin-api/crm/erp-product-category/list', params })
|
return request.get({ url: '/product/category/list', params })
|
||||||
}
|
|
||||||
|
|
||||||
// 获得商品分类列表
|
|
||||||
export const getCategorySimpleList = (params: any) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/erp-product-category/simple-list', params })
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
// 查询列表
|
|
||||||
export const getProductPage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-product/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getProduct = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-product/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createProduct = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/erp-product/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updateProduct = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/erp-product/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteProduct = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/erp-product/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getSimpleProductList = async () => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-product/simple-list' })
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 创建
|
|
||||||
export const createField = (data) => {
|
|
||||||
return request.post({
|
|
||||||
url: '/admin-api/crm/param/create',
|
|
||||||
data: { ...data, module: 3 },
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新
|
|
||||||
export const updateField = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/param/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteField = (id) => {
|
|
||||||
return request.delete({ url: `/admin-api/crm/param/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得
|
|
||||||
export const getField = (id) => {
|
|
||||||
return request.get({ url: `/admin-api/crm/param/get?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得精简信息列表
|
|
||||||
export const getSimpleFieldList = () => {
|
|
||||||
return request.get({ url: '/admin-api/crm/param/simple-list', params: { module: 3 } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取自定义字段
|
|
||||||
export const getDiyFieldList = () => {
|
|
||||||
return request.get({ url: '/admin-api/crm/param/get-diy-param', params: { module: 3 } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 状态修改
|
|
||||||
export const updateFieldStatus = (signParamId, status) => {
|
|
||||||
const data = {
|
|
||||||
signParamId,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/admin-api/crm/param/status/update', data: data })
|
|
||||||
}
|
|
||||||
@@ -42,11 +42,7 @@ export interface PropertyValueDetailVO {
|
|||||||
|
|
||||||
// 创建属性项
|
// 创建属性项
|
||||||
export const createProperty = (data: PropertyVO) => {
|
export const createProperty = (data: PropertyVO) => {
|
||||||
return request.post({
|
return request.post({ url: '/product/property/create', data })
|
||||||
url: '/admin-api/crm/erp-product-property/create',
|
|
||||||
data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新属性项
|
// 更新属性项
|
||||||
@@ -93,7 +89,7 @@ export const getPropertyValue = (id: number): Promise<PropertyValueVO> => {
|
|||||||
|
|
||||||
// 创建属性值
|
// 创建属性值
|
||||||
export const createPropertyValue = (data: PropertyValueVO) => {
|
export const createPropertyValue = (data: PropertyValueVO) => {
|
||||||
return request.post({ url: '/admin-api/crm/erp-product-property-value/create', data })
|
return request.post({ url: '/product/property/value/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新属性值
|
// 更新属性值
|
||||||
|
|||||||
92
src/api/mall/product/spu.ts
Normal file
92
src/api/mall/product/spu.ts
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface Property {
|
||||||
|
propertyId?: number // 属性编号
|
||||||
|
propertyName?: string // 属性名称
|
||||||
|
valueId?: number // 属性值编号
|
||||||
|
valueName?: string // 属性值名称
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO puhui999:是不是直接叫 Sku 更简洁一点哈。type 待后面,总感觉有个类型?
|
||||||
|
export interface SkuType {
|
||||||
|
id?: number // 商品 SKU 编号
|
||||||
|
spuId?: number // SPU 编号
|
||||||
|
properties?: Property[] // 属性数组
|
||||||
|
price?: number // 商品价格
|
||||||
|
marketPrice?: number // 市场价
|
||||||
|
costPrice?: number // 成本价
|
||||||
|
barCode?: string // 商品条码
|
||||||
|
picUrl?: string // 图片地址
|
||||||
|
stock?: number // 库存
|
||||||
|
weight?: number // 商品重量,单位:kg 千克
|
||||||
|
volume?: number // 商品体积,单位:m^3 平米
|
||||||
|
subCommissionFirstPrice?: number // 一级分销的佣金
|
||||||
|
subCommissionSecondPrice?: number // 二级分销的佣金
|
||||||
|
salesCount?: number // 商品销量
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO puhui999:是不是直接叫 Spu 更简洁一点哈。type 待后面,总感觉有个类型?
|
||||||
|
export interface SpuType {
|
||||||
|
id?: number
|
||||||
|
name?: string // 商品名称
|
||||||
|
categoryId?: number | null // 商品分类
|
||||||
|
keyword?: string // 关键字
|
||||||
|
unit?: number | null // 单位
|
||||||
|
picUrl?: string // 商品封面图
|
||||||
|
sliderPicUrls?: string[] // 商品轮播图
|
||||||
|
introduction?: string // 商品简介
|
||||||
|
deliveryTemplateId?: number | null // 运费模版
|
||||||
|
brandId?: number | null // 商品品牌编号
|
||||||
|
specType?: boolean // 商品规格
|
||||||
|
subCommissionType?: boolean // 分销类型
|
||||||
|
skus: SkuType[] // sku数组
|
||||||
|
description?: string // 商品详情
|
||||||
|
sort?: string // 商品排序
|
||||||
|
giveIntegral?: number // 赠送积分
|
||||||
|
virtualSalesCount?: number // 虚拟销量
|
||||||
|
recommendHot?: boolean // 是否热卖
|
||||||
|
recommendBenefit?: boolean // 是否优惠
|
||||||
|
recommendBest?: boolean // 是否精品
|
||||||
|
recommendNew?: boolean // 是否新品
|
||||||
|
recommendGood?: boolean // 是否优品
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得 Spu 列表
|
||||||
|
export const getSpuPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/product/spu/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得 Spu 列表 tabsCount
|
||||||
|
export const getTabsCount = () => {
|
||||||
|
return request.get({ url: '/product/spu/get-count' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建商品 Spu
|
||||||
|
export const createSpu = (data: SpuType) => {
|
||||||
|
return request.post({ url: '/product/spu/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新商品 Spu
|
||||||
|
export const updateSpu = (data: SpuType) => {
|
||||||
|
return request.put({ url: '/product/spu/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新商品 Spu status
|
||||||
|
export const updateStatus = (data: { id: number; status: number }) => {
|
||||||
|
return request.put({ url: '/product/spu/update-status', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得商品 Spu
|
||||||
|
export const getSpu = (id: number) => {
|
||||||
|
return request.get({ url: `/product/spu/get-detail?id=${id}` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除商品 Spu
|
||||||
|
export const deleteSpu = (id: number) => {
|
||||||
|
return request.delete({ url: `/product/spu/delete?id=${id}` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出商品 Spu Excel
|
||||||
|
export const exportSpu = async (params) => {
|
||||||
|
return await request.download({ url: '/product/spu/export', params })
|
||||||
|
}
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
// 查询列表
|
|
||||||
export const getPurchasePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-purchase/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createPurchase = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/erp-purchase/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updatePurchase = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/erp-purchase/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deletePurchase = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/erp-purchase/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 审核
|
|
||||||
export const auditPurchase = async (data) => {
|
|
||||||
return await request.post({ url: '/admin-api/crm/erp-purchase/audit', data })
|
|
||||||
}
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
// 查询列表
|
|
||||||
export const getWarehousePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-warehouse/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createWarehouse = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/erp-warehouse/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updateWarehouse = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/erp-warehouse/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteWarehouse = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/erp-warehouse/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取仓库
|
|
||||||
export const getWarehouse = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-warehouse/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取仓库列表
|
|
||||||
export const getSimpleWarehouseList = async () => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-warehouse/simple-list' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取库存
|
|
||||||
export const getInventoryList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-inventory/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取库存变动记录
|
|
||||||
export const getInventoryRecord = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-inventory-record/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取剩余库存
|
|
||||||
export const getRemainInventoryList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/erp-inventory-detail/list', params })
|
|
||||||
}
|
|
||||||
46
src/api/mp/account/index.ts
Normal file
46
src/api/mp/account/index.ts
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface AccountVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建公众号账号
|
||||||
|
export const createAccount = async (data) => {
|
||||||
|
return await request.post({ url: '/mp/account/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新公众号账号
|
||||||
|
export const updateAccount = async (data) => {
|
||||||
|
return request.put({ url: '/mp/account/update', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号账号
|
||||||
|
export const deleteAccount = async (id) => {
|
||||||
|
return request.delete({ url: '/mp/account/delete?id=' + id, method: 'delete' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号账号
|
||||||
|
export const getAccount = async (id) => {
|
||||||
|
return request.get({ url: '/mp/account/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号账号分页
|
||||||
|
export const getAccountPage = async (query) => {
|
||||||
|
return request.get({ url: '/mp/account/page', params: query })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取公众号账号精简信息列表
|
||||||
|
export const getSimpleAccountList = async () => {
|
||||||
|
return request.get({ url: '/mp/account/list-all-simple' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成公众号二维码
|
||||||
|
export const generateAccountQrCode = async (id) => {
|
||||||
|
return request.put({ url: '/mp/account/generate-qr-code?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清空公众号 API 配额
|
||||||
|
export const clearAccountQuota = async (id) => {
|
||||||
|
return request.put({ url: '/mp/account/clear-quota?id=' + id })
|
||||||
|
}
|
||||||
39
src/api/mp/autoReply/index.ts
Normal file
39
src/api/mp/autoReply/index.ts
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 创建公众号的自动回复
|
||||||
|
export const createAutoReply = (data) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/auto-reply/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新公众号的自动回复
|
||||||
|
export const updateAutoReply = (data) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/mp/auto-reply/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号的自动回复
|
||||||
|
export const deleteAutoReply = (id) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/auto-reply/delete?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号的自动回复
|
||||||
|
export const getAutoReply = (id) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/auto-reply/get?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号的自动回复分页
|
||||||
|
export const getAutoReplyPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/auto-reply/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
35
src/api/mp/draft/index.ts
Normal file
35
src/api/mp/draft/index.ts
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号草稿分页
|
||||||
|
export const getDraftPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/draft/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建公众号草稿
|
||||||
|
export const createDraft = (accountId, articles) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/draft/create?accountId=' + accountId,
|
||||||
|
data: {
|
||||||
|
articles
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新公众号草稿
|
||||||
|
export const updateDraft = (accountId, mediaId, articles) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/mp/draft/update?accountId=' + accountId + '&mediaId=' + mediaId,
|
||||||
|
method: 'put',
|
||||||
|
data: articles
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号草稿
|
||||||
|
export const deleteDraft = (accountId, mediaId) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/draft/delete?accountId=' + accountId + '&mediaId=' + mediaId
|
||||||
|
})
|
||||||
|
}
|
||||||
23
src/api/mp/freePublish/index.ts
Normal file
23
src/api/mp/freePublish/index.ts
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号素材分页
|
||||||
|
export const getFreePublishPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/free-publish/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号素材
|
||||||
|
export const deleteFreePublish = (accountId, articleId) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/free-publish/delete?accountId=' + accountId + '&articleId=' + articleId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发布公众号素材
|
||||||
|
export const submitFreePublish = (accountId, mediaId) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/free-publish/submit?accountId=' + accountId + '&mediaId=' + mediaId
|
||||||
|
})
|
||||||
|
}
|
||||||
16
src/api/mp/material/index.ts
Normal file
16
src/api/mp/material/index.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号素材分页
|
||||||
|
export const getMaterialPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/material/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号永久素材
|
||||||
|
export const deletePermanentMaterial = (id) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/material/delete-permanent?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
26
src/api/mp/menu/index.ts
Normal file
26
src/api/mp/menu/index.ts
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号菜单列表
|
||||||
|
export const getMenuList = (accountId) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/menu/list?accountId=' + accountId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存公众号菜单
|
||||||
|
export const saveMenu = (accountId, menus) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/menu/save',
|
||||||
|
data: {
|
||||||
|
accountId,
|
||||||
|
menus
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号菜单
|
||||||
|
export const deleteMenu = (accountId) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/menu/delete?accountId=' + accountId
|
||||||
|
})
|
||||||
|
}
|
||||||
17
src/api/mp/message/index.ts
Normal file
17
src/api/mp/message/index.ts
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号消息分页
|
||||||
|
export const getMessagePage = (query: PageParam) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/message/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 给粉丝发送消息
|
||||||
|
export const sendMessage = (data) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/message/send',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
33
src/api/mp/statistics/index.ts
Normal file
33
src/api/mp/statistics/index.ts
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获取消息发送概况数据
|
||||||
|
export const getUpstreamMessage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/statistics/upstream-message',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用户增减数据
|
||||||
|
export const getUserSummary = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/statistics/user-summary',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得用户累计数据
|
||||||
|
export const getUserCumulate = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/statistics/user-cumulate',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得接口分析数据
|
||||||
|
export const getInterfaceSummary = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/statistics/interface-summary',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
60
src/api/mp/tag/index.ts
Normal file
60
src/api/mp/tag/index.ts
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface TagVO {
|
||||||
|
id?: number
|
||||||
|
name: string
|
||||||
|
accountId: number
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建公众号标签
|
||||||
|
export const createTag = (data: TagVO) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/tag/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新公众号标签
|
||||||
|
export const updateTag = (data: TagVO) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/mp/tag/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号标签
|
||||||
|
export const deleteTag = (id: number) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/tag/delete?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号标签
|
||||||
|
export const getTag = (id: number) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/tag/get?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号标签分页
|
||||||
|
export const getTagPage = (query: PageParam) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/tag/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取公众号标签精简信息列表
|
||||||
|
export const getSimpleTagList = () => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/tag/list-all-simple'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 同步公众号标签
|
||||||
|
export const syncTag = (accountId: number) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/tag/sync?accountId=' + accountId
|
||||||
|
})
|
||||||
|
}
|
||||||
31
src/api/mp/user/index.ts
Normal file
31
src/api/mp/user/index.ts
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 更新公众号粉丝
|
||||||
|
export const updateUser = (data) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/mp/user/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号粉丝
|
||||||
|
export const getUser = (id) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/user/get?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号粉丝分页
|
||||||
|
export const getUserPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/user/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 同步公众号粉丝
|
||||||
|
export const syncUser = (accountId) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/tag/sync?accountId=' + accountId
|
||||||
|
})
|
||||||
|
}
|
||||||
78
src/api/pay/app/index.ts
Normal file
78
src/api/pay/app/index.ts
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface AppVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
payNotifyUrl: string
|
||||||
|
refundNotifyUrl: string
|
||||||
|
merchantId: number
|
||||||
|
merchantName: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AppPageReqVO extends PageParam {
|
||||||
|
name?: string
|
||||||
|
status?: number
|
||||||
|
remark?: string
|
||||||
|
payNotifyUrl?: string
|
||||||
|
refundNotifyUrl?: string
|
||||||
|
merchantName?: string
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AppExportReqVO {
|
||||||
|
name?: string
|
||||||
|
status?: number
|
||||||
|
remark?: string
|
||||||
|
payNotifyUrl?: string
|
||||||
|
refundNotifyUrl?: string
|
||||||
|
merchantName?: string
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AppUpdateStatusReqVO {
|
||||||
|
id: number
|
||||||
|
status: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表支付应用
|
||||||
|
export const getAppPage = (params: AppPageReqVO) => {
|
||||||
|
return request.get({ url: '/pay/app/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询详情支付应用
|
||||||
|
export const getApp = (id: number) => {
|
||||||
|
return request.get({ url: '/pay/app/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增支付应用
|
||||||
|
export const createApp = (data: AppVO) => {
|
||||||
|
return request.post({ url: '/pay/app/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改支付应用
|
||||||
|
export const updateApp = (data: AppVO) => {
|
||||||
|
return request.put({ url: '/pay/app/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 支付应用信息状态修改
|
||||||
|
export const changeAppStatus = (data: AppUpdateStatusReqVO) => {
|
||||||
|
return request.put({ url: '/pay/app/update-status', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除支付应用
|
||||||
|
export const deleteApp = (id: number) => {
|
||||||
|
return request.delete({ url: '/pay/app/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出支付应用
|
||||||
|
export const exportApp = (params: AppExportReqVO) => {
|
||||||
|
return request.download({ url: '/pay/app/export-excel', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据商ID称搜索应用列表
|
||||||
|
export const getAppListByMerchantId = (merchantId: number) => {
|
||||||
|
return request.get({ url: '/pay/app/list-merchant-id', params: { merchantId: merchantId } })
|
||||||
|
}
|
||||||
48
src/api/pay/channel/index.ts
Normal file
48
src/api/pay/channel/index.ts
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface ChannelVO {
|
||||||
|
id: number
|
||||||
|
code: string
|
||||||
|
config: string
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
feeRate: number
|
||||||
|
merchantId: number
|
||||||
|
appId: number
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表支付渠道
|
||||||
|
export const getChannelPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/pay/channel/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询详情支付渠道
|
||||||
|
export const getChannel = (merchantId: number, appId: string, code: string) => {
|
||||||
|
const params = {
|
||||||
|
merchantId: merchantId,
|
||||||
|
appId: appId,
|
||||||
|
code: code
|
||||||
|
}
|
||||||
|
return request.get({ url: '/pay/channel/get-channel', params: params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增支付渠道
|
||||||
|
export const createChannel = (data: ChannelVO) => {
|
||||||
|
return request.post({ url: '/pay/channel/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改支付渠道
|
||||||
|
export const updateChannel = (data: ChannelVO) => {
|
||||||
|
return request.put({ url: '/pay/channel/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除支付渠道
|
||||||
|
export const deleteChannel = (id: number) => {
|
||||||
|
return request.delete({ url: '/pay/channel/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出支付渠道
|
||||||
|
export const exportChannel = (params) => {
|
||||||
|
return request.download({ url: '/pay/channel/export-excel', params })
|
||||||
|
}
|
||||||
78
src/api/pay/merchant/index.ts
Normal file
78
src/api/pay/merchant/index.ts
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface MerchantVO {
|
||||||
|
id: number
|
||||||
|
no: string
|
||||||
|
name: string
|
||||||
|
shortName: string
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MerchantPageReqVO extends PageParam {
|
||||||
|
no?: string
|
||||||
|
name?: string
|
||||||
|
shortName?: string
|
||||||
|
status?: number
|
||||||
|
remark?: string
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MerchantExportReqVO {
|
||||||
|
no?: string
|
||||||
|
name?: string
|
||||||
|
shortName?: string
|
||||||
|
status?: number
|
||||||
|
remark?: string
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表支付商户
|
||||||
|
export const getMerchantPage = (params: MerchantPageReqVO) => {
|
||||||
|
return request.get({ url: '/pay/merchant/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询详情支付商户
|
||||||
|
export const getMerchant = (id: number) => {
|
||||||
|
return request.get({ url: '/pay/merchant/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据商户名称搜索商户列表
|
||||||
|
export const getMerchantListByName = (name?: string) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/pay/merchant/list-by-name',
|
||||||
|
params: {
|
||||||
|
name: name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增支付商户
|
||||||
|
export const createMerchant = (data: MerchantVO) => {
|
||||||
|
return request.post({ url: '/pay/merchant/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改支付商户
|
||||||
|
export const updateMerchant = (data: MerchantVO) => {
|
||||||
|
return request.put({ url: '/pay/merchant/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除支付商户
|
||||||
|
export const deleteMerchant = (id: number) => {
|
||||||
|
return request.delete({ url: '/pay/merchant/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出支付商户
|
||||||
|
export const exportMerchant = (params: MerchantExportReqVO) => {
|
||||||
|
return request.download({ url: '/pay/merchant/export-excel', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 支付商户状态修改
|
||||||
|
export const updateMerchantStatus = (id: number, status: number) => {
|
||||||
|
const data = {
|
||||||
|
id,
|
||||||
|
status
|
||||||
|
}
|
||||||
|
return request.put({ url: '/pay/merchant/update-status', data: data })
|
||||||
|
}
|
||||||
114
src/api/pay/order/index.ts
Normal file
114
src/api/pay/order/index.ts
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface OrderVO {
|
||||||
|
id: number
|
||||||
|
merchantId: number
|
||||||
|
appId: number
|
||||||
|
channelId: number
|
||||||
|
channelCode: string
|
||||||
|
merchantOrderId: string
|
||||||
|
subject: string
|
||||||
|
body: string
|
||||||
|
notifyUrl: string
|
||||||
|
notifyStatus: number
|
||||||
|
amount: number
|
||||||
|
channelFeeRate: number
|
||||||
|
channelFeeAmount: number
|
||||||
|
status: number
|
||||||
|
userIp: string
|
||||||
|
expireTime: Date
|
||||||
|
successTime: Date
|
||||||
|
notifyTime: Date
|
||||||
|
successExtensionId: number
|
||||||
|
refundStatus: number
|
||||||
|
refundTimes: number
|
||||||
|
refundAmount: number
|
||||||
|
channelUserId: string
|
||||||
|
channelOrderNo: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OrderPageReqVO extends PageParam {
|
||||||
|
merchantId?: number
|
||||||
|
appId?: number
|
||||||
|
channelId?: number
|
||||||
|
channelCode?: string
|
||||||
|
merchantOrderId?: string
|
||||||
|
subject?: string
|
||||||
|
body?: string
|
||||||
|
notifyUrl?: string
|
||||||
|
notifyStatus?: number
|
||||||
|
amount?: number
|
||||||
|
channelFeeRate?: number
|
||||||
|
channelFeeAmount?: number
|
||||||
|
status?: number
|
||||||
|
expireTime?: Date[]
|
||||||
|
successTime?: Date[]
|
||||||
|
notifyTime?: Date[]
|
||||||
|
successExtensionId?: number
|
||||||
|
refundStatus?: number
|
||||||
|
refundTimes?: number
|
||||||
|
channelUserId?: string
|
||||||
|
channelOrderNo?: string
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OrderExportReqVO {
|
||||||
|
merchantId?: number
|
||||||
|
appId?: number
|
||||||
|
channelId?: number
|
||||||
|
channelCode?: string
|
||||||
|
merchantOrderId?: string
|
||||||
|
subject?: string
|
||||||
|
body?: string
|
||||||
|
notifyUrl?: string
|
||||||
|
notifyStatus?: number
|
||||||
|
amount?: number
|
||||||
|
channelFeeRate?: number
|
||||||
|
channelFeeAmount?: number
|
||||||
|
status?: number
|
||||||
|
expireTime?: Date[]
|
||||||
|
successTime?: Date[]
|
||||||
|
notifyTime?: Date[]
|
||||||
|
successExtensionId?: number
|
||||||
|
refundStatus?: number
|
||||||
|
refundTimes?: number
|
||||||
|
channelUserId?: string
|
||||||
|
channelOrderNo?: string
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表支付订单
|
||||||
|
export const getOrderPage = async (params: OrderPageReqVO) => {
|
||||||
|
return await request.get({ url: '/pay/order/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询详情支付订单
|
||||||
|
export const getOrder = async (id: number) => {
|
||||||
|
return await request.get({ url: '/pay/order/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得支付订单的明细
|
||||||
|
export const getOrderDetail = async (id: number) => {
|
||||||
|
return await request.get({ url: '/pay/order/get-detail?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增支付订单
|
||||||
|
export const createOrder = async (data: OrderVO) => {
|
||||||
|
return await request.post({ url: '/pay/order/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改支付订单
|
||||||
|
export const updateOrder = async (data: OrderVO) => {
|
||||||
|
return await request.put({ url: '/pay/order/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除支付订单
|
||||||
|
export const deleteOrder = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/pay/order/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出支付订单
|
||||||
|
export const exportOrder = async (params: OrderExportReqVO) => {
|
||||||
|
return await request.download({ url: '/pay/order/export-excel', params })
|
||||||
|
}
|
||||||
116
src/api/pay/refund/index.ts
Normal file
116
src/api/pay/refund/index.ts
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface RefundVO {
|
||||||
|
id: number
|
||||||
|
merchantId: number
|
||||||
|
appId: number
|
||||||
|
channelId: number
|
||||||
|
channelCode: string
|
||||||
|
orderId: string
|
||||||
|
tradeNo: string
|
||||||
|
merchantOrderId: string
|
||||||
|
merchantRefundNo: string
|
||||||
|
notifyUrl: string
|
||||||
|
notifyStatus: number
|
||||||
|
status: number
|
||||||
|
type: number
|
||||||
|
payAmount: number
|
||||||
|
refundAmount: number
|
||||||
|
reason: string
|
||||||
|
userIp: string
|
||||||
|
channelOrderNo: string
|
||||||
|
channelRefundNo: string
|
||||||
|
channelErrorCode: string
|
||||||
|
channelErrorMsg: string
|
||||||
|
channelExtras: string
|
||||||
|
expireTime: Date
|
||||||
|
successTime: Date
|
||||||
|
notifyTime: Date
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RefundPageReqVO extends PageParam {
|
||||||
|
merchantId?: number
|
||||||
|
appId?: number
|
||||||
|
channelId?: number
|
||||||
|
channelCode?: string
|
||||||
|
orderId?: string
|
||||||
|
tradeNo?: string
|
||||||
|
merchantOrderId?: string
|
||||||
|
merchantRefundNo?: string
|
||||||
|
notifyUrl?: string
|
||||||
|
notifyStatus?: number
|
||||||
|
status?: number
|
||||||
|
type?: number
|
||||||
|
payAmount?: number
|
||||||
|
refundAmount?: number
|
||||||
|
reason?: string
|
||||||
|
userIp?: string
|
||||||
|
channelOrderNo?: string
|
||||||
|
channelRefundNo?: string
|
||||||
|
channelErrorCode?: string
|
||||||
|
channelErrorMsg?: string
|
||||||
|
channelExtras?: string
|
||||||
|
expireTime?: Date[]
|
||||||
|
successTime?: Date[]
|
||||||
|
notifyTime?: Date[]
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PayRefundExportReqVO {
|
||||||
|
merchantId?: number
|
||||||
|
appId?: number
|
||||||
|
channelId?: number
|
||||||
|
channelCode?: string
|
||||||
|
orderId?: string
|
||||||
|
tradeNo?: string
|
||||||
|
merchantOrderId?: string
|
||||||
|
merchantRefundNo?: string
|
||||||
|
notifyUrl?: string
|
||||||
|
notifyStatus?: number
|
||||||
|
status?: number
|
||||||
|
type?: number
|
||||||
|
payAmount?: number
|
||||||
|
refundAmount?: number
|
||||||
|
reason?: string
|
||||||
|
userIp?: string
|
||||||
|
channelOrderNo?: string
|
||||||
|
channelRefundNo?: string
|
||||||
|
channelErrorCode?: string
|
||||||
|
channelErrorMsg?: string
|
||||||
|
channelExtras?: string
|
||||||
|
expireTime?: Date[]
|
||||||
|
successTime?: Date[]
|
||||||
|
notifyTime?: Date[]
|
||||||
|
createTime?: Date[]
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表退款订单
|
||||||
|
export const getRefundPage = (params: RefundPageReqVO) => {
|
||||||
|
return request.get({ url: '/pay/refund/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询详情退款订单
|
||||||
|
export const getRefund = (id: number) => {
|
||||||
|
return request.get({ url: '/pay/refund/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增退款订单
|
||||||
|
export const createRefund = (data: RefundVO) => {
|
||||||
|
return request.post({ url: '/pay/refund/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改退款订单
|
||||||
|
export const updateRefund = (data: RefundVO) => {
|
||||||
|
return request.put({ url: '/pay/refund/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除退款订单
|
||||||
|
export const deleteRefund = (id: number) => {
|
||||||
|
return request.delete({ url: '/pay/refund/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出退款订单
|
||||||
|
export const exportRefund = (params: PayRefundExportReqVO) => {
|
||||||
|
return request.download({ url: '/pay/refund/export-excel', params })
|
||||||
|
}
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询列表-分页
|
|
||||||
export const getClassTypePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-class-type/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getClassTypeList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-class-type/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getClassType = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-class-type/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createClassType = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/sch-class-type/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updateClassType = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/sch-class-type/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteClassType = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/sch-class-type/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改状态
|
|
||||||
export const updateClassTypeStatus = async (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/sch-class-type/status/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 批量修改状态
|
|
||||||
export const batchUpdateClassTypeStatus = async (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/sch-class-type/status/batch-update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 批量删除
|
|
||||||
export const batchDeleteClassType = async (ids) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/sch-class-type/batch-delete?ids=' + ids })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取提成结算参数
|
|
||||||
export const getCommissionParams = async () => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-class-type/get-percentage-param' })
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询列表-分页
|
|
||||||
export const getPlacePage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-place/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询列表-不分页
|
|
||||||
export const getPlaceList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-place/list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getPlace = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-place/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createPlace = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/sch-place/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updatePlace = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/sch-place/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deletePlace = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/sch-place/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const updatePlaceStatus = async (placeId, status) => {
|
|
||||||
const data = {
|
|
||||||
placeId,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/admin-api/crm/sch-place/status/update', data: data })
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
// 查询列表
|
|
||||||
export const getSchoolPage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-school/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getSchool = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/sch-school/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createSchool = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/sch-school/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updateSchool = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/sch-school/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteSchool = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/sch-school/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const updateSchoolStatus = async (schoolId, status) => {
|
|
||||||
const data = {
|
|
||||||
schoolId,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/admin-api/crm/sch-school/status/update', data: data })
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
// 查询列表
|
|
||||||
export const getAreaPage = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/area/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getAreaSimpleList = async (params) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/area/simple-list', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询详情
|
|
||||||
export const getArea = async (id) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/area/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增
|
|
||||||
export const createArea = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/crm/area/create',
|
|
||||||
data: data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改
|
|
||||||
export const updateArea = async (params) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/area/update', data: params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除
|
|
||||||
export const deleteArea = async (id) => {
|
|
||||||
return await request.delete({ url: '/admin-api/crm/area/delete?id=' + id })
|
|
||||||
}
|
|
||||||
19
src/api/system/area/index.ts
Normal file
19
src/api/system/area/index.ts
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得地区树
|
||||||
|
export const getAreaTree = async () => {
|
||||||
|
return await request.get({ url: '/system/area/tree' })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getChildrenArea = async (id: number) => {
|
||||||
|
return await request.get({ url: '/system/area/get-children?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getAreaListByIds = async (ids) => {
|
||||||
|
return await request.get({ url: '/system/area/get-by-ids?ids=' + ids })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得 IP 对应的地区名
|
||||||
|
export const getAreaByIp = async (ip: string) => {
|
||||||
|
return await request.get({ url: '/system/area/get-by-ip?ip=' + ip })
|
||||||
|
}
|
||||||
@@ -14,40 +14,30 @@ export interface DeptVO {
|
|||||||
|
|
||||||
// 查询部门(精简)列表
|
// 查询部门(精简)列表
|
||||||
export const getSimpleDeptList = async (): Promise<DeptVO[]> => {
|
export const getSimpleDeptList = async (): Promise<DeptVO[]> => {
|
||||||
return await request.get({ url: '/admin-api/system/dept/list-all-simple' })
|
return await request.get({ url: '/system/dept/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询部门列表
|
// 查询部门列表
|
||||||
export const getDeptPage = async (params) => {
|
export const getDeptPage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/admin-api/system/dept/list', params })
|
return await request.get({ url: '/system/dept/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询部门详情
|
// 查询部门详情
|
||||||
export const getDept = async (id: number) => {
|
export const getDept = async (id: number) => {
|
||||||
return await request.get({ url: '/admin-api/system/dept/get?id=' + id })
|
return await request.get({ url: '/system/dept/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增部门
|
// 新增部门
|
||||||
export const createDept = async (data: DeptVO) => {
|
export const createDept = async (data: DeptVO) => {
|
||||||
return await request.post({ url: '/admin-api/system/dept/create', data: data })
|
return await request.post({ url: '/system/dept/create', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改部门
|
// 修改部门
|
||||||
export const updateDept = async (params: DeptVO) => {
|
export const updateDept = async (params: DeptVO) => {
|
||||||
return await request.put({ url: '/admin-api/system/dept/update', data: params })
|
return await request.put({ url: '/system/dept/update', data: params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除部门
|
// 删除部门
|
||||||
export const deleteDept = async (id: number) => {
|
export const deleteDept = async (id: number) => {
|
||||||
return await request.delete({ url: '/admin-api/system/dept/delete?id=' + id })
|
return await request.delete({ url: '/system/dept/delete?id=' + id })
|
||||||
}
|
|
||||||
|
|
||||||
// 获取部门业务指标
|
|
||||||
export const getDeptTarget = async (deptId: number) => {
|
|
||||||
return await request.get({ url: '/admin-api/crm/dept-target/get', params: { deptId } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新部门业务指标
|
|
||||||
export const updateDeptTarget = async (data: any) => {
|
|
||||||
return await request.put({ url: '/admin-api/crm/dept-target/save', data, isSubmitForm: true })
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,40 +15,35 @@ export type DictDataVO = {
|
|||||||
|
|
||||||
// 查询字典数据(精简)列表
|
// 查询字典数据(精简)列表
|
||||||
export const listSimpleDictData = () => {
|
export const listSimpleDictData = () => {
|
||||||
return request.get({ url: '/admin-api/crm/dict-data/simple-list' })
|
return request.get({ url: '/system/dict-data/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典数据列表
|
// 查询字典数据列表
|
||||||
export const getDictDataPage = (params: PageParam) => {
|
export const getDictDataPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/admin-api/crm/dict-data/page', params })
|
return request.get({ url: '/system/dict-data/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典数据详情
|
// 查询字典数据详情
|
||||||
export const getDictData = (id: number) => {
|
export const getDictData = (id: number) => {
|
||||||
return request.get({ url: '/admin-api/crm/dict-data/get?id=' + id })
|
return request.get({ url: '/system/dict-data/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增字典数据
|
// 新增字典数据
|
||||||
export const createDictData = (data: DictDataVO) => {
|
export const createDictData = (data: DictDataVO) => {
|
||||||
return request.post({ url: '/admin-api/crm/dict-data/create', data })
|
return request.post({ url: '/system/dict-data/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改字典数据
|
// 修改字典数据
|
||||||
export const updateDictData = (data: DictDataVO) => {
|
export const updateDictData = (data: DictDataVO) => {
|
||||||
return request.put({ url: '/admin-api/crm/dict-data/update', data })
|
return request.put({ url: '/system/dict-data/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除字典数据
|
// 删除字典数据
|
||||||
export const deleteDictData = (id: number) => {
|
export const deleteDictData = (id: number) => {
|
||||||
return request.delete({ url: '/admin-api/crm/dict-data/delete?id=' + id })
|
return request.delete({ url: '/system/dict-data/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出字典类型数据
|
// 导出字典类型数据
|
||||||
export const exportDictData = (params: any) => {
|
export const exportDictData = (params) => {
|
||||||
return request.get({ url: '/admin-api/crm/dict-data/export', params })
|
return request.get({ url: '/system/dict-data/export', params })
|
||||||
}
|
|
||||||
|
|
||||||
// 获取通用字典数据
|
|
||||||
export const getGeneralSysDictData = (dictType: string) => {
|
|
||||||
return request.get({ url: '/admin-api/system/dict-data/get-by-type', params: { dictType } })
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,34 +11,34 @@ export type DictTypeVO = {
|
|||||||
|
|
||||||
// 查询字典(精简)列表
|
// 查询字典(精简)列表
|
||||||
export const getSimpleDictTypeList = () => {
|
export const getSimpleDictTypeList = () => {
|
||||||
return request.get({ url: '/admin-api/crm/dict-type/list-all-simple' })
|
return request.get({ url: '/system/dict-type/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典列表
|
// 查询字典列表
|
||||||
export const getDictTypePage = (params: PageParam) => {
|
export const getDictTypePage = (params: PageParam) => {
|
||||||
return request.get({ url: '/admin-api/crm/dict-type/page', params })
|
return request.get({ url: '/system/dict-type/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典详情
|
// 查询字典详情
|
||||||
export const getDictType = (id: number) => {
|
export const getDictType = (id: number) => {
|
||||||
return request.get({ url: '/admin-api/crm/dict-type/get?id=' + id })
|
return request.get({ url: '/system/dict-type/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增字典
|
// 新增字典
|
||||||
export const createDictType = (data: DictTypeVO) => {
|
export const createDictType = (data: DictTypeVO) => {
|
||||||
return request.post({ url: '/admin-api/crm/dict-type/create', data })
|
return request.post({ url: '/system/dict-type/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改字典
|
// 修改字典
|
||||||
export const updateDictType = (data: DictTypeVO) => {
|
export const updateDictType = (data: DictTypeVO) => {
|
||||||
return request.put({ url: '/admin-api/crm/dict-type/update', data })
|
return request.put({ url: '/system/dict-type/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除字典
|
// 删除字典
|
||||||
export const deleteDictType = (id: number) => {
|
export const deleteDictType = (id: number) => {
|
||||||
return request.delete({ url: '/admin-api/crm/dict-type/delete?id=' + id })
|
return request.delete({ url: '/system/dict-type/delete?id=' + id })
|
||||||
}
|
}
|
||||||
// 导出字典类型
|
// 导出字典类型
|
||||||
export const exportDictType = (params) => {
|
export const exportDictType = (params) => {
|
||||||
return request.get({ url: '/admin-api/crm/dict-type/export', params })
|
return request.get({ url: '/system/dict-type/export', params })
|
||||||
}
|
}
|
||||||
|
|||||||
40
src/api/system/errorCode/index.ts
Normal file
40
src/api/system/errorCode/index.ts
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface ErrorCodeVO {
|
||||||
|
id: number | undefined
|
||||||
|
type: number
|
||||||
|
applicationName: string
|
||||||
|
code: number | undefined
|
||||||
|
message: string
|
||||||
|
memo: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询错误码列表
|
||||||
|
export const getErrorCodePage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/system/error-code/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询错误码详情
|
||||||
|
export const getErrorCode = (id: number) => {
|
||||||
|
return request.get({ url: '/system/error-code/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增错误码
|
||||||
|
export const createErrorCode = (data: ErrorCodeVO) => {
|
||||||
|
return request.post({ url: '/system/error-code/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改错误码
|
||||||
|
export const updateErrorCode = (data: ErrorCodeVO) => {
|
||||||
|
return request.put({ url: '/system/error-code/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除错误码
|
||||||
|
export const deleteErrorCode = (id: number) => {
|
||||||
|
return request.delete({ url: '/system/error-code/delete?id=' + id })
|
||||||
|
}
|
||||||
|
// 导出错误码
|
||||||
|
export const excelErrorCode = (params) => {
|
||||||
|
return request.download({ url: '/system/error-code/export-excel', params })
|
||||||
|
}
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询知识库列表
|
|
||||||
export const getLibraryPage = (params) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/knowledge-lib/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询知识库详情
|
|
||||||
export const getLibrary = (id) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/knowledge-lib/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增知识库
|
|
||||||
export const createLibrary = (data) => {
|
|
||||||
return request.post({ url: '/admin-api/crm/knowledge-lib/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改知识库
|
|
||||||
export const updateLibrary = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/knowledge-lib/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除知识库
|
|
||||||
export const deleteLibrary = (id) => {
|
|
||||||
return request.delete({ url: '/admin-api/crm/knowledge-lib/delete?id=' + id })
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询资源列表
|
|
||||||
export const getResourcePage = (params) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/knowledge-lib-info/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询资源详情
|
|
||||||
export const getResource = (id) => {
|
|
||||||
return request.get({ url: '/admin-api/crm/knowledge-lib-info/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增资源
|
|
||||||
export const createResource = (data) => {
|
|
||||||
return request.post({ url: '/admin-api/crm/knowledge-lib-info/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改资源
|
|
||||||
export const updateResource = (data) => {
|
|
||||||
return request.put({ url: '/admin-api/crm/knowledge-lib-info/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除资源
|
|
||||||
export const deleteResource = (id) => {
|
|
||||||
return request.delete({ url: '/admin-api/crm/knowledge-lib-info/delete?id=' + id })
|
|
||||||
}
|
|
||||||
24
src/api/system/loginLog/index.ts
Normal file
24
src/api/system/loginLog/index.ts
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface LoginLogVO {
|
||||||
|
id: number
|
||||||
|
logType: number
|
||||||
|
traceId: number
|
||||||
|
userId: number
|
||||||
|
userType: number
|
||||||
|
username: string
|
||||||
|
status: number
|
||||||
|
userIp: string
|
||||||
|
userAgent: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询登录日志列表
|
||||||
|
export const getLoginLogPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/system/login-log/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出登录日志
|
||||||
|
export const exportLoginLog = (params) => {
|
||||||
|
return request.download({ url: '/system/login-log/export', params })
|
||||||
|
}
|
||||||
41
src/api/system/mail/account/index.ts
Normal file
41
src/api/system/mail/account/index.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface MailAccountVO {
|
||||||
|
id: number
|
||||||
|
mail: string
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
host: string
|
||||||
|
port: number
|
||||||
|
sslEnable: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询邮箱账号列表
|
||||||
|
export const getMailAccountPage = async (params: PageParam) => {
|
||||||
|
return await request.get({ url: '/system/mail-account/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询邮箱账号详情
|
||||||
|
export const getMailAccount = async (id: number) => {
|
||||||
|
return await request.get({ url: '/system/mail-account/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增邮箱账号
|
||||||
|
export const createMailAccount = async (data: MailAccountVO) => {
|
||||||
|
return await request.post({ url: '/system/mail-account/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改邮箱账号
|
||||||
|
export const updateMailAccount = async (data: MailAccountVO) => {
|
||||||
|
return await request.put({ url: '/system/mail-account/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除邮箱账号
|
||||||
|
export const deleteMailAccount = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/system/mail-account/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得邮箱账号精简列表
|
||||||
|
export const getSimpleMailAccountList = async () => {
|
||||||
|
return request.get({ url: '/system/mail-account/list-all-simple' })
|
||||||
|
}
|
||||||
30
src/api/system/mail/log/index.ts
Normal file
30
src/api/system/mail/log/index.ts
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface MailLogVO {
|
||||||
|
id: number
|
||||||
|
userId: number
|
||||||
|
userType: number
|
||||||
|
toMail: string
|
||||||
|
accountId: number
|
||||||
|
fromMail: string
|
||||||
|
templateId: number
|
||||||
|
templateCode: string
|
||||||
|
templateNickname: string
|
||||||
|
templateTitle: string
|
||||||
|
templateContent: string
|
||||||
|
templateParams: string
|
||||||
|
sendStatus: number
|
||||||
|
sendTime: Date
|
||||||
|
sendMessageId: string
|
||||||
|
sendException: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询邮件日志列表
|
||||||
|
export const getMailLogPage = async (params: PageParam) => {
|
||||||
|
return await request.get({ url: '/system/mail-log/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询邮件日志详情
|
||||||
|
export const getMailLog = async (id: number) => {
|
||||||
|
return await request.get({ url: '/system/mail-log/get?id=' + id })
|
||||||
|
}
|
||||||
50
src/api/system/mail/template/index.ts
Normal file
50
src/api/system/mail/template/index.ts
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface MailTemplateVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
code: string
|
||||||
|
accountId: number
|
||||||
|
nickname: string
|
||||||
|
title: string
|
||||||
|
content: string
|
||||||
|
params: string
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MailSendReqVO {
|
||||||
|
mail: string
|
||||||
|
templateCode: string
|
||||||
|
templateParams: Map<String, Object>
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询邮件模版列表
|
||||||
|
export const getMailTemplatePage = async (params: PageParam) => {
|
||||||
|
return await request.get({ url: '/system/mail-template/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询邮件模版详情
|
||||||
|
export const getMailTemplate = async (id: number) => {
|
||||||
|
return await request.get({ url: '/system/mail-template/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增邮件模版
|
||||||
|
export const createMailTemplate = async (data: MailTemplateVO) => {
|
||||||
|
return await request.post({ url: '/system/mail-template/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改邮件模版
|
||||||
|
export const updateMailTemplate = async (data: MailTemplateVO) => {
|
||||||
|
return await request.put({ url: '/system/mail-template/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除邮件模版
|
||||||
|
export const deleteMailTemplate = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/system/mail-template/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送邮件
|
||||||
|
export const sendMail = (data: MailSendReqVO) => {
|
||||||
|
return request.post({ url: '/system/mail-template/send-mail', data })
|
||||||
|
}
|
||||||
@@ -17,36 +17,33 @@ export interface MenuVO {
|
|||||||
alwaysShow?: boolean
|
alwaysShow?: boolean
|
||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
// 获取服务列表
|
|
||||||
export const getServiceAppList = () => {
|
|
||||||
return request.get({ url: '/admin-api/system/service/list' })
|
|
||||||
}
|
|
||||||
// 查询菜单(精简)列表
|
// 查询菜单(精简)列表
|
||||||
export const getSimpleMenusList = () => {
|
export const getSimpleMenusList = () => {
|
||||||
return request.get({ url: '/admin-api/system/menu/list-all-simple' })
|
return request.get({ url: '/system/menu/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询菜单列表
|
// 查询菜单列表
|
||||||
export const getMenuList = (params) => {
|
export const getMenuList = (params) => {
|
||||||
return request.get({ url: '/admin-api/system/menu/list', params })
|
return request.get({ url: '/system/menu/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取菜单详情
|
// 获取菜单详情
|
||||||
export const getMenu = (id: number) => {
|
export const getMenu = (id: number) => {
|
||||||
return request.get({ url: '/admin-api/system/menu/get?id=' + id })
|
return request.get({ url: '/system/menu/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增菜单
|
// 新增菜单
|
||||||
export const createMenu = (data: MenuVO) => {
|
export const createMenu = (data: MenuVO) => {
|
||||||
return request.post({ url: '/admin-api/system/menu/create', data })
|
return request.post({ url: '/system/menu/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改菜单
|
// 修改菜单
|
||||||
export const updateMenu = (data: MenuVO) => {
|
export const updateMenu = (data: MenuVO) => {
|
||||||
return request.put({ url: '/admin-api/system/menu/update', data })
|
return request.put({ url: '/system/menu/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除菜单
|
// 删除菜单
|
||||||
export const deleteMenu = (id: number) => {
|
export const deleteMenu = (id: number) => {
|
||||||
return request.delete({ url: '/admin-api/system/menu/delete?id=' + id })
|
return request.delete({ url: '/system/menu/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|||||||
37
src/api/system/notice/index.ts
Normal file
37
src/api/system/notice/index.ts
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface NoticeVO {
|
||||||
|
id: number | undefined
|
||||||
|
title: string
|
||||||
|
type: number
|
||||||
|
content: string
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
creator: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询公告列表
|
||||||
|
export const getNoticePage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/system/notice/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询公告详情
|
||||||
|
export const getNotice = (id: number) => {
|
||||||
|
return request.get({ url: '/system/notice/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增公告
|
||||||
|
export const createNotice = (data: NoticeVO) => {
|
||||||
|
return request.post({ url: '/system/notice/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改公告
|
||||||
|
export const updateNotice = (data: NoticeVO) => {
|
||||||
|
return request.put({ url: '/system/notice/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公告
|
||||||
|
export const deleteNotice = (id: number) => {
|
||||||
|
return request.delete({ url: '/system/notice/delete?id=' + id })
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
import qs from 'qs'
|
||||||
|
|
||||||
export interface NotifyMessageVO {
|
export interface NotifyMessageVO {
|
||||||
id: number
|
id: number
|
||||||
@@ -15,39 +16,33 @@ export interface NotifyMessageVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询站内信消息列表
|
// 查询站内信消息列表
|
||||||
export const getNotifyMessagePage = async (params: any) => {
|
export const getNotifyMessagePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/admin-api/system/notify-message/page', params })
|
return await request.get({ url: '/system/notify-message/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得我的站内信分页
|
// 获得我的站内信分页
|
||||||
export const getMyNotifyMessagePage = async (params: any) => {
|
export const getMyNotifyMessagePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/admin-api/system/notify-message/my-page', params })
|
return await request.get({ url: '/system/notify-message/my-page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 批量标记已读
|
// 批量标记已读
|
||||||
export const updateNotifyMessageRead = async (data: any) => {
|
export const updateNotifyMessageRead = async (ids) => {
|
||||||
return await request.put({
|
return await request.put({
|
||||||
url: '/admin-api/system/notify-message/update-read?',
|
url: '/system/notify-message/update-read?' + qs.stringify({ ids: ids }, { indices: false })
|
||||||
data
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 标记所有站内信为已读
|
// 标记所有站内信为已读
|
||||||
export const updateAllNotifyMessageRead = async (data: any) => {
|
export const updateAllNotifyMessageRead = async () => {
|
||||||
return await request.put({ url: '/admin-api/system/notify-message/update-all-read', data })
|
return await request.put({ url: '/system/notify-message/update-all-read' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取当前用户的最新站内信列表
|
// 获取当前用户的最新站内信列表
|
||||||
export const getUnreadNotifyMessageList = async (params: any) => {
|
export const getUnreadNotifyMessageList = async () => {
|
||||||
return await request.get({ url: '/admin-api/system/notify-message/get-unread-list', params })
|
return await request.get({ url: '/system/notify-message/get-unread-list' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得当前用户的未读站内信数量
|
// 获得当前用户的未读站内信数量
|
||||||
export const getUnreadNotifyMessageCount = async (params: any) => {
|
export const getUnreadNotifyMessageCount = async () => {
|
||||||
return await request.get({ url: '/admin-api/system/notify-message/get-unread-count', params })
|
return await request.get({ url: '/system/notify-message/get-unread-count' })
|
||||||
}
|
|
||||||
|
|
||||||
// 获取详情
|
|
||||||
export const getNotifyMessageDetail = async (id: number) => {
|
|
||||||
return await request.get({ url: '/admin-api/system/notify-message/get', params: { id } })
|
|
||||||
}
|
}
|
||||||
|
|||||||
47
src/api/system/oauth2/client.ts
Normal file
47
src/api/system/oauth2/client.ts
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface OAuth2ClientVO {
|
||||||
|
id: number
|
||||||
|
clientId: string
|
||||||
|
secret: string
|
||||||
|
name: string
|
||||||
|
logo: string
|
||||||
|
description: string
|
||||||
|
status: number
|
||||||
|
accessTokenValiditySeconds: number
|
||||||
|
refreshTokenValiditySeconds: number
|
||||||
|
redirectUris: string[]
|
||||||
|
autoApprove: boolean
|
||||||
|
authorizedGrantTypes: string[]
|
||||||
|
scopes: string[]
|
||||||
|
authorities: string[]
|
||||||
|
resourceIds: string[]
|
||||||
|
additionalInformation: string
|
||||||
|
isAdditionalInformationJson: boolean
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询 OAuth2 客户端的列表
|
||||||
|
export const getOAuth2ClientPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/system/oauth2-client/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询 OAuth2 客户端的详情
|
||||||
|
export const getOAuth2Client = (id: number) => {
|
||||||
|
return request.get({ url: '/system/oauth2-client/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增 OAuth2 客户端
|
||||||
|
export const createOAuth2Client = (data: OAuth2ClientVO) => {
|
||||||
|
return request.post({ url: '/system/oauth2-client/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改 OAuth2 客户端
|
||||||
|
export const updateOAuth2Client = (data: OAuth2ClientVO) => {
|
||||||
|
return request.put({ url: '/system/oauth2-client/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除 OAuth2
|
||||||
|
export const deleteOAuth2Client = (id: number) => {
|
||||||
|
return request.delete({ url: '/system/oauth2-client/delete?id=' + id })
|
||||||
|
}
|
||||||
22
src/api/system/oauth2/token.ts
Normal file
22
src/api/system/oauth2/token.ts
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface OAuth2TokenVO {
|
||||||
|
id: number
|
||||||
|
accessToken: string
|
||||||
|
refreshToken: string
|
||||||
|
userId: number
|
||||||
|
userType: number
|
||||||
|
clientId: string
|
||||||
|
createTime: Date
|
||||||
|
expiresTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询 token列表
|
||||||
|
export const getAccessTokenPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/system/oauth2-token/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除 token
|
||||||
|
export const deleteAccessToken = (accessToken: string) => {
|
||||||
|
return request.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken })
|
||||||
|
}
|
||||||
33
src/api/system/operatelog/index.ts
Normal file
33
src/api/system/operatelog/index.ts
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type OperateLogVO = {
|
||||||
|
id: number
|
||||||
|
userNickname: string
|
||||||
|
traceId: string
|
||||||
|
userId: number
|
||||||
|
module: string
|
||||||
|
name: string
|
||||||
|
type: number
|
||||||
|
content: string
|
||||||
|
exts: Map<String, Object>
|
||||||
|
requestMethod: string
|
||||||
|
requestUrl: string
|
||||||
|
userIp: string
|
||||||
|
userAgent: string
|
||||||
|
javaMethod: string
|
||||||
|
javaMethodArgs: string
|
||||||
|
startTime: Date
|
||||||
|
duration: number
|
||||||
|
resultCode: number
|
||||||
|
resultMsg: string
|
||||||
|
resultData: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询操作日志列表
|
||||||
|
export const getOperateLogPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/system/operate-log/page', params })
|
||||||
|
}
|
||||||
|
// 导出操作日志
|
||||||
|
export const exportOperateLog = (params) => {
|
||||||
|
return request.download({ url: '/system/operate-log/export', params })
|
||||||
|
}
|
||||||
@@ -18,25 +18,25 @@ export interface PermissionAssignRoleDataScopeReqVO {
|
|||||||
|
|
||||||
// 查询角色拥有的菜单权限
|
// 查询角色拥有的菜单权限
|
||||||
export const getRoleMenuList = async (roleId: number) => {
|
export const getRoleMenuList = async (roleId: number) => {
|
||||||
return await request.get({ url: '/admin-api/system/permission/list-role-menus?roleId=' + roleId })
|
return await request.get({ url: '/system/permission/list-role-resources?roleId=' + roleId })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 赋予角色菜单权限
|
// 赋予角色菜单权限
|
||||||
export const assignRoleMenu = async (data: PermissionAssignRoleMenuReqVO) => {
|
export const assignRoleMenu = async (data: PermissionAssignRoleMenuReqVO) => {
|
||||||
return await request.post({ url: '/admin-api/system/permission/assign-role-menu', data })
|
return await request.post({ url: '/system/permission/assign-role-menu', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 赋予角色数据权限
|
// 赋予角色数据权限
|
||||||
export const assignRoleDataScope = async (data: PermissionAssignRoleDataScopeReqVO) => {
|
export const assignRoleDataScope = async (data: PermissionAssignRoleDataScopeReqVO) => {
|
||||||
return await request.post({ url: '/admin-api/system/permission/assign-role-data-scope', data })
|
return await request.post({ url: '/system/permission/assign-role-data-scope', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询用户拥有的角色数组
|
// 查询用户拥有的角色数组
|
||||||
export const getUserRoleList = async (userId: number) => {
|
export const getUserRoleList = async (userId: number) => {
|
||||||
return await request.get({ url: '/admin-api/system/permission/list-user-roles?userId=' + userId })
|
return await request.get({ url: '/system/permission/list-user-roles?userId=' + userId })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 赋予用户角色
|
// 赋予用户角色
|
||||||
export const assignUserRole = async (data: PermissionAssignUserRoleReqVO) => {
|
export const assignUserRole = async (data: PermissionAssignUserRoleReqVO) => {
|
||||||
return await request.post({ url: '/admin-api/system/permission/assign-user-role', data })
|
return await request.post({ url: '/system/permission/assign-user-role', data })
|
||||||
}
|
}
|
||||||
|
|||||||
46
src/api/system/post/index.ts
Normal file
46
src/api/system/post/index.ts
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface PostVO {
|
||||||
|
id?: number
|
||||||
|
name: string
|
||||||
|
code: string
|
||||||
|
sort: number
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime?: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询岗位列表
|
||||||
|
export const getPostPage = async (params: PageParam) => {
|
||||||
|
return await request.get({ url: '/system/post/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取岗位精简信息列表
|
||||||
|
export const getSimplePostList = async (): Promise<PostVO[]> => {
|
||||||
|
return await request.get({ url: '/system/post/list-all-simple' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询岗位详情
|
||||||
|
export const getPost = async (id: number) => {
|
||||||
|
return await request.get({ url: '/system/post/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增岗位
|
||||||
|
export const createPost = async (data: PostVO) => {
|
||||||
|
return await request.post({ url: '/system/post/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改岗位
|
||||||
|
export const updatePost = async (data: PostVO) => {
|
||||||
|
return await request.put({ url: '/system/post/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除岗位
|
||||||
|
export const deletePost = async (id: number) => {
|
||||||
|
return await request.delete({ url: '/system/post/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出岗位
|
||||||
|
export const exportPost = async (params) => {
|
||||||
|
return await request.download({ url: '/system/post/export', params })
|
||||||
|
}
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 获取角色快报配置
|
|
||||||
export const getRoleDaliyReport = async (roleId) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/admin-api/system/role-message-setting/get',
|
|
||||||
params: { roleId }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 保存角色每日快报配置
|
|
||||||
export const updateRoleDaliyReport = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/admin-api/system/role-message-setting/save',
|
|
||||||
data,
|
|
||||||
isSubmitForm: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取每日快报发送内容
|
|
||||||
export const getDaliyReportContent = async () => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/admin-api/system/message-item/list-all-simple'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@@ -19,35 +19,43 @@ export interface UpdateStatusReqVO {
|
|||||||
|
|
||||||
// 查询角色列表
|
// 查询角色列表
|
||||||
export const getRolePage = async (params: PageParam) => {
|
export const getRolePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/admin-api/system/role/page', params })
|
return await request.get({ url: '/system/role/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询角色(精简)列表
|
// 查询角色(精简)列表
|
||||||
export const getSimpleRoleList = async () => {
|
export const getSimpleRoleList = async (): Promise<RoleVO[]> => {
|
||||||
return await request.get({ url: '/admin-api/system/role/list-all-simple' })
|
return await request.get({ url: '/system/role/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询角色详情
|
// 查询角色详情
|
||||||
export const getRole = async (id: number) => {
|
export const getRole = async (id: number) => {
|
||||||
return await request.get({ url: '/admin-api/system/role/get?id=' + id })
|
return await request.get({ url: '/system/role/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增角色
|
// 新增角色
|
||||||
export const createRole = async (data: RoleVO) => {
|
export const createRole = async (data: RoleVO) => {
|
||||||
return await request.post({ url: '/admin-api/system/role/create', data })
|
return await request.post({ url: '/system/role/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改角色
|
// 修改角色
|
||||||
export const updateRole = async (data: RoleVO) => {
|
export const updateRole = async (data: RoleVO) => {
|
||||||
return await request.put({ url: '/admin-api/system/role/update', data })
|
return await request.put({ url: '/system/role/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改角色状态
|
||||||
|
export const updateRoleStatus = async (data: UpdateStatusReqVO) => {
|
||||||
|
return await request.put({ url: '/system/role/update-status', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除角色
|
// 删除角色
|
||||||
export const deleteRole = async (id: number) => {
|
export const deleteRole = async (id: number) => {
|
||||||
return await request.delete({ url: '/admin-api/system/role/delete?id=' + id })
|
return await request.delete({ url: '/system/role/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 角色用户
|
// 导出角色
|
||||||
export const getRoleUsers = async (params) => {
|
export const exportRole = (params) => {
|
||||||
return await request.get({ url: '/admin-api/system/role/getUserByRole', params })
|
return request.download({
|
||||||
|
url: '/system/role/export-excel',
|
||||||
|
params
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
58
src/api/system/sensitiveWord/index.ts
Normal file
58
src/api/system/sensitiveWord/index.ts
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
import qs from 'qs'
|
||||||
|
|
||||||
|
export interface SensitiveWordVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
status: number
|
||||||
|
description: string
|
||||||
|
tags: string[]
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SensitiveWordTestReqVO {
|
||||||
|
text: string
|
||||||
|
tag: string[]
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询敏感词列表
|
||||||
|
export const getSensitiveWordPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/system/sensitive-word/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询敏感词详情
|
||||||
|
export const getSensitiveWord = (id: number) => {
|
||||||
|
return request.get({ url: '/system/sensitive-word/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增敏感词
|
||||||
|
export const createSensitiveWord = (data: SensitiveWordVO) => {
|
||||||
|
return request.post({ url: '/system/sensitive-word/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改敏感词
|
||||||
|
export const updateSensitiveWord = (data: SensitiveWordVO) => {
|
||||||
|
return request.put({ url: '/system/sensitive-word/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除敏感词
|
||||||
|
export const deleteSensitiveWord = (id: number) => {
|
||||||
|
return request.delete({ url: '/system/sensitive-word/delete?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出敏感词
|
||||||
|
export const exportSensitiveWord = (params) => {
|
||||||
|
return request.download({ url: '/system/sensitive-word/export-excel', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取所有敏感词的标签数组
|
||||||
|
export const getSensitiveWordTagList = () => {
|
||||||
|
return request.get({ url: '/system/sensitive-word/get-tags' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得文本所包含的不合法的敏感词数组
|
||||||
|
export const validateText = (query: SensitiveWordTestReqVO) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/system/sensitive-word/validate-text?' + qs.stringify(query, { arrayFormat: 'repeat' })
|
||||||
|
})
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user