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 import request from '@/config/axios' 1 import request from '@/config/axios'
2 #set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}") 2 #set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}")
3 3
  4 +// ${table.classComment} VO
4 export interface ${simpleClassName}VO { 5 export interface ${simpleClassName}VO {
5 #foreach ($column in $columns) 6 #foreach ($column in $columns)
6 #if ($column.createOperation || $column.updateOperation) 7 #if ($column.createOperation || $column.updateOperation)
  8 + // ${column.columnComment}
7 #if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal") 9 #if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal")
8 ${column.javaField}: number 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 ${column.javaField}: Date 12 ${column.javaField}: Date
11 #else 13 #else
12 ${column.javaField}: ${column.javaType.toLowerCase()} 14 ${column.javaField}: ${column.javaType.toLowerCase()}
@@ -15,42 +17,44 @@ export interface ${simpleClassName}VO { @@ -15,42 +17,44 @@ export interface ${simpleClassName}VO {
15 #end 17 #end
16 } 18 }
17 19
  20 +// ${table.classComment} API
  21 +export const ${simpleClassName}Api = {
18 #if ( $table.templateType != 2 ) 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 #else 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 #end 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 #foreach ($subTable in $subTables) 59 #foreach ($subTable in $subTables)
56 #set ($index = $foreach.count - 1) 60 #set ($index = $foreach.count - 1)
@@ -66,46 +70,47 @@ export const export${simpleClassName} = async (params) => { @@ -66,46 +70,47 @@ export const export${simpleClassName} = async (params) => {
66 ## 情况一:MASTER_ERP 时,需要分查询页子表 70 ## 情况一:MASTER_ERP 时,需要分查询页子表
67 #if ( $table.templateType == 11 ) 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 ## 情况二:非 MASTER_ERP 时,需要列表查询子表 77 ## 情况二:非 MASTER_ERP 时,需要列表查询子表
74 #else 78 #else
75 #if ( $subTable.subJoinMany ) 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 #else 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 #end 91 #end
88 #end 92 #end
89 ## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作 93 ## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作
90 #if ( $table.templateType == 11 ) 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 #end 114 #end
111 -#end  
112 \ No newline at end of file 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,7 +114,7 @@
114 </template> 114 </template>
115 <script setup lang="ts"> 115 <script setup lang="ts">
116 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict' 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 const { t } = useI18n() // 国际化 119 const { t } = useI18n() // 国际化
120 const message = useMessage() // 消息弹窗 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,7 +265,7 @@
265 </template> 265 </template>
266 <script setup lang="ts"> 266 <script setup lang="ts">
267 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict' 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 const props = defineProps<{ 270 const props = defineProps<{
271 ${subJoinColumn.javaField}: undefined // ${subJoinColumn.columnComment}(主表的关联字段) 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,7 +85,7 @@
85 <script setup lang="ts"> 85 <script setup lang="ts">
86 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict' 86 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
87 import { dateFormatter } from '@/utils/formatTime' 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 #if ($table.templateType == 11) 89 #if ($table.templateType == 11)
90 import ${subSimpleClassName}Form from './${subSimpleClassName}Form.vue' 90 import ${subSimpleClassName}Form from './${subSimpleClassName}Form.vue'
91 #end 91 #end
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/views/form.vue.vm
@@ -140,7 +140,7 @@ @@ -140,7 +140,7 @@
140 </template> 140 </template>
141 <script setup lang="ts"> 141 <script setup lang="ts">
142 import { getIntDictOptions, getStrDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict' 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 #if ( $table.templateType == 2 ) 145 #if ( $table.templateType == 2 )
146 import { defaultProps, handleTree } from '@/utils/tree' 146 import { defaultProps, handleTree } from '@/utils/tree'
@@ -152,6 +152,9 @@ import ${subSimpleClassName}Form from &#39;./components/${subSimpleClassName}Form.vu @@ -152,6 +152,9 @@ import ${subSimpleClassName}Form from &#39;./components/${subSimpleClassName}Form.vu
152 #end 152 #end
153 #end 153 #end
154 154
  155 +/** ${table.classComment} 表单 */
  156 +defineOptions({ name: '${simpleClassName}Form' })
  157 +
155 const { t } = useI18n() // 国际化 158 const { t } = useI18n() // 国际化
156 const message = useMessage() // 消息弹窗 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,7 +240,7 @@ import { dateFormatter } from &#39;@/utils/formatTime&#39;
240 import { handleTree } from '@/utils/tree' 240 import { handleTree } from '@/utils/tree'
241 #end 241 #end
242 import download from '@/utils/download' 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 import ${simpleClassName}Form from './${simpleClassName}Form.vue' 244 import ${simpleClassName}Form from './${simpleClassName}Form.vue'
245 ## 特殊:主子表专属逻辑 245 ## 特殊:主子表专属逻辑
246 #if ( $table.templateType != 10 ) 246 #if ( $table.templateType != 10 )
@@ -249,16 +249,22 @@ import ${subSimpleClassName}List from &#39;./components/${subSimpleClassName}List.vu @@ -249,16 +249,22 @@ import ${subSimpleClassName}List from &#39;./components/${subSimpleClassName}List.vu
249 #end 249 #end
250 #end 250 #end
251 251
  252 +/** ${table.classComment} 列表 */
252 defineOptions({ name: '${table.className}' }) 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 #if ( $table.templateType != 2 ) 265 #if ( $table.templateType != 2 )
261 -const total = ref(0) // 列表的总页数 266 +// 列表的总页数
  267 +const total = ref(0)
262 #end 268 #end
263 const queryParams = reactive({ 269 const queryParams = reactive({
264 ## 特殊:树表专属逻辑(树不需要分页接口) 270 ## 特殊:树表专属逻辑(树不需要分页接口)
@@ -277,8 +283,10 @@ const queryParams = reactive({ @@ -277,8 +283,10 @@ const queryParams = reactive({
277 #end 283 #end
278 #end 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 const getList = async () => { 292 const getList = async () => {