Commit 0b25eb1c2a080854681dce2456788aa93d541f33

Authored by YunaiV
1 parent eb3d0386

继续完善 index.vue.vm 模板 = = 睡觉~~~

ruoyi-generator/src/main/resources/vm/js/api.js.vm renamed to ruoyi-ui/src/api/tool/testDemo.js
1 -import request from '@/utils/request'  
2 -  
3 -// 查询${functionName}列表  
4 -export function list${BusinessName}(query) {  
5 - return request({  
6 - url: '/${moduleName}/${businessName}/list',  
7 - method: 'get',  
8 - params: query  
9 - })  
10 -}  
11 -  
12 -// 查询${functionName}详细  
13 -export function get${BusinessName}(${pkColumn.javaField}) {  
14 - return request({  
15 - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},  
16 - method: 'get'  
17 - })  
18 -}  
19 -  
20 -// 新增${functionName}  
21 -export function add${BusinessName}(data) {  
22 - return request({  
23 - url: '/${moduleName}/${businessName}',  
24 - method: 'post',  
25 - data: data  
26 - })  
27 -}  
28 -  
29 -// 修改${functionName}  
30 -export function update${BusinessName}(data) {  
31 - return request({  
32 - url: '/${moduleName}/${businessName}',  
33 - method: 'put',  
34 - data: data  
35 - })  
36 -}  
37 -  
38 -// 删除${functionName}  
39 -export function del${BusinessName}(${pkColumn.javaField}) {  
40 - return request({  
41 - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},  
42 - method: 'delete'  
43 - })  
44 -}  
45 -  
46 -// 导出${functionName}  
47 -export function export${BusinessName}(query) {  
48 - return request({  
49 - url: '/${moduleName}/${businessName}/export',  
50 - method: 'get',  
51 - params: query  
52 - })  
53 -}  
54 \ No newline at end of file 1 \ No newline at end of file
  2 +import request from '@/utils/request'
  3 +
  4 +// 创建字典类型
  5 +export function createTestDemo(data) {
  6 + return request({
  7 + url: '/tool/test-demo/create',
  8 + method: 'post',
  9 + data: data
  10 + })
  11 +}
  12 +
  13 +// 更新字典类型
  14 +export function updateTestDemo(data) {
  15 + return request({
  16 + url: '/tool/test-demo/update',
  17 + method: 'put',
  18 + data: data
  19 + })
  20 +}
  21 +
  22 +
  23 +// 删除字典类型
  24 +export function deleteTestDemo(id) {
  25 + return request({
  26 + url: '/tool/test-demo/delelte?id=' + id,
  27 + method: 'delete'
  28 + })
  29 +}
  30 +
  31 +// 获得字典类型
  32 +export function getTestDemo(id) {
  33 + return request({
  34 + url: '/tool/test-demo/get?id=' + id,
  35 + method: 'get'
  36 + })
  37 +}
  38 +
  39 +// 获得字典类型分页
  40 +export function getTestDemoPage(query) {
  41 + return request({
  42 + url: '/tool/test-demo/page',
  43 + method: 'get',
  44 + params: query
  45 + })
  46 +}
  47 +
  48 +// 导出字典类型 Excel
  49 +export function exportTestDemoExcel(query) {
  50 + return request({
  51 + url: '/tool/test-demo/export-excel',
  52 + method: 'get',
  53 + params: query,
  54 + reponseBody: 'blob'
  55 + })
  56 +}
src/main/java/cn/iocoder/dashboard/modules/tool/service/codegen/impl/ToolCodegenEngine.java
@@ -81,6 +81,8 @@ public class ToolCodegenEngine { @@ -81,6 +81,8 @@ public class ToolCodegenEngine {
81 // Vue 81 // Vue
82 .put(vueTemplatePath("views/index.vue"), 82 .put(vueTemplatePath("views/index.vue"),
83 vueFilePath("views/${table.moduleName}/${table.businessName}/index.vue")) 83 vueFilePath("views/${table.moduleName}/${table.businessName}/index.vue"))
  84 + .put(vueTemplatePath("api/api.js"),
  85 + vueFilePath("api/${table.moduleName}/${classNameVar}.js"))
84 // SQL 86 // SQL
85 .build(); 87 .build();
86 88
@@ -163,6 +165,7 @@ public class ToolCodegenEngine { @@ -163,6 +165,7 @@ public class ToolCodegenEngine {
163 filePath = StrUtil.replace(filePath, "${table.moduleName}", table.getModuleName()); 165 filePath = StrUtil.replace(filePath, "${table.moduleName}", table.getModuleName());
164 filePath = StrUtil.replace(filePath, "${table.businessName}", table.getBusinessName()); 166 filePath = StrUtil.replace(filePath, "${table.businessName}", table.getBusinessName());
165 filePath = StrUtil.replace(filePath, "${table.className}", table.getClassName()); 167 filePath = StrUtil.replace(filePath, "${table.className}", table.getClassName());
  168 + filePath = StrUtil.replace(filePath, "${classNameVar}", (String) bindingMap.get("classNameVar"));
166 return filePath; 169 return filePath;
167 } 170 }
168 171
src/main/resources/codegen/vue/api/api.js.vm
1 import request from '@/utils/request' 1 import request from '@/utils/request'
  2 +#set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}")
2 3
3 -// 查询${functionName}列表  
4 -export function list${BusinessName}(query) { 4 +// 创建${table.classComment}
  5 +export function create${simpleClassName}(data) {
5 return request({ 6 return request({
6 - url: '/${moduleName}/${businessName}/list',  
7 - method: 'get',  
8 - params: query 7 + url: '${baseURL}/create',
  8 + method: 'post',
  9 + data: data
9 }) 10 })
10 } 11 }
11 12
12 -// 查询${functionName}详细  
13 -export function get${BusinessName}(${pkColumn.javaField}) { 13 +// 更新${table.classComment}
  14 +export function update${simpleClassName}(data) {
14 return request({ 15 return request({
15 - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},  
16 - method: 'get' 16 + url: '${baseURL}/update',
  17 + method: 'put',
  18 + data: data
17 }) 19 })
18 } 20 }
19 21
20 -// 新增${functionName}  
21 -export function add${BusinessName}(data) { 22 +
  23 +// 删除${table.classComment}
  24 +export function delete${simpleClassName}(id) {
22 return request({ 25 return request({
23 - url: '/${moduleName}/${businessName}',  
24 - method: 'post',  
25 - data: data 26 + url: '${baseURL}/delelte?id=' + id,
  27 + method: 'delete'
26 }) 28 })
27 } 29 }
28 30
29 -// 修改${functionName}  
30 -export function update${BusinessName}(data) { 31 +// 获得${table.classComment}
  32 +export function get${simpleClassName}(id) {
31 return request({ 33 return request({
32 - url: '/${moduleName}/${businessName}',  
33 - method: 'put',  
34 - data: data 34 + url: '${baseURL}/get?id=' + id,
  35 + method: 'get'
35 }) 36 })
36 } 37 }
37 38
38 -// 删除${functionName}  
39 -export function del${BusinessName}(${pkColumn.javaField}) { 39 +// 获得${table.classComment}分页
  40 +export function get${simpleClassName}Page(query) {
40 return request({ 41 return request({
41 - url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},  
42 - method: 'delete' 42 + url: '${baseURL}/page',
  43 + method: 'get',
  44 + params: query
43 }) 45 })
44 } 46 }
45 47
46 -// 导出${functionName}  
47 -export function export${BusinessName}(query) { 48 +// 导出${table.classComment} Excel
  49 +export function export${simpleClassName}Excel(query) {
48 return request({ 50 return request({
49 - url: '/${moduleName}/${businessName}/export', 51 + url: '${baseURL}/export-excel',
50 method: 'get', 52 method: 'get',
51 - params: query 53 + params: query,
  54 + reponseBody: 'blob'
52 }) 55 })
53 -}  
54 \ No newline at end of file 56 \ No newline at end of file
  57 +}
src/main/resources/codegen/vue/views/index.vue.vm
@@ -111,14 +111,17 @@ @@ -111,14 +111,17 @@
111 </el-form-item> 111 </el-form-item>
112 #end 112 #end
113 #elseif($column.htmlType == "imageUpload")## 图片上传 113 #elseif($column.htmlType == "imageUpload")## 图片上传
  114 + #set ($hasImageUploadColumn = true)
114 <el-form-item label="${comment}"> 115 <el-form-item label="${comment}">
115 <imageUpload v-model="form.${javaField}"/> 116 <imageUpload v-model="form.${javaField}"/>
116 </el-form-item> 117 </el-form-item>
117 #elseif($column.htmlType == "fileUpload")## 文件上传 118 #elseif($column.htmlType == "fileUpload")## 文件上传
  119 + #set ($hasFileUploadColumn = true)
118 <el-form-item label="${comment}"> 120 <el-form-item label="${comment}">
119 <fileUpload v-model="form.${javaField}"/> 121 <fileUpload v-model="form.${javaField}"/>
120 </el-form-item> 122 </el-form-item>
121 #elseif($column.htmlType == "editor")## 文本编辑器 123 #elseif($column.htmlType == "editor")## 文本编辑器
  124 + #set ($hasEditorColumn = true)
122 <el-form-item label="${comment}"> 125 <el-form-item label="${comment}">
123 <editor v-model="form.${javaField}" :min-height="192"/> 126 <editor v-model="form.${javaField}" :min-height="192"/>
124 </el-form-item> 127 </el-form-item>
@@ -176,46 +179,28 @@ @@ -176,46 +179,28 @@
176 </template> 179 </template>
177 180
178 <script> 181 <script>
179 -import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";  
180 -#foreach($column in $columns)  
181 -#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "imageUpload") 182 +import { create${simpleClassName}, update${simpleClassName}, delete${simpleClassName}, get${simpleClassName}, get${simpleClassName}Page, export${simpleClassName}Excel } from "@/api/${table.moduleName}/${classNameVar}";
  183 +#if ($hasImageUploadColumn)
182 import ImageUpload from '@/components/ImageUpload'; 184 import ImageUpload from '@/components/ImageUpload';
183 -#break  
184 -#end  
185 #end 185 #end
186 -#foreach($column in $columns)  
187 -#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "fileUpload") 186 +#if ($hasFileUploadColumn)
188 import FileUpload from '@/components/FileUpload'; 187 import FileUpload from '@/components/FileUpload';
189 -#break  
190 #end 188 #end
191 -#end  
192 -#foreach($column in $columns)  
193 -#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor") 189 +#if ($hasEditorColumn)
194 import Editor from '@/components/Editor'; 190 import Editor from '@/components/Editor';
195 -#break  
196 -#end  
197 #end 191 #end
198 192
199 export default { 193 export default {
200 - name: "${BusinessName}", 194 + name: "${simpleClassName}",
201 components: { 195 components: {
202 -#foreach($column in $columns)  
203 -#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "imageUpload") 196 +#if ($hasImageUploadColumn)
204 ImageUpload, 197 ImageUpload,
205 -#break  
206 -#end  
207 #end 198 #end
208 -#foreach($column in $columns)  
209 -#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "fileUpload") 199 +#if ($hasFileUploadColumn)
210 FileUpload, 200 FileUpload,
211 -#break  
212 -#end  
213 #end 201 #end
214 -#foreach($column in $columns)  
215 -#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor") 202 +#if ($hasEditorColumn)
216 Editor, 203 Editor,
217 -#break  
218 -#end  
219 #end 204 #end
220 }, 205 },
221 data() { 206 data() {
@@ -232,63 +217,37 @@ export default { @@ -232,63 +217,37 @@ export default {
232 title: "", 217 title: "",
233 // 是否显示弹出层 218 // 是否显示弹出层
234 open: false, 219 open: false,
235 -#foreach ($column in $columns)  
236 -#set($parentheseIndex=$column.columnComment.indexOf("("))  
237 -#if($parentheseIndex != -1)  
238 -#set($comment=$column.columnComment.substring(0, $parentheseIndex))  
239 -#else  
240 -#set($comment=$column.columnComment)  
241 -#end  
242 -#if(${column.dictType} != '')  
243 - // $comment字典  
244 - ${column.javaField}Options: [],  
245 -#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")  
246 -#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})  
247 - // $comment时间范围 220 + #foreach ($column in $columns)## 时间范围
  221 + #if ($column.htmlType == "datetime" && $column.listOperationCondition == "BETWEEN")
  222 + #set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
248 dateRange${AttrName}: [], 223 dateRange${AttrName}: [],
249 -#end  
250 -#end 224 + #end
  225 + #end
251 // 查询参数 226 // 查询参数
252 queryParams: { 227 queryParams: {
253 pageNo: 1, 228 pageNo: 1,
254 pageSize: 10, 229 pageSize: 10,
255 -#foreach ($column in $columns)  
256 -#if($column.query)  
257 - $column.javaField: null#if($velocityCount != $columns.size()),#end  
258 -  
259 -#end  
260 -#end 230 + #foreach ($column in $columns)
  231 + #if ($column.listOperation && $column.listOperationCondition != 'BETWEEN')
  232 + $column.javaField: null,
  233 + #end
  234 + #end
261 }, 235 },
262 // 表单参数 236 // 表单参数
263 form: {}, 237 form: {},
264 // 表单校验 238 // 表单校验
265 rules: { 239 rules: {
266 -#foreach ($column in $columns)  
267 -#if($column.required)  
268 -#set($parentheseIndex=$column.columnComment.indexOf("("))  
269 -#if($parentheseIndex != -1)  
270 -#set($comment=$column.columnComment.substring(0, $parentheseIndex))  
271 -#else  
272 -#set($comment=$column.columnComment)  
273 -#end  
274 - $column.javaField: [  
275 - { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select")"change"#else"blur"#end }  
276 - ]#if($velocityCount != $columns.size()),#end  
277 -  
278 -#end  
279 -#end 240 + #foreach ($column in $columns)
  241 + #if (($column.createOperation || $column.updateOperation) && !$column.nullable && !${column.primaryKey})## 创建或者更新操作 && 要求非空 && 非主键
  242 + #set($comment=$column.columnComment)
  243 + $column.javaField: [{ required: true, message: "${comment}不能为空", trigger: #if($column.htmlType == "select")"change"#else"blur"#end }],
  244 + #end
  245 + #end
280 } 246 }
281 }; 247 };
282 }, 248 },
283 created() { 249 created() {
284 this.getList(); 250 this.getList();
285 -#foreach ($column in $columns)  
286 -#if(${column.dictType} != '')  
287 - this.getDicts("${column.dictType}").then(response => {  
288 - this.${column.javaField}Options = response.data;  
289 - });  
290 -#end  
291 -#end  
292 }, 251 },
293 methods: { 252 methods: {
294 /** 查询${functionName}列表 */ 253 /** 查询${functionName}列表 */
@@ -379,6 +338,8 @@ export default { @@ -379,6 +338,8 @@ export default {
379 submitForm() { 338 submitForm() {
380 this.#[[$]]#refs["form"].validate(valid => { 339 this.#[[$]]#refs["form"].validate(valid => {
381 if (valid) { 340 if (valid) {
  341 + return;
  342 + }
382 #foreach ($column in $columns) 343 #foreach ($column in $columns)
383 #if($column.htmlType == "checkbox") 344 #if($column.htmlType == "checkbox")
384 this.form.$column.javaField = this.form.${column.javaField}.join(","); 345 this.form.$column.javaField = this.form.${column.javaField}.join(",");
@@ -402,7 +363,7 @@ export default { @@ -402,7 +363,7 @@ export default {
402 }, 363 },
403 /** 删除按钮操作 */ 364 /** 删除按钮操作 */
404 handleDelete(row) { 365 handleDelete(row) {
405 - const ${pkColumn.javaField}s = row.${pkColumn.javaField} || this.ids; 366 + const ${pkColumn.javaField}s = row.${pkColumn.javaField};
406 this.$confirm('是否确认删除${functionName}编号为"' + ${pkColumn.javaField}s + '"的数据项?', "警告", { 367 this.$confirm('是否确认删除${functionName}编号为"' + ${pkColumn.javaField}s + '"的数据项?', "警告", {
407 confirmButtonText: "确定", 368 confirmButtonText: "确定",
408 cancelButtonText: "取消", 369 cancelButtonText: "取消",