diff --git a/src/components/LowDesign/src/shareControl/DeptSelect.vue b/src/components/LowDesign/src/shareControl/DeptSelect.vue index bb1bc7e..9293c5a 100644 --- a/src/components/LowDesign/src/shareControl/DeptSelect.vue +++ b/src/components/LowDesign/src/shareControl/DeptSelect.vue @@ -148,6 +148,7 @@ import { useLowStoreWithOut } from '@/store/modules/low' import { listToTree } from '@/utils/tree' import * as DicApi from '@/api/design/dic/index' +import { cloneDeep } from 'lodash-es' defineOptions({ name: 'DeptSelect' }) @@ -210,8 +211,10 @@ const dialogData = ref({ name: '确定', icon: 'material-symbols:check-rounded', clickFun: () => { - dialogData.value.value = false model.value = getCurrDeptSelect('confirm').join(',') + setTimeout(() => { + dialogData.value.value = false + }, 30) } } ], @@ -338,8 +341,16 @@ const getDeptList = (getType) => { watch( () => model.value, (value) => { - if (props.column['onChange']) props.column['onChange']({ value, column: props.column }) - else if (props.column['change']) props.column['change']({ value, column: props.column }) + const selectObj = {} + cloneDeep(deptSelect.value).forEach((item) => { + delete item.children + selectObj[item[treeDeptOption.value.nodeKey]] = item + }) + if (props.column['onChange']) { + props.column['onChange']({ value, column: props.column, selectObj }) + } else if (props.column['change']) { + props.column['change']({ value, column: props.column, selectObj }) + } } ) diff --git a/src/components/LowDesign/src/shareControl/DicTableSelect.vue b/src/components/LowDesign/src/shareControl/DicTableSelect.vue index 23c3c41..455ee93 100644 --- a/src/components/LowDesign/src/shareControl/DicTableSelect.vue +++ b/src/components/LowDesign/src/shareControl/DicTableSelect.vue @@ -145,6 +145,7 @@ import { useWindowSize } from '@vueuse/core' import { encryptAES } from '@/components/LowDesign/src/utils/aes' import { useLowStoreWithOut } from '@/store/modules/low' +import { cloneDeep } from 'lodash-es' defineOptions({ name: 'DicTableSelect' }) interface Column { @@ -200,8 +201,10 @@ const dialogData = ref({ name: '确定', icon: 'material-symbols:check-rounded', clickFun: () => { - dialogData.value.value = false model.value = getCurrTableSelect('confirm').join(',') + setTimeout(() => { + dialogData.value.value = false + }, 30) } } ] @@ -317,8 +320,15 @@ const tagTableClose = (id) => { watch( () => model.value, (value) => { - if (props.column['onChange']) props.column['onChange']({ value, column: props.column }) - else if (props.column['change']) props.column['change']({ value, column: props.column }) + const selectObj = {} + cloneDeep(tableRef.value.tableSelect).forEach( + (item) => (selectObj[item[props.column.dictCode]] = item) + ) + if (props.column['onChange']) { + props.column['onChange']({ value, column: props.column, selectObj }) + } else if (props.column['change']) { + props.column['change']({ value, column: props.column, selectObj }) + } } ) diff --git a/src/components/LowDesign/src/shareControl/UserSelect.vue b/src/components/LowDesign/src/shareControl/UserSelect.vue index bf6885c..371305b 100644 --- a/src/components/LowDesign/src/shareControl/UserSelect.vue +++ b/src/components/LowDesign/src/shareControl/UserSelect.vue @@ -204,6 +204,7 @@ import { listToTree, filter } from '@/utils/tree' import { useLowStoreWithOut } from '@/store/modules/low' import * as DicApi from '@/api/design/dic/index' +import { cloneDeep } from 'lodash-es' defineOptions({ name: 'UserSelect' }) interface Column { @@ -269,8 +270,10 @@ const dialogData = ref({ name: '确定', icon: 'material-symbols:check-rounded', clickFun: () => { - dialogData.value.value = false model.value = getCurrTableSelect('confirm').join(',') + setTimeout(() => { + dialogData.value.value = false + }, 30) } } ] @@ -644,8 +647,15 @@ const initSelect = (val) => { watch( () => model.value, (value) => { - if (props.column['onChange']) props.column['onChange']({ value, column: props.column }) - else if (props.column['change']) props.column['change']({ value, column: props.column }) + const selectObj = {} + cloneDeep(tableSelect.value).forEach( + (item) => (selectObj[item[tableOption.value.rowKey]] = item) + ) + if (props.column['onChange']) { + props.column['onChange']({ value, column: props.column, selectObj }) + } else if (props.column['change']) { + props.column['change']({ value, column: props.column, selectObj }) + } } )