mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	remove 删除 主子表相关代码
This commit is contained in:
		@@ -16,11 +16,6 @@ public interface GenConstants {
 | 
			
		||||
     */
 | 
			
		||||
    String TPL_TREE = "tree";
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 主子表(增删改查)
 | 
			
		||||
     */
 | 
			
		||||
    String TPL_SUB = "sub";
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 树编码字段
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,18 @@
 | 
			
		||||
package com.ruoyi.generator.domain;
 | 
			
		||||
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.*;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableField;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableId;
 | 
			
		||||
import com.baomidou.mybatisplus.annotation.TableName;
 | 
			
		||||
import com.ruoyi.common.constant.GenConstants;
 | 
			
		||||
import com.ruoyi.common.core.domain.BaseEntity;
 | 
			
		||||
import com.ruoyi.common.utils.StringUtils;
 | 
			
		||||
import jakarta.validation.Valid;
 | 
			
		||||
import jakarta.validation.constraints.NotBlank;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.EqualsAndHashCode;
 | 
			
		||||
import org.apache.commons.lang3.ArrayUtils;
 | 
			
		||||
 | 
			
		||||
import jakarta.validation.Valid;
 | 
			
		||||
import jakarta.validation.constraints.NotBlank;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -109,12 +112,6 @@ public class GenTable extends BaseEntity {
 | 
			
		||||
    @TableField(exist = false)
 | 
			
		||||
    private GenTableColumn pkColumn;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 子表信息
 | 
			
		||||
     */
 | 
			
		||||
    @TableField(exist = false)
 | 
			
		||||
    private GenTable subTable;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 表列信息
 | 
			
		||||
     */
 | 
			
		||||
@@ -168,14 +165,6 @@ public class GenTable extends BaseEntity {
 | 
			
		||||
    @TableField(exist = false)
 | 
			
		||||
    private String parentMenuName;
 | 
			
		||||
 | 
			
		||||
    public boolean isSub() {
 | 
			
		||||
        return isSub(this.tplCategory);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static boolean isSub(String tplCategory) {
 | 
			
		||||
        return tplCategory != null && StringUtils.equals(GenConstants.TPL_SUB, tplCategory);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public boolean isTree() {
 | 
			
		||||
        return isTree(this.tplCategory);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -210,8 +210,6 @@ public class GenTableServiceImpl implements IGenTableService {
 | 
			
		||||
            menuIds.add(identifierGenerator.nextId(null).longValue());
 | 
			
		||||
        }
 | 
			
		||||
        table.setMenuIds(menuIds);
 | 
			
		||||
        // 设置主子表信息
 | 
			
		||||
        setSubTable(table);
 | 
			
		||||
        // 设置主键列信息
 | 
			
		||||
        setPkColumn(table);
 | 
			
		||||
        VelocityInitializer.initVelocity();
 | 
			
		||||
@@ -254,8 +252,6 @@ public class GenTableServiceImpl implements IGenTableService {
 | 
			
		||||
    public void generatorCode(String tableName) {
 | 
			
		||||
        // 查询表信息
 | 
			
		||||
        GenTable table = baseMapper.selectGenTableByName(tableName);
 | 
			
		||||
        // 设置主子表信息
 | 
			
		||||
        setSubTable(table);
 | 
			
		||||
        // 设置主键列信息
 | 
			
		||||
        setPkColumn(table);
 | 
			
		||||
 | 
			
		||||
@@ -360,8 +356,6 @@ public class GenTableServiceImpl implements IGenTableService {
 | 
			
		||||
            menuIds.add(identifierGenerator.nextId(null).longValue());
 | 
			
		||||
        }
 | 
			
		||||
        table.setMenuIds(menuIds);
 | 
			
		||||
        // 设置主子表信息
 | 
			
		||||
        setSubTable(table);
 | 
			
		||||
        // 设置主键列信息
 | 
			
		||||
        setPkColumn(table);
 | 
			
		||||
 | 
			
		||||
@@ -405,12 +399,6 @@ public class GenTableServiceImpl implements IGenTableService {
 | 
			
		||||
                throw new ServiceException("树父编码字段不能为空");
 | 
			
		||||
            } else if (StringUtils.isEmpty(paramsObj.getStr(GenConstants.TREE_NAME))) {
 | 
			
		||||
                throw new ServiceException("树名称字段不能为空");
 | 
			
		||||
            } else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) {
 | 
			
		||||
                if (StringUtils.isEmpty(genTable.getSubTableName())) {
 | 
			
		||||
                    throw new ServiceException("关联子表的表名不能为空");
 | 
			
		||||
                } else if (StringUtils.isEmpty(genTable.getSubTableFkName())) {
 | 
			
		||||
                    throw new ServiceException("子表关联的外键名不能为空");
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -430,29 +418,7 @@ public class GenTableServiceImpl implements IGenTableService {
 | 
			
		||||
        if (ObjectUtil.isNull(table.getPkColumn())) {
 | 
			
		||||
            table.setPkColumn(table.getColumns().get(0));
 | 
			
		||||
        }
 | 
			
		||||
        if (GenConstants.TPL_SUB.equals(table.getTplCategory())) {
 | 
			
		||||
            for (GenTableColumn column : table.getSubTable().getColumns()) {
 | 
			
		||||
                if (column.isPk()) {
 | 
			
		||||
                    table.getSubTable().setPkColumn(column);
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (ObjectUtil.isNull(table.getSubTable().getPkColumn())) {
 | 
			
		||||
                table.getSubTable().setPkColumn(table.getSubTable().getColumns().get(0));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设置主子表信息
 | 
			
		||||
     *
 | 
			
		||||
     * @param table 业务表信息
 | 
			
		||||
     */
 | 
			
		||||
    public void setSubTable(GenTable table) {
 | 
			
		||||
        String subTableName = table.getSubTableName();
 | 
			
		||||
        if (StringUtils.isNotEmpty(subTableName)) {
 | 
			
		||||
            table.setSubTable(baseMapper.selectGenTableByName(subTableName));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,6 @@ package com.ruoyi.generator.util;
 | 
			
		||||
import cn.hutool.core.collection.CollUtil;
 | 
			
		||||
import cn.hutool.core.convert.Convert;
 | 
			
		||||
import cn.hutool.core.lang.Dict;
 | 
			
		||||
import cn.hutool.core.util.ObjectUtil;
 | 
			
		||||
import com.ruoyi.common.constant.GenConstants;
 | 
			
		||||
import com.ruoyi.common.helper.DataBaseHelper;
 | 
			
		||||
import com.ruoyi.common.utils.DateUtils;
 | 
			
		||||
@@ -75,9 +74,6 @@ public class VelocityUtils {
 | 
			
		||||
        if (GenConstants.TPL_TREE.equals(tplCategory)) {
 | 
			
		||||
            setTreeVelocityContext(velocityContext, genTable);
 | 
			
		||||
        }
 | 
			
		||||
        if (GenConstants.TPL_SUB.equals(tplCategory)) {
 | 
			
		||||
            setSubVelocityContext(velocityContext, genTable);
 | 
			
		||||
        }
 | 
			
		||||
        return velocityContext;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -107,23 +103,6 @@ public class VelocityUtils {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void setSubVelocityContext(VelocityContext context, GenTable genTable) {
 | 
			
		||||
        GenTable subTable = genTable.getSubTable();
 | 
			
		||||
        String subTableName = genTable.getSubTableName();
 | 
			
		||||
        String subTableFkName = genTable.getSubTableFkName();
 | 
			
		||||
        String subClassName = genTable.getSubTable().getClassName();
 | 
			
		||||
        String subTableFkClassName = StringUtils.convertToCamelCase(subTableFkName);
 | 
			
		||||
 | 
			
		||||
        context.put("subTable", subTable);
 | 
			
		||||
        context.put("subTableName", subTableName);
 | 
			
		||||
        context.put("subTableFkName", subTableFkName);
 | 
			
		||||
        context.put("subTableFkClassName", subTableFkClassName);
 | 
			
		||||
        context.put("subTableFkclassName", StringUtils.uncapitalize(subTableFkClassName));
 | 
			
		||||
        context.put("subClassName", subClassName);
 | 
			
		||||
        context.put("subclassName", StringUtils.uncapitalize(subClassName));
 | 
			
		||||
        context.put("subImportList", getImportList(genTable.getSubTable()));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取模板信息
 | 
			
		||||
     *
 | 
			
		||||
@@ -153,9 +132,6 @@ public class VelocityUtils {
 | 
			
		||||
            templates.add("vm/vue/index.vue.vm");
 | 
			
		||||
        } else if (GenConstants.TPL_TREE.equals(tplCategory)) {
 | 
			
		||||
            templates.add("vm/vue/index-tree.vue.vm");
 | 
			
		||||
        } else if (GenConstants.TPL_SUB.equals(tplCategory)) {
 | 
			
		||||
            templates.add("vm/vue/index.vue.vm");
 | 
			
		||||
            templates.add("vm/java/sub-domain.java.vm");
 | 
			
		||||
        }
 | 
			
		||||
        return templates;
 | 
			
		||||
    }
 | 
			
		||||
@@ -188,9 +164,7 @@ public class VelocityUtils {
 | 
			
		||||
        if (template.contains("bo.java.vm")) {
 | 
			
		||||
            fileName = StringUtils.format("{}/domain/bo/{}Bo.java", javaPath, className);
 | 
			
		||||
        }
 | 
			
		||||
        if (template.contains("sub-domain.java.vm") && StringUtils.equals(GenConstants.TPL_SUB, genTable.getTplCategory())) {
 | 
			
		||||
            fileName = StringUtils.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName());
 | 
			
		||||
        } else if (template.contains("mapper.java.vm")) {
 | 
			
		||||
        if (template.contains("mapper.java.vm")) {
 | 
			
		||||
            fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className);
 | 
			
		||||
        } else if (template.contains("service.java.vm")) {
 | 
			
		||||
            fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className);
 | 
			
		||||
@@ -231,11 +205,7 @@ public class VelocityUtils {
 | 
			
		||||
     */
 | 
			
		||||
    public static HashSet<String> getImportList(GenTable genTable) {
 | 
			
		||||
        List<GenTableColumn> columns = genTable.getColumns();
 | 
			
		||||
        GenTable subGenTable = genTable.getSubTable();
 | 
			
		||||
        HashSet<String> importList = new HashSet<String>();
 | 
			
		||||
        if (ObjectUtil.isNotNull(subGenTable)) {
 | 
			
		||||
            importList.add("java.util.List");
 | 
			
		||||
        }
 | 
			
		||||
        for (GenTableColumn column : columns) {
 | 
			
		||||
            if (!column.isSuperColumn() && GenConstants.TYPE_DATE.equals(column.getJavaType())) {
 | 
			
		||||
                importList.add("java.util.Date");
 | 
			
		||||
@@ -257,10 +227,6 @@ public class VelocityUtils {
 | 
			
		||||
        List<GenTableColumn> columns = genTable.getColumns();
 | 
			
		||||
        Set<String> dicts = new HashSet<String>();
 | 
			
		||||
        addDicts(dicts, columns);
 | 
			
		||||
        if (ObjectUtil.isNotNull(genTable.getSubTable())) {
 | 
			
		||||
            List<GenTableColumn> subColumns = genTable.getSubTable().getColumns();
 | 
			
		||||
            addDicts(dicts, subColumns);
 | 
			
		||||
        }
 | 
			
		||||
        return StringUtils.join(dicts, ", ");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,76 +0,0 @@
 | 
			
		||||
package ${packageName}.domain;
 | 
			
		||||
 | 
			
		||||
#foreach ($import in $subImportList)
 | 
			
		||||
import ${import};
 | 
			
		||||
#end
 | 
			
		||||
import org.apache.commons.lang3.builder.ToStringBuilder;
 | 
			
		||||
import org.apache.commons.lang3.builder.ToStringStyle;
 | 
			
		||||
import com.ruoyi.common.annotation.Excel;
 | 
			
		||||
import com.ruoyi.common.core.domain.BaseEntity;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ${subTable.functionName}对象 ${subTableName}
 | 
			
		||||
 * 
 | 
			
		||||
 * @author ${author}
 | 
			
		||||
 * @date ${datetime}
 | 
			
		||||
 */
 | 
			
		||||
public class ${subClassName} extends BaseEntity
 | 
			
		||||
{
 | 
			
		||||
    private static final long serialVersionUID = 1L;
 | 
			
		||||
 | 
			
		||||
#foreach ($column in $subTable.columns)
 | 
			
		||||
#if(!$table.isSuperColumn($column.javaField))
 | 
			
		||||
    /** $column.columnComment */
 | 
			
		||||
#if($column.list)
 | 
			
		||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
 | 
			
		||||
#if($parentheseIndex != -1)
 | 
			
		||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
 | 
			
		||||
#else
 | 
			
		||||
#set($comment=$column.columnComment)
 | 
			
		||||
#end
 | 
			
		||||
#if($parentheseIndex != -1)
 | 
			
		||||
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
 | 
			
		||||
#elseif($column.javaType == 'Date')
 | 
			
		||||
    @JsonFormat(pattern = "yyyy-MM-dd")
 | 
			
		||||
    @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
 | 
			
		||||
#else
 | 
			
		||||
    @Excel(name = "${comment}")
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
    private $column.javaType $column.javaField;
 | 
			
		||||
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#foreach ($column in $subTable.columns)
 | 
			
		||||
#if(!$table.isSuperColumn($column.javaField))
 | 
			
		||||
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
 | 
			
		||||
#set($AttrName=$column.javaField)
 | 
			
		||||
#else
 | 
			
		||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
 | 
			
		||||
#end
 | 
			
		||||
    public void set${AttrName}($column.javaType $column.javaField) 
 | 
			
		||||
    {
 | 
			
		||||
        this.$column.javaField = $column.javaField;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public $column.javaType get${AttrName}() 
 | 
			
		||||
    {
 | 
			
		||||
        return $column.javaField;
 | 
			
		||||
    }
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public String toString() {
 | 
			
		||||
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
 | 
			
		||||
#foreach ($column in $subTable.columns)
 | 
			
		||||
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
 | 
			
		||||
#set($AttrName=$column.javaField)
 | 
			
		||||
#else
 | 
			
		||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
 | 
			
		||||
#end
 | 
			
		||||
            .append("${column.javaField}", get${AttrName}())
 | 
			
		||||
#end
 | 
			
		||||
            .toString();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -281,65 +281,6 @@
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
        <el-divider content-position="center">${subTable.functionName}信息</el-divider>
 | 
			
		||||
        <el-row :gutter="10" class="mb8">
 | 
			
		||||
          <el-col :span="1.5">
 | 
			
		||||
            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd${subClassName}">添加</el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="1.5">
 | 
			
		||||
            <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete${subClassName}">删除</el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
 | 
			
		||||
          <el-table-column type="selection" width="50" align="center" />
 | 
			
		||||
          <el-table-column label="序号" align="center" prop="index" width="50"/>
 | 
			
		||||
#foreach($column in $subTable.columns)
 | 
			
		||||
#set($javaField=$column.javaField)
 | 
			
		||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
 | 
			
		||||
#if($parentheseIndex != -1)
 | 
			
		||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
 | 
			
		||||
#else
 | 
			
		||||
#set($comment=$column.columnComment)
 | 
			
		||||
#end
 | 
			
		||||
#if($column.pk || $javaField == ${subTableFkclassName})
 | 
			
		||||
#elseif($column.list && $column.htmlType == "input")
 | 
			
		||||
          <el-table-column label="$comment" prop="${javaField}" width="150">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" />
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
#elseif($column.list && $column.htmlType == "datetime")
 | 
			
		||||
          <el-table-column label="$comment" prop="${javaField}" width="240">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="yyyy-MM-dd" placeholder="请选择$comment" />
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType)
 | 
			
		||||
          <el-table-column label="$comment" prop="${javaField}" width="150">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in dict.type.$column.dictType"
 | 
			
		||||
                  :key="dict.value"
 | 
			
		||||
                  :label="dict.label"
 | 
			
		||||
                  :value="dict.value"
 | 
			
		||||
                ></el-option>
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType)
 | 
			
		||||
          <el-table-column label="$comment" prop="${javaField}" width="150">
 | 
			
		||||
            <template slot-scope="scope">
 | 
			
		||||
              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
 | 
			
		||||
                <el-option label="请选择字典生成" value="" />
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
        </el-table>
 | 
			
		||||
#end
 | 
			
		||||
      </el-form>
 | 
			
		||||
      <div slot="footer" class="dialog-footer">
 | 
			
		||||
@@ -366,10 +307,6 @@ export default {
 | 
			
		||||
      loading: true,
 | 
			
		||||
      // 选中数组
 | 
			
		||||
      ids: [],
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
      // 子表选中数据
 | 
			
		||||
      checked${subClassName}: [],
 | 
			
		||||
#end
 | 
			
		||||
      // 非单个禁用
 | 
			
		||||
      single: true,
 | 
			
		||||
      // 非多个禁用
 | 
			
		||||
@@ -380,10 +317,6 @@ export default {
 | 
			
		||||
      total: 0,
 | 
			
		||||
      // ${functionName}表格数据
 | 
			
		||||
      ${businessName}List: [],
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
      // ${subTable.functionName}表格数据
 | 
			
		||||
      ${subclassName}List: [],
 | 
			
		||||
#end
 | 
			
		||||
      // 弹出层标题
 | 
			
		||||
      title: "",
 | 
			
		||||
      // 是否显示弹出层
 | 
			
		||||
@@ -469,9 +402,6 @@ export default {
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
      };
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
      this.${subclassName}List = [];
 | 
			
		||||
#end
 | 
			
		||||
      this.resetForm("form");
 | 
			
		||||
    },
 | 
			
		||||
    /** 搜索按钮操作 */
 | 
			
		||||
@@ -514,9 +444,6 @@ export default {
 | 
			
		||||
#if($column.htmlType == "checkbox")
 | 
			
		||||
        this.form.$column.javaField = this.form.${column.javaField}.split(",");
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
        this.${subclassName}List = response.data.${subclassName}List;
 | 
			
		||||
#end
 | 
			
		||||
        this.open = true;
 | 
			
		||||
        this.title = "修改${functionName}";
 | 
			
		||||
@@ -531,9 +458,6 @@ export default {
 | 
			
		||||
#if($column.htmlType == "checkbox")
 | 
			
		||||
          this.form.$column.javaField = this.form.${column.javaField}.join(",");
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
          this.form.${subclassName}List = this.${subclassName}List;
 | 
			
		||||
#end
 | 
			
		||||
          if (this.form.${pkColumn.javaField} != null) {
 | 
			
		||||
            update${BusinessName}(this.form).then(response => {
 | 
			
		||||
@@ -570,39 +494,6 @@ export default {
 | 
			
		||||
        this.loading = false;
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
    /** ${subTable.functionName}序号 */
 | 
			
		||||
    row${subClassName}Index({ row, rowIndex }) {
 | 
			
		||||
      row.index = rowIndex + 1;
 | 
			
		||||
    },
 | 
			
		||||
    /** ${subTable.functionName}添加按钮操作 */
 | 
			
		||||
    handleAdd${subClassName}() {
 | 
			
		||||
      let obj = {};
 | 
			
		||||
#foreach($column in $subTable.columns)
 | 
			
		||||
#if($column.pk || $column.javaField == ${subTableFkclassName})
 | 
			
		||||
#elseif($column.list && "" != $javaField)
 | 
			
		||||
      obj.$column.javaField = "";
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
      this.${subclassName}List.push(obj);
 | 
			
		||||
    },
 | 
			
		||||
    /** ${subTable.functionName}删除按钮操作 */
 | 
			
		||||
    handleDelete${subClassName}() {
 | 
			
		||||
      if (this.checked${subClassName}.length == 0) {
 | 
			
		||||
        this.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据");
 | 
			
		||||
      } else {
 | 
			
		||||
        const ${subclassName}List = this.${subclassName}List;
 | 
			
		||||
        const checked${subClassName} = this.checked${subClassName};
 | 
			
		||||
        this.${subclassName}List = ${subclassName}List.filter(function(item) {
 | 
			
		||||
          return checked${subClassName}.indexOf(item.index) == -1
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    /** 复选框选中数据 */
 | 
			
		||||
    handle${subClassName}SelectionChange(selection) {
 | 
			
		||||
      this.checked${subClassName} = selection.map(item => item.index)
 | 
			
		||||
    },
 | 
			
		||||
#end
 | 
			
		||||
    /** 导出按钮操作 */
 | 
			
		||||
    handleExport() {
 | 
			
		||||
      this.download('${moduleName}/${businessName}/export', {
 | 
			
		||||
 
 | 
			
		||||
@@ -264,70 +264,6 @@
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
        <el-divider content-position="center">${subTable.functionName}信息</el-divider>
 | 
			
		||||
        <el-row :gutter="10" class="mb8">
 | 
			
		||||
          <el-col :span="1.5">
 | 
			
		||||
            <el-button type="primary" icon="Plus" @click="handleAdd${subClassName}">添加</el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="1.5">
 | 
			
		||||
            <el-button type="danger" icon="Delete" @click="handleDelete${subClassName}">删除</el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
 | 
			
		||||
          <el-table-column type="selection" width="50" align="center" />
 | 
			
		||||
          <el-table-column label="序号" align="center" prop="index" width="50"/>
 | 
			
		||||
#foreach($column in $subTable.columns)
 | 
			
		||||
#set($javaField=$column.javaField)
 | 
			
		||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
 | 
			
		||||
#if($parentheseIndex != -1)
 | 
			
		||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
 | 
			
		||||
#else
 | 
			
		||||
#set($comment=$column.columnComment)
 | 
			
		||||
#end
 | 
			
		||||
#if($column.pk || $javaField == ${subTableFkclassName})
 | 
			
		||||
#elseif($column.list && $column.htmlType == "input")
 | 
			
		||||
          <el-table-column label="$comment" prop="${javaField}" width="150">
 | 
			
		||||
            <template #default="scope">
 | 
			
		||||
              <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" />
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
#elseif($column.list && $column.htmlType == "datetime")
 | 
			
		||||
          <el-table-column label="$comment" prop="${javaField}" width="240">
 | 
			
		||||
            <template #default="scope">
 | 
			
		||||
              <el-date-picker clearable
 | 
			
		||||
                v-model="scope.row.$javaField"
 | 
			
		||||
                type="date"
 | 
			
		||||
                value-format="YYYY-MM-DD"
 | 
			
		||||
                placeholder="请选择$comment">
 | 
			
		||||
              </el-date-picker>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType)
 | 
			
		||||
          <el-table-column label="$comment" prop="${javaField}" width="150">
 | 
			
		||||
            <template #default="scope">
 | 
			
		||||
              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="dict in $column.dictType"
 | 
			
		||||
                  :key="dict.value"
 | 
			
		||||
                  :label="dict.label"
 | 
			
		||||
                  :value="dict.value"
 | 
			
		||||
                ></el-option>
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType)
 | 
			
		||||
          <el-table-column label="$comment" prop="${javaField}" width="150">
 | 
			
		||||
            <template #default="scope">
 | 
			
		||||
              <el-select v-model="scope.row.$javaField" placeholder="请选择$comment">
 | 
			
		||||
                <el-option label="请选择字典生成" value="" />
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </template>
 | 
			
		||||
          </el-table-column>
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
        </el-table>
 | 
			
		||||
#end
 | 
			
		||||
      </el-form>
 | 
			
		||||
      <template #footer>
 | 
			
		||||
@@ -350,17 +286,11 @@ const { ${dictsNoSymbol} } = proxy.useDict(${dicts});
 | 
			
		||||
#end
 | 
			
		||||
 | 
			
		||||
const ${businessName}List = ref([]);
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
const ${subclassName}List = ref([]);
 | 
			
		||||
#end
 | 
			
		||||
const open = ref(false);
 | 
			
		||||
const buttonLoading = ref(false);
 | 
			
		||||
const loading = ref(true);
 | 
			
		||||
const showSearch = ref(true);
 | 
			
		||||
const ids = ref([]);
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
const checked${subClassName} = ref([]);
 | 
			
		||||
#end
 | 
			
		||||
const single = ref(true);
 | 
			
		||||
const multiple = ref(true);
 | 
			
		||||
const total = ref(0);
 | 
			
		||||
@@ -444,9 +374,6 @@ function reset() {
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
  };
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
  ${subclassName}List.value = [];
 | 
			
		||||
#end
 | 
			
		||||
  proxy.resetForm("${businessName}Ref");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -494,9 +421,6 @@ function handleUpdate(row) {
 | 
			
		||||
#if($column.htmlType == "checkbox")
 | 
			
		||||
    form.value.$column.javaField = form.value.${column.javaField}.split(",");
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
    ${subclassName}List.value = response.data.${subclassName}List;
 | 
			
		||||
#end
 | 
			
		||||
    open.value = true;
 | 
			
		||||
    title.value = "修改${functionName}";
 | 
			
		||||
@@ -512,9 +436,6 @@ function submitForm() {
 | 
			
		||||
#if($column.htmlType == "checkbox")
 | 
			
		||||
      form.value.$column.javaField = form.value.${column.javaField}.join(",");
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
      form.value.${subclassName}List = ${subclassName}List.value;
 | 
			
		||||
#end
 | 
			
		||||
      if (form.value.${pkColumn.javaField} != null) {
 | 
			
		||||
        update${BusinessName}(form.value).then(response => {
 | 
			
		||||
@@ -553,43 +474,6 @@ function handleDelete(row) {
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if($table.sub)
 | 
			
		||||
/** ${subTable.functionName}序号 */
 | 
			
		||||
function row${subClassName}Index({ row, rowIndex }) {
 | 
			
		||||
  row.index = rowIndex + 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** ${subTable.functionName}添加按钮操作 */
 | 
			
		||||
function handleAdd${subClassName}() {
 | 
			
		||||
  let obj = {};
 | 
			
		||||
#foreach($column in $subTable.columns)
 | 
			
		||||
#if($column.pk || $column.javaField == ${subTableFkclassName})
 | 
			
		||||
#elseif($column.list && "" != $javaField)
 | 
			
		||||
  obj.$column.javaField = "";
 | 
			
		||||
#end
 | 
			
		||||
#end
 | 
			
		||||
  ${subclassName}List.value.push(obj);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** ${subTable.functionName}删除按钮操作 */
 | 
			
		||||
function handleDelete${subClassName}() {
 | 
			
		||||
  if (checked${subClassName}.value.length == 0) {
 | 
			
		||||
    proxy.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据");
 | 
			
		||||
  } else {
 | 
			
		||||
    const ${subclassName}s = ${subclassName}List.value;
 | 
			
		||||
    const checked${subClassName}s = checked${subClassName}.value;
 | 
			
		||||
    ${subclassName}List.value = ${subclassName}s.filter(function(item) {
 | 
			
		||||
      return checked${subClassName}s.indexOf(item.index) == -1
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** 复选框选中数据 */
 | 
			
		||||
function handle${subClassName}SelectionChange(selection) {
 | 
			
		||||
  checked${subClassName}.value = selection.map(item => item.index)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#end
 | 
			
		||||
/** 导出按钮操作 */
 | 
			
		||||
function handleExport() {
 | 
			
		||||
  proxy.download('${moduleName}/${businessName}/export', {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,11 +4,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 | 
			
		||||
<mapper namespace="${packageName}.mapper.${ClassName}Mapper">
 | 
			
		||||
 | 
			
		||||
    <resultMap type="${packageName}.domain.${ClassName}" id="${ClassName}Result">
 | 
			
		||||
#foreach ($column in $columns)
 | 
			
		||||
        <result property="${column.javaField}" column="${column.columnName}"/>
 | 
			
		||||
#end
 | 
			
		||||
    </resultMap>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,6 @@
 | 
			
		||||
          <el-select v-model="info.tplCategory" @change="tplSelectChange">
 | 
			
		||||
            <el-option label="单表(增删改查)" value="crud" />
 | 
			
		||||
            <el-option label="树表(增删改查)" value="tree" />
 | 
			
		||||
<!--            <el-option label="主子表(增删改查)" value="sub" />-->
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user