Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3e549a6862 | ||
|
|
fa6bcacaef | ||
|
|
ee12fa01c9 | ||
|
|
20426c43e3 | ||
|
|
22c022bf90 | ||
|
|
22eeb9c7c8 | ||
|
|
257ad9f79f | ||
|
|
12e6f08f1f | ||
|
|
43f3c67434 | ||
|
|
6768cdea05 | ||
|
|
70c5082776 | ||
|
|
b12aefe46e | ||
|
|
349a39e72f | ||
|
|
ae49aaffcf | ||
|
|
0fba3fd503 | ||
|
|
d877bfd26e | ||
|
|
c296c9e53d | ||
|
|
af2fb4bf5f | ||
|
|
855e4d3d02 | ||
|
|
4e69f15128 | ||
|
|
39e329b8a3 | ||
|
|
38545e89c6 | ||
|
|
0c42b76a52 | ||
|
|
9f0065f89f | ||
|
|
8b3980400a | ||
|
|
ba33d8bfd5 | ||
|
|
45ee4116b7 | ||
|
|
2bd750a3d6 | ||
|
|
b0984c9013 | ||
|
|
4ddba9d454 | ||
|
|
3c4a39df01 | ||
|
|
9c06832d7e | ||
|
|
6ac8c78d57 | ||
|
|
52bfc4dac0 | ||
|
|
50b181318b | ||
|
|
43e541f944 | ||
|
|
47f20e6d4c | ||
|
|
16561b1238 | ||
|
|
3feb4828cd | ||
|
|
ab7032f1ca | ||
|
|
c47cc18b24 | ||
|
|
fa618ca44a | ||
|
|
a788921d51 | ||
|
|
fbac522149 | ||
|
|
8456c671e8 | ||
|
|
bf629a9554 | ||
|
|
e92361ed40 | ||
|
|
be49c381f6 | ||
|
|
4a965b8c14 | ||
|
|
f1cf125f0d | ||
|
|
63cb62e697 | ||
|
|
7a64bbdea0 | ||
|
|
2b84489969 | ||
|
|
1c77ba8e04 | ||
|
|
0c6e3a39c9 | ||
|
|
9ee35fc165 | ||
|
|
1116fb278b | ||
|
|
6478d295df | ||
|
|
64f6f67ddd | ||
|
|
ab1120b0ff | ||
|
|
35c3545e7c | ||
|
|
538d1e0b6c | ||
|
|
7a64eb5198 | ||
|
|
61218ae711 | ||
|
|
d3b5535df9 | ||
|
|
ab1685a741 | ||
|
|
5c52c17227 | ||
|
|
c38abc365c | ||
|
|
0ceddc9c91 | ||
|
|
9680a204ca | ||
|
|
ace8f9e302 | ||
|
|
a0014bed65 | ||
|
|
2ab8ea45da | ||
|
|
53b6f0bdf4 | ||
|
|
fc366f18c8 | ||
|
|
6b7d092c29 | ||
|
|
148602556a | ||
|
|
4b6103a6f7 | ||
|
|
462b5b55d8 | ||
|
|
e31f922b82 | ||
|
|
9dc361e708 | ||
|
|
88f4502715 | ||
|
|
cb4527748e | ||
|
|
198752868c | ||
|
|
118f32ad83 | ||
|
|
c14b5c5bff | ||
|
|
036c9b3366 | ||
|
|
4cf734d244 | ||
|
|
f848f3ba91 | ||
|
|
917b9d180a | ||
|
|
f27b93db59 | ||
|
|
9f35ea9e82 | ||
|
|
36d0916f56 | ||
|
|
ebacbbb9cf | ||
|
|
08eb72e568 | ||
|
|
d99f9e98fb | ||
|
|
4925a66cc5 | ||
|
|
b45b85984c | ||
|
|
ab52f8b18f | ||
|
|
6662b04d12 | ||
|
|
a364d57438 | ||
|
|
917a2441ef | ||
|
|
75c4d6608c | ||
|
|
22e5b45d84 | ||
|
|
730e287d86 | ||
|
|
d87c02b232 | ||
|
|
bcf8cccf8b | ||
|
|
5c58bc4e0c | ||
|
|
7997614a3c | ||
|
|
48e50190e0 | ||
|
|
a3b4edf505 | ||
|
|
90b0af2e5d | ||
|
|
9af70e5ea1 | ||
|
|
f74067023d | ||
|
|
604b8867ce | ||
|
|
3d579b3a99 | ||
|
|
f8a86cbc24 | ||
|
|
7a0202e26d | ||
|
|
cddf1ee878 | ||
|
|
0beda6ecc3 | ||
|
|
39d8ecbfc7 | ||
|
|
c27be373d0 | ||
|
|
82dc0054f2 | ||
|
|
5164036b4e | ||
|
|
8a1a770e8b | ||
|
|
68d00912a3 | ||
|
|
84dcac77b1 | ||
|
|
b5fb700e4e | ||
|
|
30b8eeaccb | ||
|
|
738d15087a | ||
|
|
b368dd4027 | ||
|
|
9793734fdc | ||
|
|
f3869aa961 | ||
|
|
d32537e3ef | ||
|
|
30685bee75 | ||
|
|
d5b569eefa | ||
|
|
130574358d | ||
|
|
06974ca3c0 | ||
|
|
e3660e0b20 | ||
|
|
ae74af59fc | ||
|
|
97f9560c4d | ||
|
|
abf9b50c2f | ||
|
|
71fd9af2e1 | ||
|
|
f59e4a4622 | ||
|
|
4dabb710c5 | ||
|
|
389c73d834 | ||
|
|
5910d53d8f | ||
|
|
ec58321dd8 | ||
|
|
776eb3a7b0 | ||
|
|
de5b1216cd | ||
|
|
168f751a24 | ||
|
|
18742b8cc7 | ||
|
|
60cc4357cb | ||
|
|
f1f49fdf29 | ||
|
|
48c7b58b03 | ||
|
|
a5a8773972 | ||
|
|
e9eb585977 | ||
|
|
1170a9480f | ||
|
|
9fba2886ab | ||
|
|
b26bba9939 | ||
|
|
7564c43f16 | ||
|
|
02d98f2ce7 | ||
|
|
d62e607292 | ||
|
|
2bef7f707c | ||
|
|
b93491579c | ||
|
|
5f1aa86912 | ||
|
|
c4746fc804 | ||
|
|
0b055b5db4 | ||
|
|
4f3e7ecaac | ||
|
|
bb49c6bbda | ||
|
|
1aae769562 | ||
|
|
dc32b9242d | ||
|
|
92da7e341b | ||
|
|
813e7d2776 | ||
|
|
a00c612f36 | ||
|
|
f25a4d7343 | ||
|
|
1a1bfe0ebb | ||
|
|
3aefedff6a | ||
|
|
f436490165 | ||
|
|
44c18473d7 | ||
|
|
c461800eea | ||
|
|
afc16706a9 | ||
|
|
b131320cc1 | ||
|
|
5d089161e0 | ||
|
|
f3c6249600 | ||
|
|
3536077a34 | ||
|
|
357a4789f4 | ||
|
|
fbbf4131f6 | ||
|
|
df3b381d6f | ||
|
|
ebbf47f509 | ||
|
|
fd447dc7a3 | ||
|
|
129766fca4 | ||
|
|
232927952d | ||
|
|
30cf8008ce | ||
|
|
8863d1d080 | ||
|
|
1397767492 | ||
|
|
c7b296a8e5 | ||
|
|
0d96645bb3 | ||
|
|
fcb830b93e | ||
|
|
a15307c837 | ||
|
|
1dd6c32790 | ||
|
|
ecdaf84b24 | ||
|
|
7cb859e976 | ||
|
|
a5cb7a50ab | ||
|
|
b9b8e99149 | ||
|
|
df399647ed | ||
|
|
48920f6bec | ||
|
|
053ee54a16 | ||
|
|
b84298641c | ||
|
|
af18201ceb | ||
|
|
7711ceb3f3 | ||
|
|
098b7305c9 | ||
|
|
a8b4c16a7e | ||
|
|
e035eb2618 | ||
|
|
c33e4de5a8 | ||
|
|
521b521d07 | ||
|
|
7e3f6190a5 | ||
|
|
5e705776b8 | ||
|
|
47b5ce2f35 | ||
|
|
50efd60e15 | ||
|
|
7bfb109acc | ||
|
|
61bb2b8c99 | ||
|
|
a692674b24 | ||
|
|
99166ee664 | ||
|
|
642652bd08 | ||
|
|
75750c1bd3 | ||
|
|
4465220ed7 | ||
|
|
66856ae052 | ||
|
|
daa124a478 | ||
|
|
d16ff6ff1c | ||
|
|
ee35fd6702 | ||
|
|
6b600ac04f | ||
|
|
46bf186ecc | ||
|
|
276e82c5a8 | ||
|
|
7cf8ea8da8 | ||
|
|
0f0ba8b8a9 | ||
|
|
1e0f613449 | ||
|
|
841040b41e | ||
|
|
5f10efbf39 | ||
|
|
31dfa86783 | ||
|
|
eccfa116aa | ||
|
|
40e23bd805 | ||
|
|
867b60a948 | ||
|
|
b133983eb6 | ||
|
|
ef4f6bda5c | ||
|
|
f7fe794944 | ||
|
|
d0f8b5e116 | ||
|
|
e1a2d4b702 | ||
|
|
9bb2f628b2 | ||
|
|
808d38f97b | ||
|
|
40699edb57 | ||
|
|
dd4be6093d | ||
|
|
2d65c2a0c1 | ||
|
|
b2a91aa1c8 | ||
|
|
be95015c68 | ||
|
|
df57191cf0 | ||
|
|
0ffa807343 | ||
|
|
d5d16e4e39 | ||
|
|
2e7edd94bc | ||
|
|
42a9715ff2 | ||
|
|
f2ab791812 | ||
|
|
a422ad4177 | ||
|
|
7cc8d9067c | ||
|
|
365915e37c | ||
|
|
d679a7a3be | ||
|
|
e22363d061 | ||
|
|
5fb61f8cb8 | ||
|
|
8f2acea7a5 | ||
|
|
2d019f1bf9 | ||
|
|
f16ea74abe | ||
|
|
87ac04d9a7 | ||
|
|
dbf51ff89c | ||
|
|
d0bc7f0814 | ||
|
|
173c375bce | ||
|
|
06e1e27652 | ||
|
|
cf68b1e91d | ||
|
|
37ffc2bf37 | ||
|
|
4404554cfc | ||
|
|
bb88e3d77c | ||
|
|
68564b77e9 | ||
|
|
5daf0befe4 | ||
|
|
b79a187534 | ||
|
|
05019837d0 | ||
|
|
5f6dc3c99f | ||
|
|
dc1393411c | ||
|
|
933c710f36 | ||
|
|
c1e760da6d | ||
|
|
900b51db86 | ||
|
|
e0f9a74e78 | ||
|
|
d0d6a13285 | ||
|
|
094c3fe13f | ||
|
|
89f28ab03e | ||
|
|
0d6ecfb45c | ||
|
|
d18ed70671 | ||
|
|
6cd625b573 | ||
|
|
c964ca78ee | ||
|
|
87a5ddfd2c | ||
|
|
a56a2f6099 | ||
|
|
d50bbf01d7 | ||
|
|
a319d090bb | ||
|
|
aea1270d8f | ||
|
|
b18bf8a95f | ||
|
|
5a5202d483 | ||
|
|
616243a0ab | ||
|
|
00c3133391 | ||
|
|
59c44d9819 | ||
|
|
e94eb757a2 | ||
|
|
7b700d875c | ||
|
|
ecde723fa2 | ||
|
|
70fa36a262 | ||
|
|
8810cb953e | ||
|
|
65663df3aa | ||
|
|
eace25d3a2 | ||
|
|
20b3eacce9 | ||
|
|
f8878f7a76 | ||
|
|
cebe6f93db | ||
|
|
0a69041602 | ||
|
|
c4fc9ee565 | ||
|
|
7d84f86081 | ||
|
|
643b387367 | ||
|
|
60daa54d3b | ||
|
|
1434cdabe0 | ||
|
|
a2a3b90735 | ||
|
|
e0469bf64e | ||
|
|
854bf851e8 | ||
|
|
1724f2c674 | ||
|
|
fdbae2dd37 | ||
|
|
4906cecd14 | ||
|
|
5459fadafd | ||
|
|
eff7e25ad1 | ||
|
|
ba5985943b | ||
|
|
0606ef5748 | ||
|
|
ad16456379 | ||
|
|
d28179d196 | ||
|
|
84ab75b475 | ||
|
|
216ad84938 | ||
|
|
3c6d96d9f0 | ||
|
|
e30d32effb | ||
|
|
98afdfc040 | ||
|
|
e6dac1ebda | ||
|
|
66460539ea | ||
|
|
a1609e3046 | ||
|
|
29fd92e60c | ||
|
|
ca1b6df5ca | ||
|
|
a9df1463f0 | ||
|
|
64b974deaf | ||
|
|
86c6073f1f | ||
|
|
cc41c20709 | ||
|
|
b1e74a1d05 | ||
|
|
d5f3f0add1 | ||
|
|
76c5c7c1de | ||
|
|
95b7eb9856 | ||
|
|
e3bcfa50e9 | ||
|
|
17ef65df06 | ||
|
|
03db8fece4 | ||
|
|
c65a9d92bb | ||
|
|
ce936ed296 | ||
|
|
8b9d2c7e29 | ||
|
|
7ab8aa7168 | ||
|
|
c9e63c320e | ||
|
|
696d359f7f | ||
|
|
337b80ca3d | ||
|
|
80b690b305 | ||
|
|
a4dea6c254 | ||
|
|
b8ce330c12 | ||
|
|
658150c1c8 | ||
|
|
0503b7d078 | ||
|
|
46fc6ce1b7 | ||
|
|
ffd2b5b8ee | ||
|
|
90959702ee | ||
|
|
969c83a8dc | ||
|
|
944015484a | ||
|
|
66d412c10a | ||
|
|
c4e5419d65 | ||
|
|
d7891fe759 | ||
|
|
ddd6bbbee1 | ||
|
|
7587acedb0 | ||
|
|
4388d6565a | ||
|
|
9e6da44881 | ||
|
|
16c5e3ea01 | ||
|
|
c5a3fa1f94 | ||
|
|
51344a5967 | ||
|
|
bedcd2205e | ||
|
|
0c71d0dd93 | ||
|
|
636e07fcf6 | ||
|
|
f33935868d | ||
|
|
1ef6563429 | ||
|
|
4563f6a947 | ||
|
|
1a4311309d | ||
|
|
17395a4980 | ||
|
|
c462bbace5 | ||
|
|
581b301eed | ||
|
|
dd763019ba | ||
|
|
e08dcc9d8d | ||
|
|
7c6e263623 | ||
|
|
2c50854be1 | ||
|
|
e87df6439f | ||
|
|
c105f314f5 | ||
|
|
6e321c4946 | ||
|
|
3dbcbf4cf0 | ||
|
|
d9e79250e2 | ||
|
|
6ce9ab875c | ||
|
|
ed5990f229 | ||
|
|
72ddb0c0d8 | ||
|
|
f5177337cb | ||
|
|
708aef3e10 | ||
|
|
e00834adf7 | ||
|
|
7380165bf0 | ||
|
|
9ab791867a | ||
|
|
f7f5704284 | ||
|
|
56e2f21d1a | ||
|
|
d72101b194 | ||
|
|
d6f2eafbde | ||
|
|
9c869dee5f | ||
|
|
e0b57b8055 | ||
|
|
7f8f43aff5 | ||
|
|
6f7d064a58 | ||
|
|
f5d900db29 | ||
|
|
eead9efc5e | ||
|
|
3c6bf37879 | ||
|
|
1134921a0a | ||
|
|
b587d7634c | ||
|
|
e83d5914f0 | ||
|
|
1854b85b40 | ||
|
|
d0ed5edb6e | ||
|
|
9e798fb7f8 | ||
|
|
8535409d02 | ||
|
|
7463eea243 | ||
|
|
6c12505771 | ||
|
|
ca4bdb4639 | ||
|
|
2abc7eca67 | ||
|
|
c0d5a5663c | ||
|
|
44dc02a02e | ||
|
|
eb29f8e2c5 | ||
|
|
1d9664d893 | ||
|
|
4abe40d413 | ||
|
|
9d72a375f4 | ||
|
|
fa32194772 | ||
|
|
74aeffec12 | ||
|
|
21cce9812d | ||
|
|
6b194bb95f | ||
|
|
23b23f9200 | ||
|
|
e8dfe53053 | ||
|
|
8b56388de0 | ||
|
|
2a3fe7d2bc | ||
|
|
4481964182 | ||
|
|
8e032d988b | ||
|
|
12b60da942 | ||
|
|
3575e6adbb | ||
|
|
8a8154e124 | ||
|
|
202031d42e | ||
|
|
abbaeabc3a | ||
|
|
62b7c7bf92 | ||
|
|
c640b33728 | ||
|
|
aad57e2840 | ||
|
|
98b9bdd4fa | ||
|
|
a422300cc1 | ||
|
|
6f8499c4d0 | ||
|
|
7c92735aff | ||
|
|
e6ccfbddb6 | ||
|
|
69acb5bb33 | ||
|
|
8bd47446cf | ||
|
|
9edd3c5f80 | ||
|
|
55dafabdf3 | ||
|
|
b56a5e06c9 | ||
|
|
c735cd72ff | ||
|
|
94a6305fce | ||
|
|
993a96757f | ||
|
|
5fedc6674b | ||
|
|
d44ceda588 | ||
|
|
5057e755e2 | ||
|
|
42128709aa | ||
|
|
80d540790e | ||
|
|
3db7b26e68 | ||
|
|
665ab046b0 | ||
|
|
2d4e7e7d08 | ||
|
|
8f49426cc3 | ||
|
|
944b70c072 | ||
|
|
c424ee76e4 | ||
|
|
320cffee19 | ||
|
|
67de9fc567 | ||
|
|
ef3fbc5a04 | ||
|
|
36729f5282 | ||
|
|
9e2c3476c8 | ||
|
|
496862e197 | ||
|
|
b4093ab97e | ||
|
|
25668ac558 | ||
|
|
7cda6f554b | ||
|
|
bf2b4ced8c | ||
|
|
6d8ed5ee3c | ||
|
|
7d1d87a1ac | ||
|
|
16c4bb5dca | ||
|
|
6e90bbe2e1 | ||
|
|
c1b1ffa467 | ||
|
|
9adf80c914 | ||
|
|
7697e5c358 | ||
|
|
a750332210 | ||
|
|
33a9b5af86 | ||
|
|
d88fda7d3b | ||
|
|
812300cc04 | ||
|
|
7534a08315 | ||
|
|
c40de03302 | ||
|
|
030ecd3137 | ||
|
|
40bd2c57f8 | ||
|
|
d034e9b2b5 | ||
|
|
1846ba150e | ||
|
|
2b52683e3c | ||
|
|
cf959599c6 | ||
|
|
45058a9a48 | ||
|
|
1883293553 | ||
|
|
5d062d5877 | ||
|
|
26a11d77aa | ||
|
|
15ac1d9d8b | ||
|
|
2cf384d7ab | ||
|
|
c56a887767 | ||
|
|
e669dffddc | ||
|
|
c9a30e6fbf | ||
|
|
0f4c74fef0 | ||
|
|
3c75d6065d | ||
|
|
e8d83d4718 | ||
|
|
7d22328d69 | ||
|
|
ba327cd8ae | ||
|
|
4d03e46142 | ||
|
|
90cd829737 | ||
|
|
e42a9aa60c | ||
|
|
a784bc7db2 | ||
|
|
4aeee48582 | ||
|
|
3f2a77f2d2 | ||
|
|
96e0ce9866 | ||
|
|
714dd661c4 | ||
|
|
d73b8431a1 | ||
|
|
262874a117 | ||
|
|
f1a80fe558 | ||
|
|
b583be5465 | ||
|
|
763dce6fcd | ||
|
|
a94172d7a5 | ||
|
|
4c143c1c6c | ||
|
|
11d4e2ea17 | ||
|
|
07d79e3286 | ||
|
|
aad49fd5e9 | ||
|
|
629c177c99 | ||
|
|
c1be4339d6 | ||
|
|
b6e3a583ff | ||
|
|
d46812483f | ||
|
|
ba909325f9 | ||
|
|
f9f3c2040f | ||
|
|
be6e307ba0 | ||
|
|
1a7f89a8e2 | ||
|
|
fe2fa21d44 | ||
|
|
fee8245f4e | ||
|
|
f1313b1f1c | ||
|
|
c634214213 | ||
|
|
2323946ce2 | ||
|
|
42421f509f | ||
|
|
8c9217166d | ||
|
|
1757515b14 | ||
|
|
a1292fbf0a | ||
|
|
a8bbccfb42 | ||
|
|
21827d43f1 | ||
|
|
8eb8748142 | ||
|
|
6359ffe766 | ||
|
|
58a3af8c84 | ||
|
|
7d43157f64 | ||
|
|
b347ca1ede | ||
|
|
26e15ef2e8 | ||
|
|
74d225cce4 | ||
|
|
0506c4e54d | ||
|
|
ba563f76c6 | ||
|
|
30dea302a9 | ||
|
|
d989fa2081 | ||
|
|
b2665afe2a | ||
|
|
922c4a1b6c | ||
|
|
0dd3b77f2d | ||
|
|
72b0ec23f5 | ||
|
|
faaa47abdc | ||
|
|
5c675995cb | ||
|
|
f474e06b00 | ||
|
|
7540a4e2e7 | ||
|
|
6f7a785c80 | ||
|
|
67873d93af | ||
|
|
d24d9e690a | ||
|
|
74846a11bd | ||
|
|
3354462b75 | ||
|
|
0ea6b1b749 | ||
|
|
dcc796696a | ||
|
|
9ef85e144c | ||
|
|
1f2af1fce0 | ||
|
|
64b249e743 | ||
|
|
aa3b299ee2 | ||
|
|
9285f3809b | ||
|
|
4c47ca9166 | ||
|
|
ee9474fdb4 | ||
|
|
4d16795eab | ||
|
|
e2895bafa5 | ||
|
|
03bf50d605 | ||
|
|
1c5be6ecbf | ||
|
|
281bddcd40 | ||
|
|
5df7a8c951 | ||
|
|
7f336bbe92 | ||
|
|
6cf76691a1 | ||
|
|
bc5df9b143 | ||
|
|
dac20068cc | ||
|
|
585a667352 | ||
|
|
cab8c9ad15 | ||
|
|
dd473c02ca | ||
|
|
211298c55a | ||
|
|
50478da759 | ||
|
|
7fea89f5f9 | ||
|
|
d35d27d197 | ||
|
|
212681a419 | ||
|
|
1cde03fbbf | ||
|
|
004d214a11 | ||
|
|
65e3652534 | ||
|
|
01971a94b4 | ||
|
|
0cb57e5a51 | ||
|
|
4ea5137904 | ||
|
|
19de304f32 | ||
|
|
71219a2f93 | ||
|
|
016472b829 | ||
|
|
3af544f1eb | ||
|
|
c5d05f1d45 | ||
|
|
28f659f5bc | ||
|
|
68e7b76775 | ||
|
|
ece4cf2760 | ||
|
|
cc7fb7e43f | ||
|
|
01837ad502 | ||
|
|
d95de359e3 | ||
|
|
269aabd6df | ||
|
|
6b25601936 | ||
|
|
cbc21c33b1 | ||
|
|
84e802fe93 | ||
|
|
0c34ce1962 | ||
|
|
000b0059c6 | ||
|
|
7c325ee96d | ||
|
|
21e20021e8 | ||
|
|
a16751f258 | ||
|
|
1cd74f445b | ||
|
|
46b94aed33 | ||
|
|
4d4f8841dc | ||
|
|
2ebcb72215 | ||
|
|
4a1a1ab297 |
No files matched your search
@@ -13,3 +13,5 @@ VITE_APP_TENANT_ENABLE=true
|
|||||||
# 验证码的开关
|
# 验证码的开关
|
||||||
VITE_APP_CAPTCHA_ENABLE=true
|
VITE_APP_CAPTCHA_ENABLE=true
|
||||||
|
|
||||||
|
# 百度统计
|
||||||
|
VITE_APP_BAIDU_CODE = a1ff8825baa73c3a78eb96aa40325abc
|
||||||
@@ -16,7 +16,7 @@ VITE_API_BASEPATH=/dev-api
|
|||||||
VITE_API_URL=/admin-api
|
VITE_API_URL=/admin-api
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/dist-dev/
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
# 是否删除debugger
|
# 是否删除debugger
|
||||||
VITE_DROP_DEBUGGER=false
|
VITE_DROP_DEBUGGER=false
|
||||||
|
|||||||
+15
@@ -17,3 +17,18 @@ VITE_API_URL=/admin-api
|
|||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
|
# 项目本地运行端口号, 与.vscode/launch.json配合
|
||||||
|
VITE_PORT=80
|
||||||
|
|
||||||
|
# 是否删除debugger
|
||||||
|
VITE_DROP_DEBUGGER=false
|
||||||
|
|
||||||
|
# 是否删除console.log
|
||||||
|
VITE_DROP_CONSOLE=false
|
||||||
|
|
||||||
|
# 是否sourcemap
|
||||||
|
VITE_SOURCEMAP=true
|
||||||
|
|
||||||
|
# 验证码的开关
|
||||||
|
VITE_APP_CAPTCHA_ENABLE=false
|
||||||
+31
@@ -0,0 +1,31 @@
|
|||||||
|
# 生产环境
|
||||||
|
NODE_ENV=production
|
||||||
|
|
||||||
|
VITE_DEV=false
|
||||||
|
|
||||||
|
# 请求路径
|
||||||
|
VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
|
||||||
|
|
||||||
|
# 上传路径
|
||||||
|
VITE_UPLOAD_URL='http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload'
|
||||||
|
|
||||||
|
# 接口前缀
|
||||||
|
VITE_API_BASEPATH=
|
||||||
|
|
||||||
|
# 接口地址
|
||||||
|
VITE_API_URL=/admin-api
|
||||||
|
|
||||||
|
# 是否删除debugger
|
||||||
|
VITE_DROP_DEBUGGER=true
|
||||||
|
|
||||||
|
# 是否删除console.log
|
||||||
|
VITE_DROP_CONSOLE=true
|
||||||
|
|
||||||
|
# 是否sourcemap
|
||||||
|
VITE_SOURCEMAP=false
|
||||||
|
|
||||||
|
# 打包路径
|
||||||
|
VITE_BASE_PATH='http://static-vue3.yudao.iocoder.cn/'
|
||||||
|
|
||||||
|
# 输出路径
|
||||||
|
VITE_OUT_DIR=dist-stage
|
||||||
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=false
|
|||||||
VITE_SOURCEMAP=true
|
VITE_SOURCEMAP=true
|
||||||
|
|
||||||
# 打包路径
|
# 打包路径
|
||||||
VITE_BASE_PATH=/dist-test/
|
VITE_BASE_PATH=/
|
||||||
|
|
||||||
# 输出路径
|
# 输出路径
|
||||||
VITE_OUT_DIR=dist-test
|
VITE_OUT_DIR=dist-test
|
||||||
@@ -6,3 +6,6 @@ dist-ssr
|
|||||||
/dist*
|
/dist*
|
||||||
*-lock.*
|
*-lock.*
|
||||||
pnpm-debug
|
pnpm-debug
|
||||||
|
auto-*.d.ts
|
||||||
|
.idea
|
||||||
|
.history
|
||||||
Vendored
+16
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "msedge",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Launch Edge against localhost",
|
||||||
|
"url": "http://localhost",
|
||||||
|
"webRoot": "${workspaceFolder}/src",
|
||||||
|
"sourceMaps": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Vendored
+12
-2
@@ -8,7 +8,7 @@
|
|||||||
"source.fixAll.eslint": true
|
"source.fixAll.eslint": true
|
||||||
},
|
},
|
||||||
"[vue]": {
|
"[vue]": {
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
"editor.defaultFormatter": "Vue.volar"
|
||||||
},
|
},
|
||||||
"[javascript]": {
|
"[javascript]": {
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
@@ -40,5 +40,15 @@
|
|||||||
"i18n-ally.displayLanguage": "zh-CN",
|
"i18n-ally.displayLanguage": "zh-CN",
|
||||||
"i18n-ally.enabledFrameworks": ["vue", "react"],
|
"i18n-ally.enabledFrameworks": ["vue", "react"],
|
||||||
"god.tsconfig": "./tsconfig.json",
|
"god.tsconfig": "./tsconfig.json",
|
||||||
"vue-i18n.i18nPaths": "src/locales"
|
"vue-i18n.i18nPaths": "src/locales",
|
||||||
|
"explorer.fileNesting.enabled": true,
|
||||||
|
"explorer.fileNesting.expand": false,
|
||||||
|
"explorer.fileNesting.patterns": {
|
||||||
|
"*.ts": "$(capture).test.ts, $(capture).test.tsx",
|
||||||
|
"*.tsx": "$(capture).test.ts, $(capture).test.tsx",
|
||||||
|
"*.env": "$(capture).env.*",
|
||||||
|
"CHANGELOG.md": "CHANGELOG*",
|
||||||
|
"package.json": "pnpm-lock.yaml,pnpm-workspace.yaml,LICENSE,.gitattributes,.gitignore,.gitpod.yml,CNAME,README*,.npmrc,.browserslistrc,vite.config.*,windi.*,tailwind.*,tsconfig.*,postcss*",
|
||||||
|
".eslintrc.js": ".eslintignore,.eslintrc-*,.prettierignore,.stylelintignore,.commitlintrc.js,.prettierrc.js,.stylelint*,stylelint*,prettier.*,.editorconfig"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,10 @@
|
|||||||
|
|
||||||
## 🐶 新手必读
|
## 🐶 新手必读
|
||||||
|
|
||||||
* 演示地址:<http://dashboard.yudao.iocoder.cn>
|
* nodejs > 16.0.0 && pnpm > 7.30.0
|
||||||
|
* 演示地址【Vue3 + element-plus】:<http://dashboard-vue3.yudao.iocoder.cn>
|
||||||
|
* 演示地址【Vue3 + vben(ant-design-vue)】:<http://dashboard-vben.yudao.iocoder.cn>
|
||||||
|
* 演示地址【Vue2 + element-ui】:<http://dashboard.yudao.iocoder.cn>
|
||||||
* 启动文档:<https://doc.iocoder.cn/quick-start/>
|
* 启动文档:<https://doc.iocoder.cn/quick-start/>
|
||||||
* 视频教程:<https://doc.iocoder.cn/video/>
|
* 视频教程:<https://doc.iocoder.cn/video/>
|
||||||
|
|
||||||
@@ -17,8 +20,8 @@
|
|||||||
|
|
||||||
**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。
|
**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。
|
||||||
|
|
||||||
* 采用 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin)
|
* 采用 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin) 实现
|
||||||
* 改换saas,自动引入等功能 [vue-element-plus-admin](https://gitee.com/yudaocode/vue-element-plus-admin)
|
* 改换 saas,自动引入等功能
|
||||||
* 使用 Element Plus 免费开源的中后台模版,具备如下特性:
|
* 使用 Element Plus 免费开源的中后台模版,具备如下特性:
|
||||||
|
|
||||||

|

|
||||||
@@ -35,17 +38,16 @@
|
|||||||
|
|
||||||
| 框架 | 说明 | 版本 |
|
| 框架 | 说明 | 版本 |
|
||||||
|----------------------------------------------------------------------|------------------|--------|
|
|----------------------------------------------------------------------|------------------|--------|
|
||||||
| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.2.47 |
|
| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.3.4 |
|
||||||
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.1.1 |
|
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.3.8 |
|
||||||
| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.30 |
|
| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.3.4 |
|
||||||
| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 4.9.5 |
|
| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 5.0.4 |
|
||||||
| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.0.30 |
|
| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.1.3 |
|
||||||
| [vueuse](https://vueuse.org/) | 常用工具集 | 9.12.0 |
|
| [vueuse](https://vueuse.org/) | 常用工具集 | 10.1.2 |
|
||||||
| [vxe-table](https://vxetable.cn/) | Vue 最强表单 | 4.3.10 |
|
|
||||||
| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 |
|
| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 |
|
||||||
| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.1.6 |
|
| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.1 |
|
||||||
| [windicss](https://cn.windicss.org/) | 下一代工具优先的 CSS 框架 | 3.5.6 |
|
| [windicss](https://cn.windicss.org/) | 下一代工具优先的 CSS 框架 | 3.5.6 |
|
||||||
| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.0.1 |
|
| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.1.0 |
|
||||||
| [wangeditor](https://www.wangeditor.com/) | 富文本编辑器 | 5.1.23 |
|
| [wangeditor](https://www.wangeditor.com/) | 富文本编辑器 | 5.1.23 |
|
||||||
|
|
||||||
## 开发工具
|
## 开发工具
|
||||||
|
|||||||
+18
-7
@@ -6,20 +6,25 @@ import progress from 'vite-plugin-progress'
|
|||||||
import EslintPlugin from 'vite-plugin-eslint'
|
import EslintPlugin from 'vite-plugin-eslint'
|
||||||
import PurgeIcons from 'vite-plugin-purge-icons'
|
import PurgeIcons from 'vite-plugin-purge-icons'
|
||||||
import { ViteEjsPlugin } from 'vite-plugin-ejs'
|
import { ViteEjsPlugin } from 'vite-plugin-ejs'
|
||||||
|
// @ts-ignore
|
||||||
import ElementPlus from 'unplugin-element-plus/vite'
|
import ElementPlus from 'unplugin-element-plus/vite'
|
||||||
import AutoImport from 'unplugin-auto-import/vite'
|
import AutoImport from 'unplugin-auto-import/vite'
|
||||||
import Components from 'unplugin-vue-components/vite'
|
import Components from 'unplugin-vue-components/vite'
|
||||||
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
|
||||||
import viteCompression from 'vite-plugin-compression'
|
import viteCompression from 'vite-plugin-compression'
|
||||||
import vueSetupExtend from 'vite-plugin-vue-setup-extend'
|
import topLevelAwait from 'vite-plugin-top-level-await'
|
||||||
|
import vueSetupExtend from 'vite-plugin-vue-setup-extend-plus'
|
||||||
import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'
|
import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'
|
||||||
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
||||||
export function createVitePlugins(VITE_APP_TITLE: string) {
|
|
||||||
|
export function createVitePlugins() {
|
||||||
const root = process.cwd()
|
const root = process.cwd()
|
||||||
|
|
||||||
// 路径查找
|
// 路径查找
|
||||||
function pathResolve(dir: string) {
|
function pathResolve(dir: string) {
|
||||||
return resolve(root, '.', dir)
|
return resolve(root, '.', dir)
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
Vue(),
|
Vue(),
|
||||||
VueJsx(),
|
VueJsx(),
|
||||||
@@ -27,7 +32,7 @@ export function createVitePlugins(VITE_APP_TITLE: string) {
|
|||||||
progress(),
|
progress(),
|
||||||
PurgeIcons(),
|
PurgeIcons(),
|
||||||
vueSetupExtend(),
|
vueSetupExtend(),
|
||||||
ElementPlus(),
|
ElementPlus({}),
|
||||||
AutoImport({
|
AutoImport({
|
||||||
include: [
|
include: [
|
||||||
/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
|
/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
|
||||||
@@ -38,11 +43,12 @@ export function createVitePlugins(VITE_APP_TITLE: string) {
|
|||||||
imports: [
|
imports: [
|
||||||
'vue',
|
'vue',
|
||||||
'vue-router',
|
'vue-router',
|
||||||
|
// 可额外添加需要 autoImport 的组件
|
||||||
{
|
{
|
||||||
'@/hooks/web/useI18n': ['useI18n'],
|
'@/hooks/web/useI18n': ['useI18n'],
|
||||||
'@/hooks/web/useXTable': ['useXTable'],
|
|
||||||
'@/hooks/web/useMessage': ['useMessage'],
|
'@/hooks/web/useMessage': ['useMessage'],
|
||||||
'@/hooks/web/useVxeCrudSchemas': ['useVxeCrudSchemas'],
|
'@/hooks/web/useTable': ['useTable'],
|
||||||
|
'@/hooks/web/useCrudSchemas': ['useCrudSchemas'],
|
||||||
'@/utils/formRules': ['required'],
|
'@/utils/formRules': ['required'],
|
||||||
'@/utils/dict': ['DICT_TYPE']
|
'@/utils/dict': ['DICT_TYPE']
|
||||||
}
|
}
|
||||||
@@ -91,8 +97,13 @@ export function createVitePlugins(VITE_APP_TITLE: string) {
|
|||||||
ext: '.gz', // 生成的压缩包后缀
|
ext: '.gz', // 生成的压缩包后缀
|
||||||
deleteOriginFile: false //压缩后是否删除源文件
|
deleteOriginFile: false //压缩后是否删除源文件
|
||||||
}),
|
}),
|
||||||
ViteEjsPlugin({
|
ViteEjsPlugin(),
|
||||||
title: VITE_APP_TITLE
|
topLevelAwait({
|
||||||
|
// https://juejin.cn/post/7152191742513512485
|
||||||
|
// The export name of top-level await promise for each chunk module
|
||||||
|
promiseExportName: '__tla',
|
||||||
|
// The function to generate import names of top-level await promise in each chunk module
|
||||||
|
promiseImportName: (i) => `__tla_${i}`
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
+72
-36
@@ -17,11 +17,6 @@ const include = [
|
|||||||
'cropperjs',
|
'cropperjs',
|
||||||
'lodash-es',
|
'lodash-es',
|
||||||
'nprogress',
|
'nprogress',
|
||||||
'animate.css',
|
|
||||||
'vxe-table',
|
|
||||||
'vxe-table/es/style',
|
|
||||||
'vxe-table/lib/locale/lang/zh-CN',
|
|
||||||
'vxe-table/lib/locale/lang/en-US',
|
|
||||||
'web-storage-cache',
|
'web-storage-cache',
|
||||||
'@iconify/iconify',
|
'@iconify/iconify',
|
||||||
'@vueuse/core',
|
'@vueuse/core',
|
||||||
@@ -37,37 +32,78 @@ const include = [
|
|||||||
'element-plus/es',
|
'element-plus/es',
|
||||||
'element-plus/es/locale/lang/zh-cn',
|
'element-plus/es/locale/lang/zh-cn',
|
||||||
'element-plus/es/locale/lang/en',
|
'element-plus/es/locale/lang/en',
|
||||||
'element-plus/es/components/backtop/style/index',
|
'element-plus/es/components/backtop/style/css',
|
||||||
'element-plus/es/components/form/style/index',
|
'element-plus/es/components/form/style/css',
|
||||||
'element-plus/es/components/radio-group/style/index',
|
'element-plus/es/components/radio-group/style/css',
|
||||||
'element-plus/es/components/radio/style/index',
|
'element-plus/es/components/radio/style/css',
|
||||||
'element-plus/es/components/checkbox/style/index',
|
'element-plus/es/components/checkbox/style/css',
|
||||||
'element-plus/es/components/checkbox-group/style/index',
|
'element-plus/es/components/checkbox-group/style/css',
|
||||||
'element-plus/es/components/switch/style/index',
|
'element-plus/es/components/switch/style/css',
|
||||||
'element-plus/es/components/time-picker/style/index',
|
'element-plus/es/components/time-picker/style/css',
|
||||||
'element-plus/es/components/date-picker/style/index',
|
'element-plus/es/components/date-picker/style/css',
|
||||||
'element-plus/es/components/col/style/index',
|
'element-plus/es/components/descriptions/style/css',
|
||||||
'element-plus/es/components/form-item/style/index',
|
'element-plus/es/components/descriptions-item/style/css',
|
||||||
'element-plus/es/components/alert/style/index',
|
'element-plus/es/components/link/style/css',
|
||||||
'element-plus/es/components/breadcrumb/style/index',
|
'element-plus/es/components/tooltip/style/css',
|
||||||
'element-plus/es/components/select/style/index',
|
'element-plus/es/components/drawer/style/css',
|
||||||
'element-plus/es/components/input/style/index',
|
'element-plus/es/components/dialog/style/css',
|
||||||
'element-plus/es/components/breadcrumb-item/style/index',
|
'element-plus/es/components/checkbox-button/style/css',
|
||||||
'element-plus/es/components/tag/style/index',
|
'element-plus/es/components/option-group/style/css',
|
||||||
'element-plus/es/components/pagination/style/index',
|
'element-plus/es/components/radio-button/style/css',
|
||||||
'element-plus/es/components/table/style/index',
|
'element-plus/es/components/cascader/style/css',
|
||||||
'element-plus/es/components/table-column/style/index',
|
'element-plus/es/components/color-picker/style/css',
|
||||||
'element-plus/es/components/card/style/index',
|
'element-plus/es/components/input-number/style/css',
|
||||||
'element-plus/es/components/row/style/index',
|
'element-plus/es/components/rate/style/css',
|
||||||
'element-plus/es/components/button/style/index',
|
'element-plus/es/components/select-v2/style/css',
|
||||||
'element-plus/es/components/menu/style/index',
|
'element-plus/es/components/tree-select/style/css',
|
||||||
'element-plus/es/components/sub-menu/style/index',
|
'element-plus/es/components/slider/style/css',
|
||||||
'element-plus/es/components/menu-item/style/index',
|
'element-plus/es/components/time-select/style/css',
|
||||||
'element-plus/es/components/option/style/index',
|
'element-plus/es/components/autocomplete/style/css',
|
||||||
'element-plus/es/components/dropdown/style/index',
|
'element-plus/es/components/image-viewer/style/css',
|
||||||
'element-plus/es/components/dropdown-menu/style/index',
|
'element-plus/es/components/upload/style/css',
|
||||||
'element-plus/es/components/dropdown-item/style/index',
|
'element-plus/es/components/col/style/css',
|
||||||
'element-plus/es/components/skeleton/style/index'
|
'element-plus/es/components/form-item/style/css',
|
||||||
|
'element-plus/es/components/alert/style/css',
|
||||||
|
'element-plus/es/components/breadcrumb/style/css',
|
||||||
|
'element-plus/es/components/select/style/css',
|
||||||
|
'element-plus/es/components/input/style/css',
|
||||||
|
'element-plus/es/components/breadcrumb-item/style/css',
|
||||||
|
'element-plus/es/components/tag/style/css',
|
||||||
|
'element-plus/es/components/pagination/style/css',
|
||||||
|
'element-plus/es/components/table/style/css',
|
||||||
|
'element-plus/es/components/table-v2/style/css',
|
||||||
|
'element-plus/es/components/table-column/style/css',
|
||||||
|
'element-plus/es/components/card/style/css',
|
||||||
|
'element-plus/es/components/row/style/css',
|
||||||
|
'element-plus/es/components/button/style/css',
|
||||||
|
'element-plus/es/components/menu/style/css',
|
||||||
|
'element-plus/es/components/sub-menu/style/css',
|
||||||
|
'element-plus/es/components/menu-item/style/css',
|
||||||
|
'element-plus/es/components/option/style/css',
|
||||||
|
'element-plus/es/components/dropdown/style/css',
|
||||||
|
'element-plus/es/components/dropdown-menu/style/css',
|
||||||
|
'element-plus/es/components/dropdown-item/style/css',
|
||||||
|
'element-plus/es/components/skeleton/style/css',
|
||||||
|
'element-plus/es/components/skeleton/style/css',
|
||||||
|
'element-plus/es/components/backtop/style/css',
|
||||||
|
'element-plus/es/components/menu/style/css',
|
||||||
|
'element-plus/es/components/sub-menu/style/css',
|
||||||
|
'element-plus/es/components/menu-item/style/css',
|
||||||
|
'element-plus/es/components/dropdown/style/css',
|
||||||
|
'element-plus/es/components/tree/style/css',
|
||||||
|
'element-plus/es/components/dropdown-menu/style/css',
|
||||||
|
'element-plus/es/components/dropdown-item/style/css',
|
||||||
|
'element-plus/es/components/badge/style/css',
|
||||||
|
'element-plus/es/components/breadcrumb/style/css',
|
||||||
|
'element-plus/es/components/breadcrumb-item/style/css',
|
||||||
|
'element-plus/es/components/image/style/css',
|
||||||
|
'element-plus/es/components/collapse-transition/style/css',
|
||||||
|
'element-plus/es/components/timeline/style/css',
|
||||||
|
'element-plus/es/components/timeline-item/style/css',
|
||||||
|
'element-plus/es/components/collapse/style/css',
|
||||||
|
'element-plus/es/components/collapse-item/style/css',
|
||||||
|
'element-plus/es/components/button-group/style/css',
|
||||||
|
'element-plus/es/components/text/style/css'
|
||||||
]
|
]
|
||||||
|
|
||||||
const exclude = ['@iconify/json']
|
const exclude = ['@iconify/json']
|
||||||
|
|||||||
+2
-2
@@ -13,7 +13,7 @@
|
|||||||
name="description"
|
name="description"
|
||||||
content="芋道管理系统 基于 vue3 + CompositionAPI + typescript + vite3 + element plus 的后台开源免费管理系统!"
|
content="芋道管理系统 基于 vue3 + CompositionAPI + typescript + vite3 + element plus 的后台开源免费管理系统!"
|
||||||
/>
|
/>
|
||||||
<title><%= title %></title>
|
<title>%VITE_APP_TITLE%</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
<div class="app-loading-wrap">
|
<div class="app-loading-wrap">
|
||||||
<div class="app-loading-title">
|
<div class="app-loading-title">
|
||||||
<img src="/logo.gif" class="app-loading-logo" alt="Logo" />
|
<img src="/logo.gif" class="app-loading-logo" alt="Logo" />
|
||||||
<div class="app-loading-title"><%= title %></div>
|
<div class="app-loading-title">%VITE_APP_TITLE%</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="app-loading-item">
|
<div class="app-loading-item">
|
||||||
<div class="app-loading-outter"></div>
|
<div class="app-loading-outter"></div>
|
||||||
|
|||||||
+63
-57
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "yudao-ui-admin-vue3",
|
"name": "yudao-ui-admin-vue3",
|
||||||
"version": "1.7.0-snapshot.1922",
|
"version": "1.7.3-snapshot",
|
||||||
"description": "基于vue3、vite4、element-plus、typesScript",
|
"description": "基于vue3、vite4、element-plus、typesScript",
|
||||||
"author": "xingyu",
|
"author": "xingyu",
|
||||||
"private": false,
|
"private": false,
|
||||||
@@ -11,11 +11,14 @@
|
|||||||
"ts:check": "vue-tsc --noEmit",
|
"ts:check": "vue-tsc --noEmit",
|
||||||
"build:pro": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode pro",
|
"build:pro": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode pro",
|
||||||
"build:dev": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode dev",
|
"build:dev": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode dev",
|
||||||
|
"build:stage": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode stage",
|
||||||
"build:test": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode test",
|
"build:test": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode test",
|
||||||
"build:static": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode static",
|
"build:static": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode static",
|
||||||
|
"build:front": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode front",
|
||||||
"serve:pro": "vite preview --mode pro",
|
"serve:pro": "vite preview --mode pro",
|
||||||
"serve:dev": "vite preview --mode dev",
|
"serve:dev": "vite preview --mode dev",
|
||||||
"serve:test": "vite preview --mode test",
|
"serve:test": "vite preview --mode test",
|
||||||
|
"preview": "pnpm build && vite preview",
|
||||||
"npm:check": "npx npm-check-updates",
|
"npm:check": "npx npm-check-updates",
|
||||||
"clean": "npx rimraf node_modules",
|
"clean": "npx rimraf node_modules",
|
||||||
"clean:cache": "npx rimraf node_modules/.cache",
|
"clean:cache": "npx rimraf node_modules/.cache",
|
||||||
@@ -26,102 +29,105 @@
|
|||||||
"lint:pretty": "pretty-quick --staged"
|
"lint:pretty": "pretty-quick --staged"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@element-plus/icons-vue": "^2.1.0",
|
||||||
"@form-create/designer": "^3.1.0",
|
"@form-create/designer": "^3.1.0",
|
||||||
"@form-create/element-ui": "^3.1.17",
|
"@form-create/element-ui": "^3.1.17",
|
||||||
"@iconify/iconify": "^3.1.0",
|
"@iconify/iconify": "^3.1.0",
|
||||||
"@vueuse/core": "^9.12.0",
|
"@videojs-player/vue": "^1.0.0",
|
||||||
|
"@vueuse/core": "^10.1.2",
|
||||||
"@wangeditor/editor": "^5.1.23",
|
"@wangeditor/editor": "^5.1.23",
|
||||||
"@wangeditor/editor-for-vue": "^5.1.10",
|
"@wangeditor/editor-for-vue": "^5.1.10",
|
||||||
"@zxcvbn-ts/core": "^2.2.1",
|
"@zxcvbn-ts/core": "^3.0.1",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"axios": "^1.3.3",
|
"axios": "^1.4.0",
|
||||||
|
"benz-amr-recorder": "^1.1.5",
|
||||||
"bpmn-js-token-simulation": "^0.10.0",
|
"bpmn-js-token-simulation": "^0.10.0",
|
||||||
"camunda-bpmn-moddle": "^7.0.1",
|
"camunda-bpmn-moddle": "^7.0.1",
|
||||||
"cropperjs": "^1.5.13",
|
"cropperjs": "^1.5.13",
|
||||||
"crypto-js": "^4.1.1",
|
"crypto-js": "^4.1.1",
|
||||||
"dayjs": "^1.11.7",
|
"dayjs": "^1.11.7",
|
||||||
"diagram-js": "^11.6.0",
|
"diagram-js": "^11.6.0",
|
||||||
"echarts": "^5.4.1",
|
"echarts": "^5.4.2",
|
||||||
"echarts-wordcloud": "^2.1.0",
|
"echarts-wordcloud": "^2.1.0",
|
||||||
"element-plus": "2.2.30",
|
"element-plus": "2.3.4",
|
||||||
"fast-xml-parser": "^4.1.2",
|
"fast-xml-parser": "^4.2.2",
|
||||||
"highlight.js": "^11.7.0",
|
"highlight.js": "^11.8.0",
|
||||||
"intro.js": "^6.0.0",
|
"intro.js": "^7.0.1",
|
||||||
"jsencrypt": "^3.3.1",
|
"jsencrypt": "^3.3.2",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"min-dash": "^4.0.0",
|
"min-dash": "^4.1.1",
|
||||||
"mitt": "^3.0.0",
|
"mitt": "^3.0.0",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"pinia": "^2.0.30",
|
"pinia": "^2.1.3",
|
||||||
"qrcode": "^1.5.1",
|
"qrcode": "^1.5.3",
|
||||||
"qs": "^6.11.0",
|
"qs": "^6.11.2",
|
||||||
"steady-xml": "^0.1.0",
|
"steady-xml": "^0.1.0",
|
||||||
"url": "^0.11.0",
|
"url": "^0.11.0",
|
||||||
"vue": "3.2.47",
|
"video.js": "^8.3.0",
|
||||||
|
"vue": "3.3.4",
|
||||||
"vue-i18n": "9.2.2",
|
"vue-i18n": "9.2.2",
|
||||||
"vue-router": "^4.1.6",
|
"vue-router": "^4.2.1",
|
||||||
"vue-types": "^5.0.2",
|
"vue-types": "^5.0.3",
|
||||||
"vuedraggable": "^4.1.0",
|
"vuedraggable": "^4.1.0",
|
||||||
"vxe-table": "^4.3.10",
|
|
||||||
"web-storage-cache": "^1.1.1",
|
"web-storage-cache": "^1.1.1",
|
||||||
"xe-utils": "^3.5.7",
|
"xe-utils": "^3.5.7",
|
||||||
"xml-js": "^1.6.11"
|
"xml-js": "^1.6.11"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@commitlint/cli": "^17.4.3",
|
"@commitlint/cli": "^17.6.3",
|
||||||
"@commitlint/config-conventional": "^17.4.3",
|
"@commitlint/config-conventional": "^17.6.3",
|
||||||
"@iconify/json": "^2.2.21",
|
"@iconify/json": "^2.2.67",
|
||||||
"@intlify/unplugin-vue-i18n": "^0.8.2",
|
"@intlify/unplugin-vue-i18n": "^0.10.0",
|
||||||
"@purge-icons/generated": "^0.9.0",
|
"@purge-icons/generated": "^0.9.0",
|
||||||
"@types/intro.js": "^5.1.0",
|
"@types/intro.js": "^5.1.1",
|
||||||
"@types/lodash-es": "^4.17.6",
|
"@types/lodash-es": "^4.17.7",
|
||||||
"@types/node": "^18.13.0",
|
"@types/node": "^18.16.0",
|
||||||
"@types/nprogress": "^0.2.0",
|
"@types/nprogress": "^0.2.0",
|
||||||
"@types/qrcode": "^1.5.0",
|
"@types/qrcode": "^1.5.0",
|
||||||
"@types/qs": "^6.9.7",
|
"@types/qs": "^6.9.7",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.52.0",
|
"@typescript-eslint/eslint-plugin": "^5.59.6",
|
||||||
"@typescript-eslint/parser": "^5.52.0",
|
"@typescript-eslint/parser": "^5.59.6",
|
||||||
"@vitejs/plugin-legacy": "^4.0.1",
|
"@vitejs/plugin-legacy": "^4.0.3",
|
||||||
"@vitejs/plugin-vue": "^4.0.0",
|
"@vitejs/plugin-vue": "^4.2.3",
|
||||||
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
"@vitejs/plugin-vue-jsx": "^3.0.1",
|
||||||
"autoprefixer": "^10.4.13",
|
"autoprefixer": "^10.4.14",
|
||||||
"bpmn-js": "^8.9.0",
|
"bpmn-js": "^8.9.0",
|
||||||
"bpmn-js-properties-panel": "^0.46.0",
|
"bpmn-js-properties-panel": "^0.46.0",
|
||||||
"consola": "^2.15.3",
|
"consola": "^3.1.0",
|
||||||
"eslint": "^8.34.0",
|
"eslint": "^8.40.0",
|
||||||
"eslint-config-prettier": "^8.6.0",
|
"eslint-config-prettier": "^8.8.0",
|
||||||
"eslint-define-config": "^1.15.0",
|
"eslint-define-config": "^1.20.0",
|
||||||
"eslint-plugin-prettier": "^4.2.1",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"eslint-plugin-vue": "^9.9.0",
|
"eslint-plugin-vue": "^9.13.0",
|
||||||
"lint-staged": "^13.1.2",
|
"lint-staged": "^13.2.2",
|
||||||
"postcss": "^8.4.21",
|
"postcss": "^8.4.23",
|
||||||
"postcss-html": "^1.5.0",
|
"postcss-html": "^1.5.0",
|
||||||
"postcss-scss": "^4.0.6",
|
"postcss-scss": "^4.0.6",
|
||||||
"prettier": "^2.8.4",
|
"prettier": "^2.8.8",
|
||||||
"rimraf": "^4.1.2",
|
"rimraf": "^5.0.1",
|
||||||
"rollup": "^3.15.0",
|
"rollup": "^3.22.0",
|
||||||
"sass": "^1.58.1",
|
"sass": "^1.62.1",
|
||||||
"stylelint": "^15.1.0",
|
"stylelint": "^15.6.2",
|
||||||
"stylelint-config-html": "^1.1.0",
|
"stylelint-config-html": "^1.1.0",
|
||||||
"stylelint-config-prettier": "^9.0.5",
|
"stylelint-config-recommended": "^12.0.0",
|
||||||
"stylelint-config-recommended": "^10.0.1",
|
"stylelint-config-standard": "^33.0.0",
|
||||||
"stylelint-config-standard": "^30.0.1",
|
"stylelint-order": "^6.0.3",
|
||||||
"stylelint-order": "^6.0.2",
|
"terser": "^5.17.4",
|
||||||
"terser": "^5.16.3",
|
"typescript": "5.0.4",
|
||||||
"typescript": "4.9.5",
|
"unplugin-auto-import": "^0.16.0",
|
||||||
"unplugin-auto-import": "^0.14.2",
|
"unplugin-element-plus": "^0.7.1",
|
||||||
"unplugin-element-plus": "^0.6.0",
|
"unplugin-vue-components": "^0.24.1",
|
||||||
"unplugin-vue-components": "^0.23.0",
|
"vite": "4.3.8",
|
||||||
"vite": "4.1.1",
|
|
||||||
"vite-plugin-compression": "^0.5.1",
|
"vite-plugin-compression": "^0.5.1",
|
||||||
"vite-plugin-ejs": "^1.6.4",
|
"vite-plugin-ejs": "^1.6.4",
|
||||||
"vite-plugin-eslint": "^1.8.1",
|
"vite-plugin-eslint": "^1.8.1",
|
||||||
"vite-plugin-progress": "^0.0.6",
|
"vite-plugin-progress": "^0.0.7",
|
||||||
"vite-plugin-purge-icons": "^0.9.2",
|
"vite-plugin-purge-icons": "^0.9.2",
|
||||||
"vite-plugin-svg-icons": "^2.0.1",
|
"vite-plugin-svg-icons": "^2.0.1",
|
||||||
"vite-plugin-vue-setup-extend": "^0.4.0",
|
"vite-plugin-top-level-await": "^1.3.0",
|
||||||
"vite-plugin-windicss": "^1.8.10",
|
"vite-plugin-vue-setup-extend-plus": "^0.1.0",
|
||||||
"vue-tsc": "^1.0.24",
|
"vite-plugin-windicss": "^1.9.0",
|
||||||
|
"vue-tsc": "^1.6.5",
|
||||||
"windicss": "^3.5.6"
|
"windicss": "^3.5.6"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
+6
-1
@@ -1,8 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="APP" setup>
|
||||||
import { isDark } from '@/utils/is'
|
import { isDark } from '@/utils/is'
|
||||||
import { useAppStore } from '@/store/modules/app'
|
import { useAppStore } from '@/store/modules/app'
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
|
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
|
||||||
|
import routerSearch from '@/components/RouterSearch/index.vue'
|
||||||
|
|
||||||
const { getPrefixCls } = useDesign()
|
const { getPrefixCls } = useDesign()
|
||||||
const prefixCls = getPrefixCls('app')
|
const prefixCls = getPrefixCls('app')
|
||||||
@@ -24,14 +25,17 @@ setDefaultTheme()
|
|||||||
<template>
|
<template>
|
||||||
<ConfigGlobal :size="currentSize">
|
<ConfigGlobal :size="currentSize">
|
||||||
<RouterView :class="greyMode ? `${prefixCls}-grey-mode` : ''" />
|
<RouterView :class="greyMode ? `${prefixCls}-grey-mode` : ''" />
|
||||||
|
<routerSearch />
|
||||||
</ConfigGlobal>
|
</ConfigGlobal>
|
||||||
</template>
|
</template>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
$prefix-cls: #{$namespace}-app;
|
$prefix-cls: #{$namespace}-app;
|
||||||
|
|
||||||
.size {
|
.size {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
@@ -43,6 +47,7 @@ body {
|
|||||||
@extend .size;
|
@extend .size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.#{$prefix-cls}-grey-mode {
|
.#{$prefix-cls}-grey-mode {
|
||||||
filter: grayscale(100%);
|
filter: grayscale(100%);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export const getProcessDefinitionBpmnXMLApi = async (id: number) => {
|
export const getProcessDefinitionBpmnXML = async (id: number) => {
|
||||||
return await request.get({
|
return await request.get({
|
||||||
url: '/bpm/process-definition/get-bpmn-xml?id=' + id
|
url: '/bpm/process-definition/get-bpmn-xml?id=' + id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getProcessDefinitionPageApi = async (params) => {
|
export const getProcessDefinitionPage = async (params) => {
|
||||||
return await request.get({
|
return await request.get({
|
||||||
url: '/bpm/process-definition/page',
|
url: '/bpm/process-definition/page',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getProcessDefinitionListApi = async (params) => {
|
export const getProcessDefinitionList = async (params) => {
|
||||||
return await request.get({
|
return await request.get({
|
||||||
url: '/bpm/process-definition/list',
|
url: '/bpm/process-definition/list',
|
||||||
params
|
params
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ export type FormVO = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 创建工作流的表单定义
|
// 创建工作流的表单定义
|
||||||
export const createFormApi = async (data: FormVO) => {
|
export const createForm = async (data: FormVO) => {
|
||||||
return await request.post({
|
return await request.post({
|
||||||
url: '/bpm/form/create',
|
url: '/bpm/form/create',
|
||||||
data: data
|
data: data
|
||||||
@@ -19,7 +19,7 @@ export const createFormApi = async (data: FormVO) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 更新工作流的表单定义
|
// 更新工作流的表单定义
|
||||||
export const updateFormApi = async (data: FormVO) => {
|
export const updateForm = async (data: FormVO) => {
|
||||||
return await request.put({
|
return await request.put({
|
||||||
url: '/bpm/form/update',
|
url: '/bpm/form/update',
|
||||||
data: data
|
data: data
|
||||||
@@ -27,21 +27,21 @@ export const updateFormApi = async (data: FormVO) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 删除工作流的表单定义
|
// 删除工作流的表单定义
|
||||||
export const deleteFormApi = async (id: number) => {
|
export const deleteForm = async (id: number) => {
|
||||||
return await request.delete({
|
return await request.delete({
|
||||||
url: '/bpm/form/delete?id=' + id
|
url: '/bpm/form/delete?id=' + id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得工作流的表单定义
|
// 获得工作流的表单定义
|
||||||
export const getFormApi = async (id: number) => {
|
export const getForm = async (id: number) => {
|
||||||
return await request.get({
|
return await request.get({
|
||||||
url: '/bpm/form/get?id=' + id
|
url: '/bpm/form/get?id=' + id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得工作流的表单定义分页
|
// 获得工作流的表单定义分页
|
||||||
export const getFormPageApi = async (params) => {
|
export const getFormPage = async (params) => {
|
||||||
return await request.get({
|
return await request.get({
|
||||||
url: '/bpm/form/page',
|
url: '/bpm/form/page',
|
||||||
params
|
params
|
||||||
@@ -49,7 +49,7 @@ export const getFormPageApi = async (params) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获得动态表单的精简列表
|
// 获得动态表单的精简列表
|
||||||
export const getSimpleFormsApi = async () => {
|
export const getSimpleFormList = async () => {
|
||||||
return await request.get({
|
return await request.get({
|
||||||
url: '/bpm/form/list-all-simple'
|
url: '/bpm/form/list-all-simple'
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -12,16 +12,16 @@ export type LeaveVO = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 创建请假申请
|
// 创建请假申请
|
||||||
export const createLeaveApi = async (data: LeaveVO) => {
|
export const createLeave = async (data: LeaveVO) => {
|
||||||
return await request.post({ url: '/bpm/oa/leave/create', data: data })
|
return await request.post({ url: '/bpm/oa/leave/create', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得请假申请
|
// 获得请假申请
|
||||||
export const getLeaveApi = async (id: number) => {
|
export const getLeave = async (id: number) => {
|
||||||
return await request.get({ url: '/bpm/oa/leave/get?id=' + id })
|
return await request.get({ url: '/bpm/oa/leave/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得请假申请分页
|
// 获得请假申请分页
|
||||||
export const getLeavePageApi = async (params) => {
|
export const getLeavePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/bpm/oa/leave/page', params })
|
return await request.get({ url: '/bpm/oa/leave/page', params })
|
||||||
}
|
}
|
||||||
@@ -25,20 +25,20 @@ export type ModelVO = {
|
|||||||
bpmnXml: string
|
bpmnXml: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getModelPageApi = async (params) => {
|
export const getModelPage = async (params) => {
|
||||||
return await request.get({ url: '/bpm/model/page', params })
|
return await request.get({ url: '/bpm/model/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getModelApi = async (id: number) => {
|
export const getModel = async (id: number) => {
|
||||||
return await request.get({ url: '/bpm/model/get?id=' + id })
|
return await request.get({ url: '/bpm/model/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const updateModelApi = async (data: ModelVO) => {
|
export const updateModel = async (data: ModelVO) => {
|
||||||
return await request.put({ url: '/bpm/model/update', data: data })
|
return await request.put({ url: '/bpm/model/update', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 任务状态修改
|
// 任务状态修改
|
||||||
export const updateModelStateApi = async (id: number, state: number) => {
|
export const updateModelState = async (id: number, state: number) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: id,
|
id: id,
|
||||||
state: state
|
state: state
|
||||||
@@ -46,14 +46,14 @@ export const updateModelStateApi = async (id: number, state: number) => {
|
|||||||
return await request.put({ url: '/bpm/model/update-state', data: data })
|
return await request.put({ url: '/bpm/model/update-state', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const createModelApi = async (data: ModelVO) => {
|
export const createModel = async (data: ModelVO) => {
|
||||||
return await request.post({ url: '/bpm/model/create', data: data })
|
return await request.post({ url: '/bpm/model/create', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const deleteModelApi = async (id: number) => {
|
export const deleteModel = async (id: number) => {
|
||||||
return await request.delete({ url: '/bpm/model/delete?id=' + id })
|
return await request.delete({ url: '/bpm/model/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const deployModelApi = async (id: number) => {
|
export const deployModel = async (id: number) => {
|
||||||
return await request.post({ url: '/bpm/model/deploy?id=' + id })
|
return await request.post({ url: '/bpm/model/deploy?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ export type Task = {
|
|||||||
id: string
|
id: string
|
||||||
name: string
|
name: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProcessInstanceVO = {
|
export type ProcessInstanceVO = {
|
||||||
id: number
|
id: number
|
||||||
name: string
|
name: string
|
||||||
@@ -19,15 +20,15 @@ export type ProcessInstanceVO = {
|
|||||||
endTime: string
|
endTime: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getMyProcessInstancePageApi = async (params) => {
|
export const getMyProcessInstancePage = async (params) => {
|
||||||
return await request.get({ url: '/bpm/process-instance/my-page', params })
|
return await request.get({ url: '/bpm/process-instance/my-page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const createProcessInstanceApi = async (data) => {
|
export const createProcessInstance = async (data) => {
|
||||||
return await request.post({ url: '/bpm/process-instance/create', data: data })
|
return await request.post({ url: '/bpm/process-instance/create', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const cancelProcessInstanceApi = async (id: number, reason: string) => {
|
export const cancelProcessInstance = async (id: number, reason: string) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: id,
|
id: id,
|
||||||
reason: reason
|
reason: reason
|
||||||
@@ -35,6 +36,6 @@ export const cancelProcessInstanceApi = async (id: number, reason: string) => {
|
|||||||
return await request.delete({ url: '/bpm/process-instance/cancel', data: data })
|
return await request.delete({ url: '/bpm/process-instance/cancel', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getProcessInstanceApi = async (id: number) => {
|
export const getProcessInstance = async (id: number) => {
|
||||||
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
|
return await request.get({ url: '/bpm/process-instance/get?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export type TaskVO = {
|
||||||
|
id: number
|
||||||
|
}
|
||||||
|
|
||||||
export const getTodoTaskPage = async (params) => {
|
export const getTodoTaskPage = async (params) => {
|
||||||
return await request.get({ url: '/bpm/task/todo-page', params })
|
return await request.get({ url: '/bpm/task/todo-page', params })
|
||||||
}
|
}
|
||||||
@@ -32,3 +36,8 @@ export const getTaskListByProcessInstanceId = async (processInstanceId) => {
|
|||||||
url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
|
url: '/bpm/task/list-by-process-instance-id?processInstanceId=' + processInstanceId
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 导出任务
|
||||||
|
export const exportTask = async (params) => {
|
||||||
|
return await request.download({ url: '/bpm/task/export', params })
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ export type UserGroupVO = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 创建用户组
|
// 创建用户组
|
||||||
export const createUserGroupApi = async (data: UserGroupVO) => {
|
export const createUserGroup = async (data: UserGroupVO) => {
|
||||||
return await request.post({
|
return await request.post({
|
||||||
url: '/bpm/user-group/create',
|
url: '/bpm/user-group/create',
|
||||||
data: data
|
data: data
|
||||||
@@ -19,7 +19,7 @@ export const createUserGroupApi = async (data: UserGroupVO) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 更新用户组
|
// 更新用户组
|
||||||
export const updateUserGroupApi = async (data: UserGroupVO) => {
|
export const updateUserGroup = async (data: UserGroupVO) => {
|
||||||
return await request.put({
|
return await request.put({
|
||||||
url: '/bpm/user-group/update',
|
url: '/bpm/user-group/update',
|
||||||
data: data
|
data: data
|
||||||
@@ -27,21 +27,21 @@ export const updateUserGroupApi = async (data: UserGroupVO) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 删除用户组
|
// 删除用户组
|
||||||
export const deleteUserGroupApi = async (id: number) => {
|
export const deleteUserGroup = async (id: number) => {
|
||||||
return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
|
return await request.delete({ url: '/bpm/user-group/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得用户组
|
// 获得用户组
|
||||||
export const getUserGroupApi = async (id: number) => {
|
export const getUserGroup = async (id: number) => {
|
||||||
return await request.get({ url: '/bpm/user-group/get?id=' + id })
|
return await request.get({ url: '/bpm/user-group/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得用户组分页
|
// 获得用户组分页
|
||||||
export const getUserGroupPageApi = async (params) => {
|
export const getUserGroupPage = async (params) => {
|
||||||
return await request.get({ url: '/bpm/user-group/page', params })
|
return await request.get({ url: '/bpm/user-group/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取用户组精简信息列表
|
// 获取用户组精简信息列表
|
||||||
export const listSimpleUserGroupsApi = async () => {
|
export const getSimpleUserGroupList = async (): Promise<UserGroupVO[]> => {
|
||||||
return await request.get({ url: '/bpm/user-group/list-all-simple' })
|
return await request.get({ url: '/bpm/user-group/list-all-simple' })
|
||||||
}
|
}
|
||||||
@@ -19,32 +19,12 @@ export interface ApiAccessLogVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ApiAccessLogPageReqVO extends PageParam {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
applicationName?: string
|
|
||||||
requestUrl?: string
|
|
||||||
beginTime?: Date[]
|
|
||||||
duration?: number
|
|
||||||
resultCode?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ApiAccessLogExportReqVO {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
applicationName?: string
|
|
||||||
requestUrl?: string
|
|
||||||
beginTime?: Date[]
|
|
||||||
duration?: number
|
|
||||||
resultCode?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询列表API 访问日志
|
// 查询列表API 访问日志
|
||||||
export const getApiAccessLogPageApi = (params: ApiAccessLogPageReqVO) => {
|
export const getApiAccessLogPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/infra/api-access-log/page', params })
|
return request.get({ url: '/infra/api-access-log/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出API 访问日志
|
// 导出API 访问日志
|
||||||
export const exportApiAccessLogApi = (params: ApiAccessLogExportReqVO) => {
|
export const exportApiAccessLog = (params) => {
|
||||||
return request.download({ url: '/infra/api-access-log/export-excel', params })
|
return request.download({ url: '/infra/api-access-log/export-excel', params })
|
||||||
}
|
}
|
||||||
@@ -27,38 +27,20 @@ export interface ApiErrorLogVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ApiErrorLogPageReqVO extends PageParam {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
applicationName?: string
|
|
||||||
requestUrl?: string
|
|
||||||
exceptionTime?: Date[]
|
|
||||||
processStatus: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ApiErrorLogExportReqVO {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
applicationName?: string
|
|
||||||
requestUrl?: string
|
|
||||||
exceptionTime?: Date[]
|
|
||||||
processStatus: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询列表API 访问日志
|
// 查询列表API 访问日志
|
||||||
export const getApiErrorLogPageApi = (params: ApiErrorLogPageReqVO) => {
|
export const getApiErrorLogPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/infra/api-error-log/page', params })
|
return request.get({ url: '/infra/api-error-log/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新 API 错误日志的处理状态
|
// 更新 API 错误日志的处理状态
|
||||||
export const updateApiErrorLogPageApi = (id: number, processStatus: number) => {
|
export const updateApiErrorLogPage = (id: number, processStatus: number) => {
|
||||||
return request.put({
|
return request.put({
|
||||||
url: '/infra/api-error-log/update-status?id=' + id + '&processStatus=' + processStatus
|
url: '/infra/api-error-log/update-status?id=' + id + '&processStatus=' + processStatus
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出API 访问日志
|
// 导出API 访问日志
|
||||||
export const exportApiErrorLogApi = (params: ApiErrorLogExportReqVO) => {
|
export const exportApiErrorLog = (params) => {
|
||||||
return request.download({
|
return request.download({
|
||||||
url: '/infra/api-error-log/export-excel',
|
url: '/infra/api-error-log/export-excel',
|
||||||
params
|
params
|
||||||
|
|||||||
@@ -1,57 +1,123 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
import type { CodegenUpdateReqVO, CodegenCreateListReqVO } from './types'
|
|
||||||
|
export type CodegenTableVO = {
|
||||||
|
id: number
|
||||||
|
tableId: number
|
||||||
|
isParentMenuIdValid: boolean
|
||||||
|
dataSourceConfigId: number
|
||||||
|
scene: number
|
||||||
|
tableName: string
|
||||||
|
tableComment: string
|
||||||
|
remark: string
|
||||||
|
moduleName: string
|
||||||
|
businessName: string
|
||||||
|
className: string
|
||||||
|
classComment: string
|
||||||
|
author: string
|
||||||
|
createTime: Date
|
||||||
|
updateTime: Date
|
||||||
|
templateType: number
|
||||||
|
parentMenuId: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenColumnVO = {
|
||||||
|
id: number
|
||||||
|
tableId: number
|
||||||
|
columnName: string
|
||||||
|
dataType: string
|
||||||
|
columnComment: string
|
||||||
|
nullable: number
|
||||||
|
primaryKey: number
|
||||||
|
autoIncrement: string
|
||||||
|
ordinalPosition: number
|
||||||
|
javaType: string
|
||||||
|
javaField: string
|
||||||
|
dictType: string
|
||||||
|
example: string
|
||||||
|
createOperation: number
|
||||||
|
updateOperation: number
|
||||||
|
listOperation: number
|
||||||
|
listOperationCondition: string
|
||||||
|
listOperationResult: number
|
||||||
|
htmlType: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type DatabaseTableVO = {
|
||||||
|
name: string
|
||||||
|
comment: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenDetailVO = {
|
||||||
|
table: CodegenTableVO
|
||||||
|
columns: CodegenColumnVO[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenPreviewVO = {
|
||||||
|
filePath: string
|
||||||
|
code: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenUpdateReqVO = {
|
||||||
|
table: CodegenTableVO | any
|
||||||
|
columns: CodegenColumnVO[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export type CodegenCreateListReqVO = {
|
||||||
|
dataSourceConfigId: number
|
||||||
|
tableNames: string[]
|
||||||
|
}
|
||||||
|
|
||||||
// 查询列表代码生成表定义
|
// 查询列表代码生成表定义
|
||||||
export const getCodegenTablePageApi = (params) => {
|
export const getCodegenTablePage = (params: PageParam) => {
|
||||||
return request.get({ url: '/infra/codegen/table/page', params })
|
return request.get({ url: '/infra/codegen/table/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询详情代码生成表定义
|
// 查询详情代码生成表定义
|
||||||
export const getCodegenTableApi = (id: number) => {
|
export const getCodegenTable = (id: number) => {
|
||||||
return request.get({ url: '/infra/codegen/detail?tableId=' + id })
|
return request.get({ url: '/infra/codegen/detail?tableId=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增代码生成表定义
|
// 新增代码生成表定义
|
||||||
export const createCodegenTableApi = (data: CodegenCreateListReqVO) => {
|
export const createCodegenTable = (data: CodegenCreateListReqVO) => {
|
||||||
return request.post({ url: '/infra/codegen/create', data })
|
return request.post({ url: '/infra/codegen/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改代码生成表定义
|
// 修改代码生成表定义
|
||||||
export const updateCodegenTableApi = (data: CodegenUpdateReqVO) => {
|
export const updateCodegenTable = (data: CodegenUpdateReqVO) => {
|
||||||
return request.put({ url: '/infra/codegen/update', data })
|
return request.put({ url: '/infra/codegen/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 基于数据库的表结构,同步数据库的表和字段定义
|
// 基于数据库的表结构,同步数据库的表和字段定义
|
||||||
export const syncCodegenFromDBApi = (id: number) => {
|
export const syncCodegenFromDB = (id: number) => {
|
||||||
return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
|
return request.put({ url: '/infra/codegen/sync-from-db?tableId=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 基于 SQL 建表语句,同步数据库的表和字段定义
|
// 基于 SQL 建表语句,同步数据库的表和字段定义
|
||||||
export const syncCodegenFromSQLApi = (id: number, sql: string) => {
|
export const syncCodegenFromSQL = (id: number, sql: string) => {
|
||||||
return request.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql })
|
return request.put({ url: '/infra/codegen/sync-from-sql?tableId=' + id + '&sql=' + sql })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 预览生成代码
|
// 预览生成代码
|
||||||
export const previewCodegenApi = (id: number) => {
|
export const previewCodegen = (id: number) => {
|
||||||
return request.get({ url: '/infra/codegen/preview?tableId=' + id })
|
return request.get({ url: '/infra/codegen/preview?tableId=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 下载生成代码
|
// 下载生成代码
|
||||||
export const downloadCodegenApi = (id: number) => {
|
export const downloadCodegen = (id: number) => {
|
||||||
return request.download({ url: '/infra/codegen/download?tableId=' + id })
|
return request.download({ url: '/infra/codegen/download?tableId=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得表定义
|
// 获得表定义
|
||||||
export const getSchemaTableListApi = (params) => {
|
export const getSchemaTableList = (params) => {
|
||||||
return request.get({ url: '/infra/codegen/db/table/list', params })
|
return request.get({ url: '/infra/codegen/db/table/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 基于数据库的表结构,创建代码生成器的表定义
|
// 基于数据库的表结构,创建代码生成器的表定义
|
||||||
export const createCodegenListApi = (data) => {
|
export const createCodegenList = (data) => {
|
||||||
return request.post({ url: '/infra/codegen/create-list', data })
|
return request.post({ url: '/infra/codegen/create-list', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除代码生成表定义
|
// 删除代码生成表定义
|
||||||
export const deleteCodegenTableApi = (id: number) => {
|
export const deleteCodegenTable = (id: number) => {
|
||||||
return request.delete({ url: '/infra/codegen/delete?tableId=' + id })
|
return request.delete({ url: '/infra/codegen/delete?tableId=' + id })
|
||||||
}
|
}
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
export type CodegenTableVO = {
|
|
||||||
id: number
|
|
||||||
tableId: number
|
|
||||||
isParentMenuIdValid: boolean
|
|
||||||
dataSourceConfigId: number
|
|
||||||
scene: number
|
|
||||||
tableName: string
|
|
||||||
tableComment: string
|
|
||||||
remark: string
|
|
||||||
moduleName: string
|
|
||||||
businessName: string
|
|
||||||
className: string
|
|
||||||
classComment: string
|
|
||||||
author: string
|
|
||||||
createTime: Date
|
|
||||||
updateTime: Date
|
|
||||||
templateType: number
|
|
||||||
parentMenuId: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export type CodegenColumnVO = {
|
|
||||||
id: number
|
|
||||||
tableId: number
|
|
||||||
columnName: string
|
|
||||||
dataType: string
|
|
||||||
columnComment: string
|
|
||||||
nullable: number
|
|
||||||
primaryKey: number
|
|
||||||
autoIncrement: string
|
|
||||||
ordinalPosition: number
|
|
||||||
javaType: string
|
|
||||||
javaField: string
|
|
||||||
dictType: string
|
|
||||||
example: string
|
|
||||||
createOperation: number
|
|
||||||
updateOperation: number
|
|
||||||
listOperation: number
|
|
||||||
listOperationCondition: string
|
|
||||||
listOperationResult: number
|
|
||||||
htmlType: string
|
|
||||||
}
|
|
||||||
export type DatabaseTableVO = {
|
|
||||||
name: string
|
|
||||||
comment: string
|
|
||||||
}
|
|
||||||
export type CodegenDetailVO = {
|
|
||||||
table: CodegenTableVO
|
|
||||||
columns: CodegenColumnVO[]
|
|
||||||
}
|
|
||||||
export type CodegenPreviewVO = {
|
|
||||||
filePath: string
|
|
||||||
code: string
|
|
||||||
}
|
|
||||||
export type CodegenUpdateReqVO = {
|
|
||||||
table: CodegenTableVO
|
|
||||||
columns: CodegenColumnVO[]
|
|
||||||
}
|
|
||||||
export type CodegenCreateListReqVO = {
|
|
||||||
dataSourceConfigId: number
|
|
||||||
tableNames: string[]
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface ConfigVO {
|
export interface ConfigVO {
|
||||||
id: number
|
id: number | undefined
|
||||||
category: string
|
category: string
|
||||||
name: string
|
name: string
|
||||||
key: string
|
key: string
|
||||||
@@ -12,51 +12,37 @@ export interface ConfigVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ConfigPageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
key?: string
|
|
||||||
type?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ConfigExportReqVO {
|
|
||||||
name?: string
|
|
||||||
key?: string
|
|
||||||
type?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询参数列表
|
// 查询参数列表
|
||||||
export const getConfigPageApi = (params: ConfigPageReqVO) => {
|
export const getConfigPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/infra/config/page', params })
|
return request.get({ url: '/infra/config/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询参数详情
|
// 查询参数详情
|
||||||
export const getConfigApi = (id: number) => {
|
export const getConfig = (id: number) => {
|
||||||
return request.get({ url: '/infra/config/get?id=' + id })
|
return request.get({ url: '/infra/config/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据参数键名查询参数值
|
// 根据参数键名查询参数值
|
||||||
export const getConfigKeyApi = (configKey: string) => {
|
export const getConfigKey = (configKey: string) => {
|
||||||
return request.get({ url: '/infra/config/get-value-by-key?key=' + configKey })
|
return request.get({ url: '/infra/config/get-value-by-key?key=' + configKey })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增参数
|
// 新增参数
|
||||||
export const createConfigApi = (data: ConfigVO) => {
|
export const createConfig = (data: ConfigVO) => {
|
||||||
return request.post({ url: '/infra/config/create', data })
|
return request.post({ url: '/infra/config/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改参数
|
// 修改参数
|
||||||
export const updateConfigApi = (data: ConfigVO) => {
|
export const updateConfig = (data: ConfigVO) => {
|
||||||
return request.put({ url: '/infra/config/update', data })
|
return request.put({ url: '/infra/config/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除参数
|
// 删除参数
|
||||||
export const deleteConfigApi = (id: number) => {
|
export const deleteConfig = (id: number) => {
|
||||||
return request.delete({ url: '/infra/config/delete?id=' + id })
|
return request.delete({ url: '/infra/config/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出参数
|
// 导出参数
|
||||||
export const exportConfigApi = (params: ConfigExportReqVO) => {
|
export const exportConfig = (params) => {
|
||||||
return request.download({ url: '/infra/config/export', params })
|
return request.download({ url: '/infra/config/export', params })
|
||||||
}
|
}
|
||||||
@@ -1,35 +1,35 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface DataSourceConfigVO {
|
export interface DataSourceConfigVO {
|
||||||
id: number
|
id: number | undefined
|
||||||
name: string
|
name: string
|
||||||
url: string
|
url: string
|
||||||
username: string
|
username: string
|
||||||
password: string
|
password: string
|
||||||
createTime: Date
|
createTime?: Date
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数据源配置列表
|
|
||||||
export const getDataSourceConfigListApi = () => {
|
|
||||||
return request.get({ url: '/infra/data-source-config/list' })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询数据源配置详情
|
|
||||||
export const getDataSourceConfigApi = (id: number) => {
|
|
||||||
return request.get({ url: '/infra/data-source-config/get?id=' + id })
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增数据源配置
|
// 新增数据源配置
|
||||||
export const createDataSourceConfigApi = (data: DataSourceConfigVO) => {
|
export const createDataSourceConfig = (data: DataSourceConfigVO) => {
|
||||||
return request.post({ url: '/infra/data-source-config/create', data })
|
return request.post({ url: '/infra/data-source-config/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改数据源配置
|
// 修改数据源配置
|
||||||
export const updateDataSourceConfigApi = (data: DataSourceConfigVO) => {
|
export const updateDataSourceConfig = (data: DataSourceConfigVO) => {
|
||||||
return request.put({ url: '/infra/data-source-config/update', data })
|
return request.put({ url: '/infra/data-source-config/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除数据源配置
|
// 删除数据源配置
|
||||||
export const deleteDataSourceConfigApi = (id: number) => {
|
export const deleteDataSourceConfig = (id: number) => {
|
||||||
return request.delete({ url: '/infra/data-source-config/delete?id=' + id })
|
return request.delete({ url: '/infra/data-source-config/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查询数据源配置详情
|
||||||
|
export const getDataSourceConfig = (id: number) => {
|
||||||
|
return request.get({ url: '/infra/data-source-config/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询数据源配置列表
|
||||||
|
export const getDataSourceConfigList = () => {
|
||||||
|
return request.get({ url: '/infra/data-source-config/list' })
|
||||||
|
}
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
// 导出Html
|
// 导出Html
|
||||||
export const exportHtmlApi = () => {
|
export const exportHtml = () => {
|
||||||
return request.download({ url: '/infra/db-doc/export-html' })
|
return request.download({ url: '/infra/db-doc/export-html' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出Word
|
// 导出Word
|
||||||
export const exportWordApi = () => {
|
export const exportWord = () => {
|
||||||
return request.download({ url: '/infra/db-doc/export-word' })
|
return request.download({ url: '/infra/db-doc/export-word' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出Markdown
|
// 导出Markdown
|
||||||
export const exportMarkdownApi = () => {
|
export const exportMarkdown = () => {
|
||||||
return request.download({ url: '/infra/db-doc/export-markdown' })
|
return request.download({ url: '/infra/db-doc/export-markdown' })
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,5 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface FileVO {
|
|
||||||
id: number
|
|
||||||
configId: number
|
|
||||||
path: string
|
|
||||||
name: string
|
|
||||||
url: string
|
|
||||||
size: string
|
|
||||||
type: string
|
|
||||||
createTime: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface FilePageReqVO extends PageParam {
|
export interface FilePageReqVO extends PageParam {
|
||||||
path?: string
|
path?: string
|
||||||
type?: string
|
type?: string
|
||||||
@@ -18,11 +7,11 @@ export interface FilePageReqVO extends PageParam {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询文件列表
|
// 查询文件列表
|
||||||
export const getFilePageApi = (params: FilePageReqVO) => {
|
export const getFilePage = (params: FilePageReqVO) => {
|
||||||
return request.get({ url: '/infra/file/page', params })
|
return request.get({ url: '/infra/file/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除文件
|
// 删除文件
|
||||||
export const deleteFileApi = (id: number) => {
|
export const deleteFile = (id: number) => {
|
||||||
return request.delete({ url: '/infra/file/delete?id=' + id })
|
return request.delete({ url: '/infra/file/delete?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -13,10 +13,11 @@ export interface FileClientConfig {
|
|||||||
accessSecret?: string
|
accessSecret?: string
|
||||||
domain: string
|
domain: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FileConfigVO {
|
export interface FileConfigVO {
|
||||||
id: number
|
id: number
|
||||||
name: string
|
name: string
|
||||||
storage: number
|
storage: any
|
||||||
master: boolean
|
master: boolean
|
||||||
visible: boolean
|
visible: boolean
|
||||||
config: FileClientConfig
|
config: FileClientConfig
|
||||||
@@ -24,43 +25,37 @@ export interface FileConfigVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FileConfigPageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
storage?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询文件配置列表
|
// 查询文件配置列表
|
||||||
export const getFileConfigPageApi = (params: FileConfigPageReqVO) => {
|
export const getFileConfigPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/infra/file-config/page', params })
|
return request.get({ url: '/infra/file-config/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询文件配置详情
|
// 查询文件配置详情
|
||||||
export const getFileConfigApi = (id: number) => {
|
export const getFileConfig = (id: number) => {
|
||||||
return request.get({ url: '/infra/file-config/get?id=' + id })
|
return request.get({ url: '/infra/file-config/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新文件配置为主配置
|
// 更新文件配置为主配置
|
||||||
export const updateFileConfigMasterApi = (id: number) => {
|
export const updateFileConfigMaster = (id: number) => {
|
||||||
return request.put({ url: '/infra/file-config/update-master?id=' + id })
|
return request.put({ url: '/infra/file-config/update-master?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增文件配置
|
// 新增文件配置
|
||||||
export const createFileConfigApi = (data: FileConfigVO) => {
|
export const createFileConfig = (data: FileConfigVO) => {
|
||||||
return request.post({ url: '/infra/file-config/create', data })
|
return request.post({ url: '/infra/file-config/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改文件配置
|
// 修改文件配置
|
||||||
export const updateFileConfigApi = (data: FileConfigVO) => {
|
export const updateFileConfig = (data: FileConfigVO) => {
|
||||||
return request.put({ url: '/infra/file-config/update', data })
|
return request.put({ url: '/infra/file-config/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除文件配置
|
// 删除文件配置
|
||||||
export const deleteFileConfigApi = (id: number) => {
|
export const deleteFileConfig = (id: number) => {
|
||||||
return request.delete({ url: '/infra/file-config/delete?id=' + id })
|
return request.delete({ url: '/infra/file-config/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 测试文件配置
|
// 测试文件配置
|
||||||
export const testFileConfigApi = (id: number) => {
|
export const testFileConfig = (id: number) => {
|
||||||
return request.get({ url: '/infra/file-config/test?id=' + id })
|
return request.get({ url: '/infra/file-config/test?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -13,50 +13,38 @@ export interface JobVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface JobPageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
handlerName?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface JobExportReqVO {
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
handlerName?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 任务列表
|
// 任务列表
|
||||||
export const getJobPageApi = (params: JobPageReqVO) => {
|
export const getJobPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/infra/job/page', params })
|
return request.get({ url: '/infra/job/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 任务详情
|
// 任务详情
|
||||||
export const getJobApi = (id: number) => {
|
export const getJob = (id: number) => {
|
||||||
return request.get({ url: '/infra/job/get?id=' + id })
|
return request.get({ url: '/infra/job/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增任务
|
// 新增任务
|
||||||
export const createJobApi = (data: JobVO) => {
|
export const createJob = (data: JobVO) => {
|
||||||
return request.post({ url: '/infra/job/create', data })
|
return request.post({ url: '/infra/job/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改定时任务调度
|
// 修改定时任务调度
|
||||||
export const updateJobApi = (data: JobVO) => {
|
export const updateJob = (data: JobVO) => {
|
||||||
return request.put({ url: '/infra/job/update', data })
|
return request.put({ url: '/infra/job/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除定时任务调度
|
// 删除定时任务调度
|
||||||
export const deleteJobApi = (id: number) => {
|
export const deleteJob = (id: number) => {
|
||||||
return request.delete({ url: '/infra/job/delete?id=' + id })
|
return request.delete({ url: '/infra/job/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出定时任务调度
|
// 导出定时任务调度
|
||||||
export const exportJobApi = (params: JobExportReqVO) => {
|
export const exportJob = (params) => {
|
||||||
return request.download({ url: '/infra/job/export-excel', params })
|
return request.download({ url: '/infra/job/export-excel', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 任务状态修改
|
// 任务状态修改
|
||||||
export const updateJobStatusApi = (id: number, status: number) => {
|
export const updateJobStatus = (id: number, status: number) => {
|
||||||
const params = {
|
const params = {
|
||||||
id,
|
id,
|
||||||
status
|
status
|
||||||
@@ -65,11 +53,11 @@ export const updateJobStatusApi = (id: number, status: number) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 定时任务立即执行一次
|
// 定时任务立即执行一次
|
||||||
export const runJobApi = (id: number) => {
|
export const runJob = (id: number) => {
|
||||||
return request.put({ url: '/infra/job/trigger?id=' + id })
|
return request.put({ url: '/infra/job/trigger?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得定时任务的下 n 次执行时间
|
// 获得定时任务的下 n 次执行时间
|
||||||
export const getJobNextTimesApi = (id: number) => {
|
export const getJobNextTimes = (id: number) => {
|
||||||
return request.get({ url: '/infra/job/get_next_times?id=' + id })
|
return request.get({ url: '/infra/job/get_next_times?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -14,34 +14,18 @@ export interface JobLogVO {
|
|||||||
createTime: string
|
createTime: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface JobLogPageReqVO extends PageParam {
|
|
||||||
jobId?: number
|
|
||||||
handlerName?: string
|
|
||||||
beginTime?: string
|
|
||||||
endTime?: string
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface JobLogExportReqVO {
|
|
||||||
jobId?: number
|
|
||||||
handlerName?: string
|
|
||||||
beginTime?: string
|
|
||||||
endTime?: string
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 任务日志列表
|
// 任务日志列表
|
||||||
export const getJobLogPageApi = (params: JobLogPageReqVO) => {
|
export const getJobLogPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/infra/job-log/page', params })
|
return request.get({ url: '/infra/job-log/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 任务日志详情
|
// 任务日志详情
|
||||||
export const getJobLogApi = (id: number) => {
|
export const getJobLog = (id: number) => {
|
||||||
return request.get({ url: '/infra/job-log/get?id=' + id })
|
return request.get({ url: '/infra/job-log/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出定时任务日志
|
// 导出定时任务日志
|
||||||
export const exportJobLogApi = (params: JobLogExportReqVO) => {
|
export const exportJobLog = (params) => {
|
||||||
return request.download({
|
return request.download({
|
||||||
url: '/infra/job-log/export-excel',
|
url: '/infra/job-log/export-excel',
|
||||||
params
|
params
|
||||||
|
|||||||
@@ -3,39 +3,6 @@ import request from '@/config/axios'
|
|||||||
/**
|
/**
|
||||||
* 获取redis 监控信息
|
* 获取redis 监控信息
|
||||||
*/
|
*/
|
||||||
export const getCacheApi = () => {
|
export const getCache = () => {
|
||||||
return request.get({ url: '/infra/redis/get-monitor-info' })
|
return request.get({ url: '/infra/redis/get-monitor-info' })
|
||||||
}
|
}
|
||||||
// 获取模块
|
|
||||||
export const getKeyDefineListApi = () => {
|
|
||||||
return request.get({ url: '/infra/redis/get-key-define-list' })
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 获取redis key列表
|
|
||||||
*/
|
|
||||||
export const getKeyListApi = (keyTemplate: string) => {
|
|
||||||
return request.get({
|
|
||||||
url: '/infra/redis/get-key-list',
|
|
||||||
params: {
|
|
||||||
keyTemplate
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
// 获取缓存内容
|
|
||||||
export const getKeyValueApi = (key: string) => {
|
|
||||||
return request.get({ url: '/infra/redis/get-key-value?key=' + key })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据键名删除缓存
|
|
||||||
export const deleteKeyApi = (key: string) => {
|
|
||||||
return request.delete({ url: '/infra/redis/delete-key?key=' + key })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const deleteKeysApi = (keyTemplate: string) => {
|
|
||||||
return request.delete({
|
|
||||||
url: '/infra/redis/delete-keys?',
|
|
||||||
params: {
|
|
||||||
keyTemplate
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
@@ -174,12 +174,3 @@ export interface RedisCommandStatsVO {
|
|||||||
calls: number
|
calls: number
|
||||||
usec: number
|
usec: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface RedisKeyInfo {
|
|
||||||
keyTemplate: string
|
|
||||||
keyType: string
|
|
||||||
valueType: string
|
|
||||||
timeoutType: number
|
|
||||||
timeout: number
|
|
||||||
memo: string
|
|
||||||
}
|
|
||||||
+12
-16
@@ -2,22 +2,18 @@ import request from '@/config/axios'
|
|||||||
import { getRefreshToken } from '@/utils/auth'
|
import { getRefreshToken } from '@/utils/auth'
|
||||||
import type { UserLoginVO } from './types'
|
import type { UserLoginVO } from './types'
|
||||||
|
|
||||||
export interface CodeImgResult {
|
|
||||||
captchaOnOff: boolean
|
|
||||||
img: string
|
|
||||||
uuid: string
|
|
||||||
}
|
|
||||||
export interface SmsCodeVO {
|
export interface SmsCodeVO {
|
||||||
mobile: string
|
mobile: string
|
||||||
scene: number
|
scene: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SmsLoginVO {
|
export interface SmsLoginVO {
|
||||||
mobile: string
|
mobile: string
|
||||||
code: string
|
code: string
|
||||||
}
|
}
|
||||||
|
|
||||||
// 登录
|
// 登录
|
||||||
export const loginApi = (data: UserLoginVO) => {
|
export const login = (data: UserLoginVO) => {
|
||||||
return request.post({ url: '/system/auth/login', data })
|
return request.post({ url: '/system/auth/login', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,47 +23,47 @@ export const refreshToken = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 使用租户名,获得租户编号
|
// 使用租户名,获得租户编号
|
||||||
export const getTenantIdByNameApi = (name: string) => {
|
export const getTenantIdByName = (name: string) => {
|
||||||
return request.get({ url: '/system/tenant/get-id-by-name?name=' + name })
|
return request.get({ url: '/system/tenant/get-id-by-name?name=' + name })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 登出
|
// 登出
|
||||||
export const loginOutApi = () => {
|
export const loginOut = () => {
|
||||||
return request.post({ url: '/system/auth/logout' })
|
return request.post({ url: '/system/auth/logout' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取用户权限信息
|
// 获取用户权限信息
|
||||||
export const getInfoApi = () => {
|
export const getInfo = () => {
|
||||||
return request.get({ url: '/system/auth/get-permission-info' })
|
return request.get({ url: '/system/auth/get-permission-info' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 路由
|
// 路由
|
||||||
export const getAsyncRoutesApi = () => {
|
export const getAsyncRoutes = () => {
|
||||||
return request.get({ url: '/system/auth/list-menus' })
|
return request.get({ url: '/system/auth/list-menus' })
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取登录验证码
|
//获取登录验证码
|
||||||
export const sendSmsCodeApi = (data: SmsCodeVO) => {
|
export const sendSmsCode = (data: SmsCodeVO) => {
|
||||||
return request.post({ url: '/system/auth/send-sms-code', data })
|
return request.post({ url: '/system/auth/send-sms-code', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 短信验证码登录
|
// 短信验证码登录
|
||||||
export const smsLoginApi = (data: SmsLoginVO) => {
|
export const smsLogin = (data: SmsLoginVO) => {
|
||||||
return request.post({ url: '/system/auth/sms-login', data })
|
return request.post({ url: '/system/auth/sms-login', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 社交授权的跳转
|
// 社交授权的跳转
|
||||||
export const socialAuthRedirectApi = (type: number, redirectUri: string) => {
|
export const socialAuthRedirect = (type: number, redirectUri: string) => {
|
||||||
return request.get({
|
return request.get({
|
||||||
url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
|
url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 获取验证图片 以及token
|
// 获取验证图片以及 token
|
||||||
export const getCodeApi = (data) => {
|
export const getCode = (data) => {
|
||||||
return request.postOriginal({ url: 'system/captcha/get', data })
|
return request.postOriginal({ url: 'system/captcha/get', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 滑动或者点选验证
|
// 滑动或者点选验证
|
||||||
export const reqCheckApi = (data) => {
|
export const reqCheck = (data) => {
|
||||||
return request.postOriginal({ url: 'system/captcha/check', data })
|
return request.postOriginal({ url: 'system/captcha/check', data })
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得授权信息
|
||||||
|
export const getAuthorize = (clientId: string) => {
|
||||||
|
return request.get({ url: '/system/oauth2/authorize?clientId=' + clientId })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发起授权
|
||||||
|
export const authorize = (
|
||||||
|
responseType: string,
|
||||||
|
clientId: string,
|
||||||
|
redirectUri: string,
|
||||||
|
state: string,
|
||||||
|
autoApprove: boolean,
|
||||||
|
checkedScopes: string[],
|
||||||
|
uncheckedScopes: string[]
|
||||||
|
) => {
|
||||||
|
// 构建 scopes
|
||||||
|
const scopes = {}
|
||||||
|
for (const scope of checkedScopes) {
|
||||||
|
scopes[scope] = true
|
||||||
|
}
|
||||||
|
for (const scope of uncheckedScopes) {
|
||||||
|
scopes[scope] = false
|
||||||
|
}
|
||||||
|
// 发起请求
|
||||||
|
return request.post({
|
||||||
|
url: '/system/oauth2/authorize',
|
||||||
|
headers: {
|
||||||
|
'Content-type': 'application/x-www-form-urlencoded'
|
||||||
|
},
|
||||||
|
params: {
|
||||||
|
response_type: responseType,
|
||||||
|
client_id: clientId,
|
||||||
|
redirect_uri: redirectUri,
|
||||||
|
state: state,
|
||||||
|
auto_approve: autoApprove,
|
||||||
|
scope: JSON.stringify(scopes)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -26,17 +26,3 @@ export type UserVO = {
|
|||||||
loginIp: string
|
loginIp: string
|
||||||
loginDate: string
|
loginDate: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserInfoVO = {
|
|
||||||
permissions: []
|
|
||||||
roles: []
|
|
||||||
user: {
|
|
||||||
avatar: string
|
|
||||||
id: number
|
|
||||||
nickname: string
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export type TentantNameVO = {
|
|
||||||
name: string
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
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' })
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品分类
|
||||||
|
*/
|
||||||
|
export interface CategoryVO {
|
||||||
|
/**
|
||||||
|
* 分类编号
|
||||||
|
*/
|
||||||
|
id?: number
|
||||||
|
/**
|
||||||
|
* 父分类编号
|
||||||
|
*/
|
||||||
|
parentId?: number
|
||||||
|
/**
|
||||||
|
* 分类名称
|
||||||
|
*/
|
||||||
|
name: string
|
||||||
|
/**
|
||||||
|
* 移动端分类图
|
||||||
|
*/
|
||||||
|
picUrl: string
|
||||||
|
/**
|
||||||
|
* PC 端分类图
|
||||||
|
*/
|
||||||
|
bigPicUrl?: 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 })
|
||||||
|
}
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
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 interface PropertyValueDetailVO {
|
||||||
|
/** 属性项的编号 */
|
||||||
|
propertyId: number // 属性的编号
|
||||||
|
/** 属性的名称 */
|
||||||
|
propertyName: string
|
||||||
|
/** 属性值的编号 */
|
||||||
|
valueId: number
|
||||||
|
/** 属性值的名称 */
|
||||||
|
valueName: 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 getPropertyList = (params: any) => {
|
||||||
|
return request.get({ url: '/product/property/list', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得属性项列表
|
||||||
|
export const getPropertyListAndValue = (data: any) => {
|
||||||
|
return request.post({ url: '/product/property/get-value-list', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------ 属性值 -------------------
|
||||||
|
|
||||||
|
// 获得属性值分页
|
||||||
|
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}` })
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface Property {
|
||||||
|
propertyId?: number // 属性编号
|
||||||
|
propertyName?: string // 属性名称
|
||||||
|
valueId?: number // 属性值编号
|
||||||
|
valueName?: string // 属性值名称
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO puhui999:是不是直接叫 Sku 更简洁一点哈。type 待后面,总感觉有个类型?
|
||||||
|
export interface SkuType {
|
||||||
|
id?: number // 商品 SKU 编号
|
||||||
|
spuId?: number // SPU 编号
|
||||||
|
properties?: Property[] // 属性数组
|
||||||
|
price?: number // 商品价格
|
||||||
|
marketPrice?: number // 市场价
|
||||||
|
costPrice?: number // 成本价
|
||||||
|
barCode?: string // 商品条码
|
||||||
|
picUrl?: string // 图片地址
|
||||||
|
stock?: number // 库存
|
||||||
|
weight?: number // 商品重量,单位:kg 千克
|
||||||
|
volume?: number // 商品体积,单位:m^3 平米
|
||||||
|
subCommissionFirstPrice?: number // 一级分销的佣金
|
||||||
|
subCommissionSecondPrice?: number // 二级分销的佣金
|
||||||
|
salesCount?: number // 商品销量
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO puhui999:是不是直接叫 Spu 更简洁一点哈。type 待后面,总感觉有个类型?
|
||||||
|
export interface SpuType {
|
||||||
|
id?: number
|
||||||
|
name?: string // 商品名称
|
||||||
|
categoryId?: number | null // 商品分类
|
||||||
|
keyword?: string // 关键字
|
||||||
|
unit?: number | null // 单位
|
||||||
|
picUrl?: string // 商品封面图
|
||||||
|
sliderPicUrls?: string[] // 商品轮播图
|
||||||
|
introduction?: string // 商品简介
|
||||||
|
deliveryTemplateId?: number | null // 运费模版
|
||||||
|
brandId?: number | null // 商品品牌编号
|
||||||
|
specType?: boolean // 商品规格
|
||||||
|
subCommissionType?: boolean // 分销类型
|
||||||
|
skus: SkuType[] // sku数组
|
||||||
|
description?: string // 商品详情
|
||||||
|
sort?: string // 商品排序
|
||||||
|
giveIntegral?: number // 赠送积分
|
||||||
|
virtualSalesCount?: number // 虚拟销量
|
||||||
|
recommendHot?: boolean // 是否热卖
|
||||||
|
recommendBenefit?: boolean // 是否优惠
|
||||||
|
recommendBest?: boolean // 是否精品
|
||||||
|
recommendNew?: boolean // 是否新品
|
||||||
|
recommendGood?: boolean // 是否优品
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得 Spu 列表
|
||||||
|
export const getSpuPage = (params: PageParam) => {
|
||||||
|
return request.get({ url: '/product/spu/page', params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得 Spu 列表 tabsCount
|
||||||
|
export const getTabsCount = () => {
|
||||||
|
return request.get({ url: '/product/spu/get-count' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建商品 Spu
|
||||||
|
export const createSpu = (data: SpuType) => {
|
||||||
|
return request.post({ url: '/product/spu/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新商品 Spu
|
||||||
|
export const updateSpu = (data: SpuType) => {
|
||||||
|
return request.put({ url: '/product/spu/update', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新商品 Spu status
|
||||||
|
export const updateStatus = (data: { id: number; status: number }) => {
|
||||||
|
return request.put({ url: '/product/spu/update-status', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得商品 Spu
|
||||||
|
export const getSpu = (id: number) => {
|
||||||
|
return request.get({ url: `/product/spu/get-detail?id=${id}` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除商品 Spu
|
||||||
|
export const deleteSpu = (id: number) => {
|
||||||
|
return request.delete({ url: `/product/spu/delete?id=${id}` })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出商品 Spu Excel
|
||||||
|
export const exportSpu = async (params) => {
|
||||||
|
return await request.download({ url: '/product/spu/export', params })
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
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 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 })
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
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 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 })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出快递运费模板 Excel
|
||||||
|
export const exportDeliveryExpressTemplateApi = async (params) => {
|
||||||
|
return await request.download({ url: '/trade/delivery/express-template/export-excel', params })
|
||||||
|
}
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface AccountVO {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
}
|
||||||
|
|
||||||
// 创建公众号账号
|
// 创建公众号账号
|
||||||
export const createAccount = async (data) => {
|
export const createAccount = async (data) => {
|
||||||
return await request.post({ url: '/mp/account/create', data })
|
return await request.post({ url: '/mp/account/create', data })
|
||||||
@@ -26,7 +31,7 @@ export const getAccountPage = async (query) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取公众号账号精简信息列表
|
// 获取公众号账号精简信息列表
|
||||||
export const getSimpleAccounts = async () => {
|
export const getSimpleAccountList = async () => {
|
||||||
return request.get({ url: '/mp/account/list-all-simple' })
|
return request.get({ url: '/mp/account/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
// 获得公众号消息分页
|
// 获得公众号消息分页
|
||||||
export const getMessagePage = (query) => {
|
export const getMessagePage = (query: PageParam) => {
|
||||||
return request.get({
|
return request.get({
|
||||||
url: '/mp/message/page',
|
url: '/mp/message/page',
|
||||||
params: query
|
params: query
|
||||||
|
|||||||
+14
-7
@@ -1,7 +1,14 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
export interface TagVO {
|
||||||
|
id?: number
|
||||||
|
name: string
|
||||||
|
accountId: number
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
// 创建公众号标签
|
// 创建公众号标签
|
||||||
export const createTag = (data) => {
|
export const createTag = (data: TagVO) => {
|
||||||
return request.post({
|
return request.post({
|
||||||
url: '/mp/tag/create',
|
url: '/mp/tag/create',
|
||||||
data: data
|
data: data
|
||||||
@@ -9,7 +16,7 @@ export const createTag = (data) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 更新公众号标签
|
// 更新公众号标签
|
||||||
export const updateTag = (data) => {
|
export const updateTag = (data: TagVO) => {
|
||||||
return request.put({
|
return request.put({
|
||||||
url: '/mp/tag/update',
|
url: '/mp/tag/update',
|
||||||
data: data
|
data: data
|
||||||
@@ -17,21 +24,21 @@ export const updateTag = (data) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 删除公众号标签
|
// 删除公众号标签
|
||||||
export const deleteTag = (id) => {
|
export const deleteTag = (id: number) => {
|
||||||
return request.delete({
|
return request.delete({
|
||||||
url: '/mp/tag/delete?id=' + id
|
url: '/mp/tag/delete?id=' + id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得公众号标签
|
// 获得公众号标签
|
||||||
export const getTag = (id) => {
|
export const getTag = (id: number) => {
|
||||||
return request.get({
|
return request.get({
|
||||||
url: '/mp/tag/get?id=' + id
|
url: '/mp/tag/get?id=' + id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得公众号标签分页
|
// 获得公众号标签分页
|
||||||
export const getTagPage = (query) => {
|
export const getTagPage = (query: PageParam) => {
|
||||||
return request.get({
|
return request.get({
|
||||||
url: '/mp/tag/page',
|
url: '/mp/tag/page',
|
||||||
params: query
|
params: query
|
||||||
@@ -39,14 +46,14 @@ export const getTagPage = (query) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取公众号标签精简信息列表
|
// 获取公众号标签精简信息列表
|
||||||
export const getSimpleTags = () => {
|
export const getSimpleTagList = () => {
|
||||||
return request.get({
|
return request.get({
|
||||||
url: '/mp/tag/list-all-simple'
|
url: '/mp/tag/list-all-simple'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 同步公众号标签
|
// 同步公众号标签
|
||||||
export const syncTag = (accountId) => {
|
export const syncTag = (accountId: number) => {
|
||||||
return request.post({
|
return request.post({
|
||||||
url: '/mp/tag/sync?accountId=' + accountId
|
url: '/mp/tag/sync?accountId=' + accountId
|
||||||
})
|
})
|
||||||
|
|||||||
File renamed without changes.
@@ -38,41 +38,41 @@ export interface AppUpdateStatusReqVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询列表支付应用
|
// 查询列表支付应用
|
||||||
export const getAppPageApi = (params: AppPageReqVO) => {
|
export const getAppPage = (params: AppPageReqVO) => {
|
||||||
return request.get({ url: '/pay/app/page', params })
|
return request.get({ url: '/pay/app/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询详情支付应用
|
// 查询详情支付应用
|
||||||
export const getAppApi = (id: number) => {
|
export const getApp = (id: number) => {
|
||||||
return request.get({ url: '/pay/app/get?id=' + id })
|
return request.get({ url: '/pay/app/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增支付应用
|
// 新增支付应用
|
||||||
export const createAppApi = (data: AppVO) => {
|
export const createApp = (data: AppVO) => {
|
||||||
return request.post({ url: '/pay/app/create', data })
|
return request.post({ url: '/pay/app/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改支付应用
|
// 修改支付应用
|
||||||
export const updateAppApi = (data: AppVO) => {
|
export const updateApp = (data: AppVO) => {
|
||||||
return request.put({ url: '/pay/app/update', data })
|
return request.put({ url: '/pay/app/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 支付应用信息状态修改
|
// 支付应用信息状态修改
|
||||||
export const changeAppStatusApi = (data: AppUpdateStatusReqVO) => {
|
export const changeAppStatus = (data: AppUpdateStatusReqVO) => {
|
||||||
return request.put({ url: '/pay/app/update-status', data: data })
|
return request.put({ url: '/pay/app/update-status', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除支付应用
|
// 删除支付应用
|
||||||
export const deleteAppApi = (id: number) => {
|
export const deleteApp = (id: number) => {
|
||||||
return request.delete({ url: '/pay/app/delete?id=' + id })
|
return request.delete({ url: '/pay/app/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出支付应用
|
// 导出支付应用
|
||||||
export const exportAppApi = (params: AppExportReqVO) => {
|
export const exportApp = (params: AppExportReqVO) => {
|
||||||
return request.download({ url: '/pay/app/export-excel', params })
|
return request.download({ url: '/pay/app/export-excel', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据商ID称搜索应用列表
|
// 根据商ID称搜索应用列表
|
||||||
export const getAppListByMerchantIdApi = (merchantId: number) => {
|
export const getAppListByMerchantId = (merchantId: number) => {
|
||||||
return request.get({ url: '/pay/app/list-merchant-id', params: { merchantId: merchantId } })
|
return request.get({ url: '/pay/app/list-merchant-id', params: { merchantId: merchantId } })
|
||||||
}
|
}
|
||||||
@@ -12,35 +12,13 @@ export interface ChannelVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ChannelPageReqVO extends PageParam {
|
|
||||||
code?: string
|
|
||||||
status?: number
|
|
||||||
remark?: string
|
|
||||||
feeRate?: number
|
|
||||||
merchantId?: number
|
|
||||||
appId?: number
|
|
||||||
config?: string
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ChannelExportReqVO {
|
|
||||||
code?: string
|
|
||||||
status?: number
|
|
||||||
remark?: string
|
|
||||||
feeRate?: number
|
|
||||||
merchantId?: number
|
|
||||||
appId?: number
|
|
||||||
config?: string
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询列表支付渠道
|
// 查询列表支付渠道
|
||||||
export const getChannelPageApi = (params: ChannelPageReqVO) => {
|
export const getChannelPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/pay/channel/page', params })
|
return request.get({ url: '/pay/channel/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询详情支付渠道
|
// 查询详情支付渠道
|
||||||
export const getChannelApi = (merchantId: number, appId: string, code: string) => {
|
export const getChannel = (merchantId: number, appId: string, code: string) => {
|
||||||
const params = {
|
const params = {
|
||||||
merchantId: merchantId,
|
merchantId: merchantId,
|
||||||
appId: appId,
|
appId: appId,
|
||||||
@@ -50,21 +28,21 @@ export const getChannelApi = (merchantId: number, appId: string, code: string) =
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 新增支付渠道
|
// 新增支付渠道
|
||||||
export const createChannelApi = (data: ChannelVO) => {
|
export const createChannel = (data: ChannelVO) => {
|
||||||
return request.post({ url: '/pay/channel/create', data })
|
return request.post({ url: '/pay/channel/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改支付渠道
|
// 修改支付渠道
|
||||||
export const updateChannelApi = (data: ChannelVO) => {
|
export const updateChannel = (data: ChannelVO) => {
|
||||||
return request.put({ url: '/pay/channel/update', data })
|
return request.put({ url: '/pay/channel/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除支付渠道
|
// 删除支付渠道
|
||||||
export const deleteChannelApi = (id: number) => {
|
export const deleteChannel = (id: number) => {
|
||||||
return request.delete({ url: '/pay/channel/delete?id=' + id })
|
return request.delete({ url: '/pay/channel/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出支付渠道
|
// 导出支付渠道
|
||||||
export const exportChannelApi = (params: ChannelExportReqVO) => {
|
export const exportChannel = (params) => {
|
||||||
return request.download({ url: '/pay/channel/export-excel', params })
|
return request.download({ url: '/pay/channel/export-excel', params })
|
||||||
}
|
}
|
||||||
@@ -29,19 +29,19 @@ export interface MerchantExportReqVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询列表支付商户
|
// 查询列表支付商户
|
||||||
export const getMerchantPageApi = (params: MerchantPageReqVO) => {
|
export const getMerchantPage = (params: MerchantPageReqVO) => {
|
||||||
return request.get({ url: '/pay/merchant/page', params })
|
return request.get({ url: '/pay/merchant/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询详情支付商户
|
// 查询详情支付商户
|
||||||
export const getMerchantApi = (id: number) => {
|
export const getMerchant = (id: number) => {
|
||||||
return request.get({ url: '/pay/merchant/get?id=' + id })
|
return request.get({ url: '/pay/merchant/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据商户名称搜索商户列表
|
// 根据商户名称搜索商户列表
|
||||||
export const getMerchantListByNameApi = (name: string) => {
|
export const getMerchantListByName = (name?: string) => {
|
||||||
return request.get({
|
return request.get({
|
||||||
url: '/pay/merchant/list-by-name?id=',
|
url: '/pay/merchant/list-by-name',
|
||||||
params: {
|
params: {
|
||||||
name: name
|
name: name
|
||||||
}
|
}
|
||||||
@@ -49,26 +49,27 @@ export const getMerchantListByNameApi = (name: string) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 新增支付商户
|
// 新增支付商户
|
||||||
export const createMerchantApi = (data: MerchantVO) => {
|
export const createMerchant = (data: MerchantVO) => {
|
||||||
return request.post({ url: '/pay/merchant/create', data })
|
return request.post({ url: '/pay/merchant/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改支付商户
|
// 修改支付商户
|
||||||
export const updateMerchantApi = (data: MerchantVO) => {
|
export const updateMerchant = (data: MerchantVO) => {
|
||||||
return request.put({ url: '/pay/merchant/update', data })
|
return request.put({ url: '/pay/merchant/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除支付商户
|
// 删除支付商户
|
||||||
export const deleteMerchantApi = (id: number) => {
|
export const deleteMerchant = (id: number) => {
|
||||||
return request.delete({ url: '/pay/merchant/delete?id=' + id })
|
return request.delete({ url: '/pay/merchant/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出支付商户
|
// 导出支付商户
|
||||||
export const exportMerchantApi = (params: MerchantExportReqVO) => {
|
export const exportMerchant = (params: MerchantExportReqVO) => {
|
||||||
return request.download({ url: '/pay/merchant/export-excel', params })
|
return request.download({ url: '/pay/merchant/export-excel', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 支付商户状态修改
|
// 支付商户状态修改
|
||||||
export const changeMerchantStatusApi = (id: number, status: number) => {
|
export const updateMerchantStatus = (id: number, status: number) => {
|
||||||
const data = {
|
const data = {
|
||||||
id,
|
id,
|
||||||
status
|
status
|
||||||
|
|||||||
@@ -79,31 +79,36 @@ export interface OrderExportReqVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询列表支付订单
|
// 查询列表支付订单
|
||||||
export const getOrderPageApi = async (params: OrderPageReqVO) => {
|
export const getOrderPage = async (params: OrderPageReqVO) => {
|
||||||
return await request.get({ url: '/pay/order/page', params })
|
return await request.get({ url: '/pay/order/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询详情支付订单
|
// 查询详情支付订单
|
||||||
export const getOrderApi = async (id: number) => {
|
export const getOrder = async (id: number) => {
|
||||||
return await request.get({ url: '/pay/order/get?id=' + id })
|
return await request.get({ url: '/pay/order/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获得支付订单的明细
|
||||||
|
export const getOrderDetail = async (id: number) => {
|
||||||
|
return await request.get({ url: '/pay/order/get-detail?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
// 新增支付订单
|
// 新增支付订单
|
||||||
export const createOrderApi = async (data: OrderVO) => {
|
export const createOrder = async (data: OrderVO) => {
|
||||||
return await request.post({ url: '/pay/order/create', data })
|
return await request.post({ url: '/pay/order/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改支付订单
|
// 修改支付订单
|
||||||
export const updateOrderApi = async (data: OrderVO) => {
|
export const updateOrder = async (data: OrderVO) => {
|
||||||
return await request.put({ url: '/pay/order/update', data })
|
return await request.put({ url: '/pay/order/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除支付订单
|
// 删除支付订单
|
||||||
export const deleteOrderApi = async (id: number) => {
|
export const deleteOrder = async (id: number) => {
|
||||||
return await request.delete({ url: '/pay/order/delete?id=' + id })
|
return await request.delete({ url: '/pay/order/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出支付订单
|
// 导出支付订单
|
||||||
export const exportOrderApi = async (params: OrderExportReqVO) => {
|
export const exportOrder = async (params: OrderExportReqVO) => {
|
||||||
return await request.download({ url: '/pay/order/export-excel', params })
|
return await request.download({ url: '/pay/order/export-excel', params })
|
||||||
}
|
}
|
||||||
@@ -86,31 +86,31 @@ export interface PayRefundExportReqVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询列表退款订单
|
// 查询列表退款订单
|
||||||
export const getRefundPageApi = (params: RefundPageReqVO) => {
|
export const getRefundPage = (params: RefundPageReqVO) => {
|
||||||
return request.get({ url: '/pay/refund/page', params })
|
return request.get({ url: '/pay/refund/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询详情退款订单
|
// 查询详情退款订单
|
||||||
export const getRefundApi = (id: number) => {
|
export const getRefund = (id: number) => {
|
||||||
return request.get({ url: '/pay/refund/get?id=' + id })
|
return request.get({ url: '/pay/refund/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增退款订单
|
// 新增退款订单
|
||||||
export const createRefundApi = (data: RefundVO) => {
|
export const createRefund = (data: RefundVO) => {
|
||||||
return request.post({ url: '/pay/refund/create', data })
|
return request.post({ url: '/pay/refund/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改退款订单
|
// 修改退款订单
|
||||||
export const updateRefundApi = (data: RefundVO) => {
|
export const updateRefund = (data: RefundVO) => {
|
||||||
return request.put({ url: '/pay/refund/update', data })
|
return request.put({ url: '/pay/refund/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除退款订单
|
// 删除退款订单
|
||||||
export const deleteRefundApi = (id: number) => {
|
export const deleteRefund = (id: number) => {
|
||||||
return request.delete({ url: '/pay/refund/delete?id=' + id })
|
return request.delete({ url: '/pay/refund/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出退款订单
|
// 导出退款订单
|
||||||
export const exportRefundApi = (params: PayRefundExportReqVO) => {
|
export const exportRefund = (params: PayRefundExportReqVO) => {
|
||||||
return request.download({ url: '/pay/refund/export-excel', params })
|
return request.download({ url: '/pay/refund/export-excel', params })
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得地区树
|
||||||
|
export const getAreaTree = async () => {
|
||||||
|
return await request.get({ url: '/system/area/tree' })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getChildrenArea = async (id: number) => {
|
||||||
|
return await request.get({ url: '/system/area/get-children?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getAreaListByIds = async (ids) => {
|
||||||
|
return await request.get({ url: '/system/area/get-by-ids?ids=' + ids })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得 IP 对应的地区名
|
||||||
|
export const getAreaByIp = async (ip: string) => {
|
||||||
|
return await request.get({ url: '/system/area/get-by-ip?ip=' + ip })
|
||||||
|
}
|
||||||
@@ -12,37 +12,32 @@ export interface DeptVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DeptPageReqVO {
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询部门(精简)列表
|
// 查询部门(精简)列表
|
||||||
export const listSimpleDeptApi = async () => {
|
export const getSimpleDeptList = async (): Promise<DeptVO[]> => {
|
||||||
return await request.get({ url: '/system/dept/list-all-simple' })
|
return await request.get({ url: '/system/dept/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询部门列表
|
// 查询部门列表
|
||||||
export const getDeptPageApi = async (params: DeptPageReqVO) => {
|
export const getDeptPage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/dept/list', params })
|
return await request.get({ url: '/system/dept/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询部门详情
|
// 查询部门详情
|
||||||
export const getDeptApi = async (id: number) => {
|
export const getDept = async (id: number) => {
|
||||||
return await request.get({ url: '/system/dept/get?id=' + id })
|
return await request.get({ url: '/system/dept/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增部门
|
// 新增部门
|
||||||
export const createDeptApi = async (data: DeptVO) => {
|
export const createDept = async (data: DeptVO) => {
|
||||||
return await request.post({ url: '/system/dept/create', data: data })
|
return await request.post({ url: '/system/dept/create', data: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改部门
|
// 修改部门
|
||||||
export const updateDeptApi = async (params: DeptVO) => {
|
export const updateDept = async (params: DeptVO) => {
|
||||||
return await request.put({ url: '/system/dept/update', data: params })
|
return await request.put({ url: '/system/dept/update', data: params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除部门
|
// 删除部门
|
||||||
export const deleteDeptApi = async (id: number) => {
|
export const deleteDept = async (id: number) => {
|
||||||
return await request.delete({ url: '/system/dept/delete?id=' + id })
|
return await request.delete({ url: '/system/dept/delete?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -1,36 +1,49 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
import type { DictDataVO, DictDataPageReqVO, DictDataExportReqVO } from './types'
|
|
||||||
|
export type DictDataVO = {
|
||||||
|
id: number | undefined
|
||||||
|
sort: number | undefined
|
||||||
|
label: string
|
||||||
|
value: string
|
||||||
|
dictType: string
|
||||||
|
status: number
|
||||||
|
colorType: string
|
||||||
|
cssClass: string
|
||||||
|
remark: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
// 查询字典数据(精简)列表
|
// 查询字典数据(精简)列表
|
||||||
export const listSimpleDictDataApi = () => {
|
export const listSimpleDictData = () => {
|
||||||
return request.get({ url: '/system/dict-data/list-all-simple' })
|
return request.get({ url: '/system/dict-data/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典数据列表
|
// 查询字典数据列表
|
||||||
export const getDictDataPageApi = (params: DictDataPageReqVO) => {
|
export const getDictDataPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/dict-data/page', params })
|
return request.get({ url: '/system/dict-data/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典数据详情
|
// 查询字典数据详情
|
||||||
export const getDictDataApi = (id: number) => {
|
export const getDictData = (id: number) => {
|
||||||
return request.get({ url: '/system/dict-data/get?id=' + id })
|
return request.get({ url: '/system/dict-data/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增字典数据
|
// 新增字典数据
|
||||||
export const createDictDataApi = (data: DictDataVO) => {
|
export const createDictData = (data: DictDataVO) => {
|
||||||
return request.post({ url: '/system/dict-data/create', data })
|
return request.post({ url: '/system/dict-data/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改字典数据
|
// 修改字典数据
|
||||||
export const updateDictDataApi = (data: DictDataVO) => {
|
export const updateDictData = (data: DictDataVO) => {
|
||||||
return request.put({ url: '/system/dict-data/update', data })
|
return request.put({ url: '/system/dict-data/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除字典数据
|
// 删除字典数据
|
||||||
export const deleteDictDataApi = (id: number) => {
|
export const deleteDictData = (id: number) => {
|
||||||
return request.delete({ url: '/system/dict-data/delete?id=' + id })
|
return request.delete({ url: '/system/dict-data/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出字典类型数据
|
// 导出字典类型数据
|
||||||
export const exportDictDataApi = (params: DictDataExportReqVO) => {
|
export const exportDictData = (params) => {
|
||||||
return request.get({ url: '/system/dict-data/export', params })
|
return request.get({ url: '/system/dict-data/export', params })
|
||||||
}
|
}
|
||||||
@@ -1,36 +1,44 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
import type { DictTypeVO, DictTypePageReqVO, DictTypeExportReqVO } from './types'
|
|
||||||
|
export type DictTypeVO = {
|
||||||
|
id: number | undefined
|
||||||
|
name: string
|
||||||
|
type: string
|
||||||
|
status: number
|
||||||
|
remark: string
|
||||||
|
createTime: Date
|
||||||
|
}
|
||||||
|
|
||||||
// 查询字典(精简)列表
|
// 查询字典(精简)列表
|
||||||
export const listSimpleDictTypeApi = () => {
|
export const getSimpleDictTypeList = () => {
|
||||||
return request.get({ url: '/system/dict-type/list-all-simple' })
|
return request.get({ url: '/system/dict-type/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典列表
|
// 查询字典列表
|
||||||
export const getDictTypePageApi = (params: DictTypePageReqVO) => {
|
export const getDictTypePage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/dict-type/page', params })
|
return request.get({ url: '/system/dict-type/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典详情
|
// 查询字典详情
|
||||||
export const getDictTypeApi = (id: number) => {
|
export const getDictType = (id: number) => {
|
||||||
return request.get({ url: '/system/dict-type/get?id=' + id })
|
return request.get({ url: '/system/dict-type/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增字典
|
// 新增字典
|
||||||
export const createDictTypeApi = (data: DictTypeVO) => {
|
export const createDictType = (data: DictTypeVO) => {
|
||||||
return request.post({ url: '/system/dict-type/create', data })
|
return request.post({ url: '/system/dict-type/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改字典
|
// 修改字典
|
||||||
export const updateDictTypeApi = (data: DictTypeVO) => {
|
export const updateDictType = (data: DictTypeVO) => {
|
||||||
return request.put({ url: '/system/dict-type/update', data })
|
return request.put({ url: '/system/dict-type/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除字典
|
// 删除字典
|
||||||
export const deleteDictTypeApi = (id: number) => {
|
export const deleteDictType = (id: number) => {
|
||||||
return request.delete({ url: '/system/dict-type/delete?id=' + id })
|
return request.delete({ url: '/system/dict-type/delete?id=' + id })
|
||||||
}
|
}
|
||||||
// 导出字典类型
|
// 导出字典类型
|
||||||
export const exportDictTypeApi = (params: DictTypeExportReqVO) => {
|
export const exportDictType = (params) => {
|
||||||
return request.get({ url: '/system/dict-type/export', params })
|
return request.get({ url: '/system/dict-type/export', params })
|
||||||
}
|
}
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
export type DictTypeVO = {
|
|
||||||
id: number
|
|
||||||
name: string
|
|
||||||
type: string
|
|
||||||
status: number
|
|
||||||
remark: string
|
|
||||||
createTime: Date
|
|
||||||
}
|
|
||||||
|
|
||||||
export type DictTypePageReqVO = {
|
|
||||||
name: string
|
|
||||||
type: string
|
|
||||||
status: number
|
|
||||||
createTime: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export type DictTypeExportReqVO = {
|
|
||||||
name: string
|
|
||||||
type: string
|
|
||||||
status: number
|
|
||||||
createTime: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export type DictDataVO = {
|
|
||||||
id: number
|
|
||||||
sort: number
|
|
||||||
label: string
|
|
||||||
value: string
|
|
||||||
dictType: string
|
|
||||||
status: number
|
|
||||||
colorType: string
|
|
||||||
cssClass: string
|
|
||||||
remark: string
|
|
||||||
createTime: Date
|
|
||||||
}
|
|
||||||
export type DictDataPageReqVO = {
|
|
||||||
label: string
|
|
||||||
dictType: string
|
|
||||||
status: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export type DictDataExportReqVO = {
|
|
||||||
label: string
|
|
||||||
dictType: string
|
|
||||||
status: number
|
|
||||||
}
|
|
||||||
@@ -1,48 +1,40 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface ErrorCodeVO {
|
export interface ErrorCodeVO {
|
||||||
id: number
|
id: number | undefined
|
||||||
type: number
|
type: number
|
||||||
applicationName: string
|
applicationName: string
|
||||||
code: number
|
code: number | undefined
|
||||||
message: string
|
message: string
|
||||||
memo: string
|
memo: string
|
||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ErrorCodePageReqVO extends PageParam {
|
|
||||||
type?: number
|
|
||||||
applicationName?: string
|
|
||||||
code?: number
|
|
||||||
message?: string
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询错误码列表
|
// 查询错误码列表
|
||||||
export const getErrorCodePageApi = (params: ErrorCodePageReqVO) => {
|
export const getErrorCodePage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/error-code/page', params })
|
return request.get({ url: '/system/error-code/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询错误码详情
|
// 查询错误码详情
|
||||||
export const getErrorCodeApi = (id: number) => {
|
export const getErrorCode = (id: number) => {
|
||||||
return request.get({ url: '/system/error-code/get?id=' + id })
|
return request.get({ url: '/system/error-code/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增错误码
|
// 新增错误码
|
||||||
export const createErrorCodeApi = (data: ErrorCodeVO) => {
|
export const createErrorCode = (data: ErrorCodeVO) => {
|
||||||
return request.post({ url: '/system/error-code/create', data })
|
return request.post({ url: '/system/error-code/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改错误码
|
// 修改错误码
|
||||||
export const updateErrorCodeApi = (data: ErrorCodeVO) => {
|
export const updateErrorCode = (data: ErrorCodeVO) => {
|
||||||
return request.put({ url: '/system/error-code/update', data })
|
return request.put({ url: '/system/error-code/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除错误码
|
// 删除错误码
|
||||||
export const deleteErrorCodeApi = (id: number) => {
|
export const deleteErrorCode = (id: number) => {
|
||||||
return request.delete({ url: '/system/error-code/delete?id=' + id })
|
return request.delete({ url: '/system/error-code/delete?id=' + id })
|
||||||
}
|
}
|
||||||
// 导出错误码
|
// 导出错误码
|
||||||
export const excelErrorCodeApi = (params: ErrorCodePageReqVO) => {
|
export const excelErrorCode = (params) => {
|
||||||
return request.download({ url: '/system/error-code/export-excel', params })
|
return request.download({ url: '/system/error-code/export-excel', params })
|
||||||
}
|
}
|
||||||
@@ -13,18 +13,12 @@ export interface LoginLogVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface LoginLogReqVO extends PageParam {
|
|
||||||
userIp?: string
|
|
||||||
username?: string
|
|
||||||
status?: boolean
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询登录日志列表
|
// 查询登录日志列表
|
||||||
export const getLoginLogPageApi = (params: LoginLogReqVO) => {
|
export const getLoginLogPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/login-log/page', params })
|
return request.get({ url: '/system/login-log/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出登录日志
|
// 导出登录日志
|
||||||
export const exportLoginLogApi = (params: LoginLogReqVO) => {
|
export const exportLoginLog = (params) => {
|
||||||
return request.download({ url: '/system/login-log/export', params })
|
return request.download({ url: '/system/login-log/export', params })
|
||||||
}
|
}
|
||||||
@@ -10,37 +10,32 @@ export interface MailAccountVO {
|
|||||||
sslEnable: boolean
|
sslEnable: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MailAccountPageReqVO extends PageParam {
|
|
||||||
mail?: string
|
|
||||||
username?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询邮箱账号列表
|
// 查询邮箱账号列表
|
||||||
export const getMailAccountPageApi = async (params: MailAccountPageReqVO) => {
|
export const getMailAccountPage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/mail-account/page', params })
|
return await request.get({ url: '/system/mail-account/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询邮箱账号详情
|
// 查询邮箱账号详情
|
||||||
export const getMailAccountApi = async (id: number) => {
|
export const getMailAccount = async (id: number) => {
|
||||||
return await request.get({ url: '/system/mail-account/get?id=' + id })
|
return await request.get({ url: '/system/mail-account/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增邮箱账号
|
// 新增邮箱账号
|
||||||
export const createMailAccountApi = async (data: MailAccountVO) => {
|
export const createMailAccount = async (data: MailAccountVO) => {
|
||||||
return await request.post({ url: '/system/mail-account/create', data })
|
return await request.post({ url: '/system/mail-account/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改邮箱账号
|
// 修改邮箱账号
|
||||||
export const updateMailAccountApi = async (data: MailAccountVO) => {
|
export const updateMailAccount = async (data: MailAccountVO) => {
|
||||||
return await request.put({ url: '/system/mail-account/update', data })
|
return await request.put({ url: '/system/mail-account/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除邮箱账号
|
// 删除邮箱账号
|
||||||
export const deleteMailAccountApi = async (id: number) => {
|
export const deleteMailAccount = async (id: number) => {
|
||||||
return await request.delete({ url: '/system/mail-account/delete?id=' + id })
|
return await request.delete({ url: '/system/mail-account/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得邮箱账号精简列表
|
// 获得邮箱账号精简列表
|
||||||
export const getSimpleMailAccounts = async () => {
|
export const getSimpleMailAccountList = async () => {
|
||||||
return request.get({ url: '/system/mail-account/list-all-simple' })
|
return request.get({ url: '/system/mail-account/list-all-simple' })
|
||||||
}
|
}
|
||||||
@@ -19,22 +19,12 @@ export interface MailLogVO {
|
|||||||
sendException: string
|
sendException: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MailLogPageReqVO extends PageParam {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
toMail?: string
|
|
||||||
accountId?: number
|
|
||||||
templateId?: number
|
|
||||||
sendStatus?: number
|
|
||||||
sendTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询邮件日志列表
|
// 查询邮件日志列表
|
||||||
export const getMailLogPageApi = async (params: MailLogPageReqVO) => {
|
export const getMailLogPage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/mail-log/page', params })
|
return await request.get({ url: '/system/mail-log/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询邮件日志详情
|
// 查询邮件日志详情
|
||||||
export const getMailLogApi = async (id: number) => {
|
export const getMailLog = async (id: number) => {
|
||||||
return await request.get({ url: '/system/mail-log/get?id=' + id })
|
return await request.get({ url: '/system/mail-log/get?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -13,14 +13,6 @@ export interface MailTemplateVO {
|
|||||||
remark: string
|
remark: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MailTemplatePageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
code?: string
|
|
||||||
accountId?: number
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface MailSendReqVO {
|
export interface MailSendReqVO {
|
||||||
mail: string
|
mail: string
|
||||||
templateCode: string
|
templateCode: string
|
||||||
@@ -28,31 +20,31 @@ export interface MailSendReqVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询邮件模版列表
|
// 查询邮件模版列表
|
||||||
export const getMailTemplatePageApi = async (params: MailTemplatePageReqVO) => {
|
export const getMailTemplatePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/mail-template/page', params })
|
return await request.get({ url: '/system/mail-template/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询邮件模版详情
|
// 查询邮件模版详情
|
||||||
export const getMailTemplateApi = async (id: number) => {
|
export const getMailTemplate = async (id: number) => {
|
||||||
return await request.get({ url: '/system/mail-template/get?id=' + id })
|
return await request.get({ url: '/system/mail-template/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增邮件模版
|
// 新增邮件模版
|
||||||
export const createMailTemplateApi = async (data: MailTemplateVO) => {
|
export const createMailTemplate = async (data: MailTemplateVO) => {
|
||||||
return await request.post({ url: '/system/mail-template/create', data })
|
return await request.post({ url: '/system/mail-template/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改邮件模版
|
// 修改邮件模版
|
||||||
export const updateMailTemplateApi = async (data: MailTemplateVO) => {
|
export const updateMailTemplate = async (data: MailTemplateVO) => {
|
||||||
return await request.put({ url: '/system/mail-template/update', data })
|
return await request.put({ url: '/system/mail-template/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除邮件模版
|
// 删除邮件模版
|
||||||
export const deleteMailTemplateApi = async (id: number) => {
|
export const deleteMailTemplate = async (id: number) => {
|
||||||
return await request.delete({ url: '/system/mail-template/delete?id=' + id })
|
return await request.delete({ url: '/system/mail-template/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发送邮件
|
// 发送邮件
|
||||||
export const sendMailApi = (data: MailSendReqVO) => {
|
export const sendMail = (data: MailSendReqVO) => {
|
||||||
return request.post({ url: '/system/mail-template/send-mail', data })
|
return request.post({ url: '/system/mail-template/send-mail', data })
|
||||||
}
|
}
|
||||||
@@ -18,37 +18,32 @@ export interface MenuVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MenuPageReqVO {
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询菜单(精简)列表
|
// 查询菜单(精简)列表
|
||||||
export const listSimpleMenusApi = () => {
|
export const getSimpleMenusList = () => {
|
||||||
return request.get({ url: '/system/menu/list-all-simple' })
|
return request.get({ url: '/system/menu/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询菜单列表
|
// 查询菜单列表
|
||||||
export const getMenuListApi = (params: MenuPageReqVO) => {
|
export const getMenuList = (params) => {
|
||||||
return request.get({ url: '/system/menu/list', params })
|
return request.get({ url: '/system/menu/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取菜单详情
|
// 获取菜单详情
|
||||||
export const getMenuApi = (id: number) => {
|
export const getMenu = (id: number) => {
|
||||||
return request.get({ url: '/system/menu/get?id=' + id })
|
return request.get({ url: '/system/menu/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增菜单
|
// 新增菜单
|
||||||
export const createMenuApi = (data: MenuVO) => {
|
export const createMenu = (data: MenuVO) => {
|
||||||
return request.post({ url: '/system/menu/create', data })
|
return request.post({ url: '/system/menu/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改菜单
|
// 修改菜单
|
||||||
export const updateMenuApi = (data: MenuVO) => {
|
export const updateMenu = (data: MenuVO) => {
|
||||||
return request.put({ url: '/system/menu/update', data })
|
return request.put({ url: '/system/menu/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除菜单
|
// 删除菜单
|
||||||
export const deleteMenuApi = (id: number) => {
|
export const deleteMenu = (id: number) => {
|
||||||
return request.delete({ url: '/system/menu/delete?id=' + id })
|
return request.delete({ url: '/system/menu/delete?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface NoticeVO {
|
export interface NoticeVO {
|
||||||
id: number
|
id: number | undefined
|
||||||
title: string
|
title: string
|
||||||
type: number
|
type: number
|
||||||
content: string
|
content: string
|
||||||
@@ -11,32 +11,27 @@ export interface NoticeVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface NoticePageReqVO extends PageParam {
|
|
||||||
title?: string
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询公告列表
|
// 查询公告列表
|
||||||
export const getNoticePageApi = (params: NoticePageReqVO) => {
|
export const getNoticePage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/notice/page', params })
|
return request.get({ url: '/system/notice/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询公告详情
|
// 查询公告详情
|
||||||
export const getNoticeApi = (id: number) => {
|
export const getNotice = (id: number) => {
|
||||||
return request.get({ url: '/system/notice/get?id=' + id })
|
return request.get({ url: '/system/notice/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增公告
|
// 新增公告
|
||||||
export const createNoticeApi = (data: NoticeVO) => {
|
export const createNotice = (data: NoticeVO) => {
|
||||||
return request.post({ url: '/system/notice/create', data })
|
return request.post({ url: '/system/notice/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改公告
|
// 修改公告
|
||||||
export const updateNoticeApi = (data: NoticeVO) => {
|
export const updateNotice = (data: NoticeVO) => {
|
||||||
return request.put({ url: '/system/notice/update', data })
|
return request.put({ url: '/system/notice/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除公告
|
// 删除公告
|
||||||
export const deleteNoticeApi = (id: number) => {
|
export const deleteNotice = (id: number) => {
|
||||||
return request.delete({ url: '/system/notice/delete?id=' + id })
|
return request.delete({ url: '/system/notice/delete?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -15,31 +15,13 @@ export interface NotifyMessageVO {
|
|||||||
readTime: Date
|
readTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface NotifyMessagePageReqVO extends PageParam {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
templateCode?: string
|
|
||||||
templateType?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface NotifyMessageMyPageReqVO extends PageParam {
|
|
||||||
readStatus?: boolean
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询站内信消息列表
|
// 查询站内信消息列表
|
||||||
export const getNotifyMessagePageApi = async (params: NotifyMessagePageReqVO) => {
|
export const getNotifyMessagePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/notify-message/page', params })
|
return await request.get({ url: '/system/notify-message/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询站内信消息详情
|
|
||||||
export const getNotifyMessageApi = async (id: number) => {
|
|
||||||
return await request.get({ url: '/system/notify-message/get?id=' + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得我的站内信分页
|
// 获得我的站内信分页
|
||||||
export const getMyNotifyMessagePage = async (params: NotifyMessageMyPageReqVO) => {
|
export const getMyNotifyMessagePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/notify-message/my-page', params })
|
return await request.get({ url: '/system/notify-message/my-page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,11 +38,11 @@ export const updateAllNotifyMessageRead = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取当前用户的最新站内信列表
|
// 获取当前用户的最新站内信列表
|
||||||
export const getUnreadNotifyMessageListApi = async () => {
|
export const getUnreadNotifyMessageList = async () => {
|
||||||
return await request.get({ url: '/system/notify-message/get-unread-list' })
|
return await request.get({ url: '/system/notify-message/get-unread-list' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得当前用户的未读站内信数量
|
// 获得当前用户的未读站内信数量
|
||||||
export const getUnreadNotifyMessageCountApi = async () => {
|
export const getUnreadNotifyMessageCount = async () => {
|
||||||
return await request.get({ url: '/system/notify-message/get-unread-count' })
|
return await request.get({ url: '/system/notify-message/get-unread-count' })
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface NotifyTemplateVO {
|
export interface NotifyTemplateVO {
|
||||||
id: number
|
id?: number
|
||||||
name: string
|
name: string
|
||||||
|
nickname: string
|
||||||
code: string
|
code: string
|
||||||
content: string
|
content: string
|
||||||
type: number
|
type: number
|
||||||
@@ -11,45 +12,38 @@ export interface NotifyTemplateVO {
|
|||||||
remark: string
|
remark: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface NotifyTemplatePageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
code?: string
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface NotifySendReqVO {
|
export interface NotifySendReqVO {
|
||||||
userId: number
|
userId: number | null
|
||||||
templateCode: string
|
templateCode: string
|
||||||
templateParams: Map<String, Object>
|
templateParams: Map<String, Object>
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询站内信模板列表
|
// 查询站内信模板列表
|
||||||
export const getNotifyTemplatePageApi = async (params: NotifyTemplatePageReqVO) => {
|
export const getNotifyTemplatePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/notify-template/page', params })
|
return await request.get({ url: '/system/notify-template/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询站内信模板详情
|
// 查询站内信模板详情
|
||||||
export const getNotifyTemplateApi = async (id: number) => {
|
export const getNotifyTemplate = async (id: number) => {
|
||||||
return await request.get({ url: '/system/notify-template/get?id=' + id })
|
return await request.get({ url: '/system/notify-template/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增站内信模板
|
// 新增站内信模板
|
||||||
export const createNotifyTemplateApi = async (data: NotifyTemplateVO) => {
|
export const createNotifyTemplate = async (data: NotifyTemplateVO) => {
|
||||||
return await request.post({ url: '/system/notify-template/create', data })
|
return await request.post({ url: '/system/notify-template/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改站内信模板
|
// 修改站内信模板
|
||||||
export const updateNotifyTemplateApi = async (data: NotifyTemplateVO) => {
|
export const updateNotifyTemplate = async (data: NotifyTemplateVO) => {
|
||||||
return await request.put({ url: '/system/notify-template/update', data })
|
return await request.put({ url: '/system/notify-template/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除站内信模板
|
// 删除站内信模板
|
||||||
export const deleteNotifyTemplateApi = async (id: number) => {
|
export const deleteNotifyTemplate = async (id: number) => {
|
||||||
return await request.delete({ url: '/system/notify-template/delete?id=' + id })
|
return await request.delete({ url: '/system/notify-template/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发送站内信
|
// 发送站内信
|
||||||
export const sendNotifyApi = (data: NotifySendReqVO) => {
|
export const sendNotify = (data: NotifySendReqVO) => {
|
||||||
return request.post({ url: '/system/notify-template/send-notify', data })
|
return request.post({ url: '/system/notify-template/send-notify', data })
|
||||||
}
|
}
|
||||||
@@ -21,31 +21,27 @@ export interface OAuth2ClientVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface OAuth2ClientPageReqVO extends PageParam {
|
// 查询 OAuth2 客户端的列表
|
||||||
name?: string
|
export const getOAuth2ClientPage = (params: PageParam) => {
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
// 查询 OAuth2列表
|
|
||||||
export const getOAuth2ClientPageApi = (params: OAuth2ClientPageReqVO) => {
|
|
||||||
return request.get({ url: '/system/oauth2-client/page', params })
|
return request.get({ url: '/system/oauth2-client/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询 OAuth2详情
|
// 查询 OAuth2 客户端的详情
|
||||||
export const getOAuth2ClientApi = (id: number) => {
|
export const getOAuth2Client = (id: number) => {
|
||||||
return request.get({ url: '/system/oauth2-client/get?id=' + id })
|
return request.get({ url: '/system/oauth2-client/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增 OAuth2
|
// 新增 OAuth2 客户端
|
||||||
export const createOAuth2ClientApi = (data: OAuth2ClientVO) => {
|
export const createOAuth2Client = (data: OAuth2ClientVO) => {
|
||||||
return request.post({ url: '/system/oauth2-client/create', data })
|
return request.post({ url: '/system/oauth2-client/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改 OAuth2
|
// 修改 OAuth2 客户端
|
||||||
export const updateOAuth2ClientApi = (data: OAuth2ClientVO) => {
|
export const updateOAuth2Client = (data: OAuth2ClientVO) => {
|
||||||
return request.put({ url: '/system/oauth2-client/update', data })
|
return request.put({ url: '/system/oauth2-client/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除 OAuth2
|
// 删除 OAuth2
|
||||||
export const deleteOAuth2ClientApi = (id: number) => {
|
export const deleteOAuth2Client = (id: number) => {
|
||||||
return request.delete({ url: '/system/oauth2-client/delete?id=' + id })
|
return request.delete({ url: '/system/oauth2-client/delete?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -11,18 +11,12 @@ export interface OAuth2TokenVO {
|
|||||||
expiresTime: Date
|
expiresTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface OAuth2TokenPageReqVO extends PageParam {
|
|
||||||
userId?: number
|
|
||||||
userType?: number
|
|
||||||
clientId?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询 token列表
|
// 查询 token列表
|
||||||
export const getAccessTokenPageApi = (params: OAuth2TokenPageReqVO) => {
|
export const getAccessTokenPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/oauth2-token/page', params })
|
return request.get({ url: '/system/oauth2-token/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除 token
|
// 删除 token
|
||||||
export const deleteAccessTokenApi = (accessToken: number) => {
|
export const deleteAccessToken = (accessToken: string) => {
|
||||||
return request.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken })
|
return request.delete({ url: '/system/oauth2-token/delete?accessToken=' + accessToken })
|
||||||
}
|
}
|
||||||
@@ -23,19 +23,11 @@ export type OperateLogVO = {
|
|||||||
resultData: string
|
resultData: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface OperateLogPageReqVO extends PageParam {
|
|
||||||
module?: string
|
|
||||||
userNickname?: string
|
|
||||||
type?: number
|
|
||||||
success?: boolean
|
|
||||||
startTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询操作日志列表
|
// 查询操作日志列表
|
||||||
export const getOperateLogPageApi = (params: OperateLogPageReqVO) => {
|
export const getOperateLogPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/operate-log/page', params })
|
return request.get({ url: '/system/operate-log/page', params })
|
||||||
}
|
}
|
||||||
// 导出操作日志
|
// 导出操作日志
|
||||||
export const exportOperateLogApi = (params: OperateLogPageReqVO) => {
|
export const exportOperateLog = (params) => {
|
||||||
return request.download({ url: '/system/operate-log/export', params })
|
return request.download({ url: '/system/operate-log/export', params })
|
||||||
}
|
}
|
||||||
@@ -17,26 +17,26 @@ export interface PermissionAssignRoleDataScopeReqVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询角色拥有的菜单权限
|
// 查询角色拥有的菜单权限
|
||||||
export const listRoleMenusApi = async (roleId: number) => {
|
export const getRoleMenuList = async (roleId: number) => {
|
||||||
return await request.get({ url: '/system/permission/list-role-resources?roleId=' + roleId })
|
return await request.get({ url: '/system/permission/list-role-resources?roleId=' + roleId })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 赋予角色菜单权限
|
// 赋予角色菜单权限
|
||||||
export const assignRoleMenuApi = async (data: PermissionAssignRoleMenuReqVO) => {
|
export const assignRoleMenu = async (data: PermissionAssignRoleMenuReqVO) => {
|
||||||
return await request.post({ url: '/system/permission/assign-role-menu', data })
|
return await request.post({ url: '/system/permission/assign-role-menu', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 赋予角色数据权限
|
// 赋予角色数据权限
|
||||||
export const assignRoleDataScopeApi = async (data: PermissionAssignRoleDataScopeReqVO) => {
|
export const assignRoleDataScope = async (data: PermissionAssignRoleDataScopeReqVO) => {
|
||||||
return await request.post({ url: '/system/permission/assign-role-data-scope', data })
|
return await request.post({ url: '/system/permission/assign-role-data-scope', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询用户拥有的角色数组
|
// 查询用户拥有的角色数组
|
||||||
export const listUserRolesApi = async (userId: number) => {
|
export const getUserRoleList = async (userId: number) => {
|
||||||
return await request.get({ url: '/system/permission/list-user-roles?userId=' + userId })
|
return await request.get({ url: '/system/permission/list-user-roles?userId=' + userId })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 赋予用户角色
|
// 赋予用户角色
|
||||||
export const aassignUserRoleApi = async (data: PermissionAssignUserRoleReqVO) => {
|
export const assignUserRole = async (data: PermissionAssignUserRoleReqVO) => {
|
||||||
return await request.post({ url: '/system/permission/assign-user-role', data })
|
return await request.post({ url: '/system/permission/assign-user-role', data })
|
||||||
}
|
}
|
||||||
@@ -10,49 +10,37 @@ export interface PostVO {
|
|||||||
createTime?: Date
|
createTime?: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PostPageReqVO extends PageParam {
|
|
||||||
code?: string
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface PostExportReqVO {
|
|
||||||
code?: string
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询岗位列表
|
// 查询岗位列表
|
||||||
export const getPostPageApi = async (params: PostPageReqVO) => {
|
export const getPostPage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/post/page', params })
|
return await request.get({ url: '/system/post/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取岗位精简信息列表
|
// 获取岗位精简信息列表
|
||||||
export const listSimplePostsApi = async () => {
|
export const getSimplePostList = async (): Promise<PostVO[]> => {
|
||||||
return await request.get({ url: '/system/post/list-all-simple' })
|
return await request.get({ url: '/system/post/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询岗位详情
|
// 查询岗位详情
|
||||||
export const getPostApi = async (id: number) => {
|
export const getPost = async (id: number) => {
|
||||||
return await request.get({ url: '/system/post/get?id=' + id })
|
return await request.get({ url: '/system/post/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增岗位
|
// 新增岗位
|
||||||
export const createPostApi = async (data: PostVO) => {
|
export const createPost = async (data: PostVO) => {
|
||||||
return await request.post({ url: '/system/post/create', data })
|
return await request.post({ url: '/system/post/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改岗位
|
// 修改岗位
|
||||||
export const updatePostApi = async (data: PostVO) => {
|
export const updatePost = async (data: PostVO) => {
|
||||||
return await request.put({ url: '/system/post/update', data })
|
return await request.put({ url: '/system/post/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除岗位
|
// 删除岗位
|
||||||
export const deletePostApi = async (id: number) => {
|
export const deletePost = async (id: number) => {
|
||||||
return await request.delete({ url: '/system/post/delete?id=' + id })
|
return await request.delete({ url: '/system/post/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出岗位
|
// 导出岗位
|
||||||
export const exportPostApi = async (params: PostExportReqVO) => {
|
export const exportPost = async (params) => {
|
||||||
return await request.download({ url: '/system/post/export', params })
|
return await request.download({ url: '/system/post/export', params })
|
||||||
}
|
}
|
||||||
@@ -7,52 +7,55 @@ export interface RoleVO {
|
|||||||
sort: number
|
sort: number
|
||||||
status: number
|
status: number
|
||||||
type: number
|
type: number
|
||||||
|
dataScope: number
|
||||||
|
dataScopeDeptIds: number[]
|
||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface RolePageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
code?: string
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface UpdateStatusReqVO {
|
export interface UpdateStatusReqVO {
|
||||||
id: number
|
id: number
|
||||||
status: number
|
status: number
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询角色列表
|
// 查询角色列表
|
||||||
export const getRolePageApi = async (params: RolePageReqVO) => {
|
export const getRolePage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/role/page', params })
|
return await request.get({ url: '/system/role/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询角色(精简)列表
|
// 查询角色(精简)列表
|
||||||
export const listSimpleRolesApi = async () => {
|
export const getSimpleRoleList = async (): Promise<RoleVO[]> => {
|
||||||
return await request.get({ url: '/system/role/list-all-simple' })
|
return await request.get({ url: '/system/role/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询角色详情
|
// 查询角色详情
|
||||||
export const getRoleApi = async (id: number) => {
|
export const getRole = async (id: number) => {
|
||||||
return await request.get({ url: '/system/role/get?id=' + id })
|
return await request.get({ url: '/system/role/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增角色
|
// 新增角色
|
||||||
export const createRoleApi = async (data: RoleVO) => {
|
export const createRole = async (data: RoleVO) => {
|
||||||
return await request.post({ url: '/system/role/create', data })
|
return await request.post({ url: '/system/role/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改角色
|
// 修改角色
|
||||||
export const updateRoleApi = async (data: RoleVO) => {
|
export const updateRole = async (data: RoleVO) => {
|
||||||
return await request.put({ url: '/system/role/update', data })
|
return await request.put({ url: '/system/role/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改角色状态
|
// 修改角色状态
|
||||||
export const updateRoleStatusApi = async (data: UpdateStatusReqVO) => {
|
export const updateRoleStatus = async (data: UpdateStatusReqVO) => {
|
||||||
return await request.put({ url: '/system/role/update-status', data })
|
return await request.put({ url: '/system/role/update-status', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除角色
|
// 删除角色
|
||||||
export const deleteRoleApi = async (id: number) => {
|
export const deleteRole = async (id: number) => {
|
||||||
return await request.delete({ url: '/system/role/delete?id=' + id })
|
return await request.delete({ url: '/system/role/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 导出角色
|
||||||
|
export const exportRole = (params) => {
|
||||||
|
return request.download({
|
||||||
|
url: '/system/role/export-excel',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
import qs from 'qs'
|
||||||
|
|
||||||
export interface SensitiveWordVO {
|
export interface SensitiveWordVO {
|
||||||
id: number
|
id: number
|
||||||
@@ -9,56 +10,49 @@ export interface SensitiveWordVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SensitiveWordPageReqVO extends PageParam {
|
export interface SensitiveWordTestReqVO {
|
||||||
name?: string
|
text: string
|
||||||
tag?: string
|
tag: string[]
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SensitiveWordExportReqVO {
|
|
||||||
name?: string
|
|
||||||
tag?: string
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询敏感词列表
|
// 查询敏感词列表
|
||||||
export const getSensitiveWordPageApi = (params: SensitiveWordPageReqVO) => {
|
export const getSensitiveWordPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/sensitive-word/page', params })
|
return request.get({ url: '/system/sensitive-word/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询敏感词详情
|
// 查询敏感词详情
|
||||||
export const getSensitiveWordApi = (id: number) => {
|
export const getSensitiveWord = (id: number) => {
|
||||||
return request.get({ url: '/system/sensitive-word/get?id=' + id })
|
return request.get({ url: '/system/sensitive-word/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增敏感词
|
// 新增敏感词
|
||||||
export const createSensitiveWordApi = (data: SensitiveWordVO) => {
|
export const createSensitiveWord = (data: SensitiveWordVO) => {
|
||||||
return request.post({ url: '/system/sensitive-word/create', data })
|
return request.post({ url: '/system/sensitive-word/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改敏感词
|
// 修改敏感词
|
||||||
export const updateSensitiveWordApi = (data: SensitiveWordVO) => {
|
export const updateSensitiveWord = (data: SensitiveWordVO) => {
|
||||||
return request.put({ url: '/system/sensitive-word/update', data })
|
return request.put({ url: '/system/sensitive-word/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除敏感词
|
// 删除敏感词
|
||||||
export const deleteSensitiveWordApi = (id: number) => {
|
export const deleteSensitiveWord = (id: number) => {
|
||||||
return request.delete({ url: '/system/sensitive-word/delete?id=' + id })
|
return request.delete({ url: '/system/sensitive-word/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出敏感词
|
// 导出敏感词
|
||||||
export const exportSensitiveWordApi = (params: SensitiveWordExportReqVO) => {
|
export const exportSensitiveWord = (params) => {
|
||||||
return request.download({ url: '/system/sensitive-word/export-excel', params })
|
return request.download({ url: '/system/sensitive-word/export-excel', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取所有敏感词的标签数组
|
// 获取所有敏感词的标签数组
|
||||||
export const getSensitiveWordTagsApi = () => {
|
export const getSensitiveWordTagList = () => {
|
||||||
return request.get({ url: '/system/sensitive-word/get-tags' })
|
return request.get({ url: '/system/sensitive-word/get-tags' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得文本所包含的不合法的敏感词数组
|
// 获得文本所包含的不合法的敏感词数组
|
||||||
export const validateTextApi = (id: number) => {
|
export const validateText = (query: SensitiveWordTestReqVO) => {
|
||||||
return request.get({ url: '/system/sensitive-word/validate-text?' + id })
|
return request.get({
|
||||||
|
url: '/system/sensitive-word/validate-text?' + qs.stringify(query, { arrayFormat: 'repeat' })
|
||||||
|
})
|
||||||
}
|
}
|
||||||
@@ -12,39 +12,32 @@ export interface SmsChannelVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SmsChannelPageReqVO extends PageParam {
|
|
||||||
signature?: string
|
|
||||||
code?: string
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询短信渠道列表
|
// 查询短信渠道列表
|
||||||
export const getSmsChannelPageApi = (params: SmsChannelPageReqVO) => {
|
export const getSmsChannelPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/sms-channel/page', params })
|
return request.get({ url: '/system/sms-channel/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得短信渠道精简列表
|
// 获得短信渠道精简列表
|
||||||
export function getSimpleSmsChannels() {
|
export function getSimpleSmsChannelList() {
|
||||||
return request.get({ url: '/system/sms-channel/list-all-simple' })
|
return request.get({ url: '/system/sms-channel/list-all-simple' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询短信渠道详情
|
// 查询短信渠道详情
|
||||||
export const getSmsChannelApi = (id: number) => {
|
export const getSmsChannel = (id: number) => {
|
||||||
return request.get({ url: '/system/sms-channel/get?id=' + id })
|
return request.get({ url: '/system/sms-channel/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增短信渠道
|
// 新增短信渠道
|
||||||
export const createSmsChannelApi = (data: SmsChannelVO) => {
|
export const createSmsChannel = (data: SmsChannelVO) => {
|
||||||
return request.post({ url: '/system/sms-channel/create', data })
|
return request.post({ url: '/system/sms-channel/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改短信渠道
|
// 修改短信渠道
|
||||||
export const updateSmsChannelApi = (data: SmsChannelVO) => {
|
export const updateSmsChannel = (data: SmsChannelVO) => {
|
||||||
return request.put({ url: '/system/sms-channel/update', data })
|
return request.put({ url: '/system/sms-channel/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除短信渠道
|
// 删除短信渠道
|
||||||
export const deleteSmsChannelApi = (id: number) => {
|
export const deleteSmsChannel = (id: number) => {
|
||||||
return request.delete({ url: '/system/sms-channel/delete?id=' + id })
|
return request.delete({ url: '/system/sms-channel/delete?id=' + id })
|
||||||
}
|
}
|
||||||
@@ -1,57 +1,39 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface SmsLogVO {
|
export interface SmsLogVO {
|
||||||
id: number
|
id: number | null
|
||||||
channelId: number
|
channelId: number | null
|
||||||
channelCode: string
|
channelCode: string
|
||||||
templateId: number
|
templateId: number | null
|
||||||
templateCode: string
|
templateCode: string
|
||||||
templateType: number
|
templateType: number | null
|
||||||
templateContent: string
|
templateContent: string
|
||||||
templateParams: Map<string, object>
|
templateParams: Map<string, object> | null
|
||||||
|
apiTemplateId: string
|
||||||
mobile: string
|
mobile: string
|
||||||
userId: number
|
userId: number | null
|
||||||
userType: number
|
userType: number | null
|
||||||
sendStatus: number
|
sendStatus: number | null
|
||||||
sendTime: Date
|
sendTime: Date | null
|
||||||
sendCode: number
|
sendCode: number | null
|
||||||
sendMsg: string
|
sendMsg: string
|
||||||
apiSendCode: string
|
apiSendCode: string
|
||||||
apiSendMsg: string
|
apiSendMsg: string
|
||||||
apiRequestId: string
|
apiRequestId: string
|
||||||
apiSerialNo: string
|
apiSerialNo: string
|
||||||
receiveStatus: number
|
receiveStatus: number | null
|
||||||
receiveTime: Date
|
receiveTime: Date | null
|
||||||
apiReceiveCode: string
|
apiReceiveCode: string
|
||||||
apiReceiveMsg: string
|
apiReceiveMsg: string
|
||||||
createTime: Date
|
createTime: Date | null
|
||||||
}
|
|
||||||
|
|
||||||
export interface SmsLogPageReqVO extends PageParam {
|
|
||||||
channelId?: number
|
|
||||||
templateId?: number
|
|
||||||
mobile?: string
|
|
||||||
sendStatus?: number
|
|
||||||
sendTime?: Date[]
|
|
||||||
receiveStatus?: number
|
|
||||||
receiveTime?: Date[]
|
|
||||||
}
|
|
||||||
export interface SmsLogExportReqVO {
|
|
||||||
channelId?: number
|
|
||||||
templateId?: number
|
|
||||||
mobile?: string
|
|
||||||
sendStatus?: number
|
|
||||||
sendTime?: Date[]
|
|
||||||
receiveStatus?: number
|
|
||||||
receiveTime?: Date[]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询短信日志列表
|
// 查询短信日志列表
|
||||||
export const getSmsLogPageApi = (params: SmsLogPageReqVO) => {
|
export const getSmsLogPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/sms-log/page', params })
|
return request.get({ url: '/system/sms-log/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出短信日志
|
// 导出短信日志
|
||||||
export const exportSmsLogApi = (params: SmsLogExportReqVO) => {
|
export const exportSmsLog = (params) => {
|
||||||
return request.download({ url: '/system/sms-log/export', params })
|
return request.download({ url: '/system/sms-log/export-excel', params })
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface SmsTemplateVO {
|
export interface SmsTemplateVO {
|
||||||
id: number
|
id: number | null
|
||||||
type: number
|
type: number | null
|
||||||
status: number
|
status: number
|
||||||
code: string
|
code: string
|
||||||
name: string
|
name: string
|
||||||
content: string
|
content: string
|
||||||
remark: string
|
remark: string
|
||||||
apiTemplateId: string
|
apiTemplateId: string
|
||||||
channelId: number
|
channelId: number | null
|
||||||
channelCode: string
|
channelCode?: string
|
||||||
params: string[]
|
params?: string[]
|
||||||
createTime: Date
|
createTime?: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SendSmsReqVO {
|
export interface SendSmsReqVO {
|
||||||
@@ -21,60 +21,40 @@ export interface SendSmsReqVO {
|
|||||||
templateParams: Map<String, Object>
|
templateParams: Map<String, Object>
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SmsTemplatePageReqVO {
|
|
||||||
type?: number
|
|
||||||
status?: number
|
|
||||||
code?: string
|
|
||||||
content?: string
|
|
||||||
apiTemplateId?: string
|
|
||||||
channelId?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SmsTemplateExportReqVO {
|
|
||||||
type?: number
|
|
||||||
status?: number
|
|
||||||
code?: string
|
|
||||||
content?: string
|
|
||||||
apiTemplateId?: string
|
|
||||||
channelId?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询短信模板列表
|
// 查询短信模板列表
|
||||||
export const getSmsTemplatePageApi = (params: SmsTemplatePageReqVO) => {
|
export const getSmsTemplatePage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/sms-template/page', params })
|
return request.get({ url: '/system/sms-template/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询短信模板详情
|
// 查询短信模板详情
|
||||||
export const getSmsTemplateApi = (id: number) => {
|
export const getSmsTemplate = (id: number) => {
|
||||||
return request.get({ url: '/system/sms-template/get?id=' + id })
|
return request.get({ url: '/system/sms-template/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增短信模板
|
// 新增短信模板
|
||||||
export const createSmsTemplateApi = (data: SmsTemplateVO) => {
|
export const createSmsTemplate = (data: SmsTemplateVO) => {
|
||||||
return request.post({ url: '/system/sms-template/create', data })
|
return request.post({ url: '/system/sms-template/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改短信模板
|
// 修改短信模板
|
||||||
export const updateSmsTemplateApi = (data: SmsTemplateVO) => {
|
export const updateSmsTemplate = (data: SmsTemplateVO) => {
|
||||||
return request.put({ url: '/system/sms-template/update', data })
|
return request.put({ url: '/system/sms-template/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除短信模板
|
// 删除短信模板
|
||||||
export const deleteSmsTemplateApi = (id: number) => {
|
export const deleteSmsTemplate = (id: number) => {
|
||||||
return request.delete({ url: '/system/sms-template/delete?id=' + id })
|
return request.delete({ url: '/system/sms-template/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发送短信
|
|
||||||
export const sendSmsApi = (data: SendSmsReqVO) => {
|
|
||||||
return request.post({ url: '/system/sms-template/send-sms', data })
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出短信模板
|
// 导出短信模板
|
||||||
export const exportPostApi = (params: SmsTemplateExportReqVO) => {
|
export const exportSmsTemplate = (params) => {
|
||||||
return request.download({
|
return request.download({
|
||||||
url: '/system/sms-template/export-excel',
|
url: '/system/sms-template/export-excel',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 发送短信
|
||||||
|
export const sendSms = (data: SendSmsReqVO) => {
|
||||||
|
return request.post({ url: '/system/sms-template/send-sms', data })
|
||||||
|
}
|
||||||
@@ -32,31 +32,31 @@ export interface TenantExportReqVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询租户列表
|
// 查询租户列表
|
||||||
export const getTenantPageApi = (params: TenantPageReqVO) => {
|
export const getTenantPage = (params: TenantPageReqVO) => {
|
||||||
return request.get({ url: '/system/tenant/page', params })
|
return request.get({ url: '/system/tenant/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询租户详情
|
// 查询租户详情
|
||||||
export const getTenantApi = (id: number) => {
|
export const getTenant = (id: number) => {
|
||||||
return request.get({ url: '/system/tenant/get?id=' + id })
|
return request.get({ url: '/system/tenant/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增租户
|
// 新增租户
|
||||||
export const createTenantApi = (data: TenantVO) => {
|
export const createTenant = (data: TenantVO) => {
|
||||||
return request.post({ url: '/system/tenant/create', data })
|
return request.post({ url: '/system/tenant/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改租户
|
// 修改租户
|
||||||
export const updateTenantApi = (data: TenantVO) => {
|
export const updateTenant = (data: TenantVO) => {
|
||||||
return request.put({ url: '/system/tenant/update', data })
|
return request.put({ url: '/system/tenant/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除租户
|
// 删除租户
|
||||||
export const deleteTenantApi = (id: number) => {
|
export const deleteTenant = (id: number) => {
|
||||||
return request.delete({ url: '/system/tenant/delete?id=' + id })
|
return request.delete({ url: '/system/tenant/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出租户
|
// 导出租户
|
||||||
export const exportTenantApi = (params: TenantExportReqVO) => {
|
export const exportTenant = (params: TenantExportReqVO) => {
|
||||||
return request.download({ url: '/system/tenant/export-excel', params })
|
return request.download({ url: '/system/tenant/export-excel', params })
|
||||||
}
|
}
|
||||||
@@ -12,35 +12,28 @@ export interface TenantPackageVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface TenantPackagePageReqVO extends PageParam {
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
remark?: string
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询租户套餐列表
|
// 查询租户套餐列表
|
||||||
export const getTenantPackageTypePageApi = (params: TenantPackagePageReqVO) => {
|
export const getTenantPackagePage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/tenant-package/page', params })
|
return request.get({ url: '/system/tenant-package/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得租户
|
// 获得租户
|
||||||
export const getTenantPackageApi = (id: number) => {
|
export const getTenantPackage = (id: number) => {
|
||||||
return request.get({ url: '/system/tenant-package/get?id=' + id })
|
return request.get({ url: '/system/tenant-package/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增租户套餐
|
// 新增租户套餐
|
||||||
export const createTenantPackageTypeApi = (data: TenantPackageVO) => {
|
export const createTenantPackage = (data: TenantPackageVO) => {
|
||||||
return request.post({ url: '/system/tenant-package/create', data })
|
return request.post({ url: '/system/tenant-package/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改租户套餐
|
// 修改租户套餐
|
||||||
export const updateTenantPackageTypeApi = (data: TenantPackageVO) => {
|
export const updateTenantPackage = (data: TenantPackageVO) => {
|
||||||
return request.put({ url: '/system/tenant-package/update', data })
|
return request.put({ url: '/system/tenant-package/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除租户套餐
|
// 删除租户套餐
|
||||||
export const deleteTenantPackageTypeApi = (id: number) => {
|
export const deleteTenantPackage = (id: number) => {
|
||||||
return request.delete({ url: '/system/tenant-package/delete?id=' + id })
|
return request.delete({ url: '/system/tenant-package/delete?id=' + id })
|
||||||
}
|
}
|
||||||
// 获取租户套餐精简信息列表
|
// 获取租户套餐精简信息列表
|
||||||
|
|||||||
@@ -17,58 +17,43 @@ export interface UserVO {
|
|||||||
createTime: Date
|
createTime: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UserPageReqVO extends PageParam {
|
|
||||||
deptId?: number
|
|
||||||
username?: string
|
|
||||||
mobile?: string
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface UserExportReqVO {
|
|
||||||
code?: string
|
|
||||||
name?: string
|
|
||||||
status?: number
|
|
||||||
createTime?: Date[]
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询用户管理列表
|
// 查询用户管理列表
|
||||||
export const getUserPageApi = (params: UserPageReqVO) => {
|
export const getUserPage = (params: PageParam) => {
|
||||||
return request.get({ url: '/system/user/page', params })
|
return request.get({ url: '/system/user/page', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询用户详情
|
// 查询用户详情
|
||||||
export const getUserApi = (id: number) => {
|
export const getUser = (id: number) => {
|
||||||
return request.get({ url: '/system/user/get?id=' + id })
|
return request.get({ url: '/system/user/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增用户
|
// 新增用户
|
||||||
export const createUserApi = (data: UserVO) => {
|
export const createUser = (data: UserVO) => {
|
||||||
return request.post({ url: '/system/user/create', data })
|
return request.post({ url: '/system/user/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改用户
|
// 修改用户
|
||||||
export const updateUserApi = (data: UserVO) => {
|
export const updateUser = (data: UserVO) => {
|
||||||
return request.put({ url: '/system/user/update', data })
|
return request.put({ url: '/system/user/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除用户
|
// 删除用户
|
||||||
export const deleteUserApi = (id: number) => {
|
export const deleteUser = (id: number) => {
|
||||||
return request.delete({ url: '/system/user/delete?id=' + id })
|
return request.delete({ url: '/system/user/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出用户
|
// 导出用户
|
||||||
export const exportUserApi = (params: UserExportReqVO) => {
|
export const exportUser = (params) => {
|
||||||
return request.download({ url: '/system/user/export', params })
|
return request.download({ url: '/system/user/export', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 下载用户导入模板
|
// 下载用户导入模板
|
||||||
export const importUserTemplateApi = () => {
|
export const importUserTemplate = () => {
|
||||||
return request.download({ url: '/system/user/get-import-template' })
|
return request.download({ url: '/system/user/get-import-template' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用户密码重置
|
// 用户密码重置
|
||||||
export const resetUserPwdApi = (id: number, password: string) => {
|
export const resetUserPwd = (id: number, password: string) => {
|
||||||
const data = {
|
const data = {
|
||||||
id,
|
id,
|
||||||
password
|
password
|
||||||
@@ -77,7 +62,7 @@ export const resetUserPwdApi = (id: number, password: string) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 用户状态修改
|
// 用户状态修改
|
||||||
export const updateUserStatusApi = (id: number, status: number) => {
|
export const updateUserStatus = (id: number, status: number) => {
|
||||||
const data = {
|
const data = {
|
||||||
id,
|
id,
|
||||||
status
|
status
|
||||||
@@ -86,6 +71,6 @@ export const updateUserStatusApi = (id: number, status: number) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取用户精简信息列表
|
// 获取用户精简信息列表
|
||||||
export const getListSimpleUsersApi = () => {
|
export const getSimpleUserList = (): Promise<UserVO[]> => {
|
||||||
return request.get({ url: '/system/user/list-all-simple' })
|
return request.get({ url: '/system/user/list-all-simple' })
|
||||||
}
|
}
|
||||||
@@ -51,17 +51,17 @@ export interface UserProfileUpdateReqVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询用户个人信息
|
// 查询用户个人信息
|
||||||
export const getUserProfileApi = () => {
|
export const getUserProfile = () => {
|
||||||
return request.get({ url: '/system/user/profile/get' })
|
return request.get({ url: '/system/user/profile/get' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改用户个人信息
|
// 修改用户个人信息
|
||||||
export const updateUserProfileApi = (data: UserProfileUpdateReqVO) => {
|
export const updateUserProfile = (data: UserProfileUpdateReqVO) => {
|
||||||
return request.put({ url: '/system/user/profile/update', data })
|
return request.put({ url: '/system/user/profile/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用户密码重置
|
// 用户密码重置
|
||||||
export const updateUserPwdApi = (oldPassword: string, newPassword: string) => {
|
export const updateUserPassword = (oldPassword: string, newPassword: string) => {
|
||||||
return request.put({
|
return request.put({
|
||||||
url: '/system/user/profile/update-password',
|
url: '/system/user/profile/update-password',
|
||||||
data: {
|
data: {
|
||||||
@@ -72,6 +72,6 @@ export const updateUserPwdApi = (oldPassword: string, newPassword: string) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 用户头像上传
|
// 用户头像上传
|
||||||
export const uploadAvatarApi = (data) => {
|
export const uploadAvatar = (data) => {
|
||||||
return request.upload({ url: '/system/user/profile/update-avatar', data: data })
|
return request.upload({ url: '/system/user/profile/update-avatar', data: data })
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="BackTop" setup>
|
||||||
import { ElBacktop } from 'element-plus'
|
import { ElBacktop } from 'element-plus'
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="ConfigGlobal" setup>
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { useLocaleStore } from '@/store/modules/locale'
|
import { useLocaleStore } from '@/store/modules/locale'
|
||||||
import { useAppStore } from '@/store/modules/app'
|
import { useAppStore } from '@/store/modules/app'
|
||||||
@@ -51,9 +51,9 @@ const currentLocale = computed(() => localeStore.currentLocale)
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ElConfigProvider
|
<ElConfigProvider
|
||||||
:namespace="variables.elNamespace"
|
|
||||||
:locale="currentLocale.elLocale"
|
:locale="currentLocale.elLocale"
|
||||||
:message="{ max: 1 }"
|
:message="{ max: 1 }"
|
||||||
|
:namespace="variables.elNamespace"
|
||||||
:size="size"
|
:size="size"
|
||||||
>
|
>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="ContentDetailWrap" setup>
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div :class="[`${prefixCls}-container`]" ref="contentDetailWrap">
|
<div ref="contentDetailWrap" :class="[`${prefixCls}-container`]">
|
||||||
<Sticky :offset="offset">
|
<Sticky :offset="offset">
|
||||||
<div
|
<div
|
||||||
:class="[
|
:class="[
|
||||||
@@ -31,7 +31,7 @@ onMounted(() => {
|
|||||||
>
|
>
|
||||||
<div :class="[`${prefixCls}-header__back`, 'flex pl-10px pr-10px ']">
|
<div :class="[`${prefixCls}-header__back`, 'flex pl-10px pr-10px ']">
|
||||||
<ElButton @click="emit('back')">
|
<ElButton @click="emit('back')">
|
||||||
<Icon icon="ep:arrow-left" class="mr-5px" />
|
<Icon class="mr-5px" icon="ep:arrow-left" />
|
||||||
{{ t('common.back') }}
|
{{ t('common.back') }}
|
||||||
</ElButton>
|
</ElButton>
|
||||||
</div>
|
</div>
|
||||||
@@ -47,7 +47,9 @@ onMounted(() => {
|
|||||||
</Sticky>
|
</Sticky>
|
||||||
<div style="padding: var(--app-content-padding)">
|
<div style="padding: var(--app-content-padding)">
|
||||||
<ElCard :class="[`${prefixCls}-body`, 'mb-20px']" shadow="never">
|
<ElCard :class="[`${prefixCls}-body`, 'mb-20px']" shadow="never">
|
||||||
<div> <slot></slot> </div>
|
<div>
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
</ElCard>
|
</ElCard>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="ContentWrap" setup>
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ElCard :class="[prefixCls, 'mb-20px']" shadow="never">
|
<ElCard :class="[prefixCls, 'mb-15px']" shadow="never">
|
||||||
<template v-if="title" #header>
|
<template v-if="title" #header>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<span class="text-16px font-700">{{ title }}</span>
|
<span class="text-16px font-700">{{ title }}</span>
|
||||||
@@ -21,7 +21,7 @@ defineProps({
|
|||||||
<template #content>
|
<template #content>
|
||||||
<div class="max-w-200px">{{ message }}</div>
|
<div class="max-w-200px">{{ message }}</div>
|
||||||
</template>
|
</template>
|
||||||
<Icon class="ml-5px" icon="ep:question-filled" :size="14" />
|
<Icon :size="14" class="ml-5px" icon="ep:question-filled" />
|
||||||
</ElTooltip>
|
</ElTooltip>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="CountTo" setup>
|
||||||
import { PropType } from 'vue'
|
import { PropType } from 'vue'
|
||||||
import { isNumber } from '@/utils/is'
|
import { isNumber } from '@/utils/is'
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
|
|||||||
@@ -1,12 +1,17 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="Crontab" setup>
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { PropType } from 'vue'
|
import { PropType } from 'vue'
|
||||||
|
|
||||||
interface shortcutsType {
|
interface shortcutsType {
|
||||||
text: string
|
text: string
|
||||||
value: string
|
value: string
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
modelValue: { type: String, default: '* * * * * ?' },
|
modelValue: {
|
||||||
|
type: String,
|
||||||
|
default: '* * * * * ?'
|
||||||
|
},
|
||||||
shortcuts: { type: Array as PropType<shortcutsType[]>, default: () => [] }
|
shortcuts: { type: Array as PropType<shortcutsType[]>, default: () => [] }
|
||||||
})
|
})
|
||||||
const defaultValue = ref('')
|
const defaultValue = ref('')
|
||||||
@@ -498,7 +503,7 @@ const submit = () => {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<el-input v-model="defaultValue" v-bind="$attrs" class="input-with-select">
|
<el-input v-model="defaultValue" class="input-with-select" v-bind="$attrs">
|
||||||
<template #append>
|
<template #append>
|
||||||
<el-select v-model="select" placeholder="生成器" style="width: 115px">
|
<el-select v-model="select" placeholder="生成器" style="width: 115px">
|
||||||
<el-option label="每分钟" value="0 * * * * ?" />
|
<el-option label="每分钟" value="0 * * * * ?" />
|
||||||
@@ -519,11 +524,11 @@ const submit = () => {
|
|||||||
</el-input>
|
</el-input>
|
||||||
|
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="cron规则生成器"
|
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:width="580"
|
:width="580"
|
||||||
destroy-on-close
|
|
||||||
append-to-body
|
append-to-body
|
||||||
|
destroy-on-close
|
||||||
|
title="cron规则生成器"
|
||||||
>
|
>
|
||||||
<div class="sc-cron">
|
<div class="sc-cron">
|
||||||
<el-tabs>
|
<el-tabs>
|
||||||
@@ -543,38 +548,38 @@ const submit = () => {
|
|||||||
<el-radio-button label="3">指定</el-radio-button>
|
<el-radio-button label="3">指定</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="范围" v-if="cronValue.second.type == '1'">
|
<el-form-item v-if="cronValue.second.type == '1'" label="范围">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.second.range.start"
|
v-model="cronValue.second.range.start"
|
||||||
:min="0"
|
|
||||||
:max="59"
|
:max="59"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
<span style="padding: 0 15px">-</span>
|
<span style="padding: 0 15px">-</span>
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.second.range.end"
|
v-model="cronValue.second.range.end"
|
||||||
:min="0"
|
|
||||||
:max="59"
|
:max="59"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="间隔" v-if="cronValue.second.type == '2'">
|
<el-form-item v-if="cronValue.second.type == '2'" label="间隔">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.second.loop.start"
|
v-model="cronValue.second.loop.start"
|
||||||
:min="0"
|
|
||||||
:max="59"
|
:max="59"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
秒开始,每
|
秒开始,每
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.second.loop.end"
|
v-model="cronValue.second.loop.end"
|
||||||
:min="0"
|
|
||||||
:max="59"
|
:max="59"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
秒执行一次
|
秒执行一次
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="指定" v-if="cronValue.second.type == '3'">
|
<el-form-item v-if="cronValue.second.type == '3'" label="指定">
|
||||||
<el-select v-model="cronValue.second.appoint" multiple style="width: 100%">
|
<el-select v-model="cronValue.second.appoint" multiple style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.second"
|
v-for="(item, index) in data.second"
|
||||||
@@ -602,38 +607,38 @@ const submit = () => {
|
|||||||
<el-radio-button label="3">指定</el-radio-button>
|
<el-radio-button label="3">指定</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="范围" v-if="cronValue.minute.type == '1'">
|
<el-form-item v-if="cronValue.minute.type == '1'" label="范围">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.minute.range.start"
|
v-model="cronValue.minute.range.start"
|
||||||
:min="0"
|
|
||||||
:max="59"
|
:max="59"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
<span style="padding: 0 15px">-</span>
|
<span style="padding: 0 15px">-</span>
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.minute.range.end"
|
v-model="cronValue.minute.range.end"
|
||||||
:min="0"
|
|
||||||
:max="59"
|
:max="59"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="间隔" v-if="cronValue.minute.type == '2'">
|
<el-form-item v-if="cronValue.minute.type == '2'" label="间隔">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.minute.loop.start"
|
v-model="cronValue.minute.loop.start"
|
||||||
:min="0"
|
|
||||||
:max="59"
|
:max="59"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
分钟开始,每
|
分钟开始,每
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.minute.loop.end"
|
v-model="cronValue.minute.loop.end"
|
||||||
:min="0"
|
|
||||||
:max="59"
|
:max="59"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
分钟执行一次
|
分钟执行一次
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="指定" v-if="cronValue.minute.type == '3'">
|
<el-form-item v-if="cronValue.minute.type == '3'" label="指定">
|
||||||
<el-select v-model="cronValue.minute.appoint" multiple style="width: 100%">
|
<el-select v-model="cronValue.minute.appoint" multiple style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.minute"
|
v-for="(item, index) in data.minute"
|
||||||
@@ -661,38 +666,38 @@ const submit = () => {
|
|||||||
<el-radio-button label="3">指定</el-radio-button>
|
<el-radio-button label="3">指定</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="范围" v-if="cronValue.hour.type == '1'">
|
<el-form-item v-if="cronValue.hour.type == '1'" label="范围">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.hour.range.start"
|
v-model="cronValue.hour.range.start"
|
||||||
:min="0"
|
|
||||||
:max="23"
|
:max="23"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
<span style="padding: 0 15px">-</span>
|
<span style="padding: 0 15px">-</span>
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.hour.range.end"
|
v-model="cronValue.hour.range.end"
|
||||||
:min="0"
|
|
||||||
:max="23"
|
:max="23"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="间隔" v-if="cronValue.hour.type == '2'">
|
<el-form-item v-if="cronValue.hour.type == '2'" label="间隔">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.hour.loop.start"
|
v-model="cronValue.hour.loop.start"
|
||||||
:min="0"
|
|
||||||
:max="23"
|
:max="23"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
小时开始,每
|
小时开始,每
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.hour.loop.end"
|
v-model="cronValue.hour.loop.end"
|
||||||
:min="0"
|
|
||||||
:max="23"
|
:max="23"
|
||||||
|
:min="0"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
小时执行一次
|
小时执行一次
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="指定" v-if="cronValue.hour.type == '3'">
|
<el-form-item v-if="cronValue.hour.type == '3'" label="指定">
|
||||||
<el-select v-model="cronValue.hour.appoint" multiple style="width: 100%">
|
<el-select v-model="cronValue.hour.appoint" multiple style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.hour"
|
v-for="(item, index) in data.hour"
|
||||||
@@ -722,38 +727,38 @@ const submit = () => {
|
|||||||
<el-radio-button label="5">不指定</el-radio-button>
|
<el-radio-button label="5">不指定</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="范围" v-if="cronValue.day.type == '1'">
|
<el-form-item v-if="cronValue.day.type == '1'" label="范围">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.day.range.start"
|
v-model="cronValue.day.range.start"
|
||||||
:min="1"
|
|
||||||
:max="31"
|
:max="31"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
<span style="padding: 0 15px">-</span>
|
<span style="padding: 0 15px">-</span>
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.day.range.end"
|
v-model="cronValue.day.range.end"
|
||||||
:min="1"
|
|
||||||
:max="31"
|
:max="31"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="间隔" v-if="cronValue.day.type == '2'">
|
<el-form-item v-if="cronValue.day.type == '2'" label="间隔">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.day.loop.start"
|
v-model="cronValue.day.loop.start"
|
||||||
:min="1"
|
|
||||||
:max="31"
|
:max="31"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
号开始,每
|
号开始,每
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.day.loop.end"
|
v-model="cronValue.day.loop.end"
|
||||||
:min="1"
|
|
||||||
:max="31"
|
:max="31"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
天执行一次
|
天执行一次
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="指定" v-if="cronValue.day.type == '3'">
|
<el-form-item v-if="cronValue.day.type == '3'" label="指定">
|
||||||
<el-select v-model="cronValue.day.appoint" multiple style="width: 100%">
|
<el-select v-model="cronValue.day.appoint" multiple style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.day"
|
v-for="(item, index) in data.day"
|
||||||
@@ -781,38 +786,38 @@ const submit = () => {
|
|||||||
<el-radio-button label="3">指定</el-radio-button>
|
<el-radio-button label="3">指定</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="范围" v-if="cronValue.month.type == '1'">
|
<el-form-item v-if="cronValue.month.type == '1'" label="范围">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.month.range.start"
|
v-model="cronValue.month.range.start"
|
||||||
:min="1"
|
|
||||||
:max="12"
|
:max="12"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
<span style="padding: 0 15px">-</span>
|
<span style="padding: 0 15px">-</span>
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.month.range.end"
|
v-model="cronValue.month.range.end"
|
||||||
:min="1"
|
|
||||||
:max="12"
|
:max="12"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="间隔" v-if="cronValue.month.type == '2'">
|
<el-form-item v-if="cronValue.month.type == '2'" label="间隔">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.month.loop.start"
|
v-model="cronValue.month.loop.start"
|
||||||
:min="1"
|
|
||||||
:max="12"
|
:max="12"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
月开始,每
|
月开始,每
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.month.loop.end"
|
v-model="cronValue.month.loop.end"
|
||||||
:min="1"
|
|
||||||
:max="12"
|
:max="12"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
月执行一次
|
月执行一次
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="指定" v-if="cronValue.month.type == '3'">
|
<el-form-item v-if="cronValue.month.type == '3'" label="指定">
|
||||||
<el-select v-model="cronValue.month.appoint" multiple style="width: 100%">
|
<el-select v-model="cronValue.month.appoint" multiple style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.month"
|
v-for="(item, index) in data.month"
|
||||||
@@ -843,7 +848,7 @@ const submit = () => {
|
|||||||
<el-radio-button label="5">不指定</el-radio-button>
|
<el-radio-button label="5">不指定</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="范围" v-if="cronValue.week.type == '1'">
|
<el-form-item v-if="cronValue.week.type == '1'" label="范围">
|
||||||
<el-select v-model="cronValue.week.range.start">
|
<el-select v-model="cronValue.week.range.start">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.week"
|
v-for="(item, index) in data.week"
|
||||||
@@ -862,12 +867,12 @@ const submit = () => {
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="间隔" v-if="cronValue.week.type == '2'">
|
<el-form-item v-if="cronValue.week.type == '2'" label="间隔">
|
||||||
第
|
第
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="cronValue.week.loop.start"
|
v-model="cronValue.week.loop.start"
|
||||||
:min="1"
|
|
||||||
:max="4"
|
:max="4"
|
||||||
|
:min="1"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
周的星期
|
周的星期
|
||||||
@@ -881,7 +886,7 @@ const submit = () => {
|
|||||||
</el-select>
|
</el-select>
|
||||||
执行一次
|
执行一次
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="指定" v-if="cronValue.week.type == '3'">
|
<el-form-item v-if="cronValue.week.type == '3'" label="指定">
|
||||||
<el-select v-model="cronValue.week.appoint" multiple style="width: 100%">
|
<el-select v-model="cronValue.week.appoint" multiple style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.week"
|
v-for="(item, index) in data.week"
|
||||||
@@ -891,7 +896,7 @@ const submit = () => {
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="最后一周" v-if="cronValue.week.type == '4'">
|
<el-form-item v-if="cronValue.week.type == '4'" label="最后一周">
|
||||||
<el-select v-model="cronValue.week.last">
|
<el-select v-model="cronValue.week.last">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.week"
|
v-for="(item, index) in data.week"
|
||||||
@@ -921,12 +926,12 @@ const submit = () => {
|
|||||||
<el-radio-button label="3">指定</el-radio-button>
|
<el-radio-button label="3">指定</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="范围" v-if="cronValue.year.type == '1'">
|
<el-form-item v-if="cronValue.year.type == '1'" label="范围">
|
||||||
<el-input-number v-model="cronValue.year.range.start" controls-position="right" />
|
<el-input-number v-model="cronValue.year.range.start" controls-position="right" />
|
||||||
<span style="padding: 0 15px">-</span>
|
<span style="padding: 0 15px">-</span>
|
||||||
<el-input-number v-model="cronValue.year.range.end" controls-position="right" />
|
<el-input-number v-model="cronValue.year.range.end" controls-position="right" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="间隔" v-if="cronValue.year.type == '2'">
|
<el-form-item v-if="cronValue.year.type == '2'" label="间隔">
|
||||||
<el-input-number v-model="cronValue.year.loop.start" controls-position="right" />
|
<el-input-number v-model="cronValue.year.loop.start" controls-position="right" />
|
||||||
年开始,每
|
年开始,每
|
||||||
<el-input-number
|
<el-input-number
|
||||||
@@ -936,7 +941,7 @@ const submit = () => {
|
|||||||
/>
|
/>
|
||||||
年执行一次
|
年执行一次
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="指定" v-if="cronValue.year.type == '3'">
|
<el-form-item v-if="cronValue.year.type == '3'" label="指定">
|
||||||
<el-select v-model="cronValue.year.appoint" multiple style="width: 100%">
|
<el-select v-model="cronValue.year.appoint" multiple style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in data.year"
|
v-for="(item, index) in data.year"
|
||||||
@@ -965,16 +970,19 @@ const submit = () => {
|
|||||||
padding: 0 7px;
|
padding: 0 7px;
|
||||||
vertical-align: bottom;
|
vertical-align: bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sc-cron-num {
|
.sc-cron-num {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sc-cron-num h2 {
|
.sc-cron-num h2 {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sc-cron-num h4 {
|
.sc-cron-num h4 {
|
||||||
display: block;
|
display: block;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
@@ -985,13 +993,16 @@ const submit = () => {
|
|||||||
background: var(--el-color-primary-light-9);
|
background: var(--el-color-primary-light-9);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sc-cron:deep(.el-tabs__item.is-active) .sc-cron-num h4 {
|
.sc-cron:deep(.el-tabs__item.is-active) .sc-cron-num h4 {
|
||||||
background: var(--el-color-primary);
|
background: var(--el-color-primary);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
[data-theme='dark'] .sc-cron-num h4 {
|
[data-theme='dark'] .sc-cron-num h4 {
|
||||||
background: var(--el-color-white);
|
background: var(--el-color-white);
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-with-select .el-input-group__prepend {
|
.input-with-select .el-input-group__prepend {
|
||||||
background-color: var(--el-fill-color-blank);
|
background-color: var(--el-fill-color-blank);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,26 +2,26 @@
|
|||||||
<div>
|
<div>
|
||||||
<Dialog
|
<Dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="t('cropper.modalTitle')"
|
|
||||||
width="800px"
|
|
||||||
maxHeight="380px"
|
|
||||||
:canFullscreen="false"
|
:canFullscreen="false"
|
||||||
|
:title="t('cropper.modalTitle')"
|
||||||
|
maxHeight="380px"
|
||||||
|
width="800px"
|
||||||
>
|
>
|
||||||
<div :class="prefixCls">
|
<div :class="prefixCls">
|
||||||
<div :class="`${prefixCls}-left`">
|
<div :class="`${prefixCls}-left`">
|
||||||
<div :class="`${prefixCls}-cropper`">
|
<div :class="`${prefixCls}-cropper`">
|
||||||
<CropperImage
|
<CropperImage
|
||||||
v-if="src"
|
v-if="src"
|
||||||
|
:circled="circled"
|
||||||
:src="src"
|
:src="src"
|
||||||
height="300px"
|
height="300px"
|
||||||
:circled="circled"
|
|
||||||
@cropend="handleCropend"
|
@cropend="handleCropend"
|
||||||
@ready="handleReady"
|
@ready="handleReady"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div :class="`${prefixCls}-toolbar`">
|
<div :class="`${prefixCls}-toolbar`">
|
||||||
<el-upload :fileList="[]" accept="image/*" :beforeUpload="handleBeforeUpload">
|
<el-upload :beforeUpload="handleBeforeUpload" :fileList="[]" accept="image/*">
|
||||||
<el-tooltip :content="t('cropper.selectImage')" placement="bottom">
|
<el-tooltip :content="t('cropper.selectImage')" placement="bottom">
|
||||||
<XButton preIcon="ant-design:upload-outlined" type="primary" />
|
<XButton preIcon="ant-design:upload-outlined" type="primary" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@@ -29,64 +29,64 @@
|
|||||||
<el-space>
|
<el-space>
|
||||||
<el-tooltip :content="t('cropper.btn_reset')" placement="bottom">
|
<el-tooltip :content="t('cropper.btn_reset')" placement="bottom">
|
||||||
<XButton
|
<XButton
|
||||||
type="primary"
|
:disabled="!src"
|
||||||
preIcon="ant-design:reload-outlined"
|
preIcon="ant-design:reload-outlined"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!src"
|
type="primary"
|
||||||
@click="handlerToolbar('reset')"
|
@click="handlerToolbar('reset')"
|
||||||
/>
|
/>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip :content="t('cropper.btn_rotate_left')" placement="bottom">
|
<el-tooltip :content="t('cropper.btn_rotate_left')" placement="bottom">
|
||||||
<XButton
|
<XButton
|
||||||
type="primary"
|
:disabled="!src"
|
||||||
preIcon="ant-design:rotate-left-outlined"
|
preIcon="ant-design:rotate-left-outlined"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!src"
|
type="primary"
|
||||||
@click="handlerToolbar('rotate', -45)"
|
@click="handlerToolbar('rotate', -45)"
|
||||||
/>
|
/>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip :content="t('cropper.btn_rotate_right')" placement="bottom">
|
<el-tooltip :content="t('cropper.btn_rotate_right')" placement="bottom">
|
||||||
<XButton
|
<XButton
|
||||||
type="primary"
|
:disabled="!src"
|
||||||
preIcon="ant-design:rotate-right-outlined"
|
preIcon="ant-design:rotate-right-outlined"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!src"
|
type="primary"
|
||||||
@click="handlerToolbar('rotate', 45)"
|
@click="handlerToolbar('rotate', 45)"
|
||||||
/>
|
/>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip :content="t('cropper.btn_scale_x')" placement="bottom">
|
<el-tooltip :content="t('cropper.btn_scale_x')" placement="bottom">
|
||||||
<XButton
|
<XButton
|
||||||
type="primary"
|
:disabled="!src"
|
||||||
preIcon="vaadin:arrows-long-h"
|
preIcon="vaadin:arrows-long-h"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!src"
|
type="primary"
|
||||||
@click="handlerToolbar('scaleX')"
|
@click="handlerToolbar('scaleX')"
|
||||||
/>
|
/>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip :content="t('cropper.btn_scale_y')" placement="bottom">
|
<el-tooltip :content="t('cropper.btn_scale_y')" placement="bottom">
|
||||||
<XButton
|
<XButton
|
||||||
type="primary"
|
:disabled="!src"
|
||||||
preIcon="vaadin:arrows-long-v"
|
preIcon="vaadin:arrows-long-v"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!src"
|
type="primary"
|
||||||
@click="handlerToolbar('scaleY')"
|
@click="handlerToolbar('scaleY')"
|
||||||
/>
|
/>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip :content="t('cropper.btn_zoom_in')" placement="bottom">
|
<el-tooltip :content="t('cropper.btn_zoom_in')" placement="bottom">
|
||||||
<XButton
|
<XButton
|
||||||
type="primary"
|
:disabled="!src"
|
||||||
preIcon="ant-design:zoom-in-outlined"
|
preIcon="ant-design:zoom-in-outlined"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!src"
|
type="primary"
|
||||||
@click="handlerToolbar('zoom', 0.1)"
|
@click="handlerToolbar('zoom', 0.1)"
|
||||||
/>
|
/>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip :content="t('cropper.btn_zoom_out')" placement="bottom">
|
<el-tooltip :content="t('cropper.btn_zoom_out')" placement="bottom">
|
||||||
<XButton
|
<XButton
|
||||||
type="primary"
|
:disabled="!src"
|
||||||
preIcon="ant-design:zoom-out-outlined"
|
preIcon="ant-design:zoom-out-outlined"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!src"
|
type="primary"
|
||||||
@click="handlerToolbar('zoom', -0.1)"
|
@click="handlerToolbar('zoom', -0.1)"
|
||||||
/>
|
/>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@@ -95,14 +95,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div :class="`${prefixCls}-right`">
|
<div :class="`${prefixCls}-right`">
|
||||||
<div :class="`${prefixCls}-preview`">
|
<div :class="`${prefixCls}-preview`">
|
||||||
<img :src="previewSource" v-if="previewSource" :alt="t('cropper.preview')" />
|
<img v-if="previewSource" :alt="t('cropper.preview')" :src="previewSource" />
|
||||||
</div>
|
</div>
|
||||||
<template v-if="previewSource">
|
<template v-if="previewSource">
|
||||||
<div :class="`${prefixCls}-group`">
|
<div :class="`${prefixCls}-group`">
|
||||||
<el-avatar :src="previewSource" size="large" />
|
<el-avatar :src="previewSource" size="large" />
|
||||||
<el-avatar :src="previewSource" :size="48" />
|
<el-avatar :size="48" :src="previewSource" />
|
||||||
<el-avatar :src="previewSource" :size="64" />
|
<el-avatar :size="64" :src="previewSource" />
|
||||||
<el-avatar :src="previewSource" :size="80" />
|
<el-avatar :size="80" :src="previewSource" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
</Dialog>
|
</Dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script lang="ts" name="CopperModal" setup>
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
import { dataURLtoBlob } from '@/utils/filt'
|
import { dataURLtoBlob } from '@/utils/filt'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
@@ -173,12 +173,15 @@ async function handleOk() {
|
|||||||
const blob = dataURLtoBlob(previewSource.value)
|
const blob = dataURLtoBlob(previewSource.value)
|
||||||
emit('uploadSuccess', { source: previewSource.value, data: blob, filename: filename })
|
emit('uploadSuccess', { source: previewSource.value, data: blob, filename: filename })
|
||||||
}
|
}
|
||||||
|
|
||||||
function openModal() {
|
function openModal() {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeModal() {
|
function closeModal() {
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({ openModal, closeModal })
|
defineExpose({ openModal, closeModal })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|||||||
@@ -3,14 +3,14 @@
|
|||||||
<img
|
<img
|
||||||
v-show="isReady"
|
v-show="isReady"
|
||||||
ref="imgElRef"
|
ref="imgElRef"
|
||||||
:src="src"
|
|
||||||
:alt="alt"
|
:alt="alt"
|
||||||
:crossorigin="crossorigin"
|
:crossorigin="crossorigin"
|
||||||
|
:src="src"
|
||||||
:style="getImageStyle"
|
:style="getImageStyle"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script lang="ts" name="Cropper" setup>
|
||||||
import { CSSProperties, PropType } from 'vue'
|
import { CSSProperties, PropType } from 'vue'
|
||||||
import Cropper from 'cropperjs'
|
import Cropper from 'cropperjs'
|
||||||
import 'cropperjs/dist/cropper.css'
|
import 'cropperjs/dist/cropper.css'
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="user-info-head" @click="open()">
|
<div class="user-info-head" @click="open()">
|
||||||
<img :src="sourceValue" v-if="sourceValue" class="img-circle img-lg" alt="avatar" />
|
<img v-if="sourceValue" :src="sourceValue" alt="avatar" class="img-circle img-lg" />
|
||||||
<el-button :class="`${prefixCls}-upload-btn`" @click="open()" v-if="showBtn">
|
<el-button v-if="showBtn" :class="`${prefixCls}-upload-btn`" @click="open()">
|
||||||
{{ btnText ? btnText : t('cropper.selectImage') }}
|
{{ btnText ? btnText : t('cropper.selectImage') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<CopperModal
|
<CopperModal
|
||||||
ref="cropperModelRef"
|
ref="cropperModelRef"
|
||||||
@upload-success="handleUploadSuccess"
|
|
||||||
:srcValue="sourceValue"
|
:srcValue="sourceValue"
|
||||||
|
@upload-success="handleUploadSuccess"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script lang="ts" name="CropperAvatar" setup>
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
|
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
@@ -54,9 +54,11 @@ function handleUploadSuccess({ source, data, filename }) {
|
|||||||
function open() {
|
function open() {
|
||||||
cropperModelRef.value.openModal()
|
cropperModelRef.value.openModal()
|
||||||
}
|
}
|
||||||
|
|
||||||
function close() {
|
function close() {
|
||||||
cropperModelRef.value.closeModal()
|
cropperModelRef.value.closeModal()
|
||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
open,
|
open,
|
||||||
close
|
close
|
||||||
@@ -104,17 +106,21 @@ $prefix-cls: #{$namespace}--cropper-avatar;
|
|||||||
margin: 10px auto;
|
margin: 10px auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-info-head {
|
.user-info-head {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.img-circle {
|
.img-circle {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.img-lg {
|
.img-lg {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-info-head:hover:after {
|
.user-info-head:hover:after {
|
||||||
content: '+';
|
content: '+';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="Descriptions" setup>
|
||||||
import { PropType } from 'vue'
|
import { PropType } from 'vue'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
@@ -76,7 +76,7 @@ const toggleClick = () => {
|
|||||||
v-if="title"
|
v-if="title"
|
||||||
:class="[
|
:class="[
|
||||||
`${prefixCls}-header`,
|
`${prefixCls}-header`,
|
||||||
'h-50px flex justify-between items-center mb-10px border-bottom-1 border-solid border-[var(--tags-view-border-color)] px-10px cursor-pointer dark:border-[var(--el-border-color)]'
|
'h-50px flex justify-between items-center border-bottom-1 border-solid border-[var(--tags-view-border-color)] px-10px cursor-pointer dark:border-[var(--el-border-color)]'
|
||||||
]"
|
]"
|
||||||
@click="toggleClick"
|
@click="toggleClick"
|
||||||
>
|
>
|
||||||
@@ -84,7 +84,7 @@ const toggleClick = () => {
|
|||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
{{ title }}
|
{{ title }}
|
||||||
<ElTooltip v-if="message" :content="message" placement="right">
|
<ElTooltip v-if="message" :content="message" placement="right">
|
||||||
<Icon icon="ep:warning" class="ml-5px" />
|
<Icon class="ml-5px" icon="ep:warning" />
|
||||||
</ElTooltip>
|
</ElTooltip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -95,8 +95,8 @@ const toggleClick = () => {
|
|||||||
<div v-show="show" :class="[`${prefixCls}-content`, 'p-10px']">
|
<div v-show="show" :class="[`${prefixCls}-content`, 'p-10px']">
|
||||||
<ElDescriptions
|
<ElDescriptions
|
||||||
:column="props.columns"
|
:column="props.columns"
|
||||||
border
|
|
||||||
:direction="mobile ? 'vertical' : 'horizontal'"
|
:direction="mobile ? 'vertical' : 'horizontal'"
|
||||||
|
border
|
||||||
v-bind="getBindValue"
|
v-bind="getBindValue"
|
||||||
>
|
>
|
||||||
<template v-if="slots['extra']" #extra>
|
<template v-if="slots['extra']" #extra>
|
||||||
@@ -109,7 +109,13 @@ const toggleClick = () => {
|
|||||||
v-bind="getBindItemValue(item)"
|
v-bind="getBindItemValue(item)"
|
||||||
>
|
>
|
||||||
<template #label>
|
<template #label>
|
||||||
<slot :name="`${item.field}-label`" :label="item.label">{{ item.label }}</slot>
|
<slot
|
||||||
|
:name="`${item.field}-label`"
|
||||||
|
:row="{
|
||||||
|
label: item.label
|
||||||
|
}"
|
||||||
|
>{{ item.label }}
|
||||||
|
</slot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #default>
|
<template #default>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="Dialog" setup>
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { isNumber } from '@/utils/is'
|
import { isNumber } from '@/utils/is'
|
||||||
|
|
||||||
@@ -8,8 +8,9 @@ const props = defineProps({
|
|||||||
modelValue: propTypes.bool.def(false),
|
modelValue: propTypes.bool.def(false),
|
||||||
title: propTypes.string.def('Dialog'),
|
title: propTypes.string.def('Dialog'),
|
||||||
fullscreen: propTypes.bool.def(true),
|
fullscreen: propTypes.bool.def(true),
|
||||||
maxHeight: propTypes.oneOfType([String, Number]).def('300px'),
|
width: propTypes.oneOfType([String, Number]).def('40%'),
|
||||||
width: propTypes.oneOfType([String, Number]).def('40%')
|
scroll: propTypes.bool.def(false), // 是否开启滚动条。如果是的话,按照 maxHeight 设置最大高度
|
||||||
|
maxHeight: propTypes.oneOfType([String, Number]).def('300px')
|
||||||
})
|
})
|
||||||
|
|
||||||
const getBindValue = computed(() => {
|
const getBindValue = computed(() => {
|
||||||
@@ -35,6 +36,7 @@ const dialogHeight = ref(isNumber(props.maxHeight) ? `${props.maxHeight}px` : pr
|
|||||||
watch(
|
watch(
|
||||||
() => isFullscreen.value,
|
() => isFullscreen.value,
|
||||||
async (val: boolean) => {
|
async (val: boolean) => {
|
||||||
|
// 计算最大高度
|
||||||
await nextTick()
|
await nextTick()
|
||||||
if (val) {
|
if (val) {
|
||||||
const windowHeight = document.documentElement.offsetHeight
|
const windowHeight = document.documentElement.offsetHeight
|
||||||
@@ -57,13 +59,13 @@ const dialogStyle = computed(() => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ElDialog
|
<ElDialog
|
||||||
v-bind="getBindValue"
|
|
||||||
:fullscreen="isFullscreen"
|
|
||||||
destroy-on-close
|
|
||||||
lock-scroll
|
|
||||||
draggable
|
|
||||||
:width="width"
|
|
||||||
:close-on-click-modal="true"
|
:close-on-click-modal="true"
|
||||||
|
:fullscreen="isFullscreen"
|
||||||
|
:width="width"
|
||||||
|
destroy-on-close
|
||||||
|
draggable
|
||||||
|
lock-scroll
|
||||||
|
v-bind="getBindValue"
|
||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<div class="flex justify-between">
|
<div class="flex justify-between">
|
||||||
@@ -72,17 +74,20 @@ const dialogStyle = computed(() => {
|
|||||||
</slot>
|
</slot>
|
||||||
<Icon
|
<Icon
|
||||||
v-if="fullscreen"
|
v-if="fullscreen"
|
||||||
class="mr-22px cursor-pointer is-hover mt-2px z-10"
|
|
||||||
:icon="isFullscreen ? 'zmdi:fullscreen-exit' : 'zmdi:fullscreen'"
|
:icon="isFullscreen ? 'zmdi:fullscreen-exit' : 'zmdi:fullscreen'"
|
||||||
|
class="mr-22px cursor-pointer is-hover mt-2px z-10"
|
||||||
color="var(--el-color-info)"
|
color="var(--el-color-info)"
|
||||||
@click="toggleFull"
|
@click="toggleFull"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<ElScrollbar :style="dialogStyle">
|
<!-- 情况一:如果 scroll 为 true,说明开启滚动条 -->
|
||||||
|
<ElScrollbar v-if="scroll" :style="dialogStyle">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</ElScrollbar>
|
</ElScrollbar>
|
||||||
|
<!-- 情况二:如果 scroll 为 false,说明关闭滚动条滚动条 -->
|
||||||
|
<slot v-else></slot>
|
||||||
|
|
||||||
<template v-if="slots.footer" #footer>
|
<template v-if="slots.footer" #footer>
|
||||||
<slot name="footer"></slot>
|
<slot name="footer"></slot>
|
||||||
|
|||||||
@@ -33,18 +33,22 @@ export default defineComponent({
|
|||||||
if (!props.type) {
|
if (!props.type) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
if (!props.value) {
|
// 解决自定义字典标签值为零时标签不渲染的问题
|
||||||
|
if (props.value === undefined || props.value === null) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
getDictObj(props.type, props.value.toString())
|
getDictObj(props.type, props.value.toString())
|
||||||
|
// 添加标签的文字颜色为白色,解决自定义背景颜色时标签文字看不清的问题
|
||||||
return (
|
return (
|
||||||
<ElTag
|
<ElTag
|
||||||
|
style={dictData.value?.cssClass ? 'color: #fff' : ''}
|
||||||
type={dictData.value?.colorType}
|
type={dictData.value?.colorType}
|
||||||
color={
|
color={
|
||||||
dictData.value?.cssClass && isHexColor(dictData.value?.cssClass)
|
dictData.value?.cssClass && isHexColor(dictData.value?.cssClass)
|
||||||
? dictData.value?.cssClass
|
? dictData.value?.cssClass
|
||||||
: ''
|
: ''
|
||||||
}
|
}
|
||||||
|
disableTransitions={true}
|
||||||
>
|
>
|
||||||
{dictData.value?.label}
|
{dictData.value?.label}
|
||||||
</ElTag>
|
</ElTag>
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<template>
|
||||||
|
<el-alert v-if="getEnable()" type="success" show-icon>
|
||||||
|
<template #title>
|
||||||
|
<div @click="goToUrl">{{ '【' + title + '】文档地址:' + url }}</div>
|
||||||
|
</template>
|
||||||
|
</el-alert>
|
||||||
|
</template>
|
||||||
|
<script setup lang="tsx" name="DocAlert">
|
||||||
|
import { propTypes } from '@/utils/propTypes'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
title: propTypes.string,
|
||||||
|
url: propTypes.string
|
||||||
|
})
|
||||||
|
|
||||||
|
/** 跳转 URL 链接 */
|
||||||
|
const goToUrl = () => {
|
||||||
|
window.open(props.url)
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 是否开启 */
|
||||||
|
const getEnable = () => {
|
||||||
|
return import.meta.env.VITE_APP_TENANT_ENABLE === 'true'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.el-alert--success.is-light {
|
||||||
|
border: 1px solid green;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="EChart" setup>
|
||||||
import type { EChartsOption } from 'echarts'
|
import type { EChartsOption } from 'echarts'
|
||||||
import echarts from '@/plugins/echarts'
|
import echarts from '@/plugins/echarts'
|
||||||
import { debounce } from 'lodash-es'
|
import { debounce } from 'lodash-es'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="Editor" setup>
|
||||||
import { PropType } from 'vue'
|
import { PropType } from 'vue'
|
||||||
import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
|
import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
|
||||||
import { IDomEditor, IEditorConfig, i18nChangeLanguage } from '@wangeditor/editor'
|
import { i18nChangeLanguage, IDomEditor, IEditorConfig } from '@wangeditor/editor'
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { isNumber } from '@/utils/is'
|
import { isNumber } from '@/utils/is'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
@@ -20,7 +20,7 @@ const props = defineProps({
|
|||||||
editorId: propTypes.string.def('wangeEditor-1'),
|
editorId: propTypes.string.def('wangeEditor-1'),
|
||||||
height: propTypes.oneOfType([Number, String]).def('500px'),
|
height: propTypes.oneOfType([Number, String]).def('500px'),
|
||||||
editorConfig: {
|
editorConfig: {
|
||||||
type: Object as PropType<IEditorConfig>,
|
type: Object as PropType<Partial<IEditorConfig>>,
|
||||||
default: () => undefined
|
default: () => undefined
|
||||||
},
|
},
|
||||||
readonly: propTypes.bool.def(false),
|
readonly: propTypes.bool.def(false),
|
||||||
@@ -147,6 +147,7 @@ const editorConfig = computed((): IEditorConfig => {
|
|||||||
props.editorConfig || {}
|
props.editorConfig || {}
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
const editorStyle = computed(() => {
|
const editorStyle = computed(() => {
|
||||||
return {
|
return {
|
||||||
height: isNumber(props.height) ? `${props.height}px` : props.height
|
height: isNumber(props.height) ? `${props.height}px` : props.height
|
||||||
@@ -178,7 +179,7 @@ defineExpose({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="border-1 border-solid border-[var(--tags-view-border-color)] z-3000">
|
<div class="border-1 border-solid border-[var(--tags-view-border-color)] z-99">
|
||||||
<!-- 工具栏 -->
|
<!-- 工具栏 -->
|
||||||
<Toolbar
|
<Toolbar
|
||||||
:editor="editorRef"
|
:editor="editorRef"
|
||||||
@@ -188,8 +189,8 @@ defineExpose({
|
|||||||
<!-- 编辑器 -->
|
<!-- 编辑器 -->
|
||||||
<Editor
|
<Editor
|
||||||
v-model="valueHtml"
|
v-model="valueHtml"
|
||||||
:editorId="editorId"
|
|
||||||
:defaultConfig="editorConfig"
|
:defaultConfig="editorConfig"
|
||||||
|
:editorId="editorId"
|
||||||
:style="editorStyle"
|
:style="editorStyle"
|
||||||
@on-change="handleChange"
|
@on-change="handleChange"
|
||||||
@on-created="handleCreated"
|
@on-created="handleCreated"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script lang="ts" name="Error" setup>
|
||||||
import pageError from '@/assets/svgs/404.svg'
|
import pageError from '@/assets/svgs/404.svg'
|
||||||
import networkError from '@/assets/svgs/500.svg'
|
import networkError from '@/assets/svgs/500.svg'
|
||||||
import noPermission from '@/assets/svgs/403.svg'
|
import noPermission from '@/assets/svgs/403.svg'
|
||||||
@@ -46,7 +46,7 @@ const btnClick = () => {
|
|||||||
<template>
|
<template>
|
||||||
<div class="flex justify-center">
|
<div class="flex justify-center">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<img width="350" :src="errorMap[type].url" alt="" />
|
<img :src="errorMap[type].url" alt="" width="350" />
|
||||||
<div class="text-14px text-[var(--el-color-info)]">{{ errorMap[type].message }}</div>
|
<div class="text-14px text-[var(--el-color-info)]">{{ errorMap[type].message }}</div>
|
||||||
<div class="mt-20px">
|
<div class="mt-20px">
|
||||||
<ElButton type="primary" @click="btnClick">{{ errorMap[type].buttonText }}</ElButton>
|
<ElButton type="primary" @click="btnClick">{{ errorMap[type].buttonText }}</ElButton>
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ export default defineComponent({
|
|||||||
default: () => []
|
default: () => []
|
||||||
},
|
},
|
||||||
// 是否需要栅格布局
|
// 是否需要栅格布局
|
||||||
isCol: propTypes.bool.def(true),
|
// update by 芋艿:将 true 改成 false,因为项目更常用这种方式
|
||||||
|
isCol: propTypes.bool.def(false),
|
||||||
// 表单数据对象
|
// 表单数据对象
|
||||||
model: {
|
model: {
|
||||||
type: Object as PropType<Recordable>,
|
type: Object as PropType<Recordable>,
|
||||||
@@ -46,7 +47,9 @@ export default defineComponent({
|
|||||||
// 是否自定义内容
|
// 是否自定义内容
|
||||||
isCustom: propTypes.bool.def(false),
|
isCustom: propTypes.bool.def(false),
|
||||||
// 表单label宽度
|
// 表单label宽度
|
||||||
labelWidth: propTypes.oneOfType([String, Number]).def('auto')
|
labelWidth: propTypes.oneOfType([String, Number]).def('auto'),
|
||||||
|
// 是否 loading 数据中 add by 芋艿
|
||||||
|
vLoading: propTypes.bool.def(false)
|
||||||
},
|
},
|
||||||
emits: ['register'],
|
emits: ['register'],
|
||||||
setup(props, { slots, expose, emit }) {
|
setup(props, { slots, expose, emit }) {
|
||||||
@@ -280,6 +283,7 @@ export default defineComponent({
|
|||||||
{...getFormBindValue()}
|
{...getFormBindValue()}
|
||||||
model={props.isCustom ? props.model : formModel}
|
model={props.isCustom ? props.model : formModel}
|
||||||
class={prefixCls}
|
class={prefixCls}
|
||||||
|
v-loading={props.vLoading}
|
||||||
>
|
>
|
||||||
{{
|
{{
|
||||||
// 如果需要自定义,就什么都不渲染,而是提供默认插槽
|
// 如果需要自定义,就什么都不渲染,而是提供默认插槽
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { Slots } from 'vue'
|
import type { Slots } from 'vue'
|
||||||
import { getSlot } from '@/utils/tsxHelper'
|
import { getSlot } from '@/utils/tsxHelper'
|
||||||
import { PlaceholderMoel } from './types'
|
import { PlaceholderModel } from './types'
|
||||||
import { FormSchema } from '@/types/form'
|
import { FormSchema } from '@/types/form'
|
||||||
import { ColProps } from '@/types/components'
|
import { ColProps } from '@/types/components'
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ import { ColProps } from '@/types/components'
|
|||||||
* @returns 返回提示信息对象
|
* @returns 返回提示信息对象
|
||||||
* @description 用于自动设置placeholder
|
* @description 用于自动设置placeholder
|
||||||
*/
|
*/
|
||||||
export const setTextPlaceholder = (schema: FormSchema): PlaceholderMoel => {
|
export const setTextPlaceholder = (schema: FormSchema): PlaceholderModel => {
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const textMap = ['Input', 'Autocomplete', 'InputNumber', 'InputPassword']
|
const textMap = ['Input', 'Autocomplete', 'InputNumber', 'InputPassword']
|
||||||
const selectMap = ['Select', 'SelectV2', 'TimePicker', 'DatePicker', 'TimeSelect', 'TimeSelect']
|
const selectMap = ['Select', 'SelectV2', 'TimePicker', 'DatePicker', 'TimeSelect', 'TimeSelect']
|
||||||
@@ -108,8 +108,8 @@ export const setItemComponentSlots = (
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param schema Form表单结构化数组
|
* @param schema Form表单结构化数组
|
||||||
* @param formModel FormMoel
|
* @param formModel FormModel
|
||||||
* @returns FormMoel
|
* @returns FormModel
|
||||||
* @description 生成对应的formModel
|
* @description 生成对应的formModel
|
||||||
*/
|
*/
|
||||||
export const initModel = (schema: FormSchema[], formModel: Recordable) => {
|
export const initModel = (schema: FormSchema[], formModel: Recordable) => {
|
||||||
|
|||||||
Loaded 100 of 498 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user