diff --git a/src/components/dict/JDictSelectTag.vue b/src/components/dict/JDictSelectTag.vue index 5cf578c..bf9b4df 100644 --- a/src/components/dict/JDictSelectTag.vue +++ b/src/components/dict/JDictSelectTag.vue @@ -123,10 +123,18 @@ export default { val = e } console.log(val) + if (this.$listeners.nameChange) { + this.$emit('nameChange', this.getDictLabelByValue(val)) + } this.$emit('change', val) // 解决数据规则,选择自定义SQL 规则值无法输入空格 this.$emit('input', val) }, + // 通过val获取字典项 + getDictLabelByValue (val) { + const dictItem = this.dictOptions.find(item => item.value === val) + return dictItem.text || dictItem.label + }, setCurrentDictOptions (dictOptions) { this.dictOptions = dictOptions }, diff --git a/src/components/dict/JMultiSelectTag.vue b/src/components/dict/JMultiSelectTag.vue index e3b1857..ee624d1 100644 --- a/src/components/dict/JMultiSelectTag.vue +++ b/src/components/dict/JMultiSelectTag.vue @@ -139,15 +139,27 @@ export default { selectedValue = this.dictOptions.map(item => item.value) } } - this.arrayValue = selectedValue // 开启全选时,不把全选的value进行返回 if (this.openSelectedAll) { - this.$emit('change', selectedValue.filter(item => item !== selectedAllValue).join(this.spliter)) + const list = selectedValue.filter(item => item !== selectedAllValue) + if (this.$listeners.nameChange) { + const labelList = list.map(val => this.getDictLabelByValue(val)) + this.$emit('nameChange', labelList.join(this.spliter)) + } + this.$emit('change', list.join(this.spliter)) } else { + if (this.$listeners.nameChange) { + this.$emit('nameChange', selectedValue.map(val => this.getDictLabelByValue(val)).join(this.spliter)) + } this.$emit('change', selectedValue.join(this.spliter)) } }, + // 通过val获取字典项 + getDictLabelByValue (val) { + const dictItem = this.dictOptions.find(item => item.value === val) + return dictItem.text || dictItem.label + }, // 选中的回调 onSelect (value) { // 没有开启全选就直接退出 diff --git a/src/views/workCenter/standardInterpretationProcess/modules/InterpretationClauseTableModal.vue b/src/views/workCenter/standardInterpretationProcess/modules/InterpretationClauseTableModal.vue index a353ff7..133cf6e 100644 --- a/src/views/workCenter/standardInterpretationProcess/modules/InterpretationClauseTableModal.vue +++ b/src/views/workCenter/standardInterpretationProcess/modules/InterpretationClauseTableModal.vue @@ -26,6 +26,7 @@ @@ -51,6 +52,7 @@ options-href="/laws/standard/partName/" :nameStr="model.keywords_dictText" :disabled="disabled" + @nameChange="nameChange" v-decorator="['keywords']" /> @@ -58,6 +60,7 @@ @@ -67,6 +70,7 @@ :disabled="disabled" multi treeOpera + @back="departNameChange($event, 'responsibleDepartment')" v-decorator="['responsibleDepartment']" /> @@ -74,6 +78,7 @@ @@ -83,6 +88,7 @@ :disabled="disabled" multi treeOpera + @back="departNameChange($event, 'relatedDepartment')" v-decorator="['relatedDepartment']" /> @@ -90,6 +96,7 @@ @@ -97,6 +104,7 @@ @@ -104,6 +112,7 @@ @@ -114,6 +123,7 @@ :tree-data="professionalFieldTreeList" tree-checkable treeCheckStrictly + @change="treeNameChange($event, 'domainArea')" :placeholder="$t('pleaseSelect')+$t('workCenter.standardInterpretationProcess.professionalField')"/> @@ -121,6 +131,7 @@ @@ -214,6 +225,7 @@ @@ -291,6 +303,9 @@ export default { this.model = Object.assign({}, record) this.visible = true this.$nextTick(() => { + if (typeof this.model.domainArea === 'string') { + this.model.domainArea = this.model.domainArea.split(',').map(item => ({ value: item })) + } this.form.setFieldsValue(this.model) }) }, @@ -319,6 +334,18 @@ export default { this.professionalFieldTreeList = res.result || [] } }) + }, + // 下拉多选获取名称 + nameChange (name, field) { + this.model[field + '_dictText'] = name + }, + // 部门名称 + departNameChange (departList, field) { + this.model[field + '_dictText'] = departList.map(item => item.text).join(',') + }, + // 下拉树名称 + treeNameChange (list, field) { + this.model[field + '_dictText'] = list.map(item => item.label).join(',') } } }