Переглянути джерело

代码生成子表支持日期/字典配置

RuoYi 4 роки тому
батько
коміт
089ebaf9c5

+ 1 - 1
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/auth/AuthLogic.java

@@ -93,7 +93,7 @@ public class AuthLogic
93 93
     }
94 94
 
95 95
     /**
96
-     * 验证当前用户有效期, 如果相差不足360分钟,自动刷新缓存
96
+     * 验证当前用户有效期, 如果相差不足120分钟,自动刷新缓存
97 97
      * 
98 98
      * @param loginUser 当前用户信息
99 99
      */

+ 17 - 1
ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/VelocityUtils.java

@@ -271,6 +271,23 @@ public class VelocityUtils
271 271
     {
272 272
         List<GenTableColumn> columns = genTable.getColumns();
273 273
         Set<String> dicts = new HashSet<String>();
274
+        addDicts(dicts, columns);
275
+        if (StringUtils.isNotNull(genTable.getSubTable()))
276
+        {
277
+            List<GenTableColumn> subColumns = genTable.getSubTable().getColumns();
278
+            addDicts(dicts, subColumns);
279
+        }
280
+        return StringUtils.join(dicts, ", ");
281
+    }
282
+
283
+    /**
284
+     * 添加字典列表
285
+     * 
286
+     * @param dicts 字典列表
287
+     * @param columns 列集合
288
+     */
289
+    public static void addDicts(Set<String> dicts, List<GenTableColumn> columns)
290
+    {
274 291
         for (GenTableColumn column : columns)
275 292
         {
276 293
             if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny(
@@ -280,7 +297,6 @@ public class VelocityUtils
280 297
                 dicts.add("'" + column.getDictType() + "'");
281 298
             }
282 299
         }
283
-        return StringUtils.join(dicts, ", ");
284 300
     }
285 301
 
286 302
     /**

+ 31 - 4
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index.vue.vm

@@ -44,7 +44,7 @@
44 44
           v-model="queryParams.${column.javaField}"
45 45
           type="date"
46 46
           value-format="yyyy-MM-dd"
47
-          placeholder="选择${comment}">
47
+          placeholder="选择${comment}">
48 48
         </el-date-picker>
49 49
       </el-form-item>
50 50
 #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
@@ -269,7 +269,7 @@
269 269
             v-model="form.${field}"
270 270
             type="date"
271 271
             value-format="yyyy-MM-dd"
272
-            placeholder="选择${comment}">
272
+            placeholder="选择${comment}">
273 273
           </el-date-picker>
274 274
         </el-form-item>
275 275
 #elseif($column.htmlType == "textarea")
@@ -302,12 +302,39 @@
302 302
 #set($comment=$column.columnComment)
303 303
 #end
304 304
 #if($column.pk || $javaField == ${subTableFkclassName})
305
-#elseif($column.list && "" != $javaField)
306
-          <el-table-column label="$comment" prop="${javaField}">
305
+#elseif($column.list && $column.htmlType == "input")
306
+          <el-table-column label="$comment" prop="${javaField}" width="150">
307 307
             <template slot-scope="scope">
308 308
               <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" />
309 309
             </template>
310 310
           </el-table-column>
311
+#elseif($column.list && $column.htmlType == "datetime")
312
+          <el-table-column label="$comment" prop="${javaField}" width="240">
313
+            <template slot-scope="scope">
314
+              <el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="yyyy-MM-dd" placeholder="请选择$comment" />
315
+            </template>
316
+          </el-table-column>
317
+#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType)
318
+          <el-table-column label="$comment" prop="${javaField}" width="150">
319
+            <template slot-scope="scope">
320
+              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
321
+                <el-option
322
+                  v-for="dict in dict.type.$column.dictType"
323
+                  :key="dict.value"
324
+                  :label="dict.label"
325
+                  :value="dict.value"
326
+                ></el-option>
327
+              </el-select>
328
+            </template>
329
+          </el-table-column>
330
+#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType)
331
+          <el-table-column label="$comment" prop="${javaField}" width="150">
332
+            <template slot-scope="scope">
333
+              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
334
+                <el-option label="请选择字典生成" value="" />
335
+              </el-select>
336
+            </template>
337
+          </el-table-column>
311 338
 #end
312 339
 #end
313 340
         </el-table>

+ 36 - 4
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/v3/index.vue.vm

@@ -43,7 +43,7 @@
43 43
           v-model="queryParams.${column.javaField}"
44 44
           type="date"
45 45
           value-format="YYYY-MM-DD"
46
-          placeholder="选择${comment}">
46
+          placeholder="选择${comment}">
47 47
         </el-date-picker>
48 48
       </el-form-item>
49 49
 #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
@@ -260,7 +260,7 @@
260 260
             v-model="form.${field}"
261 261
             type="date"
262 262
             value-format="YYYY-MM-DD"
263
-            placeholder="选择${comment}">
263
+            placeholder="选择${comment}">
264 264
           </el-date-picker>
265 265
         </el-form-item>
266 266
 #elseif($column.htmlType == "textarea")
@@ -293,12 +293,44 @@
293 293
 #set($comment=$column.columnComment)
294 294
 #end
295 295
 #if($column.pk || $javaField == ${subTableFkclassName})
296
-#elseif($column.list && "" != $javaField)
297
-          <el-table-column label="$comment" prop="${javaField}">
296
+#elseif($column.list && $column.htmlType == "input")
297
+          <el-table-column label="$comment" prop="${javaField}" width="150">
298 298
             <template #default="scope">
299 299
               <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" />
300 300
             </template>
301 301
           </el-table-column>
302
+#elseif($column.list && $column.htmlType == "datetime")
303
+          <el-table-column label="$comment" prop="${javaField}" width="240">
304
+            <template #default="scope">
305
+              <el-date-picker clearable
306
+                v-model="scope.row.$javaField"
307
+                type="date"
308
+                value-format="YYYY-MM-DD"
309
+                placeholder="请选择$comment">
310
+              </el-date-picker>
311
+            </template>
312
+          </el-table-column>
313
+#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType)
314
+          <el-table-column label="$comment" prop="${javaField}" width="150">
315
+            <template #default="scope">
316
+              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
317
+                <el-option
318
+                  v-for="dict in $column.dictType"
319
+                  :key="dict.value"
320
+                  :label="dict.label"
321
+                  :value="dict.value"
322
+                ></el-option>
323
+              </el-select>
324
+            </template>
325
+          </el-table-column>
326
+#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType)
327
+          <el-table-column label="$comment" prop="${javaField}" width="150">
328
+            <template #default="scope">
329
+              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
330
+                <el-option label="请选择字典生成" value="" />
331
+              </el-select>
332
+            </template>
333
+          </el-table-column>
302 334
 #end
303 335
 #end
304 336
         </el-table>

+ 1 - 1
ruoyi-ui/src/views/system/dept/index.vue

@@ -206,7 +206,7 @@ export default {
206 206
         email: [
207 207
           {
208 208
             type: "email",
209
-            message: "'请输入正确的邮箱地址",
209
+            message: "请输入正确的邮箱地址",
210 210
             trigger: ["blur", "change"]
211 211
           }
212 212
         ],