From 790736c98d8a7d6d1194d1e642946bc8219edcfb Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Sun, 12 Apr 2026 10:40:37 +0800
Subject: [PATCH] 新增代码生成详情页功能

---
 ruoyi-ui/src/views/tool/gen/genInfoForm.vue |   95 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 66 insertions(+), 29 deletions(-)

diff --git a/ruoyi-ui/src/views/tool/gen/genInfoForm.vue b/ruoyi-ui/src/views/tool/gen/genInfoForm.vue
index bf6382d..3c3015f 100644
--- a/ruoyi-ui/src/views/tool/gen/genInfoForm.vue
+++ b/ruoyi-ui/src/views/tool/gen/genInfoForm.vue
@@ -12,6 +12,16 @@
         </el-form-item>
       </el-col>
       <el-col :span="12">
+        <el-form-item prop="tplWebType">
+          <span slot="label">前端类型</span>
+          <el-select v-model="info.tplWebType">
+            <el-option label="Vue2 Element UI 模版" value="element-ui" />
+            <el-option label="Vue3 Element Plus 模版" value="element-plus" />
+            <el-option label="Vue3 Element Plus TypeScript 模版" value="element-plus-typescript" />
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
         <el-form-item prop="packageName">
           <span slot="label">
             生成包路径
@@ -60,6 +70,42 @@
       </el-col>
 
       <el-col :span="12">
+        <el-form-item prop="formColNum">
+          <span slot="label">
+            表单布局
+            <el-tooltip content="选择表单的栅格布局方式" placement="top">
+              <i class="el-icon-question"></i>
+            </el-tooltip>
+          </span>
+          <el-select v-model="info.formColNum">
+            <el-option label="单列" :value="1" />
+            <el-option label="双列" :value="2" />
+            <el-option label="三列" :value="3" />
+          </el-select>
+        </el-form-item>
+      </el-col>
+
+      <el-col :span="12">
+        <el-form-item prop="genView">
+          <span slot="label">扩展功能</span>
+          <el-checkbox v-model="info.view">生成详情页</el-checkbox>
+        </el-form-item>
+      </el-col>
+
+      <el-col :span="12">
+        <el-form-item prop="genType">
+          <span slot="label">
+            生成代码方式
+            <el-tooltip content="默认为zip压缩包下载,也可以自定义生成路径" placement="top">
+              <i class="el-icon-question"></i>
+            </el-tooltip>
+          </span>
+          <el-radio v-model="info.genType" label="0">zip压缩包</el-radio>
+          <el-radio v-model="info.genType" label="1">自定义路径</el-radio>
+        </el-form-item>
+      </el-col>
+
+      <el-col :span="12">
         <el-form-item>
           <span slot="label">
             上级菜单
@@ -75,19 +121,6 @@
             :show-count="true"
             placeholder="请选择系统菜单"
           />
-        </el-form-item>
-      </el-col>
-
-      <el-col :span="12">
-        <el-form-item prop="genType">
-          <span slot="label">
-            生成代码方式
-            <el-tooltip content="默认为zip压缩包下载,也可以自定义生成路径" placement="top">
-              <i class="el-icon-question"></i>
-            </el-tooltip>
-          </span>
-          <el-radio v-model="info.genType" label="0">zip压缩包</el-radio>
-          <el-radio v-model="info.genType" label="1">自定义路径</el-radio>
         </el-form-item>
       </el-col>
 
@@ -214,8 +247,8 @@
 </template>
 
 <script>
-import Treeselect from "@riophae/vue-treeselect";
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import Treeselect from "@riophae/vue-treeselect"
+import "@riophae/vue-treeselect/dist/vue-treeselect.css"
 
 export default {
   components: { Treeselect },
@@ -231,7 +264,7 @@
     menus: {
       type: Array,
       default: []
-    },
+    }
   },
   data() {
     return {
@@ -251,49 +284,53 @@
         ],
         functionName: [
           { required: true, message: "请输入生成功能名", trigger: "blur" }
-        ],
+        ]
       }
-    };
+    }
   },
-  created() {},
   watch: {
     'info.subTableName': function(val) {
-      this.setSubTableColumns(val);
+      this.setSubTableColumns(val)
+    },
+    'info.tplWebType': function(val) {
+      if (val === '') {
+        this.info.tplWebType = "element-ui"
+      }
     }
   },
   methods: {
     /** 转换菜单数据结构 */
     normalizer(node) {
       if (node.children && !node.children.length) {
-        delete node.children;
+        delete node.children
       }
       return {
         id: node.menuId,
         label: node.menuName,
         children: node.children
-      };
+      }
     },
     /** 选择子表名触发 */
     subSelectChange(value) {
-      this.info.subTableFkName = '';
+      this.info.subTableFkName = ''
     },
     /** 选择生成模板触发 */
     tplSelectChange(value) {
       if(value !== 'sub') {
-        this.info.subTableName = '';
-        this.info.subTableFkName = '';
+        this.info.subTableName = ''
+        this.info.subTableFkName = ''
       }
     },
     /** 设置关联外键 */
     setSubTableColumns(value) {
       for (var item in this.tables) {
-        const name = this.tables[item].tableName;
+        const name = this.tables[item].tableName
         if (value === name) {
-          this.subColumns = this.tables[item].columns;
-          break;
+          this.subColumns = this.tables[item].columns
+          break
         }
       }
     }
   }
-};
+}
 </script>

--
Gitblit v1.9.3