Skip to content

Commit 722382f

Browse files
author
奇淼(piexlmax
committed
自动化代码列表可直接进行简单编辑。
1 parent e47a512 commit 722382f

File tree

1 file changed

+132
-14
lines changed

1 file changed

+132
-14
lines changed

web/src/view/systemTools/autoCode/index.vue

Lines changed: 132 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -150,21 +150,81 @@
150150
</div>
151151
<el-table :data="form.fields">
152152
<el-table-column align="left" type="index" label="序列" width="60" />
153-
<el-table-column align="left" prop="fieldName" label="Field名" />
154-
<el-table-column align="left" prop="fieldDesc" label="中文名" />
155-
<el-table-column align="left" prop="require" label="是否必填">
156-
<template #default="{row}">{{ row.require?"是":"否" }}</template>
153+
<el-table-column align="left" prop="fieldName" label="Field名" width="160">
154+
<template #default="{row}">
155+
<el-input v-model="row.fieldName" />
156+
</template>
157+
</el-table-column>
158+
<el-table-column align="left" prop="fieldDesc" label="中文名" width="160">
159+
<template #default="{row}">
160+
<el-input v-model="row.fieldDesc" />
161+
</template>
162+
</el-table-column>
163+
<el-table-column align="left" prop="require" label="必填">
164+
<template #default="{row}"> <el-checkbox v-model="row.require" /></template>
165+
</el-table-column>
166+
<el-table-column align="left" prop="sort" label="排序">
167+
<template #default="{row}"> <el-checkbox v-model="row.sort" /> </template>
168+
</el-table-column>
169+
<el-table-column align="left" prop="fieldJson" width="160px" label="FieldJson">
170+
<template #default="{row}">
171+
<el-input v-model="row.fieldJson" />
172+
</template>
173+
</el-table-column>
174+
<el-table-column align="left" prop="fieldType" label="Field数据类型" width="160">
175+
<template #default="{row}">
176+
<el-select
177+
v-model="row.fieldType"
178+
style="width:100%"
179+
placeholder="请选择field数据类型"
180+
clearable
181+
>
182+
<el-option
183+
v-for="item in typeOptions"
184+
:key="item.value"
185+
:label="item.label"
186+
:value="item.value"
187+
/>
188+
</el-select>
189+
</template>
157190
</el-table-column>
158-
<el-table-column align="left" prop="sort" label="是否排序">
159-
<template #default="{row}">{{ row.sort?"是":"否" }}</template>
191+
<el-table-column align="left" prop="dataTypeLong" label="数据库字段长度" width="160">
192+
<template #default="{row}">
193+
<el-input v-model="row.dataTypeLong" />
194+
</template>
195+
</el-table-column>
196+
<el-table-column align="left" prop="columnName" label="数据库字段" width="160">
197+
<template #default="{row}">
198+
<el-input v-model="row.columnName" />
199+
</template>
200+
</el-table-column>
201+
<el-table-column align="left" prop="comment" label="数据库字段描述" width="160">
202+
<template #default="{row}">
203+
<el-input v-model="row.columnName" />
204+
</template>
205+
</el-table-column>
206+
<el-table-column align="left" prop="fieldSearchType" label="搜索条件" width="130">
207+
<template #default="{row}">
208+
<el-select
209+
v-model="row.fieldSearchType"
210+
style="width:100%"
211+
placeholder="请选择Field查询条件"
212+
clearable
213+
>
214+
<el-option
215+
v-for="item in typeSearchOptions"
216+
:key="item.value"
217+
:label="item.label"
218+
:value="item.value"
219+
:disabled="
220+
(row.fieldType!=='string'&&item.value==='LIKE')||
221+
((row.fieldType!=='int'&&row.fieldType!=='time.Time'&&row.fieldType!=='float64')&&(item.value==='BETWEEN' || item.value==='NOT BETWEEN'))
222+
"
223+
/>
224+
</el-select>
225+
</template>
226+
160227
</el-table-column>
161-
<el-table-column align="left" prop="fieldJson" min-width="120px" label="FieldJson" />
162-
<el-table-column align="left" prop="fieldType" label="Field数据类型" width="130" />
163-
<el-table-column align="left" prop="dataTypeLong" label="数据库字段长度" width="130" />
164-
<el-table-column align="left" prop="columnName" label="数据库字段" width="130" />
165-
<el-table-column align="left" prop="comment" label="数据库字段描述" width="130" />
166-
<el-table-column align="left" prop="fieldSearchType" label="搜索条件" width="130" />
167-
<el-table-column align="left" prop="dictType" label="字典" width="130" />
168228
<el-table-column align="left" label="操作" width="300" fixed="right">
169229
<template #default="scope">
170230
<el-button
@@ -173,7 +233,7 @@
173233
link
174234
icon="edit"
175235
@click="editAndAddField(scope.row)"
176-
>编辑</el-button>
236+
>高级编辑</el-button>
177237
<el-button
178238
size="small"
179239
type="primary"
@@ -248,6 +308,64 @@ import { useRoute, useRouter } from 'vue-router'
248308
import { ElMessage } from 'element-plus'
249309
import WarningBar from '@/components/warningBar/warningBar.vue'
250310
311+
const typeOptions = ref([
312+
{
313+
label: '字符串',
314+
value: 'string'
315+
},
316+
{
317+
label: '整型',
318+
value: 'int'
319+
},
320+
{
321+
label: '布尔值',
322+
value: 'bool'
323+
},
324+
{
325+
label: '浮点型',
326+
value: 'float64'
327+
},
328+
{
329+
label: '时间',
330+
value: 'time.Time'
331+
},
332+
{
333+
label: '枚举',
334+
value: 'enum'
335+
}
336+
])
337+
338+
const typeSearchOptions = ref([
339+
{
340+
label: '=',
341+
value: '='
342+
},
343+
{
344+
label: '<>',
345+
value: '<>'
346+
},
347+
{
348+
label: '>',
349+
value: '>'
350+
},
351+
{
352+
label: '<',
353+
value: '<'
354+
},
355+
{
356+
label: 'LIKE',
357+
value: 'LIKE'
358+
},
359+
{
360+
label: 'BETWEEN',
361+
value: 'BETWEEN'
362+
},
363+
{
364+
label: 'NOT BETWEEN',
365+
value: 'NOT BETWEEN'
366+
}
367+
])
368+
251369
const fieldTemplate = {
252370
fieldName: '',
253371
fieldDesc: '',

0 commit comments

Comments
 (0)