!53 feat:修改表结构:主键默认自增,自动生成索引名

Merge pull request !53 from zongyangleo/dev_0625
This commit is contained in:
Coder慌
2023-06-26 01:26:51 +00:00
committed by Gitee

View File

@@ -82,11 +82,12 @@
v-for="item in tableData.indexs.colNames" :key="item.prop"> v-for="item in tableData.indexs.colNames" :key="item.prop">
<template #default="scope"> <template #default="scope">
<el-input v-if="item.prop === 'indexName'" size="small" <el-input v-if="item.prop === 'indexName'" size="small" disabled
v-model="scope.row.indexName"></el-input> v-model="scope.row.indexName"></el-input>
<el-select v-if="item.prop === 'columnNames'" v-model="scope.row.columnNames" <el-select v-if="item.prop === 'columnNames'" v-model="scope.row.columnNames"
multiple collapse-tags collapse-tags-tooltip filterable placeholder="请选择字段" multiple collapse-tags collapse-tags-tooltip filterable placeholder="请选择字段"
@change="indexChanges(scope.row)"
style="width: 100%"> style="width: 100%">
<el-option v-for="cl in tableData.indexs.columns" :key="cl.name" <el-option v-for="cl in tableData.indexs.columns" :key="cl.name"
:label="cl.name" :value="cl.name"> :label="cl.name" :value="cl.name">
@@ -94,7 +95,7 @@
</el-option> </el-option>
</el-select> </el-select>
<el-checkbox v-if="item.prop === 'unique'" size="small" v-model="scope.row.unique"> <el-checkbox v-if="item.prop === 'unique'" size="small" v-model="scope.row.unique" @change="indexChanges(scope.row)">
</el-checkbox> </el-checkbox>
<el-select v-if="item.prop === 'indexType'" filterable size="small" <el-select v-if="item.prop === 'indexType'" filterable size="small"
@@ -546,6 +547,21 @@ const reset = () => {
},] },]
}; };
const indexChanges = (row: any) => {
let name = '';
if(row.columnNames && row.columnNames.length > 0){
for (const column of row.columnNames) {
name += column.replace('_','').toLowerCase() + '_'
}
name = name.substring(0, name.length-1)
} else {
return;
}
let prefix = row.unique? 'udx_' : 'idx_';
row.indexName = prefix + name;
}
const oldData = { indexs: [] as any[], fields: [] as any[] } const oldData = { indexs: [] as any[], fields: [] as any[] }
watch(() => props.data, (newValue: any) => { watch(() => props.data, (newValue: any) => {
const { row, indexs, columns } = newValue; const { row, indexs, columns } = newValue;
@@ -569,7 +585,7 @@ watch(() => props.data, (newValue: any) => {
length, length,
notNull: a.nullable !== 'YES', notNull: a.nullable !== 'YES',
pri: a.columnKey === 'PRI', pri: a.columnKey === 'PRI',
auto_increment: a.extra?.indexOf('auto_increment') > -1, auto_increment: a.columnKey === 'PRI' /*a.extra?.indexOf('auto_increment') > -1*/,
remark: a.columnComment, remark: a.columnComment,
}; };
state.tableData.fields.res.push(data) state.tableData.fields.res.push(data)