| | |
| | | * project |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-11-06 |
| | | * @since 1.0.0 2023-11-07 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/project/") |
| | |
| | | @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), |
| | | @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), |
| | | @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), |
| | | }) |
| | | @ApiImplicitParam(name = "entrustUnitName", value = "委托单位名称", dataType = Constant.QT.STRING, format = "entrust_unit_name^LK"), @ApiImplicitParam(name = "developUnitName", value = "开发单位名称", dataType = Constant.QT.STRING, format = "develop_unit_name^LK"), @ApiImplicitParam(name = "software", value = "软件名称", dataType = Constant.QT.STRING, format = "software^LK"), @ApiImplicitParam(name = "code", value = "项目编号", dataType = Constant.QT.STRING, format = "CODE^LK"), @ApiImplicitParam(name = "identity", value = "项目标识", dataType = Constant.QT.STRING, format = "IDENTITY^LK"), @ApiImplicitParam(name = "criticalLevel", value = "关键等级", dataType = Constant.QT.STRING, format = "critical_level^EQ"), @ApiImplicitParam(name = "testLevel", value = "测试级别", dataType = Constant.QT.STRING, format = "test_level^EQ") }) |
| | | public PageResult<Project> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ |
| | | |
| | | return PageResult.ok(projectService.page(queryFilter)); |
| | |
| | | * project |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-11-06 |
| | | * @since 1.0.0 2023-11-07 |
| | | */ |
| | | @Mapper |
| | | public interface ProjectDao extends BaseDao<Project> { |
| | |
| | | * project |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-11-06 |
| | | * @since 1.0.0 2023-11-07 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper=false) |
| | |
| | | public class Project extends BusiEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "委托单位名称") |
| | | private String entrustUnitName; |
| | | |
| | | @ApiModelProperty(value = "委托单位地址") |
| | | private String entrustUnitAddress; |
| | | |
| | | @ApiModelProperty(value = "委托单位联系人") |
| | | private String entrustUnitContact; |
| | | |
| | | @ApiModelProperty(value = "委托单位联系方式") |
| | | private String entrustUnitContWay; |
| | | |
| | | @ApiModelProperty(value = "开发单位名称") |
| | | private String developUnitName; |
| | | |
| | | @ApiModelProperty(value = "开发单位地址") |
| | | private String developUnitAddress; |
| | | |
| | | @ApiModelProperty(value = "开发单位联系人") |
| | | private String developUnitContact; |
| | | |
| | | @ApiModelProperty(value = "开发单位联系方式") |
| | | private String developUnitContWay; |
| | | |
| | | @ApiModelProperty(value = "软件名称") |
| | | private String softwarename; |
| | | private String software; |
| | | |
| | | @ApiModelProperty(value = "项目编号") |
| | | private String code; |
| | |
| | | @ApiModelProperty(value = "关键等级") |
| | | private Integer criticalLevel; |
| | | |
| | | @ApiModelProperty(value = "运行环境") |
| | | private String optEnviron; |
| | | |
| | | @ApiModelProperty(value = "编程语言") |
| | | private String programLang; |
| | | |
| | | @ApiModelProperty(value = "软件类型") |
| | | private Integer softwareType; |
| | | @ApiModelProperty(value = "测试级别") |
| | | private Integer testLevel; |
| | | |
| | | @ApiModelProperty(value = "项目负责人") |
| | | private String projectLeader; |
| | |
| | | private String projectReviewer; |
| | | |
| | | @ApiModelProperty(value = "是否签署合同") |
| | | private String isContract; |
| | | private Integer isContract; |
| | | |
| | | } |
| | |
| | | * project |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-11-06 |
| | | * @since 1.0.0 2023-11-07 |
| | | */ |
| | | @Service |
| | | public class ProjectService extends BaseService<ProjectDao, Project> { |
| | |
| | | <template> |
| | | <div class="fa-card-a calcHeight" style="height: calc(100vh - 198px);overflow-y: hidden"> |
| | | <div class="mod-sys__generator" > |
| | | <el-form :model="dataForm" label-width="80px" @keyup.enter.native="getDataList()"> |
| | | <el-form-item> |
| | | <el-input style="width: 30%;margin-right: 20px;" v-model="dataForm.tableName" placeholder="请输入表名" clearable></el-input> |
| | | <el-button @click="getTableInfo()">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table :data="dataForm.tableData" height="320" stripe style="width: 100%"> |
| | | <el-table-column prop="columnName" label="CODE"> </el-table-column> |
| | | <div class="mod-sys__generator"> |
| | | <el-form :model="dataForm" label-width="80px" @keyup.enter.native="getDataList()"> |
| | | <el-form-item> |
| | | <el-input style="width: 30%;margin-right: 20px;" v-model="dataForm.tableName" placeholder="请输入表名" |
| | | clearable></el-input> |
| | | <el-button @click="getTableInfo()">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table :data="dataForm.tableData" height="320" stripe style="width: 100%"> |
| | | <el-table-column prop="columnName" label="CODE"></el-table-column> |
| | | <el-table-column prop="remarks" label="名称"> |
| | | <template v-slot="{ row }"> |
| | | <el-input size="small" v-model="row.remarks"></el-input> |
| | |
| | | <!-- <el-table-column prop="columnSize" label="数据长度"></el-table-column> --> |
| | | <el-table-column prop="isTableColumn" label="页面表格列"> |
| | | <template v-slot="{ row }"> |
| | | <el-checkbox v-model="row.isTableColumn"></el-checkbox> |
| | | <el-checkbox v-model="row.isTableColumn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isSelectColumn" label="页面查询列"> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <el-divider><el-tag type="primary">生成代码参数:</el-tag></el-divider> |
| | | <el-divider> |
| | | <el-tag type="primary">生成代码参数:</el-tag> |
| | | </el-divider> |
| | | |
| | | <div v-show="dataForm.tableData.length > 0" style="height:300px;overflow-y: auto"> |
| | | <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="200px"> |
| | | <el-form-item prop="className" label="实体对象名称" style="width: 60%"> |
| | | <el-input v-model="dataForm.className" placeholder="请输入生成的实体对象名称" ></el-input> |
| | | <el-input v-model="dataForm.className" placeholder="请输入生成的实体对象名称"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item prop="packName" label="包名" style="width: 60%"> |
| | | <el-input v-model="dataForm.packName" placeholder="请输入生成的Java包名" ></el-input> |
| | | <el-input v-model="dataForm.packName" placeholder="请输入生成的Java包名"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item prop="javaFilePath" label="Java项目路径" :inline="true"> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | modules: [], // 后台modules |
| | | modules: [{id: '11', fileName: '后端', filePath: 'D:\\test_project\\modules\\mainPart'}, { |
| | | id: '22', |
| | | fileName: '前端', |
| | | filePath: 'D:\\test_project\\web' |
| | | }], // 后台modules |
| | | eqList: [], |
| | | dataForm: { |
| | | tableName: '', |
| | |
| | | javaFilePath: '', |
| | | vueFilePath: '', |
| | | checked: true, |
| | | packName: 'com.zt.modules', |
| | | packName: 'com.zt.life.modules', |
| | | isPageFlag: true, |
| | | isExport: false, |
| | | tableData: [] |
New file |
| | |
| | | <template> |
| | | <zt-dialog ref="dialog" column="2" @confirm="formSubmit"> |
| | | <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> |
| | | <zt-form-item label="委托单位名称" prop="entrustUnitName" rules="required"> |
| | | <el-input v-model="dataForm.entrustUnitName"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="委托单位地址" prop="entrustUnitAddress" rules="required"> |
| | | <el-input v-model="dataForm.entrustUnitAddress"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="委托单位联系人" prop="entrustUnitContact" rules="required"> |
| | | <el-input v-model="dataForm.entrustUnitContact"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="委托单位联系方式" prop="entrustUnitContWay" rules="required"> |
| | | <el-input v-model="dataForm.entrustUnitContWay"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="开发单位名称" prop="developUnitName" rules="required"> |
| | | <el-input v-model="dataForm.developUnitName"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="开发单位地址" prop="developUnitAddress" rules="required"> |
| | | <el-input v-model="dataForm.developUnitAddress"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="开发单位联系人" prop="developUnitContact" rules="required"> |
| | | <el-input v-model="dataForm.developUnitContact"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="开发单位联系方式" prop="developUnitContWay" rules="required"> |
| | | <el-input v-model="dataForm.developUnitContWay"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="软件名称" prop="software" rules="required"> |
| | | <el-input v-model="dataForm.software"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目编号" prop="code" rules="required"> |
| | | <el-input v-model="dataForm.code"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目标识" prop="identity" rules="required"> |
| | | <el-input v-model="dataForm.identity"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="密级" prop="secretClass" rules="required"> |
| | | <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict> |
| | | </zt-form-item> |
| | | <zt-form-item label="关键等级" prop="criticalLevel" rules="required"> |
| | | <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict> |
| | | </zt-form-item> |
| | | <zt-form-item label="测试级别" prop="testLevel" rules="required"> |
| | | <zt-dict v-model="dataForm.testLevel" dict="test_level"></zt-dict> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目负责人" prop="projectLeader" rules="required"> |
| | | <el-input v-model="dataForm.projectLeader"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目测试人员" prop="projectTesters" rules="required"> |
| | | <el-input v-model="dataForm.projectTesters"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目审核人员" prop="projectReviewer" rules="required"> |
| | | <el-input v-model="dataForm.projectReviewer"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="是否签署合同" prop="isContract" rules="required"> |
| | | <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict> |
| | | </zt-form-item> |
| | | </el-form> |
| | | </zt-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataForm: { |
| | | id: '', |
| | | entrustUnitName: '', |
| | | entrustUnitAddress: '', |
| | | entrustUnitContact: '', |
| | | entrustUnitContWay: '', |
| | | developUnitName: '', |
| | | developUnitAddress: '', |
| | | developUnitContact: '', |
| | | developUnitContWay: '', |
| | | software: '', |
| | | code: '', |
| | | identity: '', |
| | | secretClass: '', |
| | | criticalLevel: '', |
| | | testLevel: '', |
| | | projectLeader: '', |
| | | projectTesters: '', |
| | | projectReviewer: '', |
| | | isContract: '' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | // 获取信息 |
| | | async getInfo() { |
| | | let res = await this.$http.get(`/project//${this.dataForm.id}`) |
| | | this.dataForm = { |
| | | ...this.dataForm, |
| | | ...res.data |
| | | } |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit() { |
| | | let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project//', this.dataForm) |
| | | if (res.success) { |
| | | await this.$tip.success() |
| | | this.$refs.dialog.close() |
| | | this.$emit('refreshDataList') |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <el-card shadow="never" class="aui-card--fill"> |
| | | <div class="mod-project-project}"> |
| | | <zt-table-wraper query-url="/project//page" delete-url="/project/" v-slot="{ table }"> |
| | | <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> |
| | | <el-form-item> |
| | | <el-input v-model="dataForm.entrustUnitName" placeholder="请输入委托单位名称" clearable></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-input v-model="dataForm.developUnitName" placeholder="请输入开发单位名称" clearable></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-input v-model="dataForm.software" placeholder="请输入软件名称" clearable></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-input v-model="dataForm.code" placeholder="请输入项目编号" clearable></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-input v-model="dataForm.identity" placeholder="请输入项目标识" clearable></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-dict v-model="dataForm.criticalLevel" dict="critical_level" clearable></zt-dict> |
| | | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-dict v-model="dataForm.testLevel" dict="test_level" clearable></zt-dict> |
| | | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-button type="query" @click="table.query()"/> |
| | | <zt-button type="add" perm="project:add" @click="table.editHandle()"/> |
| | | <zt-button type="delete" perm="project:delete" @click="table.deleteHandle()"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table v-loading="table.dataLoading" :data="table.dataList" border @selection-change="table.selectionChangeHandle"> |
| | | <el-table-column type="selection" width="40"/> |
| | | <el-table-column prop="entrustUnitName" label="委托单位名称"/> |
| | | <el-table-column prop="entrustUnitAddress" label="委托单位地址"/> |
| | | <el-table-column prop="entrustUnitContact" label="委托单位联系人"/> |
| | | <el-table-column prop="entrustUnitContWay" label="委托单位联系方式"/> |
| | | <el-table-column prop="developUnitName" label="开发单位名称"/> |
| | | <el-table-column prop="developUnitAddress" label="开发单位地址"/> |
| | | <el-table-column prop="developUnitContact" label="开发单位联系人"/> |
| | | <el-table-column prop="developUnitContWay" label="开发单位联系方式"/> |
| | | <el-table-column prop="software" label="软件名称"/> |
| | | <el-table-column prop="code" label="项目编号"/> |
| | | <el-table-column prop="identity" label="项目标识"/> |
| | | <zt-table-column-dict prop="secretClass" label="密级" dict="secret_class"/> |
| | | <zt-table-column-dict prop="criticalLevel" label="关键等级" dict="critical_level"/> |
| | | <zt-table-column-dict prop="testLevel" label="测试级别" dict="test_level"/> |
| | | <el-table-column prop="projectLeader" label="项目负责人"/> |
| | | <el-table-column prop="projectTesters" label="项目测试人员"/> |
| | | <el-table-column prop="projectReviewer" label="项目审核人员"/> |
| | | <zt-table-column-dict prop="isContract" label="是否签署合同" dict="is_or_not"/> |
| | | |
| | | <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete"/> |
| | | </el-table> |
| | | <!-- 弹窗, 新增 / 修改 --> |
| | | <add-or-update @refreshDataList="table.query"/> |
| | | </zt-table-wraper> |
| | | </div> |
| | | </el-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import AddOrUpdate from './Project-AddOrUpdate' |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataForm: { |
| | | entrustUnitName: '', |
| | | developUnitName: '', |
| | | software: '', |
| | | code: '', |
| | | identity: '', |
| | | criticalLevel: '', |
| | | testLevel: '', |
| | | } |
| | | } |
| | | }, |
| | | components: { |
| | | AddOrUpdate |
| | | } |
| | | } |
| | | </script> |
| | |
| | | public class SysGeneratorController { |
| | | |
| | | @GetMapping("properties") |
| | | @RequiresPermissions(Constant.Permissions.SUPER_ADMIN) |
| | | //@RequiresPermissions(Constant.Permissions.SUPER_ADMIN) |
| | | public Result<JSONObject> queryProperties() { |
| | | JSONObject jsonObject = new JSONObject(); |
| | | try { |
| | |
| | | JSONObject json = array.getJSONObject(i); |
| | | String columnName = json.getString("columnName"); |
| | | if ("is_delete,dept_id,company_id,tenant_id,creator,create_date,updater,update_date" |
| | | .indexOf(columnName) >= 0) { |
| | | .indexOf(columnName.toLowerCase()) >= 0) { |
| | | json.put("isTableColumn", "false"); |
| | | } |
| | | } |
| | |
| | | |
| | | import org.springframework.jdbc.core.JdbcTemplate; |
| | | |
| | | import java.sql.Connection; |
| | | import java.sql.DatabaseMetaData; |
| | | import java.sql.ResultSet; |
| | | import java.sql.SQLException; |
| | | import java.sql.*; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public class DBUtil { |
| | |
| | | try { |
| | | DatabaseMetaData dbm = conn.getMetaData(); |
| | | String currentCatalog = conn.getCatalog(); |
| | | String[] types = { "TABLE" }; |
| | | String[] types = {"TABLE"}; |
| | | ResultSet tabs = dbm.getTables(currentCatalog, null, tableName, types); |
| | | if (tabs.next()) { |
| | | return true; |
| | |
| | | try { |
| | | DatabaseMetaData dbm = conn.getMetaData(); |
| | | String currentCatalog = conn.getCatalog(); |
| | | |
| | | Map<String, String> mapDict = new HashMap<>(); |
| | | String sql = "SELECT * FROM sys_dict_type WHERE is_delete=0"; |
| | | PreparedStatement preparedStatement = conn.prepareStatement(sql); |
| | | ResultSet resultSet = preparedStatement.executeQuery(); |
| | | while (resultSet.next()) { |
| | | String dictType = resultSet.getString("DICT_TYPE"); |
| | | mapDict.put(dictType, dictType); |
| | | } |
| | | |
| | | ResultSet rs = dbm.getColumns(currentCatalog, null, tableName, null); |
| | | |
| | | DataTable dt = new DataTable(rs); |
| | | |
| | | rs = dbm.getPrimaryKeys(currentCatalog, null, tableName); |
| | | DataTable keyDt = new DataTable(rs); |
| | | Map map = keyDt.toMap("Column_Name", "PK_Name"); |
| | | dt.insertColumn("isKey"); |
| | | dt.insertColumn("dictType"); |
| | | for (int i = 0; i < dt.getRowCount(); i++) { |
| | | DataRow dr = dt.getDataRow(i); |
| | | if (map.containsKey(dr.getString("Column_Name"))) { |
| | | String columnName = dr.getString("Column_Name"); |
| | | if (map.containsKey(columnName)) { |
| | | dr.set("isKey", "Y"); |
| | | } else { |
| | | dr.set("isKey", "N"); |
| | | } |
| | | if (mapDict.get(columnName) != null) { |
| | | dr.set("dictType", columnName); |
| | | } else { |
| | | dr.set("dictType", ""); |
| | | } |
| | | } |
| | | return dt; |
| | | } catch (Exception e) { |
| | |
| | | pathName = pathName.substring(1); |
| | | } |
| | | } |
| | | map.put("importPath", tableName.replaceAll("_", "-"));// url请求的 |
| | | map.put("pathName", pathName);// url请求的 |
| | | map.put("permName", pathName.replace("/", ":"));// 权限的 |
| | | map.put("columns", columsList); |
| | |
| | | String fileName = ""; |
| | | String filePath = ""; |
| | | if (template.contains("index.vue")) { |
| | | fileName = tableName.substring(tableName.indexOf("_") + 1).replaceAll("_", "-") + ".vue"; |
| | | fileName = className + ".vue"; |
| | | filePath = getFilePath(template, vueFilePath, packageName, moduleName); |
| | | } else if (template.contains("add-or-update.vue")) { |
| | | fileName = tableName.substring(tableName.indexOf("_") + 1).replaceAll("_", "-") + "-add-or-update.vue"; |
| | | fileName = className + "-AddOrUpdate.vue"; |
| | | filePath = getFilePath(template, vueFilePath, packageName, moduleName); |
| | | } else if (template.contains("Entity.java.vm")) { |
| | | fileName = className + ".java"; |
| | |
| | | <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> |
| | | #foreach($column in $columns) |
| | | <zt-form-item label="${column.comments}" prop="${column.attrName}" rules="required"> |
| | | <el-input v-model="dataForm.${column.attrName}"></el-input> |
| | | #if($column.dictType != 'null' && $column.dictType != '') |
| | | <zt-dict v-model="dataForm.${column.attrName}" dict="$column.dictType"></zt-dict> |
| | | #else |
| | | <el-input v-model="dataForm.${column.attrName}"></el-input> |
| | | #end |
| | | </zt-form-item> |
| | | #end |
| | | </el-form> |
| | |
| | | #foreach($column in $columns) |
| | | #if($column.isSelectColumn == 'true') |
| | | <el-form-item> |
| | | <el-input v-model="dataForm.${column.attrName}" placeholder="请输入${column.comments}" clearable></el-input> |
| | | #if($column.dictType != 'null' && $column.dictType != '') |
| | | <zt-dict v-model="dataForm.${column.attrName}" dict="$column.dictType" clearable></zt-dict> |
| | | #else |
| | | <el-input v-model="dataForm.${column.attrName}" placeholder="请输入${column.comments}" clearable></el-input> |
| | | #end |
| | | |
| | | </el-form-item> |
| | | #end |
| | | #end |
| | | <el-form-item> |
| | | <zt-button type="query" @click="table.query()"/> |
| | | <zt-button type="add" perm="${moduleName}::add" @click="table.editHandle()"/> |
| | | <zt-button type="delete" perm="${moduleName}::delete" @click="table.deleteHandle()"/> |
| | | <zt-button type="add" perm="${moduleName}:add" @click="table.editHandle()"/> |
| | | <zt-button type="delete" perm="${moduleName}:delete" @click="table.deleteHandle()"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table v-loading="table.dataLoading" :data="table.dataList" border @selection-change="table.selectionChangeHandle"> |
| | | <el-table-column type="selection" width="40"/> |
| | | #foreach($column in $columns) |
| | | #if($column.isTableColumn == 'true') |
| | | <el-table-column prop="${column.attrName}" label="${column.comments}"/> |
| | | #if($column.dictType != 'null' && $column.dictType != '') |
| | | <zt-table-column-dict prop="${column.attrName}" label="${column.comments}" dict="$column.dictType"/> |
| | | #else |
| | | <el-table-column prop="${column.attrName}" label="${column.comments}"/> |
| | | #end |
| | | #end |
| | | #end |
| | | |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import AddOrUpdate from './${tableName}-add-or-update' |
| | | import AddOrUpdate from './${className}-AddOrUpdate' |
| | | export default { |
| | | data() { |
| | | return { |