| | |
| | | deleteDictDataList, |
| | | exportDictData, |
| | | getDictDataPage, |
| | | importDictData, |
| | | importDictDataTemplate, |
| | | } from '#/api/system/dict/data'; |
| | | import { $t } from '#/locales'; |
| | | |
| | | import ImportModalComponent from '#/components/import-modal'; |
| | | |
| | | import { useDataGridColumns, useDataGridFormSchema } from '../data'; |
| | | import DataForm from './data-form.vue'; |
| | |
| | | destroyOnClose: true, |
| | | }); |
| | | |
| | | const [ImportModal, importModalApi] = useVbenModal({ |
| | | connectedComponent: ImportModalComponent, |
| | | destroyOnClose: true, |
| | | }); |
| | | |
| | | /** 刷新表格 */ |
| | | function handleRefresh() { |
| | | gridApi.query(); |
| | |
| | | async function handleExport() { |
| | | const data = await exportDictData(await gridApi.formApi.getValues()); |
| | | downloadFileFromBlobPart({ fileName: '字典数据.xls', source: data }); |
| | | } |
| | | |
| | | /** 导入字典数据 */ |
| | | function handleImport() { |
| | | importModalApi |
| | | .setData({ |
| | | title: $t('ui.actionTitle.import', ['字典数据']), |
| | | fileName: '字典数据导入模板.xls', |
| | | importFn: importDictData, |
| | | templateFn: importDictDataTemplate, |
| | | }) |
| | | .open(); |
| | | } |
| | | |
| | | /** 创建字典数据 */ |
| | |
| | | <template> |
| | | <div class="flex h-full flex-col"> |
| | | <DataFormModal @success="handleRefresh" /> |
| | | <ImportModal @success="handleRefresh" /> |
| | | |
| | | <Grid table-title="字典数据列表"> |
| | | <template #toolbar-tools> |
| | |
| | | onClick: handleExport, |
| | | }, |
| | | { |
| | | label: $t('ui.actionTitle.import', ['字典数据']), |
| | | type: 'primary', |
| | | icon: ACTION_ICON.UPLOAD, |
| | | auth: ['system:dict:import'], |
| | | onClick: handleImport, |
| | | }, |
| | | { |
| | | label: $t('ui.actionTitle.deleteBatch'), |
| | | type: 'primary', |
| | | danger: true, |