Compare commits
353 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
610f471c16 | 2 days ago |
|
|
bb4451860e | 3 days ago |
|
|
f33182e7e6 | 3 days ago |
|
|
9da8853f93 | 3 days ago |
|
|
66855e95ac | 3 days ago |
|
|
eadf999220 | 3 days ago |
|
|
d4736907b1 | 3 days ago |
|
|
6a12257073 | 3 days ago |
|
|
a63726e9a5 | 3 days ago |
|
|
27302369a9 | 3 days ago |
|
|
d29171e1d5 | 3 days ago |
|
|
813b2db7f7 | 3 days ago |
|
|
44ca9e458c | 4 days ago |
|
|
806c733a66 | 4 days ago |
|
|
a2f06cfa13 | 4 days ago |
|
|
fbe414d563 | 4 days ago |
|
|
c7febab9db | 4 days ago |
|
|
da25b84dbb | 4 days ago |
|
|
52e9f0ef9e | 4 days ago |
|
|
d4b2427547 | 4 days ago |
|
|
26b59f9ad2 | 4 days ago |
|
|
ba0cfccff9 | 4 days ago |
|
|
ceb8b3fdb9 | 4 days ago |
|
|
29e0d17d60 | 4 days ago |
|
|
7c6db656b0 | 5 days ago |
|
|
f907d1da6e | 5 days ago |
|
|
d668fe1621 | 5 days ago |
|
|
3647f12c81 | 5 days ago |
|
|
4fc2af2444 | 5 days ago |
|
|
2d678580cb | 5 days ago |
|
|
b27e5324bc | 5 days ago |
|
|
6437c0c408 | 5 days ago |
|
|
8a2e5d9104 | 5 days ago |
|
|
8525e25d73 | 5 days ago |
|
|
82b7e62baf | 5 days ago |
|
|
fb08302aa9 | 5 days ago |
|
|
9936bdb0d3 | 5 days ago |
|
|
79d86d6476 | 5 days ago |
|
|
c9a9af0bf7 | 5 days ago |
|
|
c853bdbe55 | 6 days ago |
|
|
1a3e648dbc | 6 days ago |
|
|
4ba131c4a3 | 6 days ago |
|
|
420b16bd16 | 6 days ago |
|
|
075dc313ab | 6 days ago |
|
|
f7942a158f | 6 days ago |
|
|
23bbfab52b | 6 days ago |
|
|
6fa3bafb17 | 6 days ago |
|
|
e575de7b3b | 6 days ago |
|
|
d00e0da6c1 | 6 days ago |
|
|
e9ee3946ed | 6 days ago |
|
|
d63eb8ed24 | 6 days ago |
|
|
06bfe6c071 | 6 days ago |
|
|
b5a5f6e4c3 | 6 days ago |
|
|
aa0eca7ede | 6 days ago |
|
|
2b905e8749 | 7 days ago |
|
|
5091775bc4 | 7 days ago |
|
|
f0768cc63d | 7 days ago |
|
|
e348632b5d | 7 days ago |
|
|
3b7496f19d | 7 days ago |
|
|
f05c908a7d | 7 days ago |
|
|
52fdc28ffd | 7 days ago |
|
|
6c30ba975a | 7 days ago |
|
|
19b53cc197 | 7 days ago |
|
|
8d463b8991 | 7 days ago |
|
|
e2e7ee87cc | 7 days ago |
|
|
2523c07593 | 1 week ago |
|
|
116063a695 | 1 week ago |
|
|
f175a06858 | 1 week ago |
|
|
13fa9154b1 | 1 week ago |
|
|
a0fbce7b46 | 1 week ago |
|
|
31eaea90a6 | 1 week ago |
|
|
be4acecfa4 | 1 week ago |
|
|
5fe6bf78cd | 1 week ago |
|
|
2b235d1182 | 1 week ago |
|
|
fc631027e9 | 1 week ago |
|
|
921d00f8c7 | 1 week ago |
|
|
f1f6de879a | 2 weeks ago |
|
|
991e48fa35 | 2 weeks ago |
|
|
7564e21743 | 2 weeks ago |
|
|
5b22b2b692 | 2 weeks ago |
|
|
ca324df262 | 2 weeks ago |
|
|
95453a6436 | 2 weeks ago |
|
|
d07354c9a5 | 2 weeks ago |
|
|
c3e8288b52 | 2 weeks ago |
|
|
34c7dd6397 | 2 weeks ago |
|
|
943a2c5a3a | 2 weeks ago |
|
|
90f8c0c502 | 2 weeks ago |
|
|
4011bd8f39 | 2 weeks ago |
|
|
a90a2f1997 | 2 weeks ago |
|
|
c117dd3e06 | 2 weeks ago |
|
|
9c3a06d622 | 2 weeks ago |
|
|
b0fbb9d3bf | 2 weeks ago |
|
|
0a74505ff6 | 2 weeks ago |
|
|
dd88f540de | 2 weeks ago |
|
|
cd70a2b16c | 2 weeks ago |
|
|
e540fe202a | 2 weeks ago |
|
|
a3ca79dd4d | 2 weeks ago |
|
|
5c66c52cd4 | 2 weeks ago |
|
|
d96ee185fc | 2 weeks ago |
|
|
7620c516b1 | 2 weeks ago |
|
|
5f453af4d2 | 2 weeks ago |
|
|
9c1763dfee | 2 weeks ago |
|
|
f22a5c9a11 | 2 weeks ago |
|
|
4ff26b5195 | 2 weeks ago |
|
|
4b770e6702 | 2 weeks ago |
|
|
036910b86b | 2 weeks ago |
|
|
5c07f054a3 | 2 weeks ago |
|
|
ac7e65cec8 | 2 weeks ago |
|
|
4dd9ba1378 | 2 weeks ago |
|
|
d74f8cf045 | 2 weeks ago |
|
|
c0c701b79f | 2 weeks ago |
|
|
9c9e9b4a86 | 2 weeks ago |
|
|
ec25a0bd96 | 2 weeks ago |
|
|
90876c54a4 | 2 weeks ago |
|
|
8e4a018324 | 2 weeks ago |
|
|
864ce98bb1 | 2 weeks ago |
|
|
6d74957b6e | 2 weeks ago |
|
|
8e24e37673 | 2 weeks ago |
|
|
11c8bd2131 | 2 weeks ago |
|
|
3f33f3f0dd | 2 weeks ago |
|
|
bd3d30608b | 2 weeks ago |
|
|
44ef06fadf | 2 weeks ago |
|
|
d4a4e15084 | 2 weeks ago |
|
|
f508bb7a4b | 2 weeks ago |
|
|
b4460d20ab | 2 weeks ago |
|
|
8e66ad443c | 2 weeks ago |
|
|
de442e9e7e | 2 weeks ago |
|
|
5858aef52a | 2 weeks ago |
|
|
90093ac0c5 | 2 weeks ago |
|
|
692c28f7c5 | 2 weeks ago |
|
|
464d8c0822 | 2 weeks ago |
|
|
09bc7e1305 | 2 weeks ago |
|
|
278360f931 | 3 weeks ago |
|
|
30672dfbc1 | 3 weeks ago |
|
|
a080d9f4c5 | 3 weeks ago |
|
|
06fb8594c5 | 3 weeks ago |
|
|
176f373e0f | 3 weeks ago |
|
|
056862f6c0 | 3 weeks ago |
|
|
44abffdc3e | 3 weeks ago |
|
|
7d3ee0e1dd | 3 weeks ago |
|
|
7c8a2801dc | 3 weeks ago |
|
|
1b2d97e47b | 3 weeks ago |
|
|
bbfdde936d | 3 weeks ago |
|
|
aa0410ec1c | 3 weeks ago |
|
|
ce9529afda | 3 weeks ago |
|
|
beebbcafa1 | 3 weeks ago |
|
|
2280b00ac8 | 3 weeks ago |
|
|
344c9972ad | 3 weeks ago |
|
|
9d94e84150 | 3 weeks ago |
|
|
a14b8a5a27 | 3 weeks ago |
|
|
1f150cb206 | 3 weeks ago |
|
|
351d792de9 | 3 weeks ago |
|
|
a1ed91963d | 3 weeks ago |
|
|
ab99ca64fe | 3 weeks ago |
|
|
648dc3b524 | 3 weeks ago |
|
|
8fcdfcb852 | 3 weeks ago |
|
|
40188f3094 | 3 weeks ago |
|
|
b4bf99db9c | 3 weeks ago |
|
|
9bd3690086 | 3 weeks ago |
|
|
b384644603 | 3 weeks ago |
|
|
490353b811 | 3 weeks ago |
|
|
00b847c33c | 3 weeks ago |
|
|
5b6e868442 | 3 weeks ago |
|
|
75f7c1caed | 3 weeks ago |
|
|
0c82e75577 | 3 weeks ago |
|
|
4056b36c89 | 3 weeks ago |
|
|
550d2a9600 | 3 weeks ago |
|
|
b9e7b5f21c | 3 weeks ago |
|
|
c462ed07d9 | 3 weeks ago |
|
|
b9d89612ef | 3 weeks ago |
|
|
ff48b38e2b | 3 weeks ago |
|
|
6302b615f7 | 4 weeks ago |
|
|
45c70bfc7a | 4 weeks ago |
|
|
25acaea861 | 4 weeks ago |
|
|
b1f7956f0a | 4 weeks ago |
|
|
2bb86f3f64 | 4 weeks ago |
|
|
152899fc5b | 4 weeks ago |
|
|
e6af1598f3 | 4 weeks ago |
|
|
d44dbe3034 | 4 weeks ago |
|
|
b7890af647 | 4 weeks ago |
|
|
68c61dbf81 | 4 weeks ago |
|
|
a536ee7603 | 4 weeks ago |
|
|
047081f55b | 4 weeks ago |
|
|
bba4d46f97 | 4 weeks ago |
|
|
93f38496d6 | 4 weeks ago |
|
|
124083fe5e | 4 weeks ago |
|
|
c01cbad539 | 4 weeks ago |
|
|
0f1bb51d5e | 4 weeks ago |
|
|
f144dc8fc8 | 4 weeks ago |
|
|
1a6b21ea00 | 4 weeks ago |
|
|
0631dd1693 | 4 weeks ago |
|
|
bd2e645ab3 | 4 weeks ago |
|
|
f59c04387a | 4 weeks ago |
|
|
f970ef7daf | 4 weeks ago |
|
|
875b3f2c96 | 4 weeks ago |
|
|
c742219141 | 4 weeks ago |
|
|
03ca612169 | 4 weeks ago |
|
|
37bb01d4b7 | 4 weeks ago |
|
|
62ff9ca57e | 4 weeks ago |
|
|
cdaf1e54df | 4 weeks ago |
|
|
4c1d95010d | 4 weeks ago |
|
|
32acd2f31b | 4 weeks ago |
|
|
9b6536405d | 4 weeks ago |
|
|
165bf88abd | 4 weeks ago |
|
|
160f461cbc | 4 weeks ago |
|
|
a2884443ef | 4 weeks ago |
|
|
470fa694ad | 4 weeks ago |
|
|
8f1eec7073 | 4 weeks ago |
|
|
df07b2a194 | 4 weeks ago |
|
|
49fb01e3b0 | 4 weeks ago |
|
|
93c272565b | 4 weeks ago |
|
|
025b619a35 | 1 month ago |
|
|
a02a7d77a1 | 1 month ago |
|
|
09db2fd3ed | 1 month ago |
|
|
f6d8d8e1cb | 1 month ago |
|
|
af613f3b59 | 1 month ago |
|
|
33608d542d | 1 month ago |
|
|
9fe1307f54 | 1 month ago |
|
|
db0ad5d302 | 1 month ago |
|
|
7a3ea91b4b | 1 month ago |
|
|
02314793c3 | 1 month ago |
|
|
bcf714a7c8 | 1 month ago |
|
|
b6a88bce86 | 1 month ago |
|
|
860aa3c32d | 1 month ago |
|
|
e3e503cf0e | 1 month ago |
|
|
91e803c9a5 | 1 month ago |
|
|
4130b675ae | 1 month ago |
|
|
62d823b4b4 | 1 month ago |
|
|
89c8247f22 | 1 month ago |
|
|
4fb26e2f7c | 1 month ago |
|
|
6596c494de | 1 month ago |
|
|
5302b0f47d | 1 month ago |
|
|
75ab796a09 | 1 month ago |
|
|
c5b8b16d91 | 1 month ago |
|
|
efce40f50f | 1 month ago |
|
|
b12a98ed27 | 1 month ago |
|
|
5e9940478f | 1 month ago |
|
|
990558e59d | 1 month ago |
|
|
66c7674c8f | 1 month ago |
|
|
166bb32c3d | 1 month ago |
|
|
d9921dcfc0 | 1 month ago |
|
|
14c6c0ac50 | 1 month ago |
|
|
19da9193d5 | 1 month ago |
|
|
ae9f2d18aa | 1 month ago |
|
|
2cd2310460 | 1 month ago |
|
|
41cf7bbc29 | 1 month ago |
|
|
8d92aa4f59 | 1 month ago |
|
|
49f810c365 | 1 month ago |
|
|
10e1b25761 | 1 month ago |
|
|
5dce2ad2f3 | 1 month ago |
|
|
6b0ce95093 | 1 month ago |
|
|
d623f79b6a | 1 month ago |
|
|
8772c1303f | 1 month ago |
|
|
f1982f2555 | 1 month ago |
|
|
13019bca0a | 1 month ago |
|
|
2806f9ce44 | 1 month ago |
|
|
6503b17814 | 1 month ago |
|
|
4f16b2a847 | 1 month ago |
|
|
84dc36c5d7 | 1 month ago |
|
|
f7ee7787d2 | 1 month ago |
|
|
152838e14b | 1 month ago |
|
|
e3001c67ba | 1 month ago |
|
|
a049c54d7d | 1 month ago |
|
|
48bceb74d2 | 1 month ago |
|
|
156e532b14 | 1 month ago |
|
|
d9a1b07f07 | 1 month ago |
|
|
73dd73a1f4 | 1 month ago |
|
|
6a47258947 | 1 month ago |
|
|
6be0168ff5 | 1 month ago |
|
|
e12004a43a | 1 month ago |
|
|
a7a57f0c73 | 1 month ago |
|
|
f62a08eaae | 1 month ago |
|
|
2cdf6e377c | 1 month ago |
|
|
4330bbb9ce | 1 month ago |
|
|
9e2bcf038d | 1 month ago |
|
|
0164129b95 | 1 month ago |
|
|
4ee05ff904 | 1 month ago |
|
|
601e22ef86 | 1 month ago |
|
|
c70bae738e | 1 month ago |
|
|
7a1c92ce86 | 1 month ago |
|
|
b8857bb126 | 1 month ago |
|
|
7e606054b0 | 1 month ago |
|
|
8769d1e5af | 1 month ago |
|
|
bc21277e3c | 1 month ago |
|
|
5501c7983e | 1 month ago |
|
|
2e6c78fb11 | 1 month ago |
|
|
49e47512d9 | 1 month ago |
|
|
e80a187986 | 1 month ago |
|
|
4c7abf1c50 | 1 month ago |
|
|
eb64e35f92 | 1 month ago |
|
|
62ca6a1b45 | 1 month ago |
|
|
1f73696db9 | 1 month ago |
|
|
ea8bd96abb | 1 month ago |
|
|
b5caf770ee | 1 month ago |
|
|
13d77d76eb | 1 month ago |
|
|
89968406a5 | 1 month ago |
|
|
87392bbc15 | 1 month ago |
|
|
3c257f3e8a | 1 month ago |
|
|
b8d4cfc7e0 | 1 month ago |
|
|
e6617ceed6 | 1 month ago |
|
|
e1b7550695 | 1 month ago |
|
|
25954461e3 | 1 month ago |
|
|
e2e2bbe383 | 1 month ago |
|
|
04150a392f | 1 month ago |
|
|
45f9df08f0 | 1 month ago |
|
|
69b8379249 | 1 month ago |
|
|
4c98bb463a | 1 month ago |
|
|
057df9cdb9 | 1 month ago |
|
|
f887843d41 | 1 month ago |
|
|
3349593e4e | 1 month ago |
|
|
1f0a8387b1 | 1 month ago |
|
|
19ff5a4775 | 1 month ago |
|
|
e8d0130a17 | 1 month ago |
|
|
951a851d1a | 1 month ago |
|
|
772cbdbb32 | 1 month ago |
|
|
114b499dd0 | 1 month ago |
|
|
57757afe60 | 1 month ago |
|
|
f82a2485a8 | 1 month ago |
|
|
d2f713d260 | 1 month ago |
|
|
35cac74912 | 1 month ago |
|
|
0158dd2be6 | 1 month ago |
|
|
3386ed0b8c | 1 month ago |
|
|
0829d8551d | 1 month ago |
|
|
4902ca4958 | 1 month ago |
|
|
3671db55fc | 1 month ago |
|
|
e7abc6cfc7 | 1 month ago |
|
|
601f852b28 | 1 month ago |
|
|
e35779413c | 1 month ago |
|
|
03327f6581 | 1 month ago |
|
|
97d450e8aa | 1 month ago |
|
|
c70a196ebb | 1 month ago |
|
|
9f44955c5f | 1 month ago |
|
|
e7ff7f128f | 1 month ago |
|
|
cb9387ec5f | 1 month ago |
|
|
7a435e1d2f | 1 month ago |
|
|
4f6bdec21d | 1 month ago |
|
|
157db7551d | 1 month ago |
|
|
6c2e5bc96a | 1 month ago |
|
|
d448a29dac | 1 month ago |
|
|
ca007733bf | 1 month ago |
|
|
39ca00a09c | 1 month ago |
|
|
56a959bdd1 | 1 month ago |
|
|
5c81e130b0 | 1 month ago |
|
|
e1886d0ebb | 2 months ago |
|
|
e4439acc7a | 2 months ago |
|
|
f2c5dac7be | 2 months ago |
|
|
2534340dda | 2 months ago |
|
|
5325880ecb | 2 months ago |
|
|
bae3219146 | 2 months ago |
|
|
bc75b20ab8 | 2 months ago |
|
|
def762ae78 | 2 months ago |
|
|
74088e67d5 | 2 months ago |
|
|
0c7e1a7bce | 2 months ago |
@ -1,53 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// BPM 流程分类 VO
|
|
||||||
export interface CategoryVO {
|
|
||||||
id: number // 分类编号
|
|
||||||
name: string // 分类名
|
|
||||||
code: string // 分类标志
|
|
||||||
status: number // 分类状态
|
|
||||||
sort: number // 分类排序
|
|
||||||
}
|
|
||||||
|
|
||||||
// BPM 流程分类 API
|
|
||||||
export const CategoryApi = {
|
|
||||||
// 查询流程分类分页
|
|
||||||
getCategoryPage: async (params: any) => {
|
|
||||||
return await request.get({ url: `/bpm/category/page`, params })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询流程分类列表
|
|
||||||
getCategorySimpleList: async () => {
|
|
||||||
return await request.get({ url: `/bpm/category/simple-list` })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询流程分类详情
|
|
||||||
getCategory: async (id: number) => {
|
|
||||||
return await request.get({ url: `/bpm/category/get?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增流程分类
|
|
||||||
createCategory: async (data: CategoryVO) => {
|
|
||||||
return await request.post({ url: `/bpm/category/create`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改流程分类
|
|
||||||
updateCategory: async (data: CategoryVO) => {
|
|
||||||
return await request.put({ url: `/bpm/category/update`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 批量修改流程分类的排序
|
|
||||||
updateCategorySortBatch: async (ids: number[]) => {
|
|
||||||
return await request.put({
|
|
||||||
url: `/bpm/category/update-sort-batch`,
|
|
||||||
params: {
|
|
||||||
ids: ids.join(',')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除流程分类
|
|
||||||
deleteCategory: async (id: number) => {
|
|
||||||
return await request.delete({ url: `/bpm/category/delete?id=` + id })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export const getProcessDefinition = async (id?: string, key?: string) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/process-definition/get',
|
|
||||||
params: { id, key }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessDefinitionPage = async (params) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/process-definition/page',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessDefinitionList = async (params) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/process-definition/list',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type FormVO = {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
conf: string
|
|
||||||
fields: string[]
|
|
||||||
status: number
|
|
||||||
remark: string
|
|
||||||
createTime: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建工作流的表单定义
|
|
||||||
export const createForm = async (data: FormVO) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/bpm/form/create',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新工作流的表单定义
|
|
||||||
export const updateForm = async (data: FormVO) => {
|
|
||||||
return await request.put({
|
|
||||||
url: '/bpm/form/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除工作流的表单定义
|
|
||||||
export const deleteForm = async (id: number) => {
|
|
||||||
return await request.delete({
|
|
||||||
url: '/bpm/form/delete?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得工作流的表单定义
|
|
||||||
export const getForm = async (id: number) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/form/get?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得工作流的表单定义分页
|
|
||||||
export const getFormPage = async (params) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/form/page',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得动态表单的精简列表
|
|
||||||
export const getFormSimpleList = async () => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/form/simple-list'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type LeaveVO = {
|
|
||||||
id: number
|
|
||||||
status: number
|
|
||||||
type: number
|
|
||||||
reason: string
|
|
||||||
processInstanceId: string
|
|
||||||
startTime: string
|
|
||||||
endTime: string
|
|
||||||
createTime: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建请假申请
|
|
||||||
export const createLeave = async (data: LeaveVO) => {
|
|
||||||
return await request.post({ url: '/bpm/oa/leave/create', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得请假申请
|
|
||||||
export const getLeave = async (id: number) => {
|
|
||||||
return await request.get({ url: '/bpm/oa/leave/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得请假申请分页
|
|
||||||
export const getLeavePage = async (params: PageParam) => {
|
|
||||||
return await request.get({ url: '/bpm/oa/leave/page', params })
|
|
||||||
}
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type ProcessDefinitionVO = {
|
|
||||||
id: string
|
|
||||||
version: number
|
|
||||||
deploymentTIme: string
|
|
||||||
suspensionState: number
|
|
||||||
formType?: 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 getModelList = async (name: string | undefined) => {
|
|
||||||
return await request.get({ url: '/bpm/model/list', params: { name } })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getModel = async (id: string) => {
|
|
||||||
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 updateModelSortBatch = async (ids: number[]) => {
|
|
||||||
return await request.put({
|
|
||||||
url: `/bpm/model/update-sort-batch`,
|
|
||||||
params: {
|
|
||||||
ids: ids.join(',')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const updateModelBpmn = async (data: ModelVO) => {
|
|
||||||
return await request.put({ url: '/bpm/model/update-bpmn', 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 })
|
|
||||||
}
|
|
||||||
@ -1,42 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// BPM 流程表达式 VO
|
|
||||||
export interface ProcessExpressionVO {
|
|
||||||
id: number // 编号
|
|
||||||
name: string // 表达式名字
|
|
||||||
status: number // 表达式状态
|
|
||||||
expression: string // 表达式
|
|
||||||
}
|
|
||||||
|
|
||||||
// BPM 流程表达式 API
|
|
||||||
export const ProcessExpressionApi = {
|
|
||||||
// 查询BPM 流程表达式分页
|
|
||||||
getProcessExpressionPage: async (params: any) => {
|
|
||||||
return await request.get({ url: `/bpm/process-expression/page`, params })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询BPM 流程表达式详情
|
|
||||||
getProcessExpression: async (id: number) => {
|
|
||||||
return await request.get({ url: `/bpm/process-expression/get?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增BPM 流程表达式
|
|
||||||
createProcessExpression: async (data: ProcessExpressionVO) => {
|
|
||||||
return await request.post({ url: `/bpm/process-expression/create`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改BPM 流程表达式
|
|
||||||
updateProcessExpression: async (data: ProcessExpressionVO) => {
|
|
||||||
return await request.put({ url: `/bpm/process-expression/update`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除BPM 流程表达式
|
|
||||||
deleteProcessExpression: async (id: number) => {
|
|
||||||
return await request.delete({ url: `/bpm/process-expression/delete?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 导出BPM 流程表达式 Excel
|
|
||||||
exportProcessExpression: async (params) => {
|
|
||||||
return await request.download({ url: `/bpm/process-expression/export-excel`, params })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,103 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { ProcessDefinitionVO } from '@/api/bpm/model'
|
|
||||||
import { NodeType, CandidateStrategy } from '@/components/SimpleProcessDesignerV2/src/consts'
|
|
||||||
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
|
|
||||||
processDefinition?: ProcessDefinitionVO
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户信息
|
|
||||||
export type User = {
|
|
||||||
id: number
|
|
||||||
nickname: string
|
|
||||||
avatar: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 审批任务信息
|
|
||||||
export type ApprovalTaskInfo = {
|
|
||||||
id: number
|
|
||||||
ownerUser: User
|
|
||||||
assigneeUser: User
|
|
||||||
status: number
|
|
||||||
reason: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 审批节点信息
|
|
||||||
export type ApprovalNodeInfo = {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
nodeType: NodeType
|
|
||||||
candidateStrategy?: CandidateStrategy
|
|
||||||
status: number
|
|
||||||
startTime?: Date
|
|
||||||
endTime?: Date
|
|
||||||
candidateUsers?: User[]
|
|
||||||
tasks: ApprovalTaskInfo[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessInstanceMyPage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/bpm/process-instance/my-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessInstanceManagerPage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/bpm/process-instance/manager-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const createProcessInstance = async (data) => {
|
|
||||||
return await request.post({ url: '/bpm/process-instance/create', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const cancelProcessInstanceByStartUser = async (id: number, reason: string) => {
|
|
||||||
const data = {
|
|
||||||
id: id,
|
|
||||||
reason: reason
|
|
||||||
}
|
|
||||||
return await request.delete({ url: '/bpm/process-instance/cancel-by-start-user', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const cancelProcessInstanceByAdmin = async (id: number, reason: string) => {
|
|
||||||
const data = {
|
|
||||||
id: id,
|
|
||||||
reason: reason
|
|
||||||
}
|
|
||||||
return await request.delete({ url: '/bpm/process-instance/cancel-by-admin', data: data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessInstance = async (id: string) => {
|
|
||||||
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getProcessInstanceCopyPage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/bpm/process-instance/copy/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取审批详情
|
|
||||||
export const getApprovalDetail = async (params: any) => {
|
|
||||||
return await request.get({ url: 'bpm/process-instance/get-approval-detail' , params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取表单字段权限
|
|
||||||
export const getFormFieldsPermission = async (params: any) => {
|
|
||||||
return await request.get({ url: '/bpm/process-instance/get-form-fields-permission', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取流程实例的 BPMN 模型视图
|
|
||||||
export const getProcessInstanceBpmnModelView = async (id: string) => {
|
|
||||||
return await request.get({ url: '/bpm/process-instance/get-bpmn-model-view?id=' + id })
|
|
||||||
}
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// BPM 流程监听器 VO
|
|
||||||
export interface ProcessListenerVO {
|
|
||||||
id: number // 编号
|
|
||||||
name: string // 监听器名字
|
|
||||||
type: string // 监听器类型
|
|
||||||
status: number // 监听器状态
|
|
||||||
event: string // 监听事件
|
|
||||||
valueType: string // 监听器值类型
|
|
||||||
value: string // 监听器值
|
|
||||||
}
|
|
||||||
|
|
||||||
// BPM 流程监听器 API
|
|
||||||
export const ProcessListenerApi = {
|
|
||||||
// 查询流程监听器分页
|
|
||||||
getProcessListenerPage: async (params: any) => {
|
|
||||||
return await request.get({ url: `/bpm/process-listener/page`, params })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询流程监听器详情
|
|
||||||
getProcessListener: async (id: number) => {
|
|
||||||
return await request.get({ url: `/bpm/process-listener/get?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增流程监听器
|
|
||||||
createProcessListener: async (data: ProcessListenerVO) => {
|
|
||||||
return await request.post({ url: `/bpm/process-listener/create`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改流程监听器
|
|
||||||
updateProcessListener: async (data: ProcessListenerVO) => {
|
|
||||||
return await request.put({ url: `/bpm/process-listener/update`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除流程监听器
|
|
||||||
deleteProcessListener: async (id: number) => {
|
|
||||||
return await request.delete({ url: `/bpm/process-listener/delete?id=` + id })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
|
|
||||||
export const updateBpmSimpleModel = async (data) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/bpm/model/simple/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getBpmSimpleModel = async (id) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/model/simple/get?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@ -1,113 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务状态枚举
|
|
||||||
*/
|
|
||||||
export enum TaskStatusEnum {
|
|
||||||
/**
|
|
||||||
* 未开始
|
|
||||||
*/
|
|
||||||
NOT_START = -1,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 待审批
|
|
||||||
*/
|
|
||||||
WAIT = 0,
|
|
||||||
/**
|
|
||||||
* 审批中
|
|
||||||
*/
|
|
||||||
RUNNING = 1,
|
|
||||||
/**
|
|
||||||
* 审批通过
|
|
||||||
*/
|
|
||||||
APPROVE = 2,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 审批不通过
|
|
||||||
*/
|
|
||||||
REJECT = 3,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 已取消
|
|
||||||
*/
|
|
||||||
CANCEL = 4,
|
|
||||||
/**
|
|
||||||
* 已退回
|
|
||||||
*/
|
|
||||||
RETURN = 5,
|
|
||||||
/**
|
|
||||||
* 审批通过中
|
|
||||||
*/
|
|
||||||
APPROVING = 7
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getTaskTodoPage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/bpm/task/todo-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getTaskDonePage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/bpm/task/done-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getTaskManagerPage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/bpm/task/manager-page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const approveTask = async (data: any) => {
|
|
||||||
return await request.put({ url: '/bpm/task/approve', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const rejectTask = async (data: any) => {
|
|
||||||
return await request.put({ url: '/bpm/task/reject', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getTaskListByProcessInstanceId = async (processInstanceId: string) => {
|
|
||||||
return await request.get({
|
|
||||||
url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取所有可退回的节点
|
|
||||||
export const getTaskListByReturn = async (id: string) => {
|
|
||||||
return await request.get({ url: '/bpm/task/list-by-return', params: { id } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 退回
|
|
||||||
export const returnTask = async (data: any) => {
|
|
||||||
return await request.put({ url: '/bpm/task/return', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 委派
|
|
||||||
export const delegateTask = async (data: any) => {
|
|
||||||
return await request.put({ url: '/bpm/task/delegate', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 转派
|
|
||||||
export const transferTask = async (data: any) => {
|
|
||||||
return await request.put({ url: '/bpm/task/transfer', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 加签
|
|
||||||
export const signCreateTask = async (data: any) => {
|
|
||||||
return await request.put({ url: '/bpm/task/create-sign', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 减签
|
|
||||||
export const signDeleteTask = async (data: any) => {
|
|
||||||
return await request.delete({ url: '/bpm/task/delete-sign', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 抄送
|
|
||||||
export const copyTask = async (data: any) => {
|
|
||||||
return await request.put({ url: '/bpm/task/copy', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取我的待办任务
|
|
||||||
export const myTodoTask = async (processInstanceId: string) => {
|
|
||||||
return await request.get({ url: '/bpm/task/my-todo?processInstanceId=' + processInstanceId })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取减签任务列表
|
|
||||||
export const getChildrenTaskList = async (id: string) => {
|
|
||||||
return await request.get({ url: '/bpm/task/list-by-parent-task-id?parentTaskId=' + id })
|
|
||||||
}
|
|
||||||
@ -1,47 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export type UserGroupVO = {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
description: string
|
|
||||||
userIds: number[]
|
|
||||||
status: number
|
|
||||||
remark: string
|
|
||||||
createTime: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建用户组
|
|
||||||
export const createUserGroup = async (data: UserGroupVO) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/bpm/user-group/create',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新用户组
|
|
||||||
export const updateUserGroup = async (data: UserGroupVO) => {
|
|
||||||
return await request.put({
|
|
||||||
url: '/bpm/user-group/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除用户组
|
|
||||||
export const deleteUserGroup = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得用户组
|
|
||||||
export const getUserGroup = async (id: number) => {
|
|
||||||
return await request.get({ url: '/bpm/user-group/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得用户组分页
|
|
||||||
export const getUserGroupPage = async (params) => {
|
|
||||||
return await request.get({ url: '/bpm/user-group/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取用户组精简信息列表
|
|
||||||
export const getUserGroupSimpleList = async (): Promise<UserGroupVO[]> => {
|
|
||||||
return await request.get({ url: '/bpm/user-group/simple-list' })
|
|
||||||
}
|
|
||||||
@ -1,98 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { TransferReqVO } from '@/api/crm/permission'
|
|
||||||
|
|
||||||
export interface BusinessVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
customerId: number
|
|
||||||
customerName?: string
|
|
||||||
followUpStatus: boolean
|
|
||||||
contactLastTime: Date
|
|
||||||
contactNextTime: Date
|
|
||||||
ownerUserId: number
|
|
||||||
ownerUserName?: string // 负责人的用户名称
|
|
||||||
ownerUserDept?: string // 负责人的部门名称
|
|
||||||
statusTypeId: number
|
|
||||||
statusTypeName?: string
|
|
||||||
statusId: number
|
|
||||||
statusName?: string
|
|
||||||
endStatus: number
|
|
||||||
endRemark: string
|
|
||||||
dealTime: Date
|
|
||||||
totalProductPrice: number
|
|
||||||
totalPrice: number
|
|
||||||
discountPercent: number
|
|
||||||
remark: string
|
|
||||||
creator: string // 创建人
|
|
||||||
creatorName?: string // 创建人名称
|
|
||||||
createTime: Date // 创建时间
|
|
||||||
updateTime: Date // 更新时间
|
|
||||||
products?: [
|
|
||||||
{
|
|
||||||
id: number
|
|
||||||
productId: number
|
|
||||||
productName: string
|
|
||||||
productNo: string
|
|
||||||
productUnit: number
|
|
||||||
productPrice: number
|
|
||||||
businessPrice: number
|
|
||||||
count: number
|
|
||||||
totalPrice: number
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 商机列表
|
|
||||||
export const getBusinessPage = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/business/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 商机列表,基于指定客户
|
|
||||||
export const getBusinessPageByCustomer = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/business/page-by-customer`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 商机详情
|
|
||||||
export const getBusiness = async (id: number) => {
|
|
||||||
return await request.get({ url: `/crm/business/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得 CRM 商机列表(精简)
|
|
||||||
export const getSimpleBusinessList = async () => {
|
|
||||||
return await request.get({ url: `/crm/business/simple-all-list` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增 CRM 商机
|
|
||||||
export const createBusiness = async (data: BusinessVO) => {
|
|
||||||
return await request.post({ url: `/crm/business/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改 CRM 商机
|
|
||||||
export const updateBusiness = async (data: BusinessVO) => {
|
|
||||||
return await request.put({ url: `/crm/business/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改 CRM 商机状态
|
|
||||||
export const updateBusinessStatus = async (data: BusinessVO) => {
|
|
||||||
return await request.put({ url: `/crm/business/update-status`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除 CRM 商机
|
|
||||||
export const deleteBusiness = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/business/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出 CRM 商机 Excel
|
|
||||||
export const exportBusiness = async (params) => {
|
|
||||||
return await request.download({ url: `/crm/business/export-excel`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 联系人关联商机列表
|
|
||||||
export const getBusinessPageByContact = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/business/page-by-contact`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 商机转移
|
|
||||||
export const transferBusiness = async (data: TransferReqVO) => {
|
|
||||||
return await request.put({ url: '/crm/business/transfer', data })
|
|
||||||
}
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface BusinessStatusTypeVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
deptIds: number[]
|
|
||||||
statuses?: {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
percent: number
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export const DEFAULT_STATUSES = [
|
|
||||||
{
|
|
||||||
endStatus: 1,
|
|
||||||
key: '结束',
|
|
||||||
name: '赢单',
|
|
||||||
percent: 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
endStatus: 2,
|
|
||||||
key: '结束',
|
|
||||||
name: '输单',
|
|
||||||
percent: 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
endStatus: 3,
|
|
||||||
key: '结束',
|
|
||||||
name: '无效',
|
|
||||||
percent: 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
// 查询商机状态组列表
|
|
||||||
export const getBusinessStatusPage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/crm/business-status/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增商机状态组
|
|
||||||
export const createBusinessStatus = async (data: BusinessStatusTypeVO) => {
|
|
||||||
return await request.post({ url: `/crm/business-status/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改商机状态组
|
|
||||||
export const updateBusinessStatus = async (data: BusinessStatusTypeVO) => {
|
|
||||||
return await request.put({ url: `/crm/business-status/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询商机状态类型详情
|
|
||||||
export const getBusinessStatus = async (id: number) => {
|
|
||||||
return await request.get({ url: `/crm/business-status/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除商机状态
|
|
||||||
export const deleteBusinessStatus = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/business-status/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得商机状态组列表
|
|
||||||
export const getBusinessStatusTypeSimpleList = async () => {
|
|
||||||
return await request.get({ url: `/crm/business-status/type-simple-list` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得商机阶段列表
|
|
||||||
export const getBusinessStatusSimpleList = async (typeId: number) => {
|
|
||||||
return await request.get({ url: `/crm/business-status/status-simple-list`, params: { typeId } })
|
|
||||||
}
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { TransferReqVO } from '@/api/crm/permission'
|
|
||||||
|
|
||||||
export interface ClueVO {
|
|
||||||
id: number // 编号
|
|
||||||
name: string // 线索名称
|
|
||||||
followUpStatus: boolean // 跟进状态
|
|
||||||
contactLastTime: Date // 最后跟进时间
|
|
||||||
contactLastContent: string // 最后跟进内容
|
|
||||||
contactNextTime: Date // 下次联系时间
|
|
||||||
ownerUserId: number // 负责人的用户编号
|
|
||||||
ownerUserName?: string // 负责人的用户名称
|
|
||||||
ownerUserDept?: string // 负责人的部门名称
|
|
||||||
transformStatus: boolean // 转化状态
|
|
||||||
customerId: number // 客户编号
|
|
||||||
customerName?: string // 客户名称
|
|
||||||
mobile: string // 手机号
|
|
||||||
telephone: string // 电话
|
|
||||||
qq: string // QQ
|
|
||||||
wechat: string // wechat
|
|
||||||
email: string // email
|
|
||||||
areaId: number // 所在地
|
|
||||||
areaName?: string // 所在地名称
|
|
||||||
detailAddress: string // 详细地址
|
|
||||||
industryId: number // 所属行业
|
|
||||||
level: number // 客户等级
|
|
||||||
source: number // 客户来源
|
|
||||||
remark: string // 备注
|
|
||||||
creator: string // 创建人
|
|
||||||
creatorName?: string // 创建人名称
|
|
||||||
createTime: Date // 创建时间
|
|
||||||
updateTime: Date // 更新时间
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询线索列表
|
|
||||||
export const getCluePage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/crm/clue/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询线索详情
|
|
||||||
export const getClue = async (id: number) => {
|
|
||||||
return await request.get({ url: `/crm/clue/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增线索
|
|
||||||
export const createClue = async (data: ClueVO) => {
|
|
||||||
return await request.post({ url: `/crm/clue/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改线索
|
|
||||||
export const updateClue = async (data: ClueVO) => {
|
|
||||||
return await request.put({ url: `/crm/clue/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除线索
|
|
||||||
export const deleteClue = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/clue/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出线索 Excel
|
|
||||||
export const exportClue = async (params) => {
|
|
||||||
return await request.download({ url: `/crm/clue/export-excel`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 线索转移
|
|
||||||
export const transferClue = async (data: TransferReqVO) => {
|
|
||||||
return await request.put({ url: '/crm/clue/transfer', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 线索转化为客户
|
|
||||||
export const transformClue = async (id: number) => {
|
|
||||||
return await request.put({ url: '/crm/clue/transform', params: { id } })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得分配给我的、待跟进的线索数量
|
|
||||||
export const getFollowClueCount = async () => {
|
|
||||||
return await request.get({ url: '/crm/clue/follow-count' })
|
|
||||||
}
|
|
||||||
@ -1,113 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { TransferReqVO } from '@/api/crm/permission'
|
|
||||||
|
|
||||||
export interface ContactVO {
|
|
||||||
id: number // 编号
|
|
||||||
name: string // 联系人名称
|
|
||||||
customerId: number // 客户编号
|
|
||||||
customerName?: string // 客户名称
|
|
||||||
contactLastTime: Date // 最后跟进时间
|
|
||||||
contactLastContent: string // 最后跟进内容
|
|
||||||
contactNextTime: Date // 下次联系时间
|
|
||||||
ownerUserId: number // 负责人的用户编号
|
|
||||||
ownerUserName?: string // 负责人的用户名称
|
|
||||||
ownerUserDept?: string // 负责人的部门名称
|
|
||||||
mobile: string // 手机号
|
|
||||||
telephone: string // 电话
|
|
||||||
qq: string // QQ
|
|
||||||
wechat: string // wechat
|
|
||||||
email: string // email
|
|
||||||
areaId: number // 所在地
|
|
||||||
areaName?: string // 所在地名称
|
|
||||||
detailAddress: string // 详细地址
|
|
||||||
sex: number // 性别
|
|
||||||
master: boolean // 是否主联系人
|
|
||||||
post: string // 职务
|
|
||||||
parentId: number // 上级联系人编号
|
|
||||||
parentName?: string // 上级联系人名称
|
|
||||||
remark: string // 备注
|
|
||||||
creator: string // 创建人
|
|
||||||
creatorName?: string // 创建人名称
|
|
||||||
createTime: Date // 创建时间
|
|
||||||
updateTime: Date // 更新时间
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ContactBusinessReqVO {
|
|
||||||
contactId: number
|
|
||||||
businessIds: number[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ContactBusiness2ReqVO {
|
|
||||||
businessId: number
|
|
||||||
contactIds: number[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 联系人列表
|
|
||||||
export const getContactPage = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/contact/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 联系人列表,基于指定客户
|
|
||||||
export const getContactPageByCustomer = async (params: any) => {
|
|
||||||
return await request.get({ url: `/crm/contact/page-by-customer`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 联系人列表,基于指定商机
|
|
||||||
export const getContactPageByBusiness = async (params: any) => {
|
|
||||||
return await request.get({ url: `/crm/contact/page-by-business`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 联系人详情
|
|
||||||
export const getContact = async (id: number) => {
|
|
||||||
return await request.get({ url: `/crm/contact/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增 CRM 联系人
|
|
||||||
export const createContact = async (data: ContactVO) => {
|
|
||||||
return await request.post({ url: `/crm/contact/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改 CRM 联系人
|
|
||||||
export const updateContact = async (data: ContactVO) => {
|
|
||||||
return await request.put({ url: `/crm/contact/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除 CRM 联系人
|
|
||||||
export const deleteContact = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/contact/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出 CRM 联系人 Excel
|
|
||||||
export const exportContact = async (params) => {
|
|
||||||
return await request.download({ url: `/crm/contact/export-excel`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得 CRM 联系人列表(精简)
|
|
||||||
export const getSimpleContactList = async () => {
|
|
||||||
return await request.get({ url: `/crm/contact/simple-all-list` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 批量新增联系人商机关联
|
|
||||||
export const createContactBusinessList = async (data: ContactBusinessReqVO) => {
|
|
||||||
return await request.post({ url: `/crm/contact/create-business-list`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 批量新增联系人商机关联
|
|
||||||
export const createContactBusinessList2 = async (data: ContactBusiness2ReqVO) => {
|
|
||||||
return await request.post({ url: `/crm/contact/create-business-list2`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 解除联系人商机关联
|
|
||||||
export const deleteContactBusinessList = async (data: ContactBusinessReqVO) => {
|
|
||||||
return await request.delete({ url: `/crm/contact/delete-business-list`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 解除联系人商机关联
|
|
||||||
export const deleteContactBusinessList2 = async (data: ContactBusiness2ReqVO) => {
|
|
||||||
return await request.delete({ url: `/crm/contact/delete-business-list2`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 联系人转移
|
|
||||||
export const transferContact = async (data: TransferReqVO) => {
|
|
||||||
return await request.put({ url: '/crm/contact/transfer', data })
|
|
||||||
}
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ContractConfigVO {
|
|
||||||
notifyEnabled?: boolean
|
|
||||||
notifyDays?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取合同配置
|
|
||||||
export const getContractConfig = async () => {
|
|
||||||
return await request.get({ url: `/crm/contract-config/get` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新合同配置
|
|
||||||
export const saveContractConfig = async (data: ContractConfigVO) => {
|
|
||||||
return await request.put({ url: `/crm/contract-config/save`, data })
|
|
||||||
}
|
|
||||||
@ -1,114 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { TransferReqVO } from '@/api/crm/permission'
|
|
||||||
|
|
||||||
export interface ContractVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
no: string
|
|
||||||
customerId: number
|
|
||||||
customerName?: string
|
|
||||||
businessId: number
|
|
||||||
businessName: string
|
|
||||||
contactLastTime: Date
|
|
||||||
ownerUserId: number
|
|
||||||
ownerUserName?: string
|
|
||||||
ownerUserDeptName?: string
|
|
||||||
processInstanceId: number
|
|
||||||
auditStatus: number
|
|
||||||
orderDate: Date
|
|
||||||
startTime: Date
|
|
||||||
endTime: Date
|
|
||||||
totalProductPrice: number
|
|
||||||
discountPercent: number
|
|
||||||
totalPrice: number
|
|
||||||
totalReceivablePrice: number
|
|
||||||
signContactId: number
|
|
||||||
signContactName?: string
|
|
||||||
signUserId: number
|
|
||||||
signUserName: string
|
|
||||||
remark: string
|
|
||||||
createTime?: Date
|
|
||||||
creator: string
|
|
||||||
creatorName: string
|
|
||||||
updateTime?: Date
|
|
||||||
products?: [
|
|
||||||
{
|
|
||||||
id: number
|
|
||||||
productId: number
|
|
||||||
productName: string
|
|
||||||
productNo: string
|
|
||||||
productUnit: number
|
|
||||||
productPrice: number
|
|
||||||
contractPrice: number
|
|
||||||
count: number
|
|
||||||
totalPrice: number
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 合同列表
|
|
||||||
export const getContractPage = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/contract/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 联系人列表,基于指定客户
|
|
||||||
export const getContractPageByCustomer = async (params: any) => {
|
|
||||||
return await request.get({ url: `/crm/contract/page-by-customer`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 联系人列表,基于指定商机
|
|
||||||
export const getContractPageByBusiness = async (params: any) => {
|
|
||||||
return await request.get({ url: `/crm/contract/page-by-business`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 合同详情
|
|
||||||
export const getContract = async (id: number) => {
|
|
||||||
return await request.get({ url: `/crm/contract/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 CRM 合同下拉列表
|
|
||||||
export const getContractSimpleList = async (customerId: number) => {
|
|
||||||
return await request.get({
|
|
||||||
url: `/crm/contract/simple-list?customerId=${customerId}`
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增 CRM 合同
|
|
||||||
export const createContract = async (data: ContractVO) => {
|
|
||||||
return await request.post({ url: `/crm/contract/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改 CRM 合同
|
|
||||||
export const updateContract = async (data: ContractVO) => {
|
|
||||||
return await request.put({ url: `/crm/contract/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除 CRM 合同
|
|
||||||
export const deleteContract = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/contract/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出 CRM 合同 Excel
|
|
||||||
export const exportContract = async (params) => {
|
|
||||||
return await request.download({ url: `/crm/contract/export-excel`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交审核
|
|
||||||
export const submitContract = async (id: number) => {
|
|
||||||
return await request.put({ url: `/crm/contract/submit?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 合同转移
|
|
||||||
export const transferContract = async (data: TransferReqVO) => {
|
|
||||||
return await request.put({ url: '/crm/contract/transfer', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得待审核合同数量
|
|
||||||
export const getAuditContractCount = async () => {
|
|
||||||
return await request.get({ url: '/crm/contract/audit-count' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得即将到期(提醒)的合同数量
|
|
||||||
export const getRemindContractCount = async () => {
|
|
||||||
return await request.get({ url: '/crm/contract/remind-count' })
|
|
||||||
}
|
|
||||||
@ -1,43 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 跟进记录 VO
|
|
||||||
export interface FollowUpRecordVO {
|
|
||||||
id: number // 编号
|
|
||||||
bizType: number // 数据类型
|
|
||||||
bizId: number // 数据编号
|
|
||||||
type: number // 跟进类型
|
|
||||||
content: string // 跟进内容
|
|
||||||
picUrls: string[] // 图片
|
|
||||||
fileUrls: string[] // 附件
|
|
||||||
nextTime: Date // 下次联系时间
|
|
||||||
businessIds: number[] // 关联的商机编号数组
|
|
||||||
businesses: {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
}[] // 关联的商机数组
|
|
||||||
contactIds: number[] // 关联的联系人编号数组
|
|
||||||
contacts: {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
}[] // 关联的联系人数组
|
|
||||||
creator: string
|
|
||||||
creatorName?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 跟进记录 API
|
|
||||||
export const FollowUpRecordApi = {
|
|
||||||
// 查询跟进记录分页
|
|
||||||
getFollowUpRecordPage: async (params: any) => {
|
|
||||||
return await request.get({ url: `/crm/follow-up-record/page`, params })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增跟进记录
|
|
||||||
createFollowUpRecord: async (data: FollowUpRecordVO) => {
|
|
||||||
return await request.post({ url: `/crm/follow-up-record/create`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除跟进记录
|
|
||||||
deleteFollowUpRecord: async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/follow-up-record/delete?id=` + id })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface OperateLogVO extends PageParam {
|
|
||||||
bizType: number
|
|
||||||
bizId: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得操作日志
|
|
||||||
export const getOperateLogPage = async (params: OperateLogVO) => {
|
|
||||||
return await request.get({ url: `/crm/operate-log/page`, params })
|
|
||||||
}
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface PermissionVO {
|
|
||||||
id?: number // 数据权限编号
|
|
||||||
userId: number // 用户编号
|
|
||||||
bizType: number // Crm 类型
|
|
||||||
bizId: number // Crm 类型数据编号
|
|
||||||
level: number // 权限级别
|
|
||||||
toBizTypes?: number[] // 同时添加至
|
|
||||||
deptName?: string // 部门名称
|
|
||||||
nickname?: string // 用户昵称
|
|
||||||
postNames?: string[] // 岗位名称数组
|
|
||||||
createTime?: Date
|
|
||||||
ids?: number[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface TransferReqVO {
|
|
||||||
id: number // 模块编号
|
|
||||||
newOwnerUserId: number // 新负责人的用户编号
|
|
||||||
oldOwnerPermissionLevel?: number // 老负责人加入团队后的权限级别
|
|
||||||
toBizTypes?: number[] // 转移客户时,需要额外有【联系人】【商机】【合同】的 checkbox 选择
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* CRM 业务类型枚举
|
|
||||||
*
|
|
||||||
* @author HUIHUI
|
|
||||||
*/
|
|
||||||
export enum BizTypeEnum {
|
|
||||||
CRM_CLUE = 1, // 线索
|
|
||||||
CRM_CUSTOMER = 2, // 客户
|
|
||||||
CRM_CONTACT = 3, // 联系人
|
|
||||||
CRM_BUSINESS = 4, // 商机
|
|
||||||
CRM_CONTRACT = 5, // 合同
|
|
||||||
CRM_PRODUCT = 6, // 产品
|
|
||||||
CRM_RECEIVABLE = 7, // 回款
|
|
||||||
CRM_RECEIVABLE_PLAN = 8 // 回款计划
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* CRM 数据权限级别枚举
|
|
||||||
*/
|
|
||||||
export enum PermissionLevelEnum {
|
|
||||||
OWNER = 1, // 负责人
|
|
||||||
READ = 2, // 只读
|
|
||||||
WRITE = 3 // 读写
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得数据权限列表(查询团队成员列表)
|
|
||||||
export const getPermissionList = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/permission/list`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建数据权限(新增团队成员)
|
|
||||||
export const createPermission = async (data: PermissionVO) => {
|
|
||||||
return await request.post({ url: `/crm/permission/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 编辑数据权限(修改团队成员权限级别)
|
|
||||||
export const updatePermission = async (data) => {
|
|
||||||
return await request.put({ url: `/crm/permission/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除数据权限(删除团队成员)
|
|
||||||
export const deletePermissionBatch = async (val: number[]) => {
|
|
||||||
return await request.delete({ url: '/crm/permission/delete?ids=' + val.join(',') })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除自己的数据权限(退出团队)
|
|
||||||
export const deleteSelfPermission = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/crm/permission/delete-self?id=' + id })
|
|
||||||
}
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ProductVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
no: string
|
|
||||||
unit: number
|
|
||||||
price: number
|
|
||||||
status: number
|
|
||||||
categoryId: number
|
|
||||||
categoryName?: string
|
|
||||||
description: string
|
|
||||||
ownerUserId: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询产品列表
|
|
||||||
export const getProductPage = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/product/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得产品精简列表
|
|
||||||
export const getProductSimpleList = async () => {
|
|
||||||
return await request.get({ url: `/crm/product/simple-list` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询产品详情
|
|
||||||
export const getProduct = async (id: number) => {
|
|
||||||
return await request.get({ url: `/crm/product/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增产品
|
|
||||||
export const createProduct = async (data: ProductVO) => {
|
|
||||||
return await request.post({ url: `/crm/product/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改产品
|
|
||||||
export const updateProduct = async (data: ProductVO) => {
|
|
||||||
return await request.put({ url: `/crm/product/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除产品
|
|
||||||
export const deleteProduct = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/product/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出产品 Excel
|
|
||||||
export const exportProduct = async (params) => {
|
|
||||||
return await request.download({ url: `/crm/product/export-excel`, params })
|
|
||||||
}
|
|
||||||
@ -1,73 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ReceivableVO {
|
|
||||||
id: number
|
|
||||||
no: string
|
|
||||||
planId?: number
|
|
||||||
customerId?: number
|
|
||||||
customerName?: string
|
|
||||||
contractId?: number
|
|
||||||
contract?: {
|
|
||||||
id?: number
|
|
||||||
name?: string
|
|
||||||
no: string
|
|
||||||
totalPrice: number
|
|
||||||
}
|
|
||||||
auditStatus: number
|
|
||||||
processInstanceId: number
|
|
||||||
returnTime: Date
|
|
||||||
returnType: number
|
|
||||||
price: number
|
|
||||||
ownerUserId: number
|
|
||||||
ownerUserName?: string
|
|
||||||
remark: string
|
|
||||||
creator: string // 创建人
|
|
||||||
creatorName?: string // 创建人名称
|
|
||||||
createTime: Date // 创建时间
|
|
||||||
updateTime: Date // 更新时间
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询回款列表
|
|
||||||
export const getReceivablePage = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/receivable/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询回款列表
|
|
||||||
export const getReceivablePageByCustomer = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/receivable/page-by-customer`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询回款详情
|
|
||||||
export const getReceivable = async (id: number) => {
|
|
||||||
return await request.get({ url: `/crm/receivable/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增回款
|
|
||||||
export const createReceivable = async (data: ReceivableVO) => {
|
|
||||||
return await request.post({ url: `/crm/receivable/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改回款
|
|
||||||
export const updateReceivable = async (data: ReceivableVO) => {
|
|
||||||
return await request.put({ url: `/crm/receivable/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除回款
|
|
||||||
export const deleteReceivable = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/receivable/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出回款 Excel
|
|
||||||
export const exportReceivable = async (params) => {
|
|
||||||
return await request.download({ url: `/crm/receivable/export-excel`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交审核
|
|
||||||
export const submitReceivable = async (id: number) => {
|
|
||||||
return await request.put({ url: `/crm/receivable/submit?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得待审核回款数量
|
|
||||||
export const getAuditReceivableCount = async () => {
|
|
||||||
return await request.get({ url: '/crm/receivable/audit-count' })
|
|
||||||
}
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ReceivablePlanVO {
|
|
||||||
id: number
|
|
||||||
period: number
|
|
||||||
receivableId: number
|
|
||||||
price: number
|
|
||||||
returnTime: Date
|
|
||||||
remindDays: number
|
|
||||||
returnType: number
|
|
||||||
remindTime: Date
|
|
||||||
customerId: number
|
|
||||||
customerName?: string
|
|
||||||
contractId?: number
|
|
||||||
contractNo?: string
|
|
||||||
ownerUserId: number
|
|
||||||
ownerUserName?: string
|
|
||||||
remark: string
|
|
||||||
creator: string // 创建人
|
|
||||||
creatorName?: string // 创建人名称
|
|
||||||
createTime: Date // 创建时间
|
|
||||||
updateTime: Date // 更新时间
|
|
||||||
receivable?: {
|
|
||||||
price: number
|
|
||||||
returnTime: Date
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询回款计划列表
|
|
||||||
export const getReceivablePlanPage = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/receivable-plan/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询回款计划列表
|
|
||||||
export const getReceivablePlanPageByCustomer = async (params) => {
|
|
||||||
return await request.get({ url: `/crm/receivable-plan/page-by-customer`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询回款计划详情
|
|
||||||
export const getReceivablePlan = async (id: number) => {
|
|
||||||
return await request.get({ url: `/crm/receivable-plan/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询回款计划下拉数据
|
|
||||||
export const getReceivablePlanSimpleList = async (customerId: number, contractId: number) => {
|
|
||||||
return await request.get({
|
|
||||||
url: `/crm/receivable-plan/simple-list?customerId=${customerId}&contractId=${contractId}`
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增回款计划
|
|
||||||
export const createReceivablePlan = async (data: ReceivablePlanVO) => {
|
|
||||||
return await request.post({ url: `/crm/receivable-plan/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改回款计划
|
|
||||||
export const updateReceivablePlan = async (data: ReceivablePlanVO) => {
|
|
||||||
return await request.put({ url: `/crm/receivable-plan/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除回款计划
|
|
||||||
export const deleteReceivablePlan = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/crm/receivable-plan/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出回款计划 Excel
|
|
||||||
export const exportReceivablePlan = async (params) => {
|
|
||||||
return await request.download({ url: `/crm/receivable-plan/export-excel`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得待回款提醒数量
|
|
||||||
export const getReceivablePlanRemindCount = async () => {
|
|
||||||
return await request.get({ url: '/crm/receivable-plan/remind-count' })
|
|
||||||
}
|
|
||||||
@ -1,168 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface CrmStatisticsCustomerSummaryByDateRespVO {
|
|
||||||
time: string
|
|
||||||
customerCreateCount: number
|
|
||||||
customerDealCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsCustomerSummaryByUserRespVO {
|
|
||||||
ownerUserName: string
|
|
||||||
customerCreateCount: number
|
|
||||||
customerDealCount: number
|
|
||||||
contractPrice: number
|
|
||||||
receivablePrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsFollowUpSummaryByDateRespVO {
|
|
||||||
time: string
|
|
||||||
followUpRecordCount: number
|
|
||||||
followUpCustomerCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsFollowUpSummaryByUserRespVO {
|
|
||||||
ownerUserName: string
|
|
||||||
followupRecordCount: number
|
|
||||||
followupCustomerCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsFollowUpSummaryByTypeRespVO {
|
|
||||||
followUpType: string
|
|
||||||
followUpRecordCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsCustomerContractSummaryRespVO {
|
|
||||||
customerName: string
|
|
||||||
contractName: string
|
|
||||||
totalPrice: number
|
|
||||||
receivablePrice: number
|
|
||||||
customerType: string
|
|
||||||
customerSource: string
|
|
||||||
ownerUserName: string
|
|
||||||
creatorUserName: string
|
|
||||||
createTime: Date
|
|
||||||
orderDate: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsPoolSummaryByDateRespVO {
|
|
||||||
time: string
|
|
||||||
customerPutCount: number
|
|
||||||
customerTakeCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsPoolSummaryByUserRespVO {
|
|
||||||
ownerUserName: string
|
|
||||||
customerPutCount: number
|
|
||||||
customerTakeCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsCustomerDealCycleByDateRespVO {
|
|
||||||
time: string
|
|
||||||
customerDealCycle: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsCustomerDealCycleByUserRespVO {
|
|
||||||
ownerUserName: string
|
|
||||||
customerDealCycle: number
|
|
||||||
customerDealCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsCustomerDealCycleByAreaRespVO {
|
|
||||||
areaName: string
|
|
||||||
customerDealCycle: number
|
|
||||||
customerDealCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsCustomerDealCycleByProductRespVO {
|
|
||||||
productName: string
|
|
||||||
customerDealCycle: number
|
|
||||||
customerDealCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 客户分析 API
|
|
||||||
export const StatisticsCustomerApi = {
|
|
||||||
// 1.1 客户总量分析(按日期)
|
|
||||||
getCustomerSummaryByDate: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-customer-summary-by-date',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 1.2 客户总量分析(按用户)
|
|
||||||
getCustomerSummaryByUser: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-customer-summary-by-user',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 2.1 客户跟进次数分析(按日期)
|
|
||||||
getFollowUpSummaryByDate: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-follow-up-summary-by-date',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 2.2 客户跟进次数分析(按用户)
|
|
||||||
getFollowUpSummaryByUser: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-follow-up-summary-by-user',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 3.1 获取客户跟进方式统计数
|
|
||||||
getFollowUpSummaryByType: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-follow-up-summary-by-type',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 4.1 合同摘要信息(客户转化率页面)
|
|
||||||
getContractSummary: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-contract-summary',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 5.1 获取客户公海分析(按日期)
|
|
||||||
getPoolSummaryByDate: (param: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-pool-summary-by-date',
|
|
||||||
params: param
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 5.2 获取客户公海分析(按用户)
|
|
||||||
getPoolSummaryByUser: (param: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-pool-summary-by-user',
|
|
||||||
params: param
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 6.1 获取客户成交周期(按日期)
|
|
||||||
getCustomerDealCycleByDate: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-customer-deal-cycle-by-date',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 6.2 获取客户成交周期(按用户)
|
|
||||||
getCustomerDealCycleByUser: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-customer-deal-cycle-by-user',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 6.2 获取客户成交周期(按用户)
|
|
||||||
getCustomerDealCycleByArea: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-customer-deal-cycle-by-area',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 6.2 获取客户成交周期(按用户)
|
|
||||||
getCustomerDealCycleByProduct: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-customer/get-customer-deal-cycle-by-product',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface CrmStatisticFunnelRespVO {
|
|
||||||
customerCount: number // 客户数
|
|
||||||
businessCount: number // 商机数
|
|
||||||
businessWinCount: number // 赢单数
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsBusinessSummaryByDateRespVO {
|
|
||||||
time: string // 时间
|
|
||||||
businessCreateCount: number // 商机数
|
|
||||||
totalPrice: number | string // 商机金额
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticsBusinessInversionRateSummaryByDateRespVO {
|
|
||||||
time: string // 时间
|
|
||||||
businessCount: number // 商机数量
|
|
||||||
businessWinCount: number // 赢单商机数
|
|
||||||
}
|
|
||||||
|
|
||||||
// 客户分析 API
|
|
||||||
export const StatisticFunnelApi = {
|
|
||||||
// 1. 获取销售漏斗统计数据
|
|
||||||
getFunnelSummary: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-funnel/get-funnel-summary',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 2. 获取商机结束状态统计
|
|
||||||
getBusinessSummaryByEndStatus: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-funnel/get-business-summary-by-end-status',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 3. 获取新增商机分析(按日期)
|
|
||||||
getBusinessSummaryByDate: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-funnel/get-business-summary-by-date',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 4. 获取商机转化率分析(按日期)
|
|
||||||
getBusinessInversionRateSummaryByDate: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-funnel/get-business-inversion-rate-summary-by-date',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 5. 获取商机列表(按日期)
|
|
||||||
getBusinessPageByDate: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-funnel/get-business-page-by-date',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface StatisticsPerformanceRespVO {
|
|
||||||
time: string
|
|
||||||
currentMonthCount: number
|
|
||||||
lastMonthCount: number
|
|
||||||
lastYearCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 排行 API
|
|
||||||
export const StatisticsPerformanceApi = {
|
|
||||||
// 员工获得合同金额统计
|
|
||||||
getContractPricePerformance: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-performance/get-contract-price-performance',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 员工获得回款统计
|
|
||||||
getReceivablePricePerformance: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-performance/get-receivable-price-performance',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//员工获得签约合同数量统计
|
|
||||||
getContractCountPerformance: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-performance/get-contract-count-performance',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface CrmStatisticCustomerBaseRespVO {
|
|
||||||
customerCount: number
|
|
||||||
dealCount: number
|
|
||||||
dealPortion: string | number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticCustomerIndustryRespVO extends CrmStatisticCustomerBaseRespVO {
|
|
||||||
industryId: number
|
|
||||||
industryPortion: string | number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticCustomerSourceRespVO extends CrmStatisticCustomerBaseRespVO {
|
|
||||||
source: number
|
|
||||||
sourcePortion: string | number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticCustomerLevelRespVO extends CrmStatisticCustomerBaseRespVO {
|
|
||||||
level: number
|
|
||||||
levelPortion: string | number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface CrmStatisticCustomerAreaRespVO extends CrmStatisticCustomerBaseRespVO {
|
|
||||||
areaId: number
|
|
||||||
areaName: string
|
|
||||||
areaPortion: string | number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 客户分析 API
|
|
||||||
export const StatisticsPortraitApi = {
|
|
||||||
// 1. 获取客户行业统计数据
|
|
||||||
getCustomerIndustry: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-portrait/get-customer-industry-summary',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 2. 获取客户来源统计数据
|
|
||||||
getCustomerSource: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-portrait/get-customer-source-summary',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 3. 获取客户级别统计数据
|
|
||||||
getCustomerLevel: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-portrait/get-customer-level-summary',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 4. 获取客户地区统计数据
|
|
||||||
getCustomerArea: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-portrait/get-customer-area-summary',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,67 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface StatisticsRankRespVO {
|
|
||||||
count: number
|
|
||||||
nickname: string
|
|
||||||
deptName: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 排行 API
|
|
||||||
export const StatisticsRankApi = {
|
|
||||||
// 获得合同排行榜
|
|
||||||
getContractPriceRank: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-rank/get-contract-price-rank',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获得回款排行榜
|
|
||||||
getReceivablePriceRank: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-rank/get-receivable-price-rank',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 签约合同排行
|
|
||||||
getContractCountRank: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-rank/get-contract-count-rank',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 产品销量排行
|
|
||||||
getProductSalesRank: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-rank/get-product-sales-rank',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 新增客户数排行
|
|
||||||
getCustomerCountRank: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-rank/get-customer-count-rank',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 新增联系人数排行
|
|
||||||
getContactsCountRank: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-rank/get-contacts-count-rank',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 跟进次数排行
|
|
||||||
getFollowCountRank: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-rank/get-follow-count-rank',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 跟进客户数排行
|
|
||||||
getFollowCustomerCountRank: (params: any) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/crm/statistics-rank/get-follow-customer-count-rank',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// ERP 包装方案 VO
|
||||||
|
export interface PackagingSchemeVO {
|
||||||
|
id: number // 包装方案编号
|
||||||
|
code: string // 方案编码
|
||||||
|
name: string // 方案名称
|
||||||
|
packageQuantity: number // 每包数量(件)
|
||||||
|
palletPackageQuantity: number // 每托包数(包)
|
||||||
|
palletTotalQuantity: number // 每托总数量(件)
|
||||||
|
remark: string // 备注
|
||||||
|
status: number // 状态
|
||||||
|
createTime: string // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// ERP 包装方案 API
|
||||||
|
export const PackagingSchemeApi = {
|
||||||
|
// 查询包装方案分页
|
||||||
|
getPackagingSchemePage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/packaging-scheme/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询包装方案详情
|
||||||
|
getPackagingScheme: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/packaging-scheme/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增包装方案
|
||||||
|
createPackagingScheme: async (data: PackagingSchemeVO) => {
|
||||||
|
return await request.post({ url: `/erp/packaging-scheme/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改包装方案
|
||||||
|
updatePackagingScheme: async (data: PackagingSchemeVO) => {
|
||||||
|
return await request.put({ url: `/erp/packaging-scheme/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除包装方案
|
||||||
|
deletePackagingScheme: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/erp/packaging-scheme/delete?id=` + id })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface PalletVO {
|
||||||
|
id?: number
|
||||||
|
code?: string
|
||||||
|
isCode?: boolean
|
||||||
|
palletType?: number | string
|
||||||
|
specification?: string
|
||||||
|
ratedLoadWeight?: number | string
|
||||||
|
unit?: string
|
||||||
|
status?: number | string
|
||||||
|
warehouseId?: number | string
|
||||||
|
areaId?: number | string
|
||||||
|
planCode?: string
|
||||||
|
productId?: number | string
|
||||||
|
productCount?: number | string
|
||||||
|
lockedPackageCount?: number | string
|
||||||
|
qrcode?: string
|
||||||
|
templateJson?: string | any
|
||||||
|
purchaseDate?: string
|
||||||
|
useDate?: string
|
||||||
|
remark?: string
|
||||||
|
createTime?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export const PalletApi = {
|
||||||
|
getPalletPage: async (params: any) => {
|
||||||
|
return await request.get({ url: `/erp/pallet/page`, params })
|
||||||
|
},
|
||||||
|
|
||||||
|
getPallet: async (id: number) => {
|
||||||
|
return await request.get({ url: `/erp/pallet/get?id=` + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
createPallet: async (data: PalletVO) => {
|
||||||
|
return await request.post({ url: `/erp/pallet/create`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
updatePallet: async (data: PalletVO) => {
|
||||||
|
return await request.put({ url: `/erp/pallet/update`, data })
|
||||||
|
},
|
||||||
|
|
||||||
|
deletePallet: async (id: number) => {
|
||||||
|
return await request.delete({ url: `/erp/pallet/delete?id=` + id })
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,37 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface BannerVO {
|
|
||||||
id: number
|
|
||||||
title: string
|
|
||||||
picUrl: string
|
|
||||||
status: number
|
|
||||||
url: string
|
|
||||||
position: number
|
|
||||||
sort: number
|
|
||||||
memo: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询Banner管理列表
|
|
||||||
export const getBannerPage = async (params) => {
|
|
||||||
return await request.get({ url: `/promotion/banner/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询Banner管理详情
|
|
||||||
export const getBanner = async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/banner/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增Banner管理
|
|
||||||
export const createBanner = async (data: BannerVO) => {
|
|
||||||
return await request.post({ url: `/promotion/banner/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改Banner管理
|
|
||||||
export const updateBanner = async (data: BannerVO) => {
|
|
||||||
return await request.put({ url: `/promotion/banner/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除Banner管理
|
|
||||||
export const deleteBanner = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/promotion/banner/delete?id=` + id })
|
|
||||||
}
|
|
||||||
@ -1,61 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 商品品牌
|
|
||||||
*/
|
|
||||||
export interface BrandVO {
|
|
||||||
/**
|
|
||||||
* 品牌编号
|
|
||||||
*/
|
|
||||||
id?: number
|
|
||||||
/**
|
|
||||||
* 品牌名称
|
|
||||||
*/
|
|
||||||
name: string
|
|
||||||
/**
|
|
||||||
* 品牌图片
|
|
||||||
*/
|
|
||||||
picUrl: string
|
|
||||||
/**
|
|
||||||
* 品牌排序
|
|
||||||
*/
|
|
||||||
sort?: number
|
|
||||||
/**
|
|
||||||
* 品牌描述
|
|
||||||
*/
|
|
||||||
description?: string
|
|
||||||
/**
|
|
||||||
* 开启状态
|
|
||||||
*/
|
|
||||||
status: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建商品品牌
|
|
||||||
export const createBrand = (data: BrandVO) => {
|
|
||||||
return request.post({ url: '/product/brand/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新商品品牌
|
|
||||||
export const updateBrand = (data: BrandVO) => {
|
|
||||||
return request.put({ url: '/product/brand/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除商品品牌
|
|
||||||
export const deleteBrand = (id: number) => {
|
|
||||||
return request.delete({ url: `/product/brand/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得商品品牌
|
|
||||||
export const getBrand = (id: number) => {
|
|
||||||
return request.get({ url: `/product/brand/get?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得商品品牌列表
|
|
||||||
export const getBrandParam = (params: PageParam) => {
|
|
||||||
return request.get({ url: '/product/brand/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得商品品牌精简信息列表
|
|
||||||
export const getSimpleBrandList = () => {
|
|
||||||
return request.get({ url: '/product/brand/list-all-simple' })
|
|
||||||
}
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 产品分类
|
|
||||||
*/
|
|
||||||
export interface CategoryVO {
|
|
||||||
/**
|
|
||||||
* 分类编号
|
|
||||||
*/
|
|
||||||
id?: number
|
|
||||||
/**
|
|
||||||
* 父分类编号
|
|
||||||
*/
|
|
||||||
parentId?: number
|
|
||||||
/**
|
|
||||||
* 分类名称
|
|
||||||
*/
|
|
||||||
name: string
|
|
||||||
/**
|
|
||||||
* 移动端分类图
|
|
||||||
*/
|
|
||||||
picUrl: string
|
|
||||||
/**
|
|
||||||
* 分类排序
|
|
||||||
*/
|
|
||||||
sort: number
|
|
||||||
/**
|
|
||||||
* 开启状态
|
|
||||||
*/
|
|
||||||
status: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建商品分类
|
|
||||||
export const createCategory = (data: CategoryVO) => {
|
|
||||||
return request.post({ url: '/product/category/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新商品分类
|
|
||||||
export const updateCategory = (data: CategoryVO) => {
|
|
||||||
return request.put({ url: '/product/category/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除商品分类
|
|
||||||
export const deleteCategory = (id: number) => {
|
|
||||||
return request.delete({ url: `/product/category/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得商品分类
|
|
||||||
export const getCategory = (id: number) => {
|
|
||||||
return request.get({ url: `/product/category/get?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得商品分类列表
|
|
||||||
export const getCategoryList = (params: any) => {
|
|
||||||
return request.get({ url: '/product/category/list', params })
|
|
||||||
}
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface CommentVO {
|
|
||||||
id: number
|
|
||||||
userId: number
|
|
||||||
userNickname: string
|
|
||||||
userAvatar: string
|
|
||||||
anonymous: boolean
|
|
||||||
orderId: number
|
|
||||||
orderItemId: number
|
|
||||||
spuId: number
|
|
||||||
spuName: string
|
|
||||||
skuId: number
|
|
||||||
visible: boolean
|
|
||||||
scores: number
|
|
||||||
descriptionScores: number
|
|
||||||
benefitScores: number
|
|
||||||
content: string
|
|
||||||
picUrls: string
|
|
||||||
replyStatus: boolean
|
|
||||||
replyUserId: number
|
|
||||||
replyContent: string
|
|
||||||
replyTime: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询商品评论列表
|
|
||||||
export const getCommentPage = async (params) => {
|
|
||||||
return await request.get({ url: `/product/comment/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询商品评论详情
|
|
||||||
export const getComment = async (id: number) => {
|
|
||||||
return await request.get({ url: `/product/comment/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 添加自评
|
|
||||||
export const createComment = async (data: CommentVO) => {
|
|
||||||
return await request.post({ url: `/product/comment/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 显示 / 隐藏评论
|
|
||||||
export const updateCommentVisible = async (data: any) => {
|
|
||||||
return await request.put({ url: `/product/comment/update-visible`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 商家回复
|
|
||||||
export const replyComment = async (data: any) => {
|
|
||||||
return await request.put({ url: `/product/comment/reply`, data })
|
|
||||||
}
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface Favorite {
|
|
||||||
id?: number
|
|
||||||
userId?: string // 用户编号
|
|
||||||
spuId?: number | null // 商品 SPU 编号
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得 ProductFavorite 列表
|
|
||||||
export const getFavoritePage = (params: PageParam) => {
|
|
||||||
return request.get({ url: '/product/favorite/page', params })
|
|
||||||
}
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获得商品浏览记录分页
|
|
||||||
*
|
|
||||||
* @param params 请求参数
|
|
||||||
*/
|
|
||||||
export const getBrowseHistoryPage = (params: any) => {
|
|
||||||
return request.get({ url: '/product/browse-history/page', params })
|
|
||||||
}
|
|
||||||
@ -1,89 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 商品属性
|
|
||||||
*/
|
|
||||||
export interface PropertyVO {
|
|
||||||
id?: number
|
|
||||||
/** 名称 */
|
|
||||||
name: string
|
|
||||||
/** 备注 */
|
|
||||||
remark?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 属性值
|
|
||||||
*/
|
|
||||||
export interface PropertyValueVO {
|
|
||||||
id?: number
|
|
||||||
/** 属性项的编号 */
|
|
||||||
propertyId?: number
|
|
||||||
/** 名称 */
|
|
||||||
name: string
|
|
||||||
/** 备注 */
|
|
||||||
remark?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------ 属性项 -------------------
|
|
||||||
|
|
||||||
// 创建属性项
|
|
||||||
export const createProperty = (data: PropertyVO) => {
|
|
||||||
return request.post({ url: '/product/property/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新属性项
|
|
||||||
export const updateProperty = (data: PropertyVO) => {
|
|
||||||
return request.put({ url: '/product/property/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除属性项
|
|
||||||
export const deleteProperty = (id: number) => {
|
|
||||||
return request.delete({ url: `/product/property/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得属性项
|
|
||||||
export const getProperty = (id: number): Promise<PropertyVO> => {
|
|
||||||
return request.get({ url: `/product/property/get?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得属性项分页
|
|
||||||
export const getPropertyPage = (params: PageParam) => {
|
|
||||||
return request.get({ url: '/product/property/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得属性项精简列表
|
|
||||||
export const getPropertySimpleList = (): Promise<PropertyVO[]> => {
|
|
||||||
return request.get({ url: '/product/property/simple-list' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------ 属性值 -------------------
|
|
||||||
|
|
||||||
// 获得属性值分页
|
|
||||||
export const getPropertyValuePage = (params: PageParam & any) => {
|
|
||||||
return request.get({ url: '/product/property/value/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得属性值
|
|
||||||
export const getPropertyValue = (id: number): Promise<PropertyValueVO> => {
|
|
||||||
return request.get({ url: `/product/property/value/get?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建属性值
|
|
||||||
export const createPropertyValue = (data: PropertyValueVO) => {
|
|
||||||
return request.post({ url: '/product/property/value/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新属性值
|
|
||||||
export const updatePropertyValue = (data: PropertyValueVO) => {
|
|
||||||
return request.put({ url: '/product/property/value/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除属性值
|
|
||||||
export const deletePropertyValue = (id: number) => {
|
|
||||||
return request.delete({ url: `/product/property/value/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得属性值精简列表
|
|
||||||
export const getPropertyValueSimpleList = (propertyId: number): Promise<PropertyValueVO[]> => {
|
|
||||||
return request.get({ url: '/product/property/value/simple-list', params: { propertyId } })
|
|
||||||
}
|
|
||||||
@ -1,42 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ArticleVO {
|
|
||||||
id: number
|
|
||||||
categoryId: number
|
|
||||||
title: string
|
|
||||||
author: string
|
|
||||||
picUrl: string
|
|
||||||
introduction: string
|
|
||||||
browseCount: string
|
|
||||||
sort: number
|
|
||||||
status: number
|
|
||||||
spuId: number
|
|
||||||
recommendHot: boolean
|
|
||||||
recommendBanner: boolean
|
|
||||||
content: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询文章管理列表
|
|
||||||
export const getArticlePage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/promotion/article/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询文章管理详情
|
|
||||||
export const getArticle = async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/article/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增文章管理
|
|
||||||
export const createArticle = async (data: ArticleVO) => {
|
|
||||||
return await request.post({ url: `/promotion/article/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改文章管理
|
|
||||||
export const updateArticle = async (data: ArticleVO) => {
|
|
||||||
return await request.put({ url: `/promotion/article/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除文章管理
|
|
||||||
export const deleteArticle = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/promotion/article/delete?id=` + id })
|
|
||||||
}
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ArticleCategoryVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
picUrl: string
|
|
||||||
status: number
|
|
||||||
sort: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询文章分类列表
|
|
||||||
export const getArticleCategoryPage = async (params) => {
|
|
||||||
return await request.get({ url: `/promotion/article-category/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询文章分类精简信息列表
|
|
||||||
export const getSimpleArticleCategoryList = async () => {
|
|
||||||
return await request.get({ url: `/promotion/article-category/list-all-simple` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询文章分类详情
|
|
||||||
export const getArticleCategory = async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/article-category/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增文章分类
|
|
||||||
export const createArticleCategory = async (data: ArticleCategoryVO) => {
|
|
||||||
return await request.post({ url: `/promotion/article-category/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改文章分类
|
|
||||||
export const updateArticleCategory = async (data: ArticleCategoryVO) => {
|
|
||||||
return await request.put({ url: `/promotion/article-category/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除文章分类
|
|
||||||
export const deleteArticleCategory = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/promotion/article-category/delete?id=` + id })
|
|
||||||
}
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { Sku, Spu } from '@/api/mall/product/spu'
|
|
||||||
|
|
||||||
export interface BargainActivityVO {
|
|
||||||
id?: number
|
|
||||||
name?: string
|
|
||||||
startTime?: Date
|
|
||||||
endTime?: Date
|
|
||||||
status?: number
|
|
||||||
helpMaxCount?: number // 达到该人数,才能砍到低价
|
|
||||||
bargainCount?: number // 最大帮砍次数
|
|
||||||
totalLimitCount?: number // 最大购买次数
|
|
||||||
spuId: number
|
|
||||||
skuId: number
|
|
||||||
bargainFirstPrice: number // 砍价起始价格,单位分
|
|
||||||
bargainMinPrice: number // 砍价底价
|
|
||||||
stock: number // 活动库存
|
|
||||||
randomMinPrice?: number // 用户每次砍价的最小金额,单位:分
|
|
||||||
randomMaxPrice?: number // 用户每次砍价的最大金额,单位:分
|
|
||||||
}
|
|
||||||
|
|
||||||
// 砍价活动所需属性。选择的商品和属性的时候使用方便使用活动的通用封装
|
|
||||||
export interface BargainProductVO {
|
|
||||||
spuId: number
|
|
||||||
skuId: number
|
|
||||||
bargainFirstPrice: number // 砍价起始价格,单位分
|
|
||||||
bargainMinPrice: number // 砍价底价
|
|
||||||
stock: number // 活动库存
|
|
||||||
}
|
|
||||||
|
|
||||||
// 扩展 Sku 配置
|
|
||||||
export type SkuExtension = Sku & {
|
|
||||||
productConfig: BargainProductVO
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SpuExtension extends Spu {
|
|
||||||
skus: SkuExtension[] // 重写类型
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询砍价活动列表
|
|
||||||
export const getBargainActivityPage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/promotion/bargain-activity/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询砍价活动详情
|
|
||||||
export const getBargainActivity = async (id: number) => {
|
|
||||||
return await request.get({ url: '/promotion/bargain-activity/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增砍价活动
|
|
||||||
export const createBargainActivity = async (data: BargainActivityVO) => {
|
|
||||||
return await request.post({ url: '/promotion/bargain-activity/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改砍价活动
|
|
||||||
export const updateBargainActivity = async (data: BargainActivityVO) => {
|
|
||||||
return await request.put({ url: '/promotion/bargain-activity/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭砍价活动
|
|
||||||
export const closeBargainActivity = async (id: number) => {
|
|
||||||
return await request.put({ url: '/promotion/bargain-activity/close?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除砍价活动
|
|
||||||
export const deleteBargainActivity = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/promotion/bargain-activity/delete?id=' + id })
|
|
||||||
}
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface BargainHelpVO {
|
|
||||||
id: number
|
|
||||||
record: number
|
|
||||||
userId: number
|
|
||||||
reducePrice: number
|
|
||||||
endTime: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询砍价记录列表
|
|
||||||
export const getBargainHelpPage = async (params) => {
|
|
||||||
return await request.get({ url: `/promotion/bargain-help/page`, params })
|
|
||||||
}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface BargainRecordVO {
|
|
||||||
id: number
|
|
||||||
activityId: number
|
|
||||||
userId: number
|
|
||||||
spuId: number
|
|
||||||
skuId: number
|
|
||||||
bargainFirstPrice: number
|
|
||||||
bargainPrice: number
|
|
||||||
status: number
|
|
||||||
orderId: number
|
|
||||||
endTime: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询砍价记录列表
|
|
||||||
export const getBargainRecordPage = async (params) => {
|
|
||||||
return await request.get({ url: `/promotion/bargain-record/page`, params })
|
|
||||||
}
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { Sku, Spu } from '@/api/mall/product/spu'
|
|
||||||
|
|
||||||
export interface CombinationActivityVO {
|
|
||||||
id?: number
|
|
||||||
name?: string
|
|
||||||
spuId?: number
|
|
||||||
totalLimitCount?: number
|
|
||||||
singleLimitCount?: number
|
|
||||||
startTime?: Date
|
|
||||||
endTime?: Date
|
|
||||||
userSize?: number
|
|
||||||
totalCount?: number
|
|
||||||
successCount?: number
|
|
||||||
orderUserCount?: number
|
|
||||||
virtualGroup?: number
|
|
||||||
status?: number
|
|
||||||
limitDuration?: number
|
|
||||||
combinationPrice?: number
|
|
||||||
products: CombinationProductVO[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 拼团活动所需属性
|
|
||||||
export interface CombinationProductVO {
|
|
||||||
spuId: number
|
|
||||||
skuId: number
|
|
||||||
combinationPrice: number // 拼团价格
|
|
||||||
}
|
|
||||||
|
|
||||||
// 扩展 Sku 配置
|
|
||||||
export type SkuExtension = Sku & {
|
|
||||||
productConfig: CombinationProductVO
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SpuExtension extends Spu {
|
|
||||||
skus: SkuExtension[] // 重写类型
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询拼团活动列表
|
|
||||||
export const getCombinationActivityPage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/promotion/combination-activity/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询拼团活动详情
|
|
||||||
export const getCombinationActivity = async (id: number) => {
|
|
||||||
return await request.get({ url: '/promotion/combination-activity/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得拼团活动列表,基于活动编号数组
|
|
||||||
export const getCombinationActivityListByIds = (ids: number[]) => {
|
|
||||||
return request.get({ url: `/promotion/combination-activity/list-by-ids?ids=${ids}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增拼团活动
|
|
||||||
export const createCombinationActivity = async (data: CombinationActivityVO) => {
|
|
||||||
return await request.post({ url: '/promotion/combination-activity/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改拼团活动
|
|
||||||
export const updateCombinationActivity = async (data: CombinationActivityVO) => {
|
|
||||||
return await request.put({ url: '/promotion/combination-activity/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭拼团活动
|
|
||||||
export const closeCombinationActivity = async (id: number) => {
|
|
||||||
return await request.put({ url: '/promotion/combination-activity/close?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除拼团活动
|
|
||||||
export const deleteCombinationActivity = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/promotion/combination-activity/delete?id=' + id })
|
|
||||||
}
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface CombinationRecordVO {
|
|
||||||
id: number // 拼团记录编号
|
|
||||||
activityId: number // 拼团活动编号
|
|
||||||
nickname: string // 用户昵称
|
|
||||||
avatar: string // 用户头像
|
|
||||||
headId: number // 团长编号
|
|
||||||
expireTime: string // 过期时间
|
|
||||||
userSize: number // 可参团人数
|
|
||||||
userCount: number // 已参团人数
|
|
||||||
status: number // 拼团状态
|
|
||||||
spuName: string // 商品名字
|
|
||||||
picUrl: string // 商品图片
|
|
||||||
virtualGroup: boolean // 是否虚拟成团
|
|
||||||
startTime: string // 开始时间 (订单付款后开始的时间)
|
|
||||||
endTime: string // 结束时间(成团时间/失败时间)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询拼团记录列表
|
|
||||||
export const getCombinationRecordPage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/promotion/combination-record/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得拼团记录的概要信息
|
|
||||||
export const getCombinationRecordSummary = async () => {
|
|
||||||
return await request.get({ url: '/promotion/combination-record/get-summary' })
|
|
||||||
}
|
|
||||||
@ -1,90 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface CouponTemplateVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
status: number
|
|
||||||
totalCount: number
|
|
||||||
takeLimitCount: number
|
|
||||||
takeType: number
|
|
||||||
usePrice: number
|
|
||||||
productScope: number
|
|
||||||
productScopeValues: number[]
|
|
||||||
validityType: number
|
|
||||||
validStartTime: Date
|
|
||||||
validEndTime: Date
|
|
||||||
fixedStartTerm: number
|
|
||||||
fixedEndTerm: number
|
|
||||||
discountType: number
|
|
||||||
discountPercent: number
|
|
||||||
discountPrice: number
|
|
||||||
discountLimitPrice: number
|
|
||||||
takeCount: number
|
|
||||||
useCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 创建优惠劵模板
|
|
||||||
export function createCouponTemplate(data: CouponTemplateVO) {
|
|
||||||
return request.post({
|
|
||||||
url: '/promotion/coupon-template/create',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新优惠劵模板
|
|
||||||
export function updateCouponTemplate(data: CouponTemplateVO) {
|
|
||||||
return request.put({
|
|
||||||
url: '/promotion/coupon-template/update',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新优惠劵模板的状态
|
|
||||||
export function updateCouponTemplateStatus(id: number, status: [0, 1]) {
|
|
||||||
const data = {
|
|
||||||
id,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({
|
|
||||||
url: '/promotion/coupon-template/update-status',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除优惠劵模板
|
|
||||||
export function deleteCouponTemplate(id: number) {
|
|
||||||
return request.delete({
|
|
||||||
url: '/promotion/coupon-template/delete?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得优惠劵模板
|
|
||||||
export function getCouponTemplate(id: number) {
|
|
||||||
return request.get({
|
|
||||||
url: '/promotion/coupon-template/get?id=' + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得优惠劵模板分页
|
|
||||||
export function getCouponTemplatePage(params: PageParam) {
|
|
||||||
return request.get({
|
|
||||||
url: '/promotion/coupon-template/page',
|
|
||||||
params: params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得优惠劵模板分页
|
|
||||||
export function getCouponTemplateList(ids: number[]): Promise<CouponTemplateVO[]> {
|
|
||||||
return request.get({
|
|
||||||
url: `/promotion/coupon-template/list?ids=${ids}`
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出优惠劵模板 Excel
|
|
||||||
export function exportCouponTemplateExcel(params: PageParam) {
|
|
||||||
return request.get({
|
|
||||||
url: '/promotion/coupon-template/export-excel',
|
|
||||||
params: params,
|
|
||||||
responseType: 'blob'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { Sku, Spu } from '@/api/mall/product/spu'
|
|
||||||
|
|
||||||
export interface DiscountActivityVO {
|
|
||||||
id?: number
|
|
||||||
spuId?: number
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
remark?: string
|
|
||||||
startTime?: Date
|
|
||||||
endTime?: Date
|
|
||||||
products?: DiscountProductVO[]
|
|
||||||
}
|
|
||||||
// 限时折扣相关 属性
|
|
||||||
export interface DiscountProductVO {
|
|
||||||
spuId: number
|
|
||||||
skuId: number
|
|
||||||
discountType: number
|
|
||||||
discountPercent: number
|
|
||||||
discountPrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 扩展 Sku 配置
|
|
||||||
export type SkuExtension = Sku & {
|
|
||||||
productConfig: DiscountProductVO
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SpuExtension extends Spu {
|
|
||||||
skus: SkuExtension[] // 重写类型
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询限时折扣活动列表
|
|
||||||
export const getDiscountActivityPage = async (params) => {
|
|
||||||
return await request.get({ url: '/promotion/discount-activity/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询限时折扣活动详情
|
|
||||||
export const getDiscountActivity = async (id: number) => {
|
|
||||||
return await request.get({ url: '/promotion/discount-activity/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增限时折扣活动
|
|
||||||
export const createDiscountActivity = async (data: DiscountActivityVO) => {
|
|
||||||
return await request.post({ url: '/promotion/discount-activity/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改限时折扣活动
|
|
||||||
export const updateDiscountActivity = async (data: DiscountActivityVO) => {
|
|
||||||
return await request.put({ url: '/promotion/discount-activity/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭限时折扣活动
|
|
||||||
export const closeDiscountActivity = async (id: number) => {
|
|
||||||
return await request.put({ url: '/promotion/discount-activity/close?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除限时折扣活动
|
|
||||||
export const deleteDiscountActivity = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/promotion/discount-activity/delete?id=' + id })
|
|
||||||
}
|
|
||||||
@ -1,45 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface DiyPageVO {
|
|
||||||
id?: number
|
|
||||||
templateId?: number
|
|
||||||
name: string
|
|
||||||
remark: string
|
|
||||||
previewPicUrls: string[]
|
|
||||||
property: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询装修页面列表
|
|
||||||
export const getDiyPagePage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/promotion/diy-page/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询装修页面详情
|
|
||||||
export const getDiyPage = async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/diy-page/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增装修页面
|
|
||||||
export const createDiyPage = async (data: DiyPageVO) => {
|
|
||||||
return await request.post({ url: `/promotion/diy-page/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改装修页面
|
|
||||||
export const updateDiyPage = async (data: DiyPageVO) => {
|
|
||||||
return await request.put({ url: `/promotion/diy-page/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除装修页面
|
|
||||||
export const deleteDiyPage = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/promotion/diy-page/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得装修页面属性
|
|
||||||
export const getDiyPageProperty = async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/diy-page/get-property?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新装修页面属性
|
|
||||||
export const updateDiyPageProperty = async (data: DiyPageVO) => {
|
|
||||||
return await request.put({ url: `/promotion/diy-page/update-property`, data })
|
|
||||||
}
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { DiyPageVO } from '@/api/mall/promotion/diy/page'
|
|
||||||
|
|
||||||
export interface DiyTemplateVO {
|
|
||||||
id?: number
|
|
||||||
name: string
|
|
||||||
used: boolean
|
|
||||||
usedTime?: Date
|
|
||||||
remark: string
|
|
||||||
previewPicUrls: string[]
|
|
||||||
property: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface DiyTemplatePropertyVO extends DiyTemplateVO {
|
|
||||||
pages: DiyPageVO[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询装修模板列表
|
|
||||||
export const getDiyTemplatePage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/promotion/diy-template/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询装修模板详情
|
|
||||||
export const getDiyTemplate = async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/diy-template/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增装修模板
|
|
||||||
export const createDiyTemplate = async (data: DiyTemplateVO) => {
|
|
||||||
return await request.post({ url: `/promotion/diy-template/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改装修模板
|
|
||||||
export const updateDiyTemplate = async (data: DiyTemplateVO) => {
|
|
||||||
return await request.put({ url: `/promotion/diy-template/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除装修模板
|
|
||||||
export const deleteDiyTemplate = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/promotion/diy-template/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 使用装修模板
|
|
||||||
export const useDiyTemplate = async (id: number) => {
|
|
||||||
return await request.put({ url: `/promotion/diy-template/use?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得装修模板属性
|
|
||||||
export const getDiyTemplateProperty = async (id: number) => {
|
|
||||||
return await request.get<DiyTemplatePropertyVO>({
|
|
||||||
url: `/promotion/diy-template/get-property?id=` + id
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新装修模板属性
|
|
||||||
export const updateDiyTemplateProperty = async (data: DiyTemplateVO) => {
|
|
||||||
return await request.put({ url: `/promotion/diy-template/update-property`, data })
|
|
||||||
}
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface KeFuConversationRespVO {
|
|
||||||
id: number // 编号
|
|
||||||
userId: number // 会话所属用户
|
|
||||||
userAvatar: string // 会话所属用户头像
|
|
||||||
userNickname: string // 会话所属用户昵称
|
|
||||||
lastMessageTime: Date // 最后聊天时间
|
|
||||||
lastMessageContent: string // 最后聊天内容
|
|
||||||
lastMessageContentType: number // 最后发送的消息类型
|
|
||||||
adminPinned: boolean // 管理端置顶
|
|
||||||
userDeleted: boolean // 用户是否可见
|
|
||||||
adminDeleted: boolean // 管理员是否可见
|
|
||||||
adminUnreadMessageCount: number // 管理员未读消息数
|
|
||||||
createTime?: string // 创建时间
|
|
||||||
}
|
|
||||||
|
|
||||||
// 客服会话 API
|
|
||||||
export const KeFuConversationApi = {
|
|
||||||
// 获得客服会话列表
|
|
||||||
getConversationList: async () => {
|
|
||||||
return await request.get({ url: '/promotion/kefu-conversation/list' })
|
|
||||||
},
|
|
||||||
// 获得客服会话
|
|
||||||
getConversation: async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/kefu-conversation/get?id=` + id })
|
|
||||||
},
|
|
||||||
// 客服会话置顶
|
|
||||||
updateConversationPinned: async (data: any) => {
|
|
||||||
return await request.put({
|
|
||||||
url: '/promotion/kefu-conversation/update-conversation-pinned',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 删除客服会话
|
|
||||||
deleteConversation: async (id: number) => {
|
|
||||||
return await request.delete({ url: `/promotion/kefu-conversation/delete?id=${id}` })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface KeFuMessageRespVO {
|
|
||||||
id: number // 编号
|
|
||||||
conversationId: number // 会话编号
|
|
||||||
senderId: number // 发送人编号
|
|
||||||
senderAvatar: string // 发送人头像
|
|
||||||
senderType: number // 发送人类型
|
|
||||||
receiverId: number // 接收人编号
|
|
||||||
receiverType: number // 接收人类型
|
|
||||||
contentType: number // 消息类型
|
|
||||||
content: string // 消息
|
|
||||||
readStatus: boolean // 是否已读
|
|
||||||
createTime: Date // 创建时间
|
|
||||||
}
|
|
||||||
|
|
||||||
// 客服会话 API
|
|
||||||
export const KeFuMessageApi = {
|
|
||||||
// 发送客服消息
|
|
||||||
sendKeFuMessage: async (data: any) => {
|
|
||||||
return await request.post({
|
|
||||||
url: '/promotion/kefu-message/send',
|
|
||||||
data
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 更新客服消息已读状态
|
|
||||||
updateKeFuMessageReadStatus: async (conversationId: number) => {
|
|
||||||
return await request.put({
|
|
||||||
url: '/promotion/kefu-message/update-read-status?conversationId=' + conversationId
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获得消息列表(流式加载)
|
|
||||||
getKeFuMessageList: async (params: any) => {
|
|
||||||
return await request.get({ url: '/promotion/kefu-message/list', params })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,91 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { Sku, Spu } from '@/api/mall/product/spu' // 积分商城活动 VO
|
|
||||||
|
|
||||||
// 积分商城活动 VO
|
|
||||||
export interface PointActivityVO {
|
|
||||||
id: number // 积分商城活动编号
|
|
||||||
spuId: number // 积分商城活动商品
|
|
||||||
status: number // 活动状态
|
|
||||||
stock: number // 积分商城活动库存
|
|
||||||
totalStock: number // 积分商城活动总库存
|
|
||||||
remark?: string // 备注
|
|
||||||
sort: number // 排序
|
|
||||||
createTime: string // 创建时间
|
|
||||||
products: PointProductVO[] // 积分商城商品
|
|
||||||
|
|
||||||
// ========== 商品字段 ==========
|
|
||||||
spuName: string // 商品名称
|
|
||||||
picUrl: string // 商品主图
|
|
||||||
marketPrice: number // 商品市场价,单位:分
|
|
||||||
|
|
||||||
//======================= 显示所需兑换积分最少的 sku 信息 =======================
|
|
||||||
point: number // 兑换积分
|
|
||||||
price: number // 兑换金额,单位:分
|
|
||||||
}
|
|
||||||
|
|
||||||
// 秒杀活动所需属性
|
|
||||||
export interface PointProductVO {
|
|
||||||
id?: number // 积分商城商品编号
|
|
||||||
activityId?: number // 积分商城活动 id
|
|
||||||
spuId?: number // 商品 SPU 编号
|
|
||||||
skuId: number // 商品 SKU 编号
|
|
||||||
count: number // 可兑换数量
|
|
||||||
point: number // 兑换积分
|
|
||||||
price: number // 兑换金额,单位:分
|
|
||||||
stock: number // 积分商城商品库存
|
|
||||||
activityStatus?: number // 积分商城商品状态
|
|
||||||
}
|
|
||||||
|
|
||||||
// 扩展 Sku 配置
|
|
||||||
export type SkuExtension = Sku & {
|
|
||||||
productConfig: PointProductVO
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SpuExtension extends Spu {
|
|
||||||
skus: SkuExtension[] // 重写类型
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SpuExtension0 extends Spu {
|
|
||||||
pointStock: number // 积分商城活动库存
|
|
||||||
pointTotalStock: number // 积分商城活动总库存
|
|
||||||
point: number // 兑换积分
|
|
||||||
pointPrice: number // 兑换金额,单位:分
|
|
||||||
}
|
|
||||||
|
|
||||||
// 积分商城活动 API
|
|
||||||
export const PointActivityApi = {
|
|
||||||
// 查询积分商城活动分页
|
|
||||||
getPointActivityPage: async (params: any) => {
|
|
||||||
return await request.get({ url: `/promotion/point-activity/page`, params })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询积分商城活动详情
|
|
||||||
getPointActivity: async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/point-activity/get?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询积分商城活动列表,基于活动编号数组
|
|
||||||
getPointActivityListByIds: async (ids: number[]) => {
|
|
||||||
return request.get({ url: `/promotion/point-activity/list-by-ids?ids=${ids}` })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增积分商城活动
|
|
||||||
createPointActivity: async (data: PointActivityVO) => {
|
|
||||||
return await request.post({ url: `/promotion/point-activity/create`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改积分商城活动
|
|
||||||
updatePointActivity: async (data: PointActivityVO) => {
|
|
||||||
return await request.put({ url: `/promotion/point-activity/update`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除积分商城活动
|
|
||||||
deletePointActivity: async (id: number) => {
|
|
||||||
return await request.delete({ url: `/promotion/point-activity/delete?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 关闭秒杀活动
|
|
||||||
closePointActivity: async (id: number) => {
|
|
||||||
return await request.put({ url: '/promotion/point-activity/close?id=' + id })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface RewardActivityVO {
|
|
||||||
id?: number
|
|
||||||
name?: string
|
|
||||||
startTime?: Date
|
|
||||||
endTime?: Date
|
|
||||||
startAndEndTime?: Date[] // 只前端使用
|
|
||||||
remark?: string
|
|
||||||
conditionType?: number
|
|
||||||
productScope?: number
|
|
||||||
rules: RewardRule[]
|
|
||||||
// 如下仅用于表单,不提交
|
|
||||||
productScopeValues?: number[] // 商品范围:值为品类编号列表、商品编号列表
|
|
||||||
productCategoryIds?: number[]
|
|
||||||
productSpuIds?: number[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 优惠规则
|
|
||||||
export interface RewardRule {
|
|
||||||
limit?: number
|
|
||||||
discountPrice?: number
|
|
||||||
freeDelivery?: boolean
|
|
||||||
point: number
|
|
||||||
giveCouponTemplateCounts?: {
|
|
||||||
[key: number]: number
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增满减送活动
|
|
||||||
export const createRewardActivity = async (data: RewardActivityVO) => {
|
|
||||||
return await request.post({ url: '/promotion/reward-activity/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新满减送活动
|
|
||||||
export const updateRewardActivity = async (data: RewardActivityVO) => {
|
|
||||||
return await request.put({ url: '/promotion/reward-activity/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询满减送活动列表
|
|
||||||
export const getRewardActivityPage = async (params) => {
|
|
||||||
return await request.get({ url: '/promotion/reward-activity/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询满减送活动详情
|
|
||||||
export const getReward = async (id: number) => {
|
|
||||||
return await request.get({ url: '/promotion/reward-activity/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除满减送活动
|
|
||||||
export const deleteRewardActivity = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/promotion/reward-activity/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭满减送活动
|
|
||||||
export const closeRewardActivity = async (id: number) => {
|
|
||||||
return await request.put({ url: '/promotion/reward-activity/close?id=' + id })
|
|
||||||
}
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { Sku, Spu } from '@/api/mall/product/spu'
|
|
||||||
|
|
||||||
export interface SeckillActivityVO {
|
|
||||||
id?: number
|
|
||||||
spuId?: number
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
remark?: string
|
|
||||||
startTime?: Date
|
|
||||||
endTime?: Date
|
|
||||||
sort?: number
|
|
||||||
configIds?: string
|
|
||||||
orderCount?: number
|
|
||||||
userCount?: number
|
|
||||||
totalPrice?: number
|
|
||||||
totalLimitCount?: number
|
|
||||||
singleLimitCount?: number
|
|
||||||
stock?: number
|
|
||||||
totalStock?: number
|
|
||||||
seckillPrice?: number
|
|
||||||
products?: SeckillProductVO[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 秒杀活动所需属性
|
|
||||||
export interface SeckillProductVO {
|
|
||||||
skuId: number
|
|
||||||
spuId: number
|
|
||||||
seckillPrice: number
|
|
||||||
stock: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 扩展 Sku 配置
|
|
||||||
export type SkuExtension = Sku & {
|
|
||||||
productConfig: SeckillProductVO
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SpuExtension extends Spu {
|
|
||||||
skus: SkuExtension[] // 重写类型
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询秒杀活动列表
|
|
||||||
export const getSeckillActivityPage = async (params) => {
|
|
||||||
return await request.get({ url: '/promotion/seckill-activity/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询秒杀活动列表,基于活动编号数组
|
|
||||||
export const getSeckillActivityListByIds = (ids: number[]) => {
|
|
||||||
return request.get({ url: `/promotion/seckill-activity/list-by-ids?ids=${ids}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询秒杀活动详情
|
|
||||||
export const getSeckillActivity = async (id: number) => {
|
|
||||||
return await request.get({ url: '/promotion/seckill-activity/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增秒杀活动
|
|
||||||
export const createSeckillActivity = async (data: SeckillActivityVO) => {
|
|
||||||
return await request.post({ url: '/promotion/seckill-activity/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改秒杀活动
|
|
||||||
export const updateSeckillActivity = async (data: SeckillActivityVO) => {
|
|
||||||
return await request.put({ url: '/promotion/seckill-activity/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 关闭秒杀活动
|
|
||||||
export const closeSeckillActivity = async (id: number) => {
|
|
||||||
return await request.put({ url: '/promotion/seckill-activity/close?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除秒杀活动
|
|
||||||
export const deleteSeckillActivity = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/promotion/seckill-activity/delete?id=' + id })
|
|
||||||
}
|
|
||||||
@ -1,53 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 秒杀时段 VO
|
|
||||||
export interface SeckillConfigVO {
|
|
||||||
id: number // 编号
|
|
||||||
name: string // 秒杀时段名称
|
|
||||||
startTime: string // 开始时间点
|
|
||||||
endTime: string // 结束时间点
|
|
||||||
sliderPicUrls: string[] // 秒杀轮播图
|
|
||||||
status: number // 活动状态
|
|
||||||
}
|
|
||||||
|
|
||||||
// 秒杀时段 API
|
|
||||||
export const SeckillConfigApi = {
|
|
||||||
// 查询秒杀时段分页
|
|
||||||
getSeckillConfigPage: async (params: any) => {
|
|
||||||
return await request.get({ url: `/promotion/seckill-config/page`, params })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询秒杀时段列表
|
|
||||||
getSimpleSeckillConfigList: async () => {
|
|
||||||
return await request.get({ url: `/promotion/seckill-config/list` })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询秒杀时段详情
|
|
||||||
getSeckillConfig: async (id: number) => {
|
|
||||||
return await request.get({ url: `/promotion/seckill-config/get?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增秒杀时段
|
|
||||||
createSeckillConfig: async (data: SeckillConfigVO) => {
|
|
||||||
return await request.post({ url: `/promotion/seckill-config/create`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改秒杀时段
|
|
||||||
updateSeckillConfig: async (data: SeckillConfigVO) => {
|
|
||||||
return await request.put({ url: `/promotion/seckill-config/update`, data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除秒杀时段
|
|
||||||
deleteSeckillConfig: async (id: number) => {
|
|
||||||
return await request.delete({ url: `/promotion/seckill-config/delete?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改时段配置状态
|
|
||||||
updateSeckillConfigStatus: async (id: number, status: number) => {
|
|
||||||
const data = {
|
|
||||||
id,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request.put({ url: '/promotion/seckill-config/update-status', data: data })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
/** 数据对照 Response VO */
|
|
||||||
export interface DataComparisonRespVO<T> {
|
|
||||||
value: T
|
|
||||||
reference: T
|
|
||||||
}
|
|
||||||
@ -1,123 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import dayjs from 'dayjs'
|
|
||||||
import { DataComparisonRespVO } from '@/api/mall/statistics/common'
|
|
||||||
import { formatDate } from '@/utils/formatTime'
|
|
||||||
|
|
||||||
/** 会员分析 Request VO */
|
|
||||||
export interface MemberAnalyseReqVO {
|
|
||||||
times: dayjs.ConfigType[]
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 会员分析 Response VO */
|
|
||||||
export interface MemberAnalyseRespVO {
|
|
||||||
visitUserCount: number
|
|
||||||
orderUserCount: number
|
|
||||||
payUserCount: number
|
|
||||||
atv: number
|
|
||||||
comparison: DataComparisonRespVO<MemberAnalyseComparisonRespVO>
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 会员分析对照数据 Response VO */
|
|
||||||
export interface MemberAnalyseComparisonRespVO {
|
|
||||||
registerUserCount: number
|
|
||||||
visitUserCount: number
|
|
||||||
rechargeUserCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 会员地区统计 Response VO */
|
|
||||||
export interface MemberAreaStatisticsRespVO {
|
|
||||||
areaId: number
|
|
||||||
areaName: string
|
|
||||||
userCount: number
|
|
||||||
orderCreateUserCount: number
|
|
||||||
orderPayUserCount: number
|
|
||||||
orderPayPrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 会员性别统计 Response VO */
|
|
||||||
export interface MemberSexStatisticsRespVO {
|
|
||||||
sex: number
|
|
||||||
userCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 会员统计 Response VO */
|
|
||||||
export interface MemberSummaryRespVO {
|
|
||||||
userCount: number
|
|
||||||
rechargeUserCount: number
|
|
||||||
rechargePrice: number
|
|
||||||
expensePrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 会员终端统计 Response VO */
|
|
||||||
export interface MemberTerminalStatisticsRespVO {
|
|
||||||
terminal: number
|
|
||||||
userCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 会员数量统计 Response VO */
|
|
||||||
export interface MemberCountRespVO {
|
|
||||||
/** 用户访问量 */
|
|
||||||
visitUserCount: string
|
|
||||||
/** 注册用户数量 */
|
|
||||||
registerUserCount: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 会员注册数量 Response VO */
|
|
||||||
export interface MemberRegisterCountRespVO {
|
|
||||||
date: string
|
|
||||||
count: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询会员统计
|
|
||||||
export const getMemberSummary = () => {
|
|
||||||
return request.get<MemberSummaryRespVO>({
|
|
||||||
url: '/statistics/member/summary'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询会员分析数据
|
|
||||||
export const getMemberAnalyse = (params: MemberAnalyseReqVO) => {
|
|
||||||
return request.get<MemberAnalyseRespVO>({
|
|
||||||
url: '/statistics/member/analyse',
|
|
||||||
params: { times: [formatDate(params.times[0]), formatDate(params.times[1])] }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 按照省份,查询会员统计列表
|
|
||||||
export const getMemberAreaStatisticsList = () => {
|
|
||||||
return request.get<MemberAreaStatisticsRespVO[]>({
|
|
||||||
url: '/statistics/member/area-statistics-list'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 按照性别,查询会员统计列表
|
|
||||||
export const getMemberSexStatisticsList = () => {
|
|
||||||
return request.get<MemberSexStatisticsRespVO[]>({
|
|
||||||
url: '/statistics/member/sex-statistics-list'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 按照终端,查询会员统计列表
|
|
||||||
export const getMemberTerminalStatisticsList = () => {
|
|
||||||
return request.get<MemberTerminalStatisticsRespVO[]>({
|
|
||||||
url: '/statistics/member/terminal-statistics-list'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得用户数量量对照
|
|
||||||
export const getUserCountComparison = () => {
|
|
||||||
return request.get<DataComparisonRespVO<MemberCountRespVO>>({
|
|
||||||
url: '/statistics/member/user-count-comparison'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得会员注册数量列表
|
|
||||||
export const getMemberRegisterCountList = (
|
|
||||||
beginTime: dayjs.ConfigType,
|
|
||||||
endTime: dayjs.ConfigType
|
|
||||||
) => {
|
|
||||||
return request.get<MemberRegisterCountRespVO[]>({
|
|
||||||
url: '/statistics/member/register-count-list',
|
|
||||||
params: { times: [formatDate(beginTime), formatDate(endTime)] }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
/** 支付统计 */
|
|
||||||
export interface PaySummaryRespVO {
|
|
||||||
/** 充值金额,单位分 */
|
|
||||||
rechargePrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 获取钱包充值金额 */
|
|
||||||
export const getWalletRechargePrice = async () => {
|
|
||||||
return await request.get<PaySummaryRespVO>({ url: `/statistics/pay/summary` })
|
|
||||||
}
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import { DataComparisonRespVO } from '@/api/mall/statistics/common'
|
|
||||||
|
|
||||||
export interface ProductStatisticsVO {
|
|
||||||
id: number
|
|
||||||
day: string
|
|
||||||
spuId: number
|
|
||||||
spuName: string
|
|
||||||
spuPicUrl: string
|
|
||||||
browseCount: number
|
|
||||||
browseUserCount: number
|
|
||||||
favoriteCount: number
|
|
||||||
cartCount: number
|
|
||||||
orderCount: number
|
|
||||||
orderPayCount: number
|
|
||||||
orderPayPrice: number
|
|
||||||
afterSaleCount: number
|
|
||||||
afterSaleRefundPrice: number
|
|
||||||
browseConvertPercent: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 商品统计 API
|
|
||||||
export const ProductStatisticsApi = {
|
|
||||||
// 获得商品统计分析
|
|
||||||
getProductStatisticsAnalyse: (params: any) => {
|
|
||||||
return request.get<DataComparisonRespVO<ProductStatisticsVO>>({
|
|
||||||
url: '/statistics/product/analyse',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获得商品状况明细
|
|
||||||
getProductStatisticsList: (params: any) => {
|
|
||||||
return request.get<ProductStatisticsVO[]>({
|
|
||||||
url: '/statistics/product/list',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 导出获得商品状况明细 Excel
|
|
||||||
exportProductStatisticsExcel: (params: any) => {
|
|
||||||
return request.download({
|
|
||||||
url: '/statistics/product/export-excel',
|
|
||||||
params
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获得商品排行榜分页
|
|
||||||
getProductStatisticsRankPage: async (params: any) => {
|
|
||||||
return await request.get({
|
|
||||||
url: `/statistics/product/rank-page`,
|
|
||||||
params
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,119 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
import dayjs from 'dayjs'
|
|
||||||
import { formatDate } from '@/utils/formatTime'
|
|
||||||
import { DataComparisonRespVO } from '@/api/mall/statistics/common'
|
|
||||||
|
|
||||||
/** 交易统计 Response VO */
|
|
||||||
export interface TradeSummaryRespVO {
|
|
||||||
yesterdayOrderCount: number
|
|
||||||
monthOrderCount: number
|
|
||||||
yesterdayPayPrice: number
|
|
||||||
monthPayPrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 交易状况 Request VO */
|
|
||||||
export interface TradeTrendReqVO {
|
|
||||||
times: [dayjs.ConfigType, dayjs.ConfigType]
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 交易状况统计 Response VO */
|
|
||||||
export interface TradeTrendSummaryRespVO {
|
|
||||||
time: string
|
|
||||||
turnoverPrice: number
|
|
||||||
orderPayPrice: number
|
|
||||||
rechargePrice: number
|
|
||||||
expensePrice: number
|
|
||||||
walletPayPrice: number
|
|
||||||
brokerageSettlementPrice: number
|
|
||||||
afterSaleRefundPrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 交易订单数量 Response VO */
|
|
||||||
export interface TradeOrderCountRespVO {
|
|
||||||
/** 待发货 */
|
|
||||||
undelivered?: number
|
|
||||||
/** 待核销 */
|
|
||||||
pickUp?: number
|
|
||||||
/** 退款中 */
|
|
||||||
afterSaleApply?: number
|
|
||||||
/** 提现待审核 */
|
|
||||||
auditingWithdraw?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 交易订单统计 Response VO */
|
|
||||||
export interface TradeOrderSummaryRespVO {
|
|
||||||
/** 支付订单商品数 */
|
|
||||||
orderPayCount?: number
|
|
||||||
/** 总支付金额,单位:分 */
|
|
||||||
orderPayPrice?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 订单量趋势统计 Response VO */
|
|
||||||
export interface TradeOrderTrendRespVO {
|
|
||||||
/** 日期 */
|
|
||||||
date: string
|
|
||||||
/** 订单数量 */
|
|
||||||
orderPayCount: number
|
|
||||||
/** 订单支付金额 */
|
|
||||||
orderPayPrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询交易统计
|
|
||||||
export const getTradeStatisticsSummary = () => {
|
|
||||||
return request.get<DataComparisonRespVO<TradeSummaryRespVO>>({
|
|
||||||
url: '/statistics/trade/summary'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得交易状况统计
|
|
||||||
export const getTradeStatisticsAnalyse = (params: TradeTrendReqVO) => {
|
|
||||||
return request.get<DataComparisonRespVO<TradeTrendSummaryRespVO>>({
|
|
||||||
url: '/statistics/trade/analyse',
|
|
||||||
params: formatDateParam(params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得交易状况明细
|
|
||||||
export const getTradeStatisticsList = (params: TradeTrendReqVO) => {
|
|
||||||
return request.get<TradeTrendSummaryRespVO[]>({
|
|
||||||
url: '/statistics/trade/list',
|
|
||||||
params: formatDateParam(params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出交易状况明细
|
|
||||||
export const exportTradeStatisticsExcel = (params: TradeTrendReqVO) => {
|
|
||||||
return request.download({
|
|
||||||
url: '/statistics/trade/export-excel',
|
|
||||||
params: formatDateParam(params)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得交易订单数量
|
|
||||||
export const getOrderCount = async () => {
|
|
||||||
return await request.get<TradeOrderCountRespVO>({ url: `/statistics/trade/order-count` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得交易订单数量对照
|
|
||||||
export const getOrderComparison = async () => {
|
|
||||||
return await request.get<DataComparisonRespVO<TradeOrderSummaryRespVO>>({
|
|
||||||
url: `/statistics/trade/order-comparison`
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得订单量趋势统计
|
|
||||||
export const getOrderCountTrendComparison = (
|
|
||||||
type: number,
|
|
||||||
beginTime: dayjs.ConfigType,
|
|
||||||
endTime: dayjs.ConfigType
|
|
||||||
) => {
|
|
||||||
return request.get<DataComparisonRespVO<TradeOrderTrendRespVO>[]>({
|
|
||||||
url: '/statistics/trade/order-count-trend',
|
|
||||||
params: { type, beginTime: formatDate(beginTime), endTime: formatDate(endTime) }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 时间参数需要格式化, 确保接口能识别 */
|
|
||||||
const formatDateParam = (params: TradeTrendReqVO) => {
|
|
||||||
return { times: [formatDate(params.times[0]), formatDate(params.times[1])] } as TradeTrendReqVO
|
|
||||||
}
|
|
||||||
@ -1,75 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface TradeAfterSaleVO {
|
|
||||||
id?: number | null // 售后编号,主键自增
|
|
||||||
no?: string // 售后单号
|
|
||||||
status?: number | null // 退款状态
|
|
||||||
way?: number | null // 售后方式
|
|
||||||
type?: number | null // 售后类型
|
|
||||||
userId?: number | null // 用户编号
|
|
||||||
applyReason?: string // 申请原因
|
|
||||||
applyDescription?: string // 补充描述
|
|
||||||
applyPicUrls?: string[] // 补充凭证图片
|
|
||||||
orderId?: number | null // 交易订单编号
|
|
||||||
orderNo?: string // 订单流水号
|
|
||||||
orderItemId?: number | null // 交易订单项编号
|
|
||||||
spuId?: number | null // 商品 SPU 编号
|
|
||||||
spuName?: string // 商品 SPU 名称
|
|
||||||
skuId?: number | null // 商品 SKU 编号
|
|
||||||
properties?: ProductPropertiesVO[] // 属性数组
|
|
||||||
picUrl?: string // 商品图片
|
|
||||||
count?: number | null // 退货商品数量
|
|
||||||
auditTime?: Date // 审批时间
|
|
||||||
auditUserId?: number | null // 审批人
|
|
||||||
auditReason?: string // 审批备注
|
|
||||||
refundPrice?: number | null // 退款金额,单位:分。
|
|
||||||
payRefundId?: number | null // 支付退款编号
|
|
||||||
refundTime?: Date // 退款时间
|
|
||||||
logisticsId?: number | null // 退货物流公司编号
|
|
||||||
logisticsNo?: string // 退货物流单号
|
|
||||||
deliveryTime?: Date // 退货时间
|
|
||||||
receiveTime?: Date // 收货时间
|
|
||||||
receiveReason?: string // 收货备注
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ProductPropertiesVO {
|
|
||||||
propertyId?: number | null // 属性的编号
|
|
||||||
propertyName?: string // 属性的名称
|
|
||||||
valueId?: number | null //属性值的编号
|
|
||||||
valueName?: string // 属性值的名称
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得交易售后分页
|
|
||||||
export const getAfterSalePage = async (params) => {
|
|
||||||
return await request.get({ url: `/trade/after-sale/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得交易售后详情
|
|
||||||
export const getAfterSale = async (id: any) => {
|
|
||||||
return await request.get({ url: `/trade/after-sale/get-detail?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 同意售后
|
|
||||||
export const agree = async (id: any) => {
|
|
||||||
return await request.put({ url: `/trade/after-sale/agree?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 拒绝售后
|
|
||||||
export const disagree = async (data: any) => {
|
|
||||||
return await request.put({ url: `/trade/after-sale/disagree`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 确认收货
|
|
||||||
export const receive = async (id: any) => {
|
|
||||||
return await request.put({ url: `/trade/after-sale/receive?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 拒绝收货
|
|
||||||
export const refuse = async (id: any) => {
|
|
||||||
return await request.put({ url: `/trade/after-sale/refuse?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 确认退款
|
|
||||||
export const refund = async (id: any) => {
|
|
||||||
return await request.put({ url: `/trade/after-sale/refund?id=${id}` })
|
|
||||||
}
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// 查询佣金记录列表
|
|
||||||
export const getBrokerageRecordPage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/trade/brokerage-record/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询佣金记录详情
|
|
||||||
export const getBrokerageRecord = async (id: number) => {
|
|
||||||
return await request.get({ url: `/trade/brokerage-record/get?id=` + id })
|
|
||||||
}
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface BrokerageUserVO {
|
|
||||||
id: number
|
|
||||||
bindUserId: number
|
|
||||||
bindUserTime: Date
|
|
||||||
brokerageEnabled: boolean
|
|
||||||
brokerageTime: Date
|
|
||||||
price: number
|
|
||||||
frozenPrice: number
|
|
||||||
|
|
||||||
nickname: string
|
|
||||||
avatar: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询分销用户列表
|
|
||||||
export const getBrokerageUserPage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/trade/brokerage-user/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询分销用户详情
|
|
||||||
export const getBrokerageUser = async (id: number) => {
|
|
||||||
return await request.get({ url: `/trade/brokerage-user/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改推广员
|
|
||||||
export const updateBindUser = async (data: any) => {
|
|
||||||
return await request.put({ url: `/trade/brokerage-user/update-bind-user`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 清除推广员
|
|
||||||
export const clearBindUser = async (data: any) => {
|
|
||||||
return await request.put({ url: `/trade/brokerage-user/clear-bind-user`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改推广资格
|
|
||||||
export const updateBrokerageEnabled = async (data: any) => {
|
|
||||||
return await request.put({ url: `/trade/brokerage-user/update-brokerage-enable`, data })
|
|
||||||
}
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface BrokerageWithdrawVO {
|
|
||||||
id: number
|
|
||||||
userId: number
|
|
||||||
price: number
|
|
||||||
feePrice: number
|
|
||||||
totalPrice: number
|
|
||||||
type: number
|
|
||||||
name: string
|
|
||||||
accountNo: string
|
|
||||||
bankName: string
|
|
||||||
bankAddress: string
|
|
||||||
accountQrCodeUrl: string
|
|
||||||
status: number
|
|
||||||
auditReason: string
|
|
||||||
auditTime: Date
|
|
||||||
remark: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询佣金提现列表
|
|
||||||
export const getBrokerageWithdrawPage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/trade/brokerage-withdraw/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询佣金提现详情
|
|
||||||
export const getBrokerageWithdraw = async (id: number) => {
|
|
||||||
return await request.get({ url: `/trade/brokerage-withdraw/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 佣金提现 - 通过申请
|
|
||||||
export const approveBrokerageWithdraw = async (id: number) => {
|
|
||||||
return await request.put({ url: `/trade/brokerage-withdraw/approve?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 审核佣金提现 - 驳回申请
|
|
||||||
export const rejectBrokerageWithdraw = async (data: BrokerageWithdrawVO) => {
|
|
||||||
return await request.put({ url: `/trade/brokerage-withdraw/reject`, data })
|
|
||||||
}
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ConfigVO {
|
|
||||||
brokerageEnabled: boolean
|
|
||||||
brokerageEnabledCondition: number
|
|
||||||
brokerageBindMode: number
|
|
||||||
brokeragePosterUrls: string
|
|
||||||
brokerageFirstPercent: number
|
|
||||||
brokerageSecondPercent: number
|
|
||||||
brokerageWithdrawMinPrice: number
|
|
||||||
brokerageFrozenDays: number
|
|
||||||
brokerageWithdrawTypes: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询交易中心配置详情
|
|
||||||
export const getTradeConfig = async () => {
|
|
||||||
return await request.get({ url: `/trade/config/get` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 保存交易中心配置
|
|
||||||
export const saveTradeConfig = async (data: ConfigVO) => {
|
|
||||||
return await request.put({ url: `/trade/config/save`, data })
|
|
||||||
}
|
|
||||||
@ -1,45 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface DeliveryExpressVO {
|
|
||||||
id: number
|
|
||||||
code: string
|
|
||||||
name: string
|
|
||||||
logo: string
|
|
||||||
sort: number
|
|
||||||
status: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询快递公司列表
|
|
||||||
export const getDeliveryExpressPage = async (params: PageParam) => {
|
|
||||||
return await request.get({ url: '/trade/delivery/express/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询快递公司详情
|
|
||||||
export const getDeliveryExpress = async (id: number) => {
|
|
||||||
return await request.get({ url: '/trade/delivery/express/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得快递公司精简信息列表
|
|
||||||
export const getSimpleDeliveryExpressList = () => {
|
|
||||||
return request.get({ url: '/trade/delivery/express/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增快递公司
|
|
||||||
export const createDeliveryExpress = async (data: DeliveryExpressVO) => {
|
|
||||||
return await request.post({ url: '/trade/delivery/express/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改快递公司
|
|
||||||
export const updateDeliveryExpress = async (data: DeliveryExpressVO) => {
|
|
||||||
return await request.put({ url: '/trade/delivery/express/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除快递公司
|
|
||||||
export const deleteDeliveryExpress = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/trade/delivery/express/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出快递公司 Excel
|
|
||||||
export const exportDeliveryExpressApi = async (params) => {
|
|
||||||
return await request.download({ url: '/trade/delivery/express/export-excel', params })
|
|
||||||
}
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface DeliveryExpressTemplateVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
chargeMode: number
|
|
||||||
sort: number
|
|
||||||
templateCharge: ExpressTemplateChargeVO[]
|
|
||||||
templateFree: ExpressTemplateFreeVO[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export declare type ExpressTemplateChargeVO = {
|
|
||||||
areaIds: number[]
|
|
||||||
startCount: number
|
|
||||||
startPrice: number
|
|
||||||
extraCount: number
|
|
||||||
extraPrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export declare type ExpressTemplateFreeVO = {
|
|
||||||
areaIds: number[]
|
|
||||||
freeCount: number
|
|
||||||
freePrice: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询快递运费模板列表
|
|
||||||
export const getDeliveryExpressTemplatePage = async (params: PageParam) => {
|
|
||||||
return await request.get({ url: '/trade/delivery/express-template/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询快递运费模板详情
|
|
||||||
export const getDeliveryExpressTemplate = async (id: number) => {
|
|
||||||
return await request.get({ url: '/trade/delivery/express-template/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询快递运费模板详情
|
|
||||||
export const getSimpleTemplateList = async () => {
|
|
||||||
return await request.get({ url: '/trade/delivery/express-template/list-all-simple' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增快递运费模板
|
|
||||||
export const createDeliveryExpressTemplate = async (data: DeliveryExpressTemplateVO) => {
|
|
||||||
return await request.post({ url: '/trade/delivery/express-template/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改快递运费模板
|
|
||||||
export const updateDeliveryExpressTemplate = async (data: DeliveryExpressTemplateVO) => {
|
|
||||||
return await request.put({ url: '/trade/delivery/express-template/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除快递运费模板
|
|
||||||
export const deleteDeliveryExpressTemplate = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/trade/delivery/express-template/delete?id=' + id })
|
|
||||||
}
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface DeliveryPickUpStoreVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
introduction: string
|
|
||||||
phone: string
|
|
||||||
areaId: number
|
|
||||||
detailAddress: string
|
|
||||||
logo: string
|
|
||||||
openingTime: string
|
|
||||||
closingTime: string
|
|
||||||
latitude: number
|
|
||||||
longitude: number
|
|
||||||
status: number
|
|
||||||
verifyUserIds: number[] // 绑定用户编号组数
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询自提门店列表
|
|
||||||
export const getDeliveryPickUpStorePage = async (params: any) => {
|
|
||||||
return await request.get({ url: '/trade/delivery/pick-up-store/page', params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询自提门店详情
|
|
||||||
export const getDeliveryPickUpStore = async (id: number) => {
|
|
||||||
return await request.get({ url: '/trade/delivery/pick-up-store/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询自提门店精简列表
|
|
||||||
export const getSimpleDeliveryPickUpStoreList = async (): Promise<DeliveryPickUpStoreVO[]> => {
|
|
||||||
return await request.get({ url: '/trade/delivery/pick-up-store/simple-list' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增自提门店
|
|
||||||
export const createDeliveryPickUpStore = async (data: DeliveryPickUpStoreVO) => {
|
|
||||||
return await request.post({ url: '/trade/delivery/pick-up-store/create', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改自提门店
|
|
||||||
export const updateDeliveryPickUpStore = async (data: DeliveryPickUpStoreVO) => {
|
|
||||||
return await request.put({ url: '/trade/delivery/pick-up-store/update', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除自提门店
|
|
||||||
export const deleteDeliveryPickUpStore = async (id: number) => {
|
|
||||||
return await request.delete({ url: '/trade/delivery/pick-up-store/delete?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 绑定自提店员
|
|
||||||
export const bindStoreStaffId = async (data: any) => {
|
|
||||||
return await request.post({ url: '/trade/delivery/pick-up-store/bind', data })
|
|
||||||
}
|
|
||||||
@ -1,188 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface OrderVO {
|
|
||||||
// ========== 订单基本信息 ==========
|
|
||||||
id?: number | null // 订单编号
|
|
||||||
no?: string // 订单流水号
|
|
||||||
createTime?: Date | null // 下单时间
|
|
||||||
type?: number | null // 订单类型
|
|
||||||
terminal?: number | null // 订单来源
|
|
||||||
userId?: number | null // 用户编号
|
|
||||||
userIp?: string // 用户 IP
|
|
||||||
userRemark?: string // 用户备注
|
|
||||||
status?: number | null // 订单状态
|
|
||||||
productCount?: number | null // 购买的商品数量
|
|
||||||
finishTime?: Date | null // 订单完成时间
|
|
||||||
cancelTime?: Date | null // 订单取消时间
|
|
||||||
cancelType?: number | null // 取消类型
|
|
||||||
remark?: string // 商家备注
|
|
||||||
|
|
||||||
// ========== 价格 + 支付基本信息 ==========
|
|
||||||
payOrderId?: number | null // 支付订单编号
|
|
||||||
payStatus?: boolean // 是否已支付
|
|
||||||
payTime?: Date | null // 付款时间
|
|
||||||
payChannelCode?: string // 支付渠道
|
|
||||||
totalPrice?: number | null // 商品原价(总)
|
|
||||||
discountPrice?: number | null // 订单优惠(总)
|
|
||||||
deliveryPrice?: number | null // 运费金额
|
|
||||||
adjustPrice?: number | null // 订单调价(总)
|
|
||||||
payPrice?: number | null // 应付金额(总)
|
|
||||||
// ========== 收件 + 物流基本信息 ==========
|
|
||||||
deliveryType?: number | null // 发货方式
|
|
||||||
pickUpStoreId?: number // 自提门店编号
|
|
||||||
pickUpVerifyCode?: string // 自提核销码
|
|
||||||
deliveryTemplateId?: number | null // 配送模板编号
|
|
||||||
logisticsId?: number | null // 发货物流公司编号
|
|
||||||
logisticsNo?: string // 发货物流单号
|
|
||||||
deliveryTime?: Date | null // 发货时间
|
|
||||||
receiveTime?: Date | null // 收货时间
|
|
||||||
receiverName?: string // 收件人名称
|
|
||||||
receiverMobile?: string // 收件人手机
|
|
||||||
receiverPostCode?: number | null // 收件人邮编
|
|
||||||
receiverAreaId?: number | null // 收件人地区编号
|
|
||||||
receiverAreaName?: string //收件人地区名字
|
|
||||||
receiverDetailAddress?: string // 收件人详细地址
|
|
||||||
|
|
||||||
// ========== 售后基本信息 ==========
|
|
||||||
afterSaleStatus?: number | null // 售后状态
|
|
||||||
refundPrice?: number | null // 退款金额
|
|
||||||
|
|
||||||
// ========== 营销基本信息 ==========
|
|
||||||
couponId?: number | null // 优惠劵编号
|
|
||||||
couponPrice?: number | null // 优惠劵减免金额
|
|
||||||
pointPrice?: number | null // 积分抵扣的金额
|
|
||||||
vipPrice?: number | null // VIP 减免金额
|
|
||||||
|
|
||||||
items?: OrderItemRespVO[] // 订单项列表
|
|
||||||
// 下单用户信息
|
|
||||||
user?: {
|
|
||||||
id?: number | null
|
|
||||||
nickname?: string
|
|
||||||
avatar?: string
|
|
||||||
}
|
|
||||||
// 推广用户信息
|
|
||||||
brokerageUser?: {
|
|
||||||
id?: number | null
|
|
||||||
nickname?: string
|
|
||||||
avatar?: string
|
|
||||||
}
|
|
||||||
// 订单操作日志
|
|
||||||
logs?: OrderLogRespVO[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface OrderLogRespVO {
|
|
||||||
content?: string
|
|
||||||
createTime?: Date
|
|
||||||
userType?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface OrderItemRespVO {
|
|
||||||
// ========== 订单项基本信息 ==========
|
|
||||||
id?: number | null // 编号
|
|
||||||
userId?: number | null // 用户编号
|
|
||||||
orderId?: number | null // 订单编号
|
|
||||||
// ========== 商品基本信息 ==========
|
|
||||||
spuId?: number | null // 商品 SPU 编号
|
|
||||||
spuName?: string //商品 SPU 名称
|
|
||||||
skuId?: number | null // 商品 SKU 编号
|
|
||||||
picUrl?: string //商品图片
|
|
||||||
count?: number | null //购买数量
|
|
||||||
// ========== 价格 + 支付基本信息 ==========
|
|
||||||
originalPrice?: number | null //商品原价(总)
|
|
||||||
originalUnitPrice?: number | null //商品原价(单)
|
|
||||||
discountPrice?: number | null //商品优惠(总)
|
|
||||||
payPrice?: number | null //商品实付金额(总)
|
|
||||||
orderPartPrice?: number | null //子订单分摊金额(总)
|
|
||||||
orderDividePrice?: number | null //分摊后子订单实付金额(总)
|
|
||||||
// ========== 营销基本信息 ==========
|
|
||||||
// TODO 芋艿:在捉摸一下
|
|
||||||
// ========== 售后基本信息 ==========
|
|
||||||
afterSaleStatus?: number | null // 售后状态
|
|
||||||
properties?: ProductPropertiesVO[] //属性数组
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ProductPropertiesVO {
|
|
||||||
propertyId?: number | null // 属性的编号
|
|
||||||
propertyName?: string // 属性的名称
|
|
||||||
valueId?: number | null //属性值的编号
|
|
||||||
valueName?: string // 属性值的名称
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 交易订单统计 */
|
|
||||||
export interface TradeOrderSummaryRespVO {
|
|
||||||
/** 订单数量 */
|
|
||||||
orderCount?: number
|
|
||||||
/** 订单金额 */
|
|
||||||
orderPayPrice?: string
|
|
||||||
/** 退款单数 */
|
|
||||||
afterSaleCount?: number
|
|
||||||
/** 退款金额 */
|
|
||||||
afterSalePrice?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询交易订单列表
|
|
||||||
export const getOrderPage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/trade/order/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询交易订单统计
|
|
||||||
export const getOrderSummary = async (params: any) => {
|
|
||||||
return await request.get<TradeOrderSummaryRespVO>({ url: `/trade/order/summary`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询交易订单详情
|
|
||||||
export const getOrder = async (id: number | null) => {
|
|
||||||
return await request.get({ url: `/trade/order/get-detail?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询交易订单物流详情
|
|
||||||
export const getExpressTrackList = async (id: number | null) => {
|
|
||||||
return await request.get({ url: `/trade/order/get-express-track-list?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface DeliveryVO {
|
|
||||||
id?: number // 订单编号
|
|
||||||
logisticsId: number | null // 物流公司编号
|
|
||||||
logisticsNo: string // 物流编号
|
|
||||||
}
|
|
||||||
|
|
||||||
// 订单发货
|
|
||||||
export const deliveryOrder = async (data: DeliveryVO) => {
|
|
||||||
return await request.put({ url: `/trade/order/delivery`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 订单备注
|
|
||||||
export const updateOrderRemark = async (data: any) => {
|
|
||||||
return await request.put({ url: `/trade/order/update-remark`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 订单调价
|
|
||||||
export const updateOrderPrice = async (data: any) => {
|
|
||||||
return await request.put({ url: `/trade/order/update-price`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改订单地址
|
|
||||||
export const updateOrderAddress = async (data: any) => {
|
|
||||||
return await request.put({ url: `/trade/order/update-address`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 订单核销
|
|
||||||
export const pickUpOrder = async (id: number) => {
|
|
||||||
return await request.put({ url: `/trade/order/pick-up-by-id?id=${id}` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 订单核销
|
|
||||||
export const pickUpOrderByVerifyCode = async (pickUpVerifyCode: string) => {
|
|
||||||
return await request.put({
|
|
||||||
url: `/trade/order/pick-up-by-verify-code`,
|
|
||||||
params: { pickUpVerifyCode }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询核销码对应的订单
|
|
||||||
export const getOrderByPickUpVerifyCode = async (pickUpVerifyCode: string) => {
|
|
||||||
return await request.get<OrderVO>({
|
|
||||||
url: `/trade/order/get-by-pick-up-verify-code`,
|
|
||||||
params: { pickUpVerifyCode }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface AddressVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
mobile: string
|
|
||||||
areaId: number
|
|
||||||
detailAddress: string
|
|
||||||
defaultStatus: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户收件地址列表
|
|
||||||
export const getAddressList = async (params) => {
|
|
||||||
return await request.get({ url: `/member/address/list`, params })
|
|
||||||
}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ConfigVO {
|
|
||||||
id: number
|
|
||||||
pointTradeDeductEnable: number
|
|
||||||
pointTradeDeductUnitPrice: number
|
|
||||||
pointTradeDeductMaxPrice: number
|
|
||||||
pointTradeGivePoint: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询积分设置详情
|
|
||||||
export const getConfig = async () => {
|
|
||||||
return await request.get({ url: `/member/config/get` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增修改积分设置
|
|
||||||
export const saveConfig = async (data: ConfigVO) => {
|
|
||||||
return await request.put({ url: `/member/config/save`, data })
|
|
||||||
}
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface ExperienceRecordVO {
|
|
||||||
id: number
|
|
||||||
userId: number
|
|
||||||
bizId: string
|
|
||||||
bizType: number
|
|
||||||
title: string
|
|
||||||
description: string
|
|
||||||
experience: number
|
|
||||||
totalExperience: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询会员经验记录列表
|
|
||||||
export const getExperienceRecordPage = async (params) => {
|
|
||||||
return await request.get({ url: `/member/experience-record/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询会员经验记录详情
|
|
||||||
export const getExperienceRecord = async (id: number) => {
|
|
||||||
return await request.get({ url: `/member/experience-record/get?id=` + id })
|
|
||||||
}
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface GroupVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
remark: string
|
|
||||||
status: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户分组列表
|
|
||||||
export const getGroupPage = async (params: any) => {
|
|
||||||
return await request.get({ url: `/member/group/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户分组详情
|
|
||||||
export const getGroup = async (id: number) => {
|
|
||||||
return await request.get({ url: `/member/group/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增用户分组
|
|
||||||
export const createGroup = async (data: GroupVO) => {
|
|
||||||
return await request.post({ url: `/member/group/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户分组 - 精简信息列表
|
|
||||||
export const getSimpleGroupList = async () => {
|
|
||||||
return await request.get({ url: `/member/group/list-all-simple` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改用户分组
|
|
||||||
export const updateGroup = async (data: GroupVO) => {
|
|
||||||
return await request.put({ url: `/member/group/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除用户分组
|
|
||||||
export const deleteGroup = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/member/group/delete?id=` + id })
|
|
||||||
}
|
|
||||||
@ -1,42 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface LevelVO {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
experience: number
|
|
||||||
value: number
|
|
||||||
discountPercent: number
|
|
||||||
icon: string
|
|
||||||
bgUrl: string
|
|
||||||
status: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询会员等级列表
|
|
||||||
export const getLevelList = async (params) => {
|
|
||||||
return await request.get({ url: `/member/level/list`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询会员等级详情
|
|
||||||
export const getLevel = async (id: number) => {
|
|
||||||
return await request.get({ url: `/member/level/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询会员等级 - 精简信息列表
|
|
||||||
export const getSimpleLevelList = async () => {
|
|
||||||
return await request.get({ url: `/member/level/list-all-simple` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增会员等级
|
|
||||||
export const createLevel = async (data: LevelVO) => {
|
|
||||||
return await request.post({ url: `/member/level/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改会员等级
|
|
||||||
export const updateLevel = async (data: LevelVO) => {
|
|
||||||
return await request.put({ url: `/member/level/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除会员等级
|
|
||||||
export const deleteLevel = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/member/level/delete?id=` + id })
|
|
||||||
}
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface RecordVO {
|
|
||||||
id: number
|
|
||||||
bizId: string
|
|
||||||
bizType: string
|
|
||||||
title: string
|
|
||||||
description: string
|
|
||||||
point: number
|
|
||||||
totalPoint: number
|
|
||||||
userId: number
|
|
||||||
createDate: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户积分记录列表
|
|
||||||
export const getRecordPage = async (params) => {
|
|
||||||
return await request.get({ url: `/member/point/record/page`, params })
|
|
||||||
}
|
|
||||||
@ -1,34 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface SignInConfigVO {
|
|
||||||
id?: number
|
|
||||||
day?: number
|
|
||||||
point?: number
|
|
||||||
experience?: number
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询积分签到规则列表
|
|
||||||
export const getSignInConfigList = async () => {
|
|
||||||
return await request.get({ url: `/member/sign-in/config/list` })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询积分签到规则详情
|
|
||||||
export const getSignInConfig = async (id: number) => {
|
|
||||||
return await request.get({ url: `/member/sign-in/config/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增积分签到规则
|
|
||||||
export const createSignInConfig = async (data: SignInConfigVO) => {
|
|
||||||
return await request.post({ url: `/member/sign-in/config/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改积分签到规则
|
|
||||||
export const updateSignInConfig = async (data: SignInConfigVO) => {
|
|
||||||
return await request.put({ url: `/member/sign-in/config/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除积分签到规则
|
|
||||||
export const deleteSignInConfig = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/member/sign-in/config/delete?id=` + id })
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface SignInRecordVO {
|
|
||||||
id: number
|
|
||||||
userId: number
|
|
||||||
day: number
|
|
||||||
point: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户签到积分列表
|
|
||||||
export const getSignInRecordPage = async (params) => {
|
|
||||||
return await request.get({ url: `/member/sign-in/record/page`, params })
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue