|
@ -1,54 +1,60 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="des-form"> |
|
|
<div class="des-form"> |
|
|
<el-row> |
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" :hide-required-asterisk="isDisabled" size="small" label-width="80px"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" :hide-required-asterisk="isDisabled" size="small" label-width="80px"> |
|
|
|
|
|
<el-row> |
|
|
<el-col :span="16"> |
|
|
<el-col :span="16"> |
|
|
<el-form-item v-if="!isDisabled" label="中文名称" prop="fieldCnName"> |
|
|
|
|
|
|
|
|
<el-form-item label="字段名称" prop="fieldCnName"> |
|
|
<el-input v-model="form.fieldCnName" :disabled="isDisabled" /> |
|
|
<el-input v-model="form.fieldCnName" :disabled="isDisabled" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item v-if="!isDisabled" label="字段标识" prop="fieldName" class="inline-error-item" :inline-message="true"> |
|
|
|
|
|
<el-input v-if="isDisabled" v-model="form.fieldName" readonly /> |
|
|
|
|
|
|
|
|
<el-form-item label="字段标识" prop="fieldName" class="inline-error-item" :inline-message="true"> |
|
|
|
|
|
<el-input v-if="isDisabled" v-model="form.fieldName" disabled /> |
|
|
<el-input v-else v-model="form.fieldName" :disabled="!isAdd" /> |
|
|
<el-input v-else v-model="form.fieldName" :disabled="!isAdd" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item label="字段类型" prop="isDataType"> |
|
|
<el-form-item label="字段类型" prop="isDataType"> |
|
|
<el-input v-if="isDisabled" v-model="form.isDataTypeTxt" readonly /> |
|
|
|
|
|
|
|
|
<el-input v-if="isDisabled" v-model="form.isDataTypeTxt" disabled /> |
|
|
<el-select v-else v-model="form.isDataType" placeholder="" :disabled="!isAdd"> |
|
|
<el-select v-else v-model="form.isDataType" placeholder="" :disabled="!isAdd"> |
|
|
<el-option v-for="item in dataTypeOptions" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
<el-option v-for="item in dataTypeOptions" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item label="字段长度" prop="isColumnLength"> |
|
|
<el-form-item label="字段长度" prop="isColumnLength"> |
|
|
<el-input v-if="isDisabled" v-model="form.isColumnLength" type="number" placeholder="" readonly /> |
|
|
|
|
|
|
|
|
<el-input v-if="isDisabled" v-model="form.isColumnLength" type="number" placeholder="" disabled /> |
|
|
<el-input v-else v-model.number="form.isColumnLength" type="number" placeholder="" :disabled="!isAdd" /> |
|
|
<el-input v-else v-model.number="form.isColumnLength" type="number" placeholder="" :disabled="!isAdd" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item label="著录形式" prop="isInputClass"> |
|
|
<el-form-item label="著录形式" prop="isInputClass"> |
|
|
<el-input v-if="isDisabled" v-model="form.isInputClassTxt" readonly /> |
|
|
|
|
|
|
|
|
<el-input v-if="isDisabled" v-model="form.isInputClassTxt" disabled /> |
|
|
<el-select v-else v-model="form.isInputClass" placeholder="" @change="selectInputClass"> |
|
|
<el-select v-else v-model="form.isInputClass" placeholder="" @change="selectInputClass"> |
|
|
<el-option v-for="item in inputClassOptions" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
<el-option v-for="item in inputClassOptions" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item label="对应字典" prop="dictionaryConfigId"> |
|
|
|
|
|
<el-input v-if="isDisabled" v-model="form.dictionaryConfigId.dicName" readonly /> |
|
|
|
|
|
|
|
|
<el-form-item label="对应数据" prop="dictionaryConfigId"> |
|
|
|
|
|
<el-input v-if="isDisabled" v-model="form.dictionaryConfigId.dicName" disabled /> |
|
|
<!-- @change="selectDictionary" --> |
|
|
<!-- @change="selectDictionary" --> |
|
|
<el-select v-else v-model="form.dictionaryConfigId.id" placeholder="" value-key="id" :disabled="form.isInputClass !== 'select' && form.isInputClass !== 'popover'"> |
|
|
|
|
|
<el-option v-for="item in dictionaryData" :key="item.id" :label="item.dicName" :value="item.id" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
<div v-else class="dictionary-selected"> |
|
|
|
|
|
<el-select v-model="form.dictionaryConfigId.type" class="dictionary-left" placeholder="" value-key="id" :disabled="form.isInputClass !== 'select' && form.isInputClass !== 'popover'"> |
|
|
|
|
|
<el-option v-for="item in dataOptions" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
<el-select v-model="form.dictionaryConfigId.id" class="dictionary-right" placeholder="" value-key="id" :disabled="form.dictionaryConfigId.type !== 'dictionary'"> |
|
|
|
|
|
<el-option v-for="item in dictionaryData" :key="item.id" :label="item.dicName" :value="item.id" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="显示长度" prop="editLength"> |
|
|
<el-form-item label="显示长度" prop="editLength"> |
|
|
<!-- :min="46" :max="510" --> |
|
|
<!-- :min="46" :max="510" --> |
|
|
<el-input v-model="form.editLength" type="number" :readonly="isDisabled" @keyup.enter.native="changEditLength" @blur="changEditLength" /> |
|
|
|
|
|
|
|
|
<el-input v-model="form.editLength" type="number" :disabled="isDisabled" @keyup.enter.native="changEditLength" @blur="changEditLength" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="默认值" prop="isDefaultValue"> |
|
|
<el-form-item label="默认值" prop="isDefaultValue"> |
|
|
<el-input v-model="form.isDefaultValue" :readonly="isDisabled" /> |
|
|
|
|
|
|
|
|
<el-input v-model="form.isDefaultValue" :disabled="isDisabled" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="8"> |
|
|
<el-col :span="8"> |
|
|
<el-form-item class="checkbox-item"> |
|
|
<el-form-item class="checkbox-item"> |
|
|
<span>显示一整行</span> |
|
|
|
|
|
|
|
|
<span>整行显示</span> |
|
|
<el-checkbox v-model="form.isLine" name="isLine" :disabled="isDisabled" @change="changeIsLine" /> |
|
|
<el-checkbox v-model="form.isLine" name="isLine" :disabled="isDisabled" @change="changeIsLine" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item class="checkbox-item"> |
|
|
<el-form-item class="checkbox-item"> |
|
@ -69,17 +75,17 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item class="checkbox-item"> |
|
|
<el-form-item class="checkbox-item"> |
|
|
<span>自动补零</span> |
|
|
<span>自动补零</span> |
|
|
<el-checkbox v-model="form.isFilling" name="isFilling" :disabled="isDisabled" @change="changeSupplement" /> |
|
|
|
|
|
|
|
|
<el-checkbox v-model="form.isFilling" name="isFilling" :disabled="isDisabled || form.isInputClass !=='number'" @change="changeSupplement" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item class="input-num" label="位数" prop="fillingDigit"> |
|
|
<el-form-item class="input-num" label="位数" prop="fillingDigit"> |
|
|
<el-input v-if="isDisabled || !form.isFilling" v-model="form.fillingDigit" readonly /> |
|
|
|
|
|
|
|
|
<el-input v-if="isDisabled || !form.isFilling" v-model="form.fillingDigit" disabled /> |
|
|
<!-- <el-input v-model="form.fillingDigit" type="number" :min="1" :disabled="isDisabled || !form.isSupplement" /> --> |
|
|
<!-- <el-input v-model="form.fillingDigit" type="number" :min="1" :disabled="isDisabled || !form.isSupplement" /> --> |
|
|
<el-input-number v-else v-model="form.fillingDigit" controls-position="right" :min="1" :disabled="isDisabled || !form.isFilling" /> |
|
|
<el-input-number v-else v-model="form.fillingDigit" controls-position="right" :min="1" :disabled="isDisabled || !form.isFilling" /> |
|
|
<span>位</span> |
|
|
<span>位</span> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-form> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
</el-form> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
@ -128,8 +134,8 @@ export default { |
|
|
} |
|
|
} |
|
|
// 显示长度限制 |
|
|
// 显示长度限制 |
|
|
var checkEditLength = (rule, value, callback) => { |
|
|
var checkEditLength = (rule, value, callback) => { |
|
|
if (this.form.editLength && this.form.editLength > 510) { |
|
|
|
|
|
callback(new Error('显示长度最大510')) |
|
|
|
|
|
|
|
|
if (this.form.editLength && this.form.editLength > 578) { |
|
|
|
|
|
callback(new Error('显示长度最大578')) |
|
|
} else if (this.form.editLength && this.form.editLength < 46) { |
|
|
} else if (this.form.editLength && this.form.editLength < 46) { |
|
|
callback(new Error('显示长度最小46')) |
|
|
callback(new Error('显示长度最小46')) |
|
|
} else { |
|
|
} else { |
|
@ -187,7 +193,8 @@ export default { |
|
|
return { |
|
|
return { |
|
|
form: { |
|
|
form: { |
|
|
dictionaryConfigId: { |
|
|
dictionaryConfigId: { |
|
|
id: null |
|
|
|
|
|
|
|
|
id: null, |
|
|
|
|
|
type: null |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
rules: getRules(), |
|
|
rules: getRules(), |
|
@ -206,7 +213,12 @@ export default { |
|
|
{ value: 'textarea', label: '文本域' } |
|
|
{ value: 'textarea', label: '文本域' } |
|
|
], |
|
|
], |
|
|
// 对应字典 |
|
|
// 对应字典 |
|
|
dictionaryData: [] |
|
|
|
|
|
|
|
|
dictionaryData: [], |
|
|
|
|
|
dataOptions: [ |
|
|
|
|
|
{ value: 'group', label: '全宗' }, |
|
|
|
|
|
{ value: 'classify', label: '档案分类' }, |
|
|
|
|
|
{ value: 'dictionary', label: '字典' } |
|
|
|
|
|
] |
|
|
// dictionaryId: null |
|
|
// dictionaryId: null |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
@ -300,7 +312,7 @@ export default { |
|
|
// this.$message.error('显示长度最小46') |
|
|
// this.$message.error('显示长度最小46') |
|
|
// this.form.editLength = 46 |
|
|
// this.form.editLength = 46 |
|
|
// } |
|
|
// } |
|
|
if (value > 200) { |
|
|
|
|
|
|
|
|
if (value > 225) { |
|
|
this.form.isLine = true |
|
|
this.form.isLine = true |
|
|
} |
|
|
} |
|
|
// if (value > 510) { |
|
|
// if (value > 510) { |
|
@ -310,8 +322,8 @@ export default { |
|
|
}, |
|
|
}, |
|
|
changeIsLine() { |
|
|
changeIsLine() { |
|
|
if (!this.form.isLine) { |
|
|
if (!this.form.isLine) { |
|
|
if (this.form.editLength > 200) { |
|
|
|
|
|
this.form.editLength = 200 |
|
|
|
|
|
|
|
|
if (this.form.editLength > 225) { |
|
|
|
|
|
this.form.editLength = 225 |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
@ -396,17 +408,21 @@ export default { |
|
|
} |
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
<style lang="scss" scoped> |
|
|
<style lang="scss" scoped> |
|
|
// .des-form { |
|
|
|
|
|
// width: 536px; |
|
|
|
|
|
// padding: 20px 38px 20px 20px; |
|
|
|
|
|
// margin-top: 30px; |
|
|
|
|
|
// border-radius: 4px; |
|
|
|
|
|
// background-color: #02255f; |
|
|
|
|
|
// ::v-deep .el-checkbox, |
|
|
|
|
|
// ::v-deep .el-checkbox__input, |
|
|
|
|
|
// ::v-deep .el-checkbox__input.is-disabled .el-checkbox__inner, |
|
|
|
|
|
// ::v-deep .el-checkbox__inner::after { |
|
|
|
|
|
// cursor: default; |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
.dictionary-selected{ |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
width: 264px; |
|
|
|
|
|
.dictionary-left{ |
|
|
|
|
|
width: 104px; |
|
|
|
|
|
::v-deep .el-input__inner{ |
|
|
|
|
|
width: 104px !important; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
.dictionary-right{ |
|
|
|
|
|
width: 150px; |
|
|
|
|
|
::v-deep .el-input__inner{ |
|
|
|
|
|
width: 150px !important; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |