From ff1e7e1422b03622e5357d5e50d14213fd97386c Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Tue, 30 Jun 2026 17:02:57 +0800 Subject: [PATCH] =?UTF-8?q?2026-06-30=20=E6=95=B0=E6=8D=AE=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E5=A4=9A=E9=80=89=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/modules/rohs/rohsRecord.vue | 26 +++++++- src/views/modules/sys/dict.vue | 93 ++++++++++++++++++++++++++- 2 files changed, 115 insertions(+), 4 deletions(-) diff --git a/src/views/modules/rohs/rohsRecord.vue b/src/views/modules/rohs/rohsRecord.vue index a3715a8..0e3b8e8 100644 --- a/src/views/modules/rohs/rohsRecord.vue +++ b/src/views/modules/rohs/rohsRecord.vue @@ -310,12 +310,34 @@ - + + - + + diff --git a/src/views/modules/sys/dict.vue b/src/views/modules/sys/dict.vue index e6fa7f9..c681a7d 100644 --- a/src/views/modules/sys/dict.vue +++ b/src/views/modules/sys/dict.vue @@ -26,6 +26,8 @@ export default { dictId:undefined, dictName:undefined, dictType: undefined, + multiDefaultValue: '', + multiDefaultValueList: [], status:'Y', createBy:this.$store.state.user.name, createDate:undefined, @@ -77,10 +79,39 @@ export default { removeDictType(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){ this.insertOrUpdate = val; 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 }, @@ -90,6 +121,8 @@ export default { dictId:undefined, dictName:undefined, dictType: undefined, + multiDefaultValue: '', + multiDefaultValueList: [], status:'Y', createBy:this.$store.state.user.name, createDate:undefined, @@ -113,6 +146,7 @@ export default { }) }, saveDictType(){ + this.syncMultiDefaultValueFromList(); saveDictType(this.saveData).then(({data})=>{ if (data && data.code === 0){ this.$message.success(data.msg); @@ -126,6 +160,7 @@ export default { }) }, updateDictType(){ + this.syncMultiDefaultValueFromList(); updateDictType(this.saveData).then(({data})=>{ if (data && data.code === 0){ this.$message.success(data.msg); @@ -318,7 +353,20 @@ export default { - + + + + + @@ -350,4 +398,45 @@ export default { /deep/ .el-textarea .el-textarea__inner { 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; +}