|
|
@ -26,6 +26,8 @@ export default { |
|
|
dictId:undefined, |
|
|
dictId:undefined, |
|
|
dictName:undefined, |
|
|
dictName:undefined, |
|
|
dictType: undefined, |
|
|
dictType: undefined, |
|
|
|
|
|
multiDefaultValue: '', |
|
|
|
|
|
multiDefaultValueList: [], |
|
|
status:'Y', |
|
|
status:'Y', |
|
|
createBy:this.$store.state.user.name, |
|
|
createBy:this.$store.state.user.name, |
|
|
createDate:undefined, |
|
|
createDate:undefined, |
|
|
@ -77,10 +79,39 @@ export default { |
|
|
removeDictType(row){ |
|
|
removeDictType(row){ |
|
|
this.$message.success(row) |
|
|
this.$message.success(row) |
|
|
}, |
|
|
}, |
|
|
|
|
|
normalizeMultiDefaultValueList (value) { |
|
|
|
|
|
if (value === null || value === undefined) { |
|
|
|
|
|
return [] |
|
|
|
|
|
} |
|
|
|
|
|
const cache = new Set() |
|
|
|
|
|
return String(value) |
|
|
|
|
|
.split(/[;,\n]/) |
|
|
|
|
|
.map(item => String(item || '').trim()) |
|
|
|
|
|
.filter(item => { |
|
|
|
|
|
if (!item || cache.has(item)) { |
|
|
|
|
|
return false |
|
|
|
|
|
} |
|
|
|
|
|
cache.add(item) |
|
|
|
|
|
return true |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
syncMultiDefaultValueFromList () { |
|
|
|
|
|
const list = Array.isArray(this.saveData.multiDefaultValueList) ? this.saveData.multiDefaultValueList : [] |
|
|
|
|
|
const normalized = this.normalizeMultiDefaultValueList(list.join(';')) |
|
|
|
|
|
this.$set(this.saveData, 'multiDefaultValueList', normalized) |
|
|
|
|
|
this.$set(this.saveData, 'multiDefaultValue', normalized.join(';')) |
|
|
|
|
|
}, |
|
|
openDictTypeDialog(val,row){ |
|
|
openDictTypeDialog(val,row){ |
|
|
this.insertOrUpdate = val; |
|
|
this.insertOrUpdate = val; |
|
|
if (row){ |
|
|
if (row){ |
|
|
this.saveData = {...row} |
|
|
|
|
|
|
|
|
this.saveData = { |
|
|
|
|
|
...row, |
|
|
|
|
|
multiDefaultValue: row.multiDefaultValue || '', |
|
|
|
|
|
multiDefaultValueList: this.normalizeMultiDefaultValueList(row.multiDefaultValue) |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$set(this.saveData, 'multiDefaultValue', '') |
|
|
|
|
|
this.$set(this.saveData, 'multiDefaultValueList', []) |
|
|
} |
|
|
} |
|
|
this.saveDataDialogFlag = true |
|
|
this.saveDataDialogFlag = true |
|
|
}, |
|
|
}, |
|
|
@ -90,6 +121,8 @@ export default { |
|
|
dictId:undefined, |
|
|
dictId:undefined, |
|
|
dictName:undefined, |
|
|
dictName:undefined, |
|
|
dictType: undefined, |
|
|
dictType: undefined, |
|
|
|
|
|
multiDefaultValue: '', |
|
|
|
|
|
multiDefaultValueList: [], |
|
|
status:'Y', |
|
|
status:'Y', |
|
|
createBy:this.$store.state.user.name, |
|
|
createBy:this.$store.state.user.name, |
|
|
createDate:undefined, |
|
|
createDate:undefined, |
|
|
@ -113,6 +146,7 @@ export default { |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
saveDictType(){ |
|
|
saveDictType(){ |
|
|
|
|
|
this.syncMultiDefaultValueFromList(); |
|
|
saveDictType(this.saveData).then(({data})=>{ |
|
|
saveDictType(this.saveData).then(({data})=>{ |
|
|
if (data && data.code === 0){ |
|
|
if (data && data.code === 0){ |
|
|
this.$message.success(data.msg); |
|
|
this.$message.success(data.msg); |
|
|
@ -126,6 +160,7 @@ export default { |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
updateDictType(){ |
|
|
updateDictType(){ |
|
|
|
|
|
this.syncMultiDefaultValueFromList(); |
|
|
updateDictType(this.saveData).then(({data})=>{ |
|
|
updateDictType(this.saveData).then(({data})=>{ |
|
|
if (data && data.code === 0){ |
|
|
if (data && data.code === 0){ |
|
|
this.$message.success(data.msg); |
|
|
this.$message.success(data.msg); |
|
|
@ -318,7 +353,20 @@ export default { |
|
|
<el-form-item label="字典类型" prop="dictType"> |
|
|
<el-form-item label="字典类型" prop="dictType"> |
|
|
<el-input v-model="saveData.dictType" :disabled="insertOrUpdate !== 0" clearable/> |
|
|
<el-input v-model="saveData.dictType" :disabled="insertOrUpdate !== 0" clearable/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="应用菜单" prop="menuId"> |
|
|
|
|
|
|
|
|
<el-form-item label="多选默认值"> |
|
|
|
|
|
<dict-data-select |
|
|
|
|
|
:key="'multi-default-' + (saveData.dictType || '') + '-' + insertOrUpdate" |
|
|
|
|
|
class="rohs-multiple-two-rows" |
|
|
|
|
|
v-model="saveData.multiDefaultValueList" |
|
|
|
|
|
multiple |
|
|
|
|
|
clearable |
|
|
|
|
|
:use-default-value="false" |
|
|
|
|
|
:disabled="insertOrUpdate === 0 || !saveData.dictType" |
|
|
|
|
|
:dict-type="saveData.dictType" |
|
|
|
|
|
style="width: 100%"> |
|
|
|
|
|
</dict-data-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="应用菜单" prop="menuId" style="margin-top: 40px"> |
|
|
<el-select v-model="saveData.menuId" style="width: 40%;"> |
|
|
<el-select v-model="saveData.menuId" style="width: 40%;"> |
|
|
<el-option :value="i.menuId" :label="i.name" v-for="i in menuList" :key="i.menuId"></el-option> |
|
|
<el-option :value="i.menuId" :label="i.name" v-for="i in menuList" :key="i.menuId"></el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
@ -350,4 +398,45 @@ export default { |
|
|
/deep/ .el-textarea .el-textarea__inner { |
|
|
/deep/ .el-textarea .el-textarea__inner { |
|
|
padding: 0px 5px; |
|
|
padding: 0px 5px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .rohs-multiple-two-rows.el-select .el-input__inner, |
|
|
|
|
|
/deep/ .rohs-multiple-two-rows .el-select .el-input__inner { |
|
|
|
|
|
min-height: 62px !important; |
|
|
|
|
|
height: auto !important; |
|
|
|
|
|
padding-top: 6px !important; |
|
|
|
|
|
padding-bottom: 6px !important; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .rohs-multiple-two-rows.el-select .el-select__tags, |
|
|
|
|
|
/deep/ .rohs-multiple-two-rows .el-select .el-select__tags { |
|
|
|
|
|
max-width: calc(100% - 34px) !important; |
|
|
|
|
|
max-height: 50px; |
|
|
|
|
|
overflow-y: auto; |
|
|
|
|
|
overflow-x: hidden; |
|
|
|
|
|
white-space: normal; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .rohs-multiple-two-rows.el-select .el-select__tags > span, |
|
|
|
|
|
/deep/ .rohs-multiple-two-rows .el-select .el-select__tags > span { |
|
|
|
|
|
display: inline; |
|
|
|
|
|
max-width: 100%; |
|
|
|
|
|
white-space: normal; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .rohs-multiple-two-rows.el-select .el-select__tags .el-tag, |
|
|
|
|
|
/deep/ .rohs-multiple-two-rows .el-select .el-select__tags .el-tag { |
|
|
|
|
|
display: inline-flex; |
|
|
|
|
|
max-width: 100%; |
|
|
|
|
|
height: auto; |
|
|
|
|
|
line-height: 16px; |
|
|
|
|
|
margin-bottom: 2px; |
|
|
|
|
|
white-space: normal; |
|
|
|
|
|
vertical-align: middle; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/deep/ .rohs-multiple-two-rows.el-select .el-select__tags .el-tag .el-select__tags-text, |
|
|
|
|
|
/deep/ .rohs-multiple-two-rows .el-select .el-select__tags .el-tag .el-select__tags-text { |
|
|
|
|
|
white-space: normal; |
|
|
|
|
|
word-break: break-all; |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |