diff --git a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JPopupDict.vue b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JPopupDict.vue index 4d24194ae..99d5f029c 100644 --- a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JPopupDict.vue +++ b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JPopupDict.vue @@ -12,6 +12,8 @@ @register="regModal" :code="code" :multi="multi" + :selected="selected" + :rowkey="valueFiled" :sorter="sorter" :groupId="''" :param="param" @@ -72,6 +74,7 @@ const code = props.dictCode.split(',')[0]; const labelFiled = props.dictCode.split(',')[1]; const valueFiled = props.dictCode.split(',')[2]; + const selected = ref([]); if (!code || !valueFiled || !labelFiled) { createMessage.error('popupDict参数未正确配置!'); } @@ -159,6 +162,7 @@ options.value = data.records.map((item) => { return { value: item[valueFiled], text: item[labelFiled] }; }); + selected.value = data.records; } }) .finally(() => { @@ -200,6 +204,8 @@ code, options, loading, + selected, + valueFiled, }; }, }); diff --git a/jeecgboot-vue3/src/components/Form/src/jeecg/components/modal/JPopupOnlReportModal.vue b/jeecgboot-vue3/src/components/Form/src/jeecg/components/modal/JPopupOnlReportModal.vue index 3101dd847..7660a3534 100644 --- a/jeecgboot-vue3/src/components/Form/src/jeecg/components/modal/JPopupOnlReportModal.vue +++ b/jeecgboot-vue3/src/components/Form/src/jeecg/components/modal/JPopupOnlReportModal.vue @@ -49,7 +49,7 @@ :canResize="false" :bordered="true" :loading="loading" - :rowKey="combineRowKey" + :rowKey="rowkey ? rowkey : combineRowKey" :columns="columns" :showIndexColumn="false" :dataSource="dataSource" @@ -90,7 +90,7 @@ loading: true, }), }, - props: ['multi', 'code', 'sorter', 'groupId', 'param','showAdvancedButton', 'getFormValues'], + props: ['multi', 'code', 'sorter', 'groupId', 'param','showAdvancedButton', 'getFormValues', 'selected', 'rowkey'], emits: ['ok', 'register'], setup(props, { emit }) { const { createMessage } = useMessage(); @@ -284,7 +284,15 @@ createImgPreview({ imageList: imgList }); } } - + // update-begin--author:liaozhiyang---date:20250415--for:【issues/3656】popupdict回显 + watchEffect(() => { + if (props.selected && props.rowkey) { + const selected = props.multi ? props.selected : [props.selected]; + checkedKeys!.value = selected.map((item) => item[props.rowkey]); + selectRows!.value = selected; + } + }); + // update-end--author:liaozhiyang---date:20250415--for:【issues/3656】popupdict回显 return { attrs, register, diff --git a/jeecgboot-vue3/src/components/jeecg/OnLine/hooks/usePopBiz.ts b/jeecgboot-vue3/src/components/jeecg/OnLine/hooks/usePopBiz.ts index 330148529..f172d23b0 100644 --- a/jeecgboot-vue3/src/components/jeecg/OnLine/hooks/usePopBiz.ts +++ b/jeecgboot-vue3/src/components/jeecg/OnLine/hooks/usePopBiz.ts @@ -179,10 +179,16 @@ export function usePopBiz(ob, tableRef?) { */ function combineRowKey(record) { let res = record?.id || ''; - Object.keys(record).forEach((key) => { - res = key == 'rowIndex' ? record[key] + res : res + record[key]; - }); - res = res.length > 50 ? res.substring(0, 50) : res; + if (props?.rowkey) { + // update-begin--author:liaozhiyang---date:20250415--for:【issues/3656】popupdict回显 + res = record[props.rowkey]; + // update-end--author:liaozhiyang---date:20250415--for:【issues/3656】popupdict回显 + } else { + Object.keys(record).forEach((key) => { + res = key == 'rowIndex' ? record[key] + res : res + record[key]; + }); + res = res.length > 50 ? res.substring(0, 50) : res; + } return res; }