|
|
@ -1,65 +1,29 @@ |
|
|
|
<template> |
|
|
|
<el-dialog |
|
|
|
:close-on-click-modal="false" |
|
|
|
:before-close="crud.cancelCU" |
|
|
|
:visible="crud.status.cu > 0" |
|
|
|
:title="crud.status.title" |
|
|
|
width="500px" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
ref="form" |
|
|
|
:model="form" |
|
|
|
:rules="rules" |
|
|
|
size="small" |
|
|
|
label-width="80px" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
label="中文名称" |
|
|
|
prop="name" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
v-model="form.name" |
|
|
|
style="width: 370px;" |
|
|
|
/> |
|
|
|
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible="crud.status.cu > 0" :title="crud.status.title" width="500px"> |
|
|
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px"> |
|
|
|
<el-form-item label="中文名称" prop="field_cn_name"> |
|
|
|
<el-input v-model="form.field_cn_name" style="width: 370px;" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="字段标识" |
|
|
|
prop="name" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
v-model="form.name" |
|
|
|
style="width: 370px;" |
|
|
|
/> |
|
|
|
<el-form-item label="字段标识" prop="field_name"> |
|
|
|
<el-input v-model="form.field_name" style="width: 370px;" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="数据类型" |
|
|
|
prop="name" |
|
|
|
> |
|
|
|
<el-select v-model="value" placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="item in options" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
/> |
|
|
|
<el-form-item label="数据类型" prop="is_data_type"> |
|
|
|
<el-select v-model="form.is_data_type" placeholder="请选择"> |
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="字段长度" prop="is_column_length"> |
|
|
|
<el-input-number v-model="form.is_column_length" controls-position="right" style="width: 370px;" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="默认值" prop="is_default_value"> |
|
|
|
<el-input v-model="form.is_default_value" style="width: 370px;" /> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div |
|
|
|
slot="footer" |
|
|
|
class="dialog-footer" |
|
|
|
> |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
@click="crud.cancelCU" |
|
|
|
> |
|
|
|
<div slot="footer" class="dialog-footer"> |
|
|
|
<el-button type="text" @click="crud.cancelCU"> |
|
|
|
取消 |
|
|
|
</el-button> |
|
|
|
<el-button |
|
|
|
:loading="crud.status.cu === 2" |
|
|
|
type="primary" |
|
|
|
@click="crud.submitCU" |
|
|
|
> |
|
|
|
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU"> |
|
|
|
确认 |
|
|
|
</el-button> |
|
|
|
</div> |
|
|
@ -71,30 +35,53 @@ import { form } from '@crud/crud' |
|
|
|
|
|
|
|
const defaultForm = { |
|
|
|
id: null, |
|
|
|
name: '', |
|
|
|
jobSort: 999, |
|
|
|
enabled: true |
|
|
|
field_cn_name: '', |
|
|
|
field_name: '', |
|
|
|
is_data_type: 1, |
|
|
|
is_column_length: 100, |
|
|
|
is_default_value: '' |
|
|
|
} |
|
|
|
export default { |
|
|
|
mixins: [form(defaultForm)], |
|
|
|
data() { |
|
|
|
var checkMaxLength = (rule, value, callback) => { |
|
|
|
if (!Number.isInteger(value) || value <= 0) { |
|
|
|
callback(new Error('请输入正整数数字值')) |
|
|
|
} else { |
|
|
|
if (this.form.is_data_type === 1 && value > 2000) { |
|
|
|
callback(new Error('字符最大长度不能超过2000位')) |
|
|
|
} else if (this.form.is_data_type === 2 && value > 11) { |
|
|
|
callback(new Error('数字最大长度不能超过11位')) |
|
|
|
} else { |
|
|
|
callback() |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return { |
|
|
|
rules: { |
|
|
|
name: [ |
|
|
|
{ required: true, message: '请输入名称', trigger: 'blur' } |
|
|
|
field_cn_name: [ |
|
|
|
{ required: true, message: '请输入中文名称', trigger: 'blur' } |
|
|
|
], |
|
|
|
jobSort: [ |
|
|
|
{ required: true, message: '请输入序号', trigger: 'blur', type: 'number' } |
|
|
|
field_name: [ |
|
|
|
{ required: true, message: '请输入字段标识', trigger: 'blur' } |
|
|
|
], |
|
|
|
is_data_type: [ |
|
|
|
{ required: true, message: '请选择数据类型', trigger: 'blur' } |
|
|
|
], |
|
|
|
is_column_length: [ |
|
|
|
{ validator: checkMaxLength, trigger: 'blur' } |
|
|
|
] |
|
|
|
}, |
|
|
|
options: [ |
|
|
|
{ |
|
|
|
value: 'varchar', |
|
|
|
label: '字符串' |
|
|
|
value: 1, |
|
|
|
label: '字符', |
|
|
|
maxlength: 2000 |
|
|
|
}, |
|
|
|
{ |
|
|
|
value: 'number', |
|
|
|
label: '数字' |
|
|
|
value: 2, |
|
|
|
label: '数字', |
|
|
|
maxlength: 11 |
|
|
|
} |
|
|
|
] |
|
|
|
} |
|
|
@ -103,7 +90,7 @@ export default { |
|
|
|
</script> |
|
|
|
|
|
|
|
<style rel="stylesheet/scss" lang="scss" scoped> |
|
|
|
::v-deep .el-input-number .el-input__inner { |
|
|
|
text-align: left; |
|
|
|
} |
|
|
|
::v-deep .el-input-number .el-input__inner { |
|
|
|
text-align: left; |
|
|
|
} |
|
|
|
</style> |