修改代码生成表格编辑

This commit is contained in:
不做码农 2022-05-08 15:59:20 +08:00
parent f2dfb5540d
commit 896bda5baf
3 changed files with 64 additions and 40 deletions

View File

@ -8,16 +8,16 @@
<gen-info-form ref="genInfo" :info="info" :tables="tables" :columns="columns" />
</el-tab-pane>
<el-tab-pane label="字段信息" name="cloum">
<el-table ref="dragTableRef" v-loading="loading" :data="columns" row-key="columnId" :max-height="tableHeight">
<el-table-column label="序号" type="index" min-width="5%" class-name="allowDrag" />
<el-table-column label="字段列名" prop="columnName" min-width="10%" :show-overflow-tooltip="true" />
<el-table-column label="字段描述" min-width="10%">
<el-table ref="dragTableRef" v-loading="loading" :data="columns" row-key="columnId" min-height="100px" :max-height="tableHeight">
<el-table-column label="序号" type="index" class-name="allowDrag" />
<el-table-column label="字段列名" prop="columnName" :show-overflow-tooltip="true" />
<el-table-column label="字段描述">
<template #default="scope">
<el-input v-model="scope.row.columnComment" :ref="setColumnsRef" @keydown="nextFocus(scope.row, scope.$index, $event)"> </el-input>
</template>
</el-table-column>
<el-table-column label="物理类型" prop="columnType" min-width="10%" :show-overflow-tooltip="true" />
<el-table-column label="C#类型" min-width="11%">
<el-table-column label="物理类型" prop="columnType" :show-overflow-tooltip="true" />
<el-table-column label="C#类型">
<template #default="scope">
<el-select v-model="scope.row.csharpType">
<el-option label="int" value="int" />
@ -30,32 +30,33 @@
</el-select>
</template>
</el-table-column>
<el-table-column label="C#属性" min-width="10%">
<el-table-column label="C#属性">
<template #default="scope">
<el-input v-model="scope.row.csharpField"></el-input>
</template>
</el-table-column>
<el-table-column label="插入" min-width="5%" v-if="info.tplCategory != 'select'">
<el-table-column label="插入" width="50" align="center" v-if="info.tplCategory != 'select'">
<template #default="scope">
<el-checkbox v-model="scope.row.isInsert" :disabled="scope.row.isIncrement"></el-checkbox>
</template>
</el-table-column>
<el-table-column label="编辑" min-width="5%" v-if="info.tplCategory != 'select'">
<el-table-column label="编辑" width="50" align="center" v-if="info.tplCategory != 'select'">
<template #default="scope">
<el-checkbox v-model="scope.row.isEdit" :disabled="scope.row.isPk || scope.row.isIncrement"></el-checkbox>
</template>
</el-table-column>
<el-table-column label="列表" min-width="5%">
<el-table-column label="列表" width="50" align="center">
<template #default="scope">
<el-checkbox v-model="scope.row.isList"></el-checkbox>
</template>
</el-table-column>
<el-table-column label="查询" min-width="5%">
<el-table-column label="查询" width="50" align="center">
<template #default="scope">
<el-checkbox v-model="scope.row.isQuery" :disabled="scope.row.htmlType == 'imageUpload' || scope.row.htmlType == 'fileUpload'"> </el-checkbox>
<el-checkbox v-model="scope.row.isQuery" :disabled="scope.row.htmlType == 'imageUpload' || scope.row.htmlType == 'fileUpload'">
</el-checkbox>
</template>
</el-table-column>
<el-table-column label="查询方式" min-width="10%">
<el-table-column label="查询方式">
<template #default="scope">
<el-select v-model="scope.row.queryType" :disabled="scope.row.htmlType == 'datetime'" v-if="scope.row.isQuery">
<el-option label="=" value="EQ" />
@ -69,12 +70,12 @@
</el-select>
</template>
</el-table-column>
<el-table-column label="必填" min-width="5%">
<el-table-column label="必填" width="60">
<template #default="scope">
<el-checkbox v-model="scope.row.isRequired"></el-checkbox>
</template>
</el-table-column>
<el-table-column label="表单显示类型" min-width="12%">
<el-table-column label="表单显示类型">
<template #default="scope">
<el-select v-model="scope.row.htmlType">
<el-option label="文本框" value="input" />
@ -91,7 +92,7 @@
</el-select>
</template>
</el-table-column>
<el-table-column label="字典类型" min-width="12%">
<el-table-column label="字典类型">
<template #default="scope">
<el-select
v-model="scope.row.dictType"
@ -110,13 +111,11 @@
</el-table>
</el-tab-pane>
</el-tabs>
<el-form class="mt20">
<el-form-item>
<footer class="mt20" style="text-align: center">
<el-button type="primary" icon="check" @click="submitForm()">提交</el-button>
<el-button type="success" icon="refresh" @click="handleQuery()">刷新</el-button>
<el-button icon="back" @click="close()">返回</el-button>
</el-form-item>
</el-form>
</footer>
</el-card>
</template>
<script setup name="genedit">
@ -224,22 +223,19 @@ const setColumnsRef = (el) => {
}
}
/**
* 回车到下一行
*/
//
function nextFocus(row, index, e) {
var length = columnRefs.value.length
var keyCode = e.keyCode || e.which || e.charCode
if (keyCode === 13) {
if (length - 1 == index) {
console.log('到最后一了')
console.log('到最后一了')
} else {
columnRefs.value[index + 1].focus()
}
}
}
/*************** table column 回车代码 end *************/
//
const tableSort = () => {
const tbody = document.querySelector('.el-table__body > tbody')

View File

@ -8,7 +8,8 @@
<el-option label="单表(增删改查)" value="crud" />
<!-- <el-option label="单表查询" value="select" /> -->
<el-option label="树表(增删改查)" value="tree" />
<!-- <el-option label="导航查询" value="subNav"></el-option> -->
<el-option label="导航查询(1对1)" value="subNav"></el-option>
<el-option label="导航查询(1对多)" value="subNavMore"></el-option>
<!-- <el-option label="主子表(增删改查)" value="sub" /> -->
</el-select>
</el-form-item>
@ -196,7 +197,12 @@
</el-tooltip>
</template>
<el-select v-model="info.treeCode" placeholder="请选择树编码字段">
<el-option v-for="(column, index) in columns" :key="index" :label="column.csharpField + '' + column.columnComment" :value="column.csharpField"></el-option>
<el-option
v-for="(column, index) in columns"
:key="index"
:label="column.csharpField + '' + column.columnComment"
:value="column.csharpField"
></el-option>
</el-select>
</el-form-item>
</el-col>
@ -211,7 +217,12 @@
</el-tooltip>
</template>
<el-select v-model="info.treeParentCode" placeholder="请选择树父编码字段">
<el-option v-for="(column, index) in columns" :key="index" :label="column.csharpField + '' + column.columnComment" :value="column.csharpField"></el-option>
<el-option
v-for="(column, index) in columns"
:key="index"
:label="column.csharpField + '' + column.columnComment"
:value="column.csharpField"
></el-option>
</el-select>
</el-form-item>
</el-col>
@ -226,13 +237,21 @@
</el-tooltip>
</template>
<el-select v-model="info.treeName" placeholder="请选择树名称字段">
<el-option v-for="(column, index) in columns" :key="index" :label="column.csharpField + '' + column.columnComment" :value="column.csharpField"></el-option>
<el-option
v-for="(column, index) in columns"
:key="index"
:label="column.csharpField + '' + column.columnComment"
:value="column.csharpField"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="info.tplCategory == 'sub'">
<el-row v-show="info.tplCategory == 'sub' || info.tplCategory == 'subNav' || info.tplCategory == 'subNavMore'">
<el-col :lg="24">
<h4 class="form-header">关联信息</h4>
</el-col>
<el-col :lg="12">
<el-form-item>
<template #label>
@ -244,7 +263,8 @@
</el-tooltip>
</template>
<el-select v-model="info.subTableName" placeholder="请选择" @change="subSelectChange(this)">
<el-option v-for="(table, index) in tables" :key="index" :label="table.tableName + '' + table.tableComment" :value="table.tableName"> </el-option>
<el-option v-for="(table, index) in tables" :key="index" :label="table.tableName + '' + table.tableComment" :value="table.tableName">
</el-option>
</el-select>
</el-form-item>
</el-col>
@ -258,8 +278,16 @@
</el-icon>
</el-tooltip>
</template>
<el-select v-model="info.subTableFkName" placeholder="请选择">
<el-option v-for="(column, index) in subColumns" :key="index" :label="column.columnName + '' + column.columnComment" :value="column.columnName"></el-option>
<el-select v-model="info.subTableFkName">
<el-option
v-for="(column, index) in subColumns"
:key="index"
:label="column.csharpField"
:value="column.csharpField"
>
<span style="float: left">{{ column.csharpField }}</span>
<span style="float: right">{{ column.columnComment }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>

View File

@ -32,13 +32,13 @@
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column prop="dbName" label="数据库名" width="90" />
<el-table-column prop="dbName" label="数据库名" width="90" :show-overflow-tooltip="true" />
<el-table-column prop="tableId" label="表id" width="70" sortable="" />
<el-table-column prop="tableName" label="表名" width="110" :show-overflow-tooltip="true" />
<el-table-column prop="tableComment" label="表描述" :show-overflow-tooltip="true" width="120" />
<el-table-column prop="className" label="实体" :show-overflow-tooltip="true" />
<el-table-column prop="createTime" label="创建时间" />
<el-table-column prop="updateTime" label="更新时间" />
<el-table-column prop="createTime" label="创建时间" sortable />
<el-table-column prop="updateTime" label="更新时间" sortable />
<el-table-column label="操作" align="center" width="320">
<template #default="scope">
<el-button type="text" icon="view" @click="handlePreview(scope.row)" v-hasPermi="['tool:gen:preview']">预览</el-button>