Commit 86a9c4bbf4801ba8b72b88df2ee871e0d7bd53bb

Authored by owen
1 parent de8f2800

基础设施:优化vue3标准版API生成(导出xxAPI,方便IDE识别接口)

yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
1 1 import request from '@/config/axios'
2 2 #set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}")
3 3  
  4 +// ${table.classComment} VO
4 5 export interface ${simpleClassName}VO {
5 6 #foreach ($column in $columns)
6 7 #if ($column.createOperation || $column.updateOperation)
  8 + // ${column.columnComment}
7 9 #if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
8 10 ${column.javaField}: number
9   -#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdatetime")
  11 +#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdate" || ${column.javaType.toLowerCase()} == "localdatetime")
10 12 ${column.javaField}: Date
11 13 #else
12 14 ${column.javaField}: ${column.javaType.toLowerCase()}
... ... @@ -15,42 +17,44 @@ export interface ${simpleClassName}VO {
15 17 #end
16 18 }
17 19  
  20 +// ${table.classComment} API
  21 +export const ${simpleClassName}Api = {
18 22 #if ( $table.templateType != 2 )
19   -// 查询${table.classComment}分页
20   -export const get${simpleClassName}Page = async (params) => {
21   - return await request.get({ url: `${baseURL}/page`, params })
22   -}
  23 + // 查询${table.classComment}分页
  24 + get${simpleClassName}Page: async (params: any) => {
  25 + return await request.get({ url: `${baseURL}/page`, params })
  26 + },
23 27 #else
24   -// 查询${table.classComment}列表
25   -export const get${simpleClassName}List = async (params) => {
26   - return await request.get({ url: `${baseURL}/list`, params })
27   -}
  28 + // 查询${table.classComment}列表
  29 + get${simpleClassName}List: async (params) => {
  30 + return await request.get({ url: `${baseURL}/list`, params })
  31 + },
28 32 #end
29 33  
30   -// 查询${table.classComment}详情
31   -export const get${simpleClassName} = async (id: number) => {
32   - return await request.get({ url: `${baseURL}/get?id=` + id })
33   -}
  34 + // 查询${table.classComment}详情
  35 + get${simpleClassName}: async (id: number) => {
  36 + return await request.get({ url: `${baseURL}/get?id=` + id })
  37 + },
34 38  
35   -// 新增${table.classComment}
36   -export const create${simpleClassName} = async (data: ${simpleClassName}VO) => {
37   - return await request.post({ url: `${baseURL}/create`, data })
38   -}
  39 + // 新增${table.classComment}
  40 + create${simpleClassName}: async (data: ${simpleClassName}VO) => {
  41 + return await request.post({ url: `${baseURL}/create`, data })
  42 + },
39 43  
40   -// 修改${table.classComment}
41   -export const update${simpleClassName} = async (data: ${simpleClassName}VO) => {
42   - return await request.put({ url: `${baseURL}/update`, data })
43   -}
  44 + // 修改${table.classComment}
  45 + update${simpleClassName}: async (data: ${simpleClassName}VO) => {
  46 + return await request.put({ url: `${baseURL}/update`, data })
  47 + },
44 48  
45   -// 删除${table.classComment}
46   -export const delete${simpleClassName} = async (id: number) => {
47   - return await request.delete({ url: `${baseURL}/delete?id=` + id })
48   -}
  49 + // 删除${table.classComment}
  50 + delete${simpleClassName}: async (id: number) => {
  51 + return await request.delete({ url: `${baseURL}/delete?id=` + id })
  52 + },
49 53  
50   -// 导出${table.classComment} Excel
51   -export const export${simpleClassName} = async (params) => {
52   - return await request.download({ url: `${baseURL}/export-excel`, params })
53   -}
  54 + // 导出${table.classComment} Excel
  55 + export${simpleClassName}: async (params) => {
  56 + return await request.download({ url: `${baseURL}/export-excel`, params })
  57 + },
54 58 ## 特殊:主子表专属逻辑
55 59 #foreach ($subTable in $subTables)
56 60 #set ($index = $foreach.count - 1)
... ... @@ -66,46 +70,47 @@ export const export${simpleClassName} = async (params) => {
66 70 ## 情况一:MASTER_ERP 时,需要分查询页子表
67 71 #if ( $table.templateType == 11 )
68 72  
69   -// 获得${subTable.classComment}分页
70   -export const get${subSimpleClassName}Page = async (params) => {
71   - return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/page`, params })
72   -}
  73 + // 获得${subTable.classComment}分页
  74 + get${subSimpleClassName}Page: async (params) => {
  75 + return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/page`, params })
  76 + },
73 77 ## 情况二:非 MASTER_ERP 时,需要列表查询子表
74 78 #else
75 79 #if ( $subTable.subJoinMany )
76 80  
77   -// 获得${subTable.classComment}列表
78   -export const get${subSimpleClassName}ListBy${SubJoinColumnName} = async (${subJoinColumn.javaField}) => {
79   - return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/list-by-${subJoinColumn_strikeCase}?${subJoinColumn.javaField}=` + ${subJoinColumn.javaField} })
80   -}
  81 + // 获得${subTable.classComment}列表
  82 + get${subSimpleClassName}ListBy${SubJoinColumnName}: async (${subJoinColumn.javaField}) => {
  83 + return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/list-by-${subJoinColumn_strikeCase}?${subJoinColumn.javaField}=` + ${subJoinColumn.javaField} })
  84 + },
81 85 #else
82 86  
83   -// 获得${subTable.classComment}
84   -export const get${subSimpleClassName}By${SubJoinColumnName} = async (${subJoinColumn.javaField}) => {
85   - return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/get-by-${subJoinColumn_strikeCase}?${subJoinColumn.javaField}=` + ${subJoinColumn.javaField} })
86   -}
  87 + // 获得${subTable.classComment}
  88 + get${subSimpleClassName}By${SubJoinColumnName}: async (${subJoinColumn.javaField}) => {
  89 + return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/get-by-${subJoinColumn_strikeCase}?${subJoinColumn.javaField}=` + ${subJoinColumn.javaField} })
  90 + },
87 91 #end
88 92 #end
89 93 ## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作
90 94 #if ( $table.templateType == 11 )
91   -// 新增${subTable.classComment}
92   -export const create${subSimpleClassName} = async (data) => {
93   - return await request.post({ url: `${baseURL}/${subSimpleClassName_strikeCase}/create`, data })
94   -}
  95 + // 新增${subTable.classComment}
  96 + create${subSimpleClassName}: async (data) => {
  97 + return await request.post({ url: `${baseURL}/${subSimpleClassName_strikeCase}/create`, data })
  98 + },
95 99  
96   -// 修改${subTable.classComment}
97   -export const update${subSimpleClassName} = async (data) => {
98   - return await request.put({ url: `${baseURL}/${subSimpleClassName_strikeCase}/update`, data })
99   -}
  100 + // 修改${subTable.classComment}
  101 + update${subSimpleClassName}: async (data) => {
  102 + return await request.put({ url: `${baseURL}/${subSimpleClassName_strikeCase}/update`, data })
  103 + },
100 104  
101   -// 删除${subTable.classComment}
102   -export const delete${subSimpleClassName} = async (id: number) => {
103   - return await request.delete({ url: `${baseURL}/${subSimpleClassName_strikeCase}/delete?id=` + id })
104   -}
  105 + // 删除${subTable.classComment}
  106 + delete${subSimpleClassName}: async (id: number) => {
  107 + return await request.delete({ url: `${baseURL}/${subSimpleClassName_strikeCase}/delete?id=` + id })
  108 + },
105 109  
106   -// 获得${subTable.classComment}
107   -export const get${subSimpleClassName} = async (id: number) => {
108   - return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/get?id=` + id })
109   -}
  110 + // 获得${subTable.classComment}
  111 + get${subSimpleClassName}: async (id: number) => {
  112 + return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/get?id=` + id })
  113 + },
110 114 #end
111   -#end
112 115 \ No newline at end of file
  116 +#end
  117 +}
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/components/form_sub_erp.vue.vm
... ... @@ -114,7 +114,7 @@
114 114 </template>
115 115 <script setup lang="ts">
116 116 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
117   -import * as ${simpleClassName}Api from '@/api/${table.moduleName}/${table.businessName}'
  117 +import { ${simpleClassName}Api } from '@/api/${table.moduleName}/${table.businessName}'
118 118  
119 119 const { t } = useI18n() // 国际化
120 120 const message = useMessage() // 消息弹窗
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/components/form_sub_normal.vue.vm
... ... @@ -265,7 +265,7 @@
265 265 </template>
266 266 <script setup lang="ts">
267 267 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
268   -import * as ${simpleClassName}Api from '@/api/${table.moduleName}/${table.businessName}'
  268 +import { ${simpleClassName}Api } from '@/api/${table.moduleName}/${table.businessName}'
269 269  
270 270 const props = defineProps<{
271 271 ${subJoinColumn.javaField}: undefined // ${subJoinColumn.columnComment}(主表的关联字段)
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/components/list_sub_erp.vue.vm
... ... @@ -85,7 +85,7 @@
85 85 <script setup lang="ts">
86 86 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
87 87 import { dateFormatter } from '@/utils/formatTime'
88   -import * as ${simpleClassName}Api from '@/api/${table.moduleName}/${table.businessName}'
  88 +import { ${simpleClassName}Api } from '@/api/${table.moduleName}/${table.businessName}'
89 89 #if ($table.templateType == 11)
90 90 import ${subSimpleClassName}Form from './${subSimpleClassName}Form.vue'
91 91 #end
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/form.vue.vm
... ... @@ -140,7 +140,7 @@
140 140 </template>
141 141 <script setup lang="ts">
142 142 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
143   -import * as ${simpleClassName}Api from '@/api/${table.moduleName}/${table.businessName}'
  143 +import { ${simpleClassName}Api, ${simpleClassName}VO } from '@/api/${table.moduleName}/${table.businessName}'
144 144 ## 特殊:树表专属逻辑
145 145 #if ( $table.templateType == 2 )
146 146 import { defaultProps, handleTree } from '@/utils/tree'
... ... @@ -152,6 +152,9 @@ import ${subSimpleClassName}Form from &#39;./components/${subSimpleClassName}Form.vu
152 152 #end
153 153 #end
154 154  
  155 +/** ${table.classComment} 表单 */
  156 +defineOptions({ name: '${simpleClassName}Form' })
  157 +
155 158 const { t } = useI18n() // 国际化
156 159 const message = useMessage() // 消息弹窗
157 160  
... ...
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/index.vue.vm
... ... @@ -240,7 +240,7 @@ import { dateFormatter } from &#39;@/utils/formatTime&#39;
240 240 import { handleTree } from '@/utils/tree'
241 241 #end
242 242 import download from '@/utils/download'
243   -import * as ${simpleClassName}Api from '@/api/${table.moduleName}/${table.businessName}'
  243 +import { ${simpleClassName}Api, ${simpleClassName}VO } from '@/api/${table.moduleName}/${table.businessName}'
244 244 import ${simpleClassName}Form from './${simpleClassName}Form.vue'
245 245 ## 特殊:主子表专属逻辑
246 246 #if ( $table.templateType != 10 )
... ... @@ -249,16 +249,22 @@ import ${subSimpleClassName}List from &#39;./components/${subSimpleClassName}List.vu
249 249 #end
250 250 #end
251 251  
  252 +/** ${table.classComment} 列表 */
252 253 defineOptions({ name: '${table.className}' })
253 254  
254   -const message = useMessage() // 消息弹窗
255   -const { t } = useI18n() // 国际化
  255 +// 消息弹窗
  256 +const message = useMessage()
  257 +// 国际化
  258 +const { t } = useI18n()
256 259  
257   -const loading = ref(true) // 列表的加载中
258   -const list = ref([]) // 列表的数据
  260 +// 列表的加载中
  261 +const loading = ref(true)
  262 +// 列表的数据
  263 +const list = ref<${simpleClassName}VO[]>([])
259 264 ## 特殊:树表专属逻辑(树不需要分页接口)
260 265 #if ( $table.templateType != 2 )
261   -const total = ref(0) // 列表的总页数
  266 +// 列表的总页数
  267 +const total = ref(0)
262 268 #end
263 269 const queryParams = reactive({
264 270 ## 特殊:树表专属逻辑(树不需要分页接口)
... ... @@ -277,8 +283,10 @@ const queryParams = reactive({
277 283 #end
278 284 #end
279 285 })
280   -const queryFormRef = ref() // 搜索的表单
281   -const exportLoading = ref(false) // 导出的加载中
  286 +// 搜索的表单
  287 +const queryFormRef = ref()
  288 +// 导出的加载中
  289 +const exportLoading = ref(false)
282 290  
283 291 /** 查询列表 */
284 292 const getList = async () => {
... ...