diff --git a/src/api/api.js b/src/api/api.js index cbd5d1bd..f9804607 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -68,6 +68,8 @@ const editDictItem = (params) => postAction('/sys/dictItem/edit', params) const getDictTreeList = (params) => getAction('/sys/dictItem/treeList', params) // 获取能在form中使用的数据字典树形格式数据 const getFormDictTreeList = (params) => getAction('/sys/dictItem/treeListOption', params) +// 通过code值获取字典数据 +const getDictByCode = (params) => getAction('/sys/dictItem/listByCodes', params) // 字典标签专用(通过code获取字典数组) export const ajaxGetDictItems = (code, params) => getAction(`/sys/dict/getDictItems/${code}`, params) @@ -182,6 +184,7 @@ export { editDictItem, getDictTreeList, getFormDictTreeList, + getDictByCode, doReleaseData, doReovkeData, getLoginfo, diff --git a/src/common/lang/zh-cn.js b/src/common/lang/zh-cn.js index 95ab97a5..92542ad0 100644 --- a/src/common/lang/zh-cn.js +++ b/src/common/lang/zh-cn.js @@ -595,6 +595,11 @@ module.exports = { downTemplate: '点击下载模板', noFileMsg: '请选择一个文件' }, + // 树选择弹框 + treeSelection: { + primaryNodeName: '一级节点名称', + selectedData: '已选数据' + }, // 系统管理 system, // 个人中心 diff --git a/src/components/customField/AddForm.vue b/src/components/customField/AddForm.vue index d366f9a6..093c12ed 100644 --- a/src/components/customField/AddForm.vue +++ b/src/components/customField/AddForm.vue @@ -125,6 +125,15 @@ :tree-data="optionsData[item.dbFieldName]" :label-in-value="false" :placeholder="$t('pleaseSelect')+item.dbFieldTxt" /> + + @@ -146,10 +155,11 @@ import JMultipleDatePicker from '../JMultipleDatePicker' import UserSelection from '../selection/UserSelection' import { getAction } from '../../api/manage.js' import { getFormDictTreeList } from '../../api/api.js' +import TreeSelection from '../selection/TreeSelection' export default { name: 'AddForm', - components: { UserSelection, JMultipleDatePicker, StandardSelection, JDictSelectTag, JMultiSelectTag, UploadFile }, + components: { UserSelection, JMultipleDatePicker, StandardSelection, JDictSelectTag, JMultiSelectTag, UploadFile, TreeSelection }, props: { url: { type: Object, diff --git a/src/components/selection/TreeSelectModal.vue b/src/components/selection/TreeSelectModal.vue new file mode 100644 index 00000000..0d23373e --- /dev/null +++ b/src/components/selection/TreeSelectModal.vue @@ -0,0 +1,287 @@ + + + + + \ No newline at end of file diff --git a/src/components/selection/TreeSelection.vue b/src/components/selection/TreeSelection.vue new file mode 100644 index 00000000..2c723915 --- /dev/null +++ b/src/components/selection/TreeSelection.vue @@ -0,0 +1,102 @@ + + + + + \ No newline at end of file diff --git a/src/enums/commonEnums.js b/src/enums/commonEnums.js index bf1f2d24..8074e24e 100644 --- a/src/enums/commonEnums.js +++ b/src/enums/commonEnums.js @@ -22,7 +22,8 @@ export const FieldType = { TREE: { text: '树形结构(多选)', value: '12' }, // TEXT_LINK: { text: '输入框(链接)', value: '13' }, YEAR_PICKER: { text: '年份选择', value: '14' }, - TREE_SINGLE: { text: '树形结构(单选)', value: '15' } + TREE_SINGLE: { text: '树形结构(单选)', value: '15' }, + TREE_MODAL_SELECT: { text: '树形弹框', value: '16' } } export const TagsTypeEnums = new EsEnums({ diff --git a/src/views/system/tags/modules/StandardDrawer.vue b/src/views/system/tags/modules/StandardDrawer.vue index b5705184..d6334118 100644 --- a/src/views/system/tags/modules/StandardDrawer.vue +++ b/src/views/system/tags/modules/StandardDrawer.vue @@ -431,7 +431,7 @@ export default { val = val + '' // this.contentFlag=val // 树形结构 - if (val === FieldType.TREE.value || val === FieldType.TREE_SINGLE.value) { + if (val === FieldType.TREE.value || val === FieldType.TREE_SINGLE.value || FieldType.TREE_MODAL_SELECT.value) { this.contentOption = [...this.contentOptionTree] this.isTagContent = true } else if (val === FieldType.OPTION_SINGLE.value || val === FieldType.OPTION_MORE.value) { diff --git a/src/views/system/tags/modules/TagContentDictItemModal.vue b/src/views/system/tags/modules/TagContentDictItemModal.vue index 3d051e98..8197759f 100644 --- a/src/views/system/tags/modules/TagContentDictItemModal.vue +++ b/src/views/system/tags/modules/TagContentDictItemModal.vue @@ -31,7 +31,9 @@ /> - + { if (res.success) {