diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index fdb068a..fcc6477 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -1,6 +1,6 @@ { "name": "@vben/web-antd", - "version": "5.5.6", + "version": "5.5.7", "homepage": "https://vben.pro", "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", "repository": { @@ -53,7 +53,8 @@ "pinia": "catalog:", "vue": "catalog:", "vue-dompurify-html": "catalog:", - "vue-router": "catalog:" + "vue-router": "catalog:", + "vue3-signature": "catalog:" }, "devDependencies": { "@types/crypto-js": "catalog:" diff --git a/apps/web-antd/src/adapter/form.ts b/apps/web-antd/src/adapter/form.ts index d0932a0..93428ba 100644 --- a/apps/web-antd/src/adapter/form.ts +++ b/apps/web-antd/src/adapter/form.ts @@ -11,60 +11,61 @@ import { $t } from '@vben/locales'; /** 手机号正则表达式(中国) */ const MOBILE_REGEX = /(?:0|86|\+86)?1[3-9]\d{9}/; -setupVbenForm({ - config: { - // ant design vue组件库默认都是 v-model:value - baseModelPropName: 'value', +async function initSetupVbenForm() { + setupVbenForm({ + config: { + // ant design vue组件库默认都是 v-model:value + baseModelPropName: 'value', - // 一些组件是 v-model:checked 或者 v-model:fileList - modelPropNameMap: { - Checkbox: 'checked', - Radio: 'checked', - RichTextarea: 'modelValue', - Switch: 'checked', - Upload: 'fileList', + // 一些组件是 v-model:checked 或者 v-model:fileList + modelPropNameMap: { + Checkbox: 'checked', + Radio: 'checked', + Switch: 'checked', + Upload: 'fileList', + }, }, - }, - defineRules: { - // 输入项目必填国际化适配 - required: (value, _params, ctx) => { - if (value === undefined || value === null || value.length === 0) { - return $t('ui.formRules.required', [ctx.label]); - } - return true; - }, - // 选择项目必填国际化适配 - selectRequired: (value, _params, ctx) => { - if (value === undefined || value === null) { - return $t('ui.formRules.selectRequired', [ctx.label]); - } - return true; - }, - // 手机号非必填 - mobile: (value, _params, ctx) => { - if (value === undefined || value === null || value.length === 0) { + defineRules: { + // 输入项目必填国际化适配 + required: (value, _params, ctx) => { + if (value === undefined || value === null || value.length === 0) { + return $t('ui.formRules.required', [ctx.label]); + } return true; - } else if (!MOBILE_REGEX.test(value)) { - return $t('ui.formRules.mobile', [ctx.label]); - } - return true; + }, + // 选择项目必填国际化适配 + selectRequired: (value, _params, ctx) => { + if (value === undefined || value === null) { + return $t('ui.formRules.selectRequired', [ctx.label]); + } + return true; + }, + // 手机号非必填 + mobile: (value, _params, ctx) => { + if (value === undefined || value === null || value.length === 0) { + return true; + } else if (!MOBILE_REGEX.test(value)) { + return $t('ui.formRules.mobile', [ctx.label]); + } + return true; + }, + // 手机号必填 + mobileRequired: (value, _params, ctx) => { + if (value === undefined || value === null || value.length === 0) { + return $t('ui.formRules.required', [ctx.label]); + } + if (!MOBILE_REGEX.test(value)) { + return $t('ui.formRules.mobile', [ctx.label]); + } + return true; + }, }, - // 手机号必填 - mobileRequired: (value, _params, ctx) => { - if (value === undefined || value === null || value.length === 0) { - return $t('ui.formRules.required', [ctx.label]); - } - if (!MOBILE_REGEX.test(value)) { - return $t('ui.formRules.mobile', [ctx.label]); - } - return true; - }, - }, -}); + }); +} const useVbenForm = useForm; -export { useVbenForm, z }; +export { initSetupVbenForm, useVbenForm, z }; export type VbenFormSchema = FormSchema; export type { VbenFormProps }; diff --git a/apps/web-antd/src/adapter/style.css b/apps/web-antd/src/adapter/style.css index d2f32dc..01368a9 100644 --- a/apps/web-antd/src/adapter/style.css +++ b/apps/web-antd/src/adapter/style.css @@ -1,4 +1,4 @@ -/* 来自 @vben/plugins/vxe-table style.css TODO @puhui999:可以写下目的哈; */ +/* 来自 @vben/plugins/vxe-table style.css,覆盖 vxe-table 原有的样式定义,使用 vben 的样式主题 */ :root { --vxe-ui-font-color: hsl(var(--foreground)); --vxe-ui-font-primary-color: hsl(var(--primary)); diff --git a/apps/web-antd/src/adapter/vxe-table.ts b/apps/web-antd/src/adapter/vxe-table.ts index d06b2f6..72b6d8b 100644 --- a/apps/web-antd/src/adapter/vxe-table.ts +++ b/apps/web-antd/src/adapter/vxe-table.ts @@ -1,3 +1,4 @@ +import type { VxeTableGridOptions } from '@vben/plugins/vxe-table'; import type { Recordable } from '@vben/types'; import { h } from 'vue'; @@ -9,9 +10,22 @@ import { setupVbenVxeTable, useVbenVxeGrid, } from '@vben/plugins/vxe-table'; -import { isFunction, isString } from '@vben/utils'; +import { + erpCountInputFormatter, + erpNumberFormatter, + formatPast2, + isFunction, + isString, +} from '@vben/utils'; -import { Button, Image, Popconfirm, Switch } from 'ant-design-vue'; +import { + Button, + Image, + ImagePreviewGroup, + Popconfirm, + Switch, + Tag, +} from 'ant-design-vue'; import { DictTag, DictTagGroup } from '#/components/dict-tag'; import { $t } from '#/locales'; @@ -63,7 +77,7 @@ setupVbenVxeTable({ round: true, showOverflow: true, size: 'small', - }, + } as VxeTableGridOptions, }); // 表格配置项可以用 cellRender: { name: 'CellImage' }, @@ -74,6 +88,20 @@ setupVbenVxeTable({ }, }); + vxeUI.renderer.add('CellImages', { + renderTableDefault(_renderOpts, params) { + const { column, row } = params; + if (column && column.field && row[column.field]) { + return h(ImagePreviewGroup, {}, () => { + return row[column.field].map((item: any) => + h(Image, { src: item }), + ); + }); + } + return ''; + }, + }); + // 表格配置项可以用 cellRender: { name: 'CellLink' }, vxeUI.renderer.add('CellLink', { renderTableDefault(renderOpts) { @@ -86,6 +114,35 @@ setupVbenVxeTable({ }, }); + // 表格配置项可以用 cellRender: { name: 'CellTag' }, + vxeUI.renderer.add('CellTag', { + renderTableDefault(renderOpts, params) { + const { props } = renderOpts; + const { column, row } = params; + return h(Tag, { color: props?.color }, () => row[column.field]); + }, + }); + + vxeUI.renderer.add('CellTags', { + renderTableDefault(renderOpts, params) { + const { props } = renderOpts; + const { column, row } = params; + if (!row[column.field] || row[column.field].length === 0) { + return ''; + } + return h( + 'div', + { class: 'flex items-center justify-center' }, + { + default: () => + row[column.field].map((item: any) => + h(Tag, { color: props?.color }, { default: () => item }), + ), + }, + ); + }, + }); + // 表格配置项可以用 cellRender: { name: 'CellDict', props:{dictType: ''} }, vxeUI.renderer.add('CellDict', { renderTableDefault(renderOpts, params) { @@ -283,20 +340,23 @@ setupVbenVxeTable({ // 这里可以自行扩展 vxe-table 的全局配置,比如自定义格式化 // vxeUI.formats.add + + vxeUI.formats.add('formatPast2', { + tableCellFormatMethod({ cellValue }) { + return formatPast2(cellValue); + }, + }); + // add by 星语:数量格式化,例如说:金额 - vxeUI.formats.add('formatAmount', { - cellFormatMethod({ cellValue }, digits = 2) { - if (cellValue === null || cellValue === undefined) { - return ''; - } - if (isString(cellValue)) { - cellValue = Number.parseFloat(cellValue); - } - // 如果非 number,则直接返回空串 - if (Number.isNaN(cellValue)) { - return ''; - } - return cellValue.toFixed(digits); + vxeUI.formats.add('formatNumber', { + tableCellFormatMethod({ cellValue }) { + return erpCountInputFormatter(cellValue); + }, + }); + + vxeUI.formats.add('formatAmount2', { + tableCellFormatMethod({ cellValue }, digits = 2) { + return `${erpNumberFormatter(cellValue, digits)}元`; }, }); }, @@ -316,4 +376,5 @@ export type OnActionClickParams> = { export type OnActionClickFn> = ( params: OnActionClickParams, ) => void; +export * from '#/components/table-action'; export type * from '@vben/plugins/vxe-table'; diff --git a/apps/web-antd/src/api/infra/codegen/index.ts b/apps/web-antd/src/api/infra/codegen/index.ts index d8fea04..c72f3ff 100644 --- a/apps/web-antd/src/api/infra/codegen/index.ts +++ b/apps/web-antd/src/api/infra/codegen/index.ts @@ -65,13 +65,13 @@ export namespace InfraCodegenApi { } /** 更新代码生成请求 */ - export interface CodegenUpdateReqVO { + export interface CodegenUpdateReq { table: any | CodegenTable; columns: CodegenColumn[]; } /** 创建代码生成请求 */ - export interface CodegenCreateListReqVO { + export interface CodegenCreateListReq { dataSourceConfigId?: number; tableNames: string[]; } @@ -106,32 +106,25 @@ export function getCodegenTable(tableId: number) { } /** 修改代码生成表定义 */ -export function updateCodegenTable(data: InfraCodegenApi.CodegenUpdateReqVO) { +export function updateCodegenTable(data: InfraCodegenApi.CodegenUpdateReq) { return requestClient.put('/infra/codegen/update', data); } /** 基于数据库的表结构,同步数据库的表和字段定义 */ export function syncCodegenFromDB(tableId: number) { - return requestClient.put('/infra/codegen/sync-from-db', { - params: { tableId }, - }); + return requestClient.put(`/infra/codegen/sync-from-db?tableId=${tableId}`); } /** 预览生成代码 */ export function previewCodegen(tableId: number) { return requestClient.get( - '/infra/codegen/preview', - { - params: { tableId }, - }, + `/infra/codegen/preview?tableId=${tableId}`, ); } /** 下载生成代码 */ export function downloadCodegen(tableId: number) { - return requestClient.download('/infra/codegen/download', { - params: { tableId }, - }); + return requestClient.download(`/infra/codegen/download?tableId=${tableId}`); } /** 获得表定义 */ @@ -143,9 +136,7 @@ export function getSchemaTableList(params: any) { } /** 基于数据库的表结构,创建代码生成器的表定义 */ -export function createCodegenList( - data: InfraCodegenApi.CodegenCreateListReqVO, -) { +export function createCodegenList(data: InfraCodegenApi.CodegenCreateListReq) { return requestClient.post('/infra/codegen/create-list', data); } @@ -155,3 +146,10 @@ export function deleteCodegenTable(tableId: number) { params: { tableId }, }); } + +/** 批量删除代码生成表定义 */ +export function deleteCodegenTableList(tableIds: number[]) { + return requestClient.delete( + `/infra/codegen/delete-list?tableIds=${tableIds.join(',')}`, + ); +} diff --git a/apps/web-antd/src/api/infra/config/index.ts b/apps/web-antd/src/api/infra/config/index.ts index 3911e01..aa80bcb 100644 --- a/apps/web-antd/src/api/infra/config/index.ts +++ b/apps/web-antd/src/api/infra/config/index.ts @@ -54,9 +54,14 @@ export function deleteConfig(id: number) { return requestClient.delete(`/infra/config/delete?id=${id}`); } +/** 批量删除参数 */ +export function deleteConfigList(ids: number[]) { + return requestClient.delete(`/infra/config/delete-list?ids=${ids.join(',')}`); +} + /** 导出参数 */ export function exportConfig(params: any) { - return requestClient.download('/infra/config/export', { + return requestClient.download('/infra/config/export-excel', { params, }); } diff --git a/apps/web-antd/src/api/infra/demo/demo01/index.ts b/apps/web-antd/src/api/infra/demo/demo01/index.ts index 5a940a6..c54a533 100644 --- a/apps/web-antd/src/api/infra/demo/demo01/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo01/index.ts @@ -9,7 +9,7 @@ export namespace Demo01ContactApi { export interface Demo01Contact { id: number; // 编号 name?: string; // 名字 - sex?: boolean; // 性别 + sex?: number; // 性别 birthday?: Dayjs | string; // 出生年 description?: string; // 简介 avatar: string; // 头像 @@ -46,6 +46,13 @@ export function deleteDemo01Contact(id: number) { return requestClient.delete(`/infra/demo01-contact/delete?id=${id}`); } +/** 批量删除示例联系人 */ +export function deleteDemo01ContactList(ids: number[]) { + return requestClient.delete( + `/infra/demo01-contact/delete-list?ids=${ids.join(',')}`, + ); +} + /** 导出示例联系人 */ export function exportDemo01Contact(params: any) { return requestClient.download('/infra/demo01-contact/export-excel', params); diff --git a/apps/web-antd/src/api/infra/demo/demo03/erp/index.ts b/apps/web-antd/src/api/infra/demo/demo03/erp/index.ts index f9704bf..aac1829 100644 --- a/apps/web-antd/src/api/infra/demo/demo03/erp/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo03/erp/index.ts @@ -34,7 +34,7 @@ export namespace Demo03StudentApi { /** 查询学生分页 */ export function getDemo03StudentPage(params: PageParam) { return requestClient.get>( - '/infra/demo03-student/page', + '/infra/demo03-student-erp/page', { params }, ); } @@ -42,28 +42,38 @@ export function getDemo03StudentPage(params: PageParam) { /** 查询学生详情 */ export function getDemo03Student(id: number) { return requestClient.get( - `/infra/demo03-student/get?id=${id}`, + `/infra/demo03-student-erp/get?id=${id}`, ); } /** 新增学生 */ export function createDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.post('/infra/demo03-student/create', data); + return requestClient.post('/infra/demo03-student-erp/create', data); } /** 修改学生 */ export function updateDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.put('/infra/demo03-student/update', data); + return requestClient.put('/infra/demo03-student-erp/update', data); } /** 删除学生 */ export function deleteDemo03Student(id: number) { - return requestClient.delete(`/infra/demo03-student/delete?id=${id}`); + return requestClient.delete(`/infra/demo03-student-erp/delete?id=${id}`); +} + +/** 批量删除学生 */ +export function deleteDemo03StudentList(ids: number[]) { + return requestClient.delete( + `/infra/demo03-student-erp/delete-list?ids=${ids.join(',')}`, + ); } /** 导出学生 */ export function exportDemo03Student(params: any) { - return requestClient.download('/infra/demo03-student/export-excel', params); + return requestClient.download( + '/infra/demo03-student-erp/export-excel', + params, + ); } // ==================== 子表(学生课程) ==================== @@ -71,33 +81,44 @@ export function exportDemo03Student(params: any) { /** 获得学生课程分页 */ export function getDemo03CoursePage(params: PageParam) { return requestClient.get>( - `/infra/demo03-student/demo03-course/page`, - { - params, - }, + `/infra/demo03-student-erp/demo03-course/page`, + { params }, ); } /** 新增学生课程 */ export function createDemo03Course(data: Demo03StudentApi.Demo03Course) { - return requestClient.post(`/infra/demo03-student/demo03-course/create`, data); + return requestClient.post( + `/infra/demo03-student-erp/demo03-course/create`, + data, + ); } /** 修改学生课程 */ export function updateDemo03Course(data: Demo03StudentApi.Demo03Course) { - return requestClient.put(`/infra/demo03-student/demo03-course/update`, data); + return requestClient.put( + `/infra/demo03-student-erp/demo03-course/update`, + data, + ); } /** 删除学生课程 */ export function deleteDemo03Course(id: number) { return requestClient.delete( - `/infra/demo03-student/demo03-course/delete?id=${id}`, + `/infra/demo03-student-erp/demo03-course/delete?id=${id}`, + ); +} + +/** 批量删除学生课程 */ +export function deleteDemo03CourseList(ids: number[]) { + return requestClient.delete( + `/infra/demo03-student-erp/demo03-course/delete-list?ids=${ids.join(',')}`, ); } /** 获得学生课程 */ export function getDemo03Course(id: number) { return requestClient.get( - `/infra/demo03-student/demo03-course/get?id=${id}`, + `/infra/demo03-student-erp/demo03-course/get?id=${id}`, ); } @@ -106,32 +127,43 @@ export function getDemo03Course(id: number) { /** 获得学生班级分页 */ export function getDemo03GradePage(params: PageParam) { return requestClient.get>( - `/infra/demo03-student/demo03-grade/page`, - { - params, - }, + `/infra/demo03-student-erp/demo03-grade/page`, + { params }, ); } /** 新增学生班级 */ export function createDemo03Grade(data: Demo03StudentApi.Demo03Grade) { - return requestClient.post(`/infra/demo03-student/demo03-grade/create`, data); + return requestClient.post( + `/infra/demo03-student-erp/demo03-grade/create`, + data, + ); } /** 修改学生班级 */ export function updateDemo03Grade(data: Demo03StudentApi.Demo03Grade) { - return requestClient.put(`/infra/demo03-student/demo03-grade/update`, data); + return requestClient.put( + `/infra/demo03-student-erp/demo03-grade/update`, + data, + ); } /** 删除学生班级 */ export function deleteDemo03Grade(id: number) { return requestClient.delete( - `/infra/demo03-student/demo03-grade/delete?id=${id}`, + `/infra/demo03-student-erp/demo03-grade/delete?id=${id}`, + ); +} + +/** 批量删除学生班级 */ +export function deleteDemo03GradeList(ids: number[]) { + return requestClient.delete( + `/infra/demo03-student-erp/demo03-grade/delete-list?ids=${ids.join(',')}`, ); } /** 获得学生班级 */ export function getDemo03Grade(id: number) { return requestClient.get( - `/infra/demo03-student/demo03-grade/get?id=${id}`, + `/infra/demo03-student-erp/demo03-grade/get?id=${id}`, ); } diff --git a/apps/web-antd/src/api/infra/demo/demo03/inner/index.ts b/apps/web-antd/src/api/infra/demo/demo03/inner/index.ts index a83cf42..76b18fc 100644 --- a/apps/web-antd/src/api/infra/demo/demo03/inner/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo03/inner/index.ts @@ -1,3 +1,5 @@ +import type { Dayjs } from 'dayjs'; + import type { PageParam, PageResult } from '@vben/request'; import { requestClient } from '#/api/request'; @@ -24,7 +26,7 @@ export namespace Demo03StudentApi { id: number; // 编号 name?: string; // 名字 sex?: number; // 性别 - birthday?: Date; // 出生日期 + birthday?: Dayjs | string; // 出生日期 description?: string; // 简介 demo03courses?: Demo03Course[]; demo03grade?: Demo03Grade; @@ -34,7 +36,7 @@ export namespace Demo03StudentApi { /** 查询学生分页 */ export function getDemo03StudentPage(params: PageParam) { return requestClient.get>( - '/infra/demo03-student/page', + '/infra/demo03-student-inner/page', { params }, ); } @@ -42,28 +44,38 @@ export function getDemo03StudentPage(params: PageParam) { /** 查询学生详情 */ export function getDemo03Student(id: number) { return requestClient.get( - `/infra/demo03-student/get?id=${id}`, + `/infra/demo03-student-inner/get?id=${id}`, ); } /** 新增学生 */ export function createDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.post('/infra/demo03-student/create', data); + return requestClient.post('/infra/demo03-student-inner/create', data); } /** 修改学生 */ export function updateDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.put('/infra/demo03-student/update', data); + return requestClient.put('/infra/demo03-student-inner/update', data); } /** 删除学生 */ export function deleteDemo03Student(id: number) { - return requestClient.delete(`/infra/demo03-student/delete?id=${id}`); + return requestClient.delete(`/infra/demo03-student-inner/delete?id=${id}`); +} + +/** 批量删除学生 */ +export function deleteDemo03StudentList(ids: number[]) { + return requestClient.delete( + `/infra/demo03-student-inner/delete-list?ids=${ids.join(',')}`, + ); } /** 导出学生 */ export function exportDemo03Student(params: any) { - return requestClient.download('/infra/demo03-student/export-excel', params); + return requestClient.download( + '/infra/demo03-student-inner/export-excel', + params, + ); } // ==================== 子表(学生课程) ==================== @@ -71,7 +83,7 @@ export function exportDemo03Student(params: any) { /** 获得学生课程列表 */ export function getDemo03CourseListByStudentId(studentId: number) { return requestClient.get( - `/infra/demo03-student/demo03-course/list-by-student-id?studentId=${studentId}`, + `/infra/demo03-student-inner/demo03-course/list-by-student-id?studentId=${studentId}`, ); } @@ -80,6 +92,6 @@ export function getDemo03CourseListByStudentId(studentId: number) { /** 获得学生班级 */ export function getDemo03GradeByStudentId(studentId: number) { return requestClient.get( - `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=${studentId}`, + `/infra/demo03-student-inner/demo03-grade/get-by-student-id?studentId=${studentId}`, ); } diff --git a/apps/web-antd/src/api/infra/demo/demo03/normal/index.ts b/apps/web-antd/src/api/infra/demo/demo03/normal/index.ts index a04a919..4d22e2e 100644 --- a/apps/web-antd/src/api/infra/demo/demo03/normal/index.ts +++ b/apps/web-antd/src/api/infra/demo/demo03/normal/index.ts @@ -36,7 +36,7 @@ export namespace Demo03StudentApi { /** 查询学生分页 */ export function getDemo03StudentPage(params: PageParam) { return requestClient.get>( - '/infra/demo03-student/page', + '/infra/demo03-student-normal/page', { params }, ); } @@ -44,28 +44,38 @@ export function getDemo03StudentPage(params: PageParam) { /** 查询学生详情 */ export function getDemo03Student(id: number) { return requestClient.get( - `/infra/demo03-student/get?id=${id}`, + `/infra/demo03-student-normal/get?id=${id}`, ); } /** 新增学生 */ export function createDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.post('/infra/demo03-student/create', data); + return requestClient.post('/infra/demo03-student-normal/create', data); } /** 修改学生 */ export function updateDemo03Student(data: Demo03StudentApi.Demo03Student) { - return requestClient.put('/infra/demo03-student/update', data); + return requestClient.put('/infra/demo03-student-normal/update', data); } /** 删除学生 */ export function deleteDemo03Student(id: number) { - return requestClient.delete(`/infra/demo03-student/delete?id=${id}`); + return requestClient.delete(`/infra/demo03-student-normal/delete?id=${id}`); +} + +/** 批量删除学生 */ +export function deleteDemo03StudentList(ids: number[]) { + return requestClient.delete( + `/infra/demo03-student-normal/delete-list?ids=${ids.join(',')}`, + ); } /** 导出学生 */ export function exportDemo03Student(params: any) { - return requestClient.download('/infra/demo03-student/export-excel', params); + return requestClient.download( + '/infra/demo03-student-normal/export-excel', + params, + ); } // ==================== 子表(学生课程) ==================== @@ -73,7 +83,7 @@ export function exportDemo03Student(params: any) { /** 获得学生课程列表 */ export function getDemo03CourseListByStudentId(studentId: number) { return requestClient.get( - `/infra/demo03-student/demo03-course/list-by-student-id?studentId=${studentId}`, + `/infra/demo03-student-normal/demo03-course/list-by-student-id?studentId=${studentId}`, ); } @@ -82,6 +92,6 @@ export function getDemo03CourseListByStudentId(studentId: number) { /** 获得学生班级 */ export function getDemo03GradeByStudentId(studentId: number) { return requestClient.get( - `/infra/demo03-student/demo03-grade/get-by-student-id?studentId=${studentId}`, + `/infra/demo03-student-normal/demo03-grade/get-by-student-id?studentId=${studentId}`, ); } diff --git a/apps/web-antd/src/api/infra/file-config/index.ts b/apps/web-antd/src/api/infra/file-config/index.ts index a16cf2b..20a0ab3 100644 --- a/apps/web-antd/src/api/infra/file-config/index.ts +++ b/apps/web-antd/src/api/infra/file-config/index.ts @@ -69,6 +69,13 @@ export function deleteFileConfig(id: number) { return requestClient.delete(`/infra/file-config/delete?id=${id}`); } +/** 批量删除文件配置 */ +export function deleteFileConfigList(ids: number[]) { + return requestClient.delete( + `/infra/file-config/delete-list?ids=${ids.join(',')}`, + ); +} + /** 测试文件配置 */ export function testFileConfig(id: number) { return requestClient.get(`/infra/file-config/test?id=${id}`); diff --git a/apps/web-antd/src/api/infra/file/index.ts b/apps/web-antd/src/api/infra/file/index.ts index a399db6..e7dc789 100644 --- a/apps/web-antd/src/api/infra/file/index.ts +++ b/apps/web-antd/src/api/infra/file/index.ts @@ -19,7 +19,7 @@ export namespace InfraFileApi { } /** 文件预签名地址 */ - export interface FilePresignedUrlRespVO { + export interface FilePresignedUrlResp { configId: number; // 文件配置编号 uploadUrl: string; // 文件上传 URL url: string; // 文件 URL @@ -27,7 +27,7 @@ export namespace InfraFileApi { } /** 上传文件 */ - export interface FileUploadReqVO { + export interface FileUploadReq { file: globalThis.File; directory?: string; } @@ -45,9 +45,14 @@ export function deleteFile(id: number) { return requestClient.delete(`/infra/file/delete?id=${id}`); } +/** 批量删除文件 */ +export function deleteFileList(ids: number[]) { + return requestClient.delete(`/infra/file/delete-list?ids=${ids.join(',')}`); +} + /** 获取文件预签名地址 */ export function getFilePresignedUrl(name: string, directory?: string) { - return requestClient.get( + return requestClient.get( '/infra/file/presigned-url', { params: { name, directory }, @@ -62,7 +67,7 @@ export function createFile(data: InfraFileApi.File) { /** 上传文件 */ export function uploadFile( - data: InfraFileApi.FileUploadReqVO, + data: InfraFileApi.FileUploadReq, onUploadProgress?: AxiosProgressEvent, ) { // 特殊:由于 upload 内部封装,即使 directory 为 undefined,也会传递给后端 diff --git a/apps/web-antd/src/api/infra/job/index.ts b/apps/web-antd/src/api/infra/job/index.ts index fcec25c..05f6a72 100644 --- a/apps/web-antd/src/api/infra/job/index.ts +++ b/apps/web-antd/src/api/infra/job/index.ts @@ -15,6 +15,7 @@ export namespace InfraJobApi { retryInterval: number; monitorTimeout: number; createTime?: Date; + nextTimes?: Date[]; } } @@ -45,6 +46,11 @@ export function deleteJob(id: number) { return requestClient.delete(`/infra/job/delete?id=${id}`); } +/** 批量删除定时任务调度 */ +export function deleteJobList(ids: number[]) { + return requestClient.delete(`/infra/job/delete-list?ids=${ids.join(',')}`); +} + /** 导出定时任务调度 */ export function exportJob(params: any) { return requestClient.download('/infra/job/export-excel', { params }); @@ -56,7 +62,7 @@ export function updateJobStatus(id: number, status: number) { id, status, }; - return requestClient.put('/infra/job/update-status', { params }); + return requestClient.put('/infra/job/update-status', {}, { params }); } /** 定时任务立即执行一次 */ diff --git a/apps/web-antd/src/api/system/dept/index.ts b/apps/web-antd/src/api/system/dept/index.ts index d2677a7..d6403d7 100644 --- a/apps/web-antd/src/api/system/dept/index.ts +++ b/apps/web-antd/src/api/system/dept/index.ts @@ -45,3 +45,8 @@ export async function updateDept(data: SystemDeptApi.Dept) { export async function deleteDept(id: number) { return requestClient.delete(`/system/dept/delete?id=${id}`); } + +/** 批量删除部门 */ +export async function deleteDeptList(ids: number[]) { + return requestClient.delete(`/system/dept/delete-list?ids=${ids.join(',')}`); +} diff --git a/apps/web-antd/src/api/system/dict/data/index.ts b/apps/web-antd/src/api/system/dict/data/index.ts index a64330c..674eb01 100644 --- a/apps/web-antd/src/api/system/dict/data/index.ts +++ b/apps/web-antd/src/api/system/dict/data/index.ts @@ -48,7 +48,14 @@ export function deleteDictData(id: number) { return requestClient.delete(`/system/dict-data/delete?id=${id}`); } +// 批量删除字典数据 +export function deleteDictDataList(ids: number[]) { + return requestClient.delete( + `/system/dict-data/delete-list?ids=${ids.join(',')}`, + ); +} + // 导出字典类型数据 export function exportDictData(params: any) { - return requestClient.download('/system/dict-data/export', { params }); + return requestClient.download('/system/dict-data/export-excel', { params }); } diff --git a/apps/web-antd/src/api/system/dict/type/index.ts b/apps/web-antd/src/api/system/dict/type/index.ts index 612fe10..eb2f9c9 100644 --- a/apps/web-antd/src/api/system/dict/type/index.ts +++ b/apps/web-antd/src/api/system/dict/type/index.ts @@ -42,7 +42,14 @@ export function deleteDictType(id: number) { return requestClient.delete(`/system/dict-type/delete?id=${id}`); } +// 批量删除字典 +export function deleteDictTypeList(ids: number[]) { + return requestClient.delete( + `/system/dict-type/delete-list?ids=${ids.join(',')}`, + ); +} + // 导出字典类型 export function exportDictType(params: any) { - return requestClient.download('/system/dict-type/export', { params }); + return requestClient.download('/system/dict-type/export-excel', { params }); } diff --git a/apps/web-antd/src/api/system/mail/account/index.ts b/apps/web-antd/src/api/system/mail/account/index.ts index 8a43a33..7f506fd 100644 --- a/apps/web-antd/src/api/system/mail/account/index.ts +++ b/apps/web-antd/src/api/system/mail/account/index.ts @@ -49,6 +49,13 @@ export function deleteMailAccount(id: number) { return requestClient.delete(`/system/mail-account/delete?id=${id}`); } +/** 批量删除邮箱账号 */ +export function deleteMailAccountList(ids: number[]) { + return requestClient.delete( + `/system/mail-account/delete-list?ids=${ids.join(',')}`, + ); +} + /** 获得邮箱账号精简列表 */ export function getSimpleMailAccountList() { return requestClient.get( diff --git a/apps/web-antd/src/api/system/mail/template/index.ts b/apps/web-antd/src/api/system/mail/template/index.ts index 34b4a09..d1bd075 100644 --- a/apps/web-antd/src/api/system/mail/template/index.ts +++ b/apps/web-antd/src/api/system/mail/template/index.ts @@ -19,7 +19,7 @@ export namespace SystemMailTemplateApi { } /** 邮件发送信息 */ - export interface MailSendReqVO { + export interface MailSendReq { mail: string; templateCode: string; templateParams: Record; @@ -56,7 +56,14 @@ export function deleteMailTemplate(id: number) { return requestClient.delete(`/system/mail-template/delete?id=${id}`); } +/** 批量删除邮件模板 */ +export function deleteMailTemplateList(ids: number[]) { + return requestClient.delete( + `/system/mail-template/delete-list?ids=${ids.join(',')}`, + ); +} + /** 发送邮件 */ -export function sendMail(data: SystemMailTemplateApi.MailSendReqVO) { +export function sendMail(data: SystemMailTemplateApi.MailSendReq) { return requestClient.post('/system/mail-template/send-mail', data); } diff --git a/apps/web-antd/src/api/system/menu/index.ts b/apps/web-antd/src/api/system/menu/index.ts index 8bc539c..0d281f6 100644 --- a/apps/web-antd/src/api/system/menu/index.ts +++ b/apps/web-antd/src/api/system/menu/index.ts @@ -53,3 +53,8 @@ export async function updateMenu(data: SystemMenuApi.Menu) { export async function deleteMenu(id: number) { return requestClient.delete(`/system/menu/delete?id=${id}`); } + +/** 批量删除菜单 */ +export async function deleteMenuList(ids: number[]) { + return requestClient.delete(`/system/menu/delete-list?ids=${ids.join(',')}`); +} diff --git a/apps/web-antd/src/api/system/notice/index.ts b/apps/web-antd/src/api/system/notice/index.ts index dac9ec7..5ae8885 100644 --- a/apps/web-antd/src/api/system/notice/index.ts +++ b/apps/web-antd/src/api/system/notice/index.ts @@ -46,6 +46,13 @@ export function deleteNotice(id: number) { return requestClient.delete(`/system/notice/delete?id=${id}`); } +/** 批量删除公告 */ +export function deleteNoticeList(ids: number[]) { + return requestClient.delete( + `/system/notice/delete-list?ids=${ids.join(',')}`, + ); +} + /** 推送公告 */ export function pushNotice(id: number) { return requestClient.post(`/system/notice/push?id=${id}`); diff --git a/apps/web-antd/src/api/system/notify/template/index.ts b/apps/web-antd/src/api/system/notify/template/index.ts index 5f2e3de..5eab6fa 100644 --- a/apps/web-antd/src/api/system/notify/template/index.ts +++ b/apps/web-antd/src/api/system/notify/template/index.ts @@ -17,7 +17,7 @@ export namespace SystemNotifyTemplateApi { } /** 发送站内信请求 */ - export interface NotifySendReqVO { + export interface NotifySendReq { userId: number; userType: number; templateCode: string; @@ -59,6 +59,13 @@ export function deleteNotifyTemplate(id: number) { return requestClient.delete(`/system/notify-template/delete?id=${id}`); } +/** 批量删除站内信模板 */ +export function deleteNotifyTemplateList(ids: number[]) { + return requestClient.delete( + `/system/notify-template/delete-list?ids=${ids.join(',')}`, + ); +} + /** 导出站内信模板 */ export function exportNotifyTemplate(params: any) { return requestClient.download('/system/notify-template/export-excel', { @@ -67,6 +74,6 @@ export function exportNotifyTemplate(params: any) { } /** 发送站内信 */ -export function sendNotify(data: SystemNotifyTemplateApi.NotifySendReqVO) { +export function sendNotify(data: SystemNotifyTemplateApi.NotifySendReq) { return requestClient.post('/system/notify-template/send-notify', data); } diff --git a/apps/web-antd/src/api/system/oauth2/open/index.ts b/apps/web-antd/src/api/system/oauth2/open/index.ts index 16d9c7e..591eaa7 100644 --- a/apps/web-antd/src/api/system/oauth2/open/index.ts +++ b/apps/web-antd/src/api/system/oauth2/open/index.ts @@ -3,7 +3,7 @@ import { requestClient } from '#/api/request'; /** OAuth2.0 授权信息响应 */ export namespace SystemOAuth2ClientApi { /** 授权信息 */ - export interface AuthorizeInfoRespVO { + export interface AuthorizeInfoResp { client: { logo: string; name: string; @@ -17,7 +17,7 @@ export namespace SystemOAuth2ClientApi { /** 获得授权信息 */ export function getAuthorize(clientId: string) { - return requestClient.get( + return requestClient.get( `/system/oauth2/authorize?clientId=${clientId}`, ); } diff --git a/apps/web-antd/src/api/system/oauth2/token/index.ts b/apps/web-antd/src/api/system/oauth2/token/index.ts index bd36979..9209fd7 100644 --- a/apps/web-antd/src/api/system/oauth2/token/index.ts +++ b/apps/web-antd/src/api/system/oauth2/token/index.ts @@ -32,3 +32,10 @@ export function deleteOAuth2Token(accessToken: string) { `/system/oauth2-token/delete?accessToken=${accessToken}`, ); } + +/** 批量删除 OAuth2.0 令牌 */ +export function deleteOAuth2TokenList(accessTokens: string[]) { + return requestClient.delete( + `/system/oauth2-token/delete-list?accessTokens=${accessTokens.join(',')}`, + ); +} diff --git a/apps/web-antd/src/api/system/permission/index.ts b/apps/web-antd/src/api/system/permission/index.ts index 9039d9a..076dffc 100644 --- a/apps/web-antd/src/api/system/permission/index.ts +++ b/apps/web-antd/src/api/system/permission/index.ts @@ -2,19 +2,19 @@ import { requestClient } from '#/api/request'; export namespace SystemPermissionApi { /** 分配用户角色请求 */ - export interface AssignUserRoleReqVO { + export interface AssignUserRoleReq { userId: number; roleIds: number[]; } /** 分配角色菜单请求 */ - export interface AssignRoleMenuReqVO { + export interface AssignRoleMenuReq { roleId: number; menuIds: number[]; } /** 分配角色数据权限请求 */ - export interface AssignRoleDataScopeReqVO { + export interface AssignRoleDataScopeReq { roleId: number; dataScope: number; dataScopeDeptIds: number[]; @@ -30,14 +30,14 @@ export async function getRoleMenuList(roleId: number) { /** 赋予角色菜单权限 */ export async function assignRoleMenu( - data: SystemPermissionApi.AssignRoleMenuReqVO, + data: SystemPermissionApi.AssignRoleMenuReq, ) { return requestClient.post('/system/permission/assign-role-menu', data); } /** 赋予角色数据权限 */ export async function assignRoleDataScope( - data: SystemPermissionApi.AssignRoleDataScopeReqVO, + data: SystemPermissionApi.AssignRoleDataScopeReq, ) { return requestClient.post('/system/permission/assign-role-data-scope', data); } @@ -51,7 +51,7 @@ export async function getUserRoleList(userId: number) { /** 赋予用户角色 */ export async function assignUserRole( - data: SystemPermissionApi.AssignUserRoleReqVO, + data: SystemPermissionApi.AssignUserRoleReq, ) { return requestClient.post('/system/permission/assign-user-role', data); } diff --git a/apps/web-antd/src/api/system/post/index.ts b/apps/web-antd/src/api/system/post/index.ts index a82f581..8b32ad2 100644 --- a/apps/web-antd/src/api/system/post/index.ts +++ b/apps/web-antd/src/api/system/post/index.ts @@ -50,9 +50,14 @@ export function deletePost(id: number) { return requestClient.delete(`/system/post/delete?id=${id}`); } +/** 批量删除岗位 */ +export function deletePostList(ids: number[]) { + return requestClient.delete(`/system/post/delete-list?ids=${ids.join(',')}`); +} + /** 导出岗位 */ export function exportPost(params: any) { - return requestClient.download('/system/post/export', { + return requestClient.download('/system/post/export-excel', { params, }); } diff --git a/apps/web-antd/src/api/system/role/index.ts b/apps/web-antd/src/api/system/role/index.ts index 07824c4..23d5ade 100644 --- a/apps/web-antd/src/api/system/role/index.ts +++ b/apps/web-antd/src/api/system/role/index.ts @@ -50,6 +50,11 @@ export function deleteRole(id: number) { return requestClient.delete(`/system/role/delete?id=${id}`); } +/** 批量删除角色 */ +export function deleteRoleList(ids: number[]) { + return requestClient.delete(`/system/role/delete-list?ids=${ids.join(',')}`); +} + /** 导出角色 */ export function exportRole(params: any) { return requestClient.download('/system/role/export-excel', { diff --git a/apps/web-antd/src/api/system/sms/channel/index.ts b/apps/web-antd/src/api/system/sms/channel/index.ts index 56890be..df32aad 100644 --- a/apps/web-antd/src/api/system/sms/channel/index.ts +++ b/apps/web-antd/src/api/system/sms/channel/index.ts @@ -54,7 +54,14 @@ export function deleteSmsChannel(id: number) { return requestClient.delete(`/system/sms-channel/delete?id=${id}`); } +/** 批量删除短信渠道 */ +export function deleteSmsChannelList(ids: number[]) { + return requestClient.delete( + `/system/sms-channel/delete-list?ids=${ids.join(',')}`, + ); +} + /** 导出短信渠道 */ export function exportSmsChannel(params: any) { - return requestClient.download('/system/sms-channel/export', { params }); + return requestClient.download('/system/sms-channel/export-excel', { params }); } diff --git a/apps/web-antd/src/api/system/sms/template/index.ts b/apps/web-antd/src/api/system/sms/template/index.ts index 63660bd..8f8e4c8 100644 --- a/apps/web-antd/src/api/system/sms/template/index.ts +++ b/apps/web-antd/src/api/system/sms/template/index.ts @@ -20,7 +20,7 @@ export namespace SystemSmsTemplateApi { } /** 发送短信请求 */ - export interface SmsSendReqVO { + export interface SmsSendReq { mobile: string; templateCode: string; templateParams: Record; @@ -57,6 +57,13 @@ export function deleteSmsTemplate(id: number) { return requestClient.delete(`/system/sms-template/delete?id=${id}`); } +/** 批量删除短信模板 */ +export function deleteSmsTemplateList(ids: number[]) { + return requestClient.delete( + `/system/sms-template/delete-list?ids=${ids.join(',')}`, + ); +} + /** 导出短信模板 */ export function exportSmsTemplate(params: any) { return requestClient.download('/system/sms-template/export-excel', { @@ -65,6 +72,6 @@ export function exportSmsTemplate(params: any) { } /** 发送短信 */ -export function sendSms(data: SystemSmsTemplateApi.SmsSendReqVO) { +export function sendSms(data: SystemSmsTemplateApi.SmsSendReq) { return requestClient.post('/system/sms-template/send-sms', data); } diff --git a/apps/web-antd/src/api/system/social/user/index.ts b/apps/web-antd/src/api/system/social/user/index.ts index b91f150..fd0316e 100644 --- a/apps/web-antd/src/api/system/social/user/index.ts +++ b/apps/web-antd/src/api/system/social/user/index.ts @@ -20,14 +20,14 @@ export namespace SystemSocialUserApi { } /** 社交绑定请求 */ - export interface SocialUserBindReqVO { + export interface SocialUserBindReq { type: number; code: string; state: string; } /** 取消社交绑定请求 */ - export interface SocialUserUnbindReqVO { + export interface SocialUserUnbindReq { type: number; openid: string; } @@ -49,12 +49,12 @@ export function getSocialUser(id: number) { } /** 社交绑定,使用 code 授权码 */ -export function socialBind(data: SystemSocialUserApi.SocialUserBindReqVO) { +export function socialBind(data: SystemSocialUserApi.SocialUserBindReq) { return requestClient.post('/system/social-user/bind', data); } /** 取消社交绑定 */ -export function socialUnbind(data: SystemSocialUserApi.SocialUserUnbindReqVO) { +export function socialUnbind(data: SystemSocialUserApi.SocialUserUnbindReq) { return requestClient.delete('/system/social-user/unbind', { data }); } diff --git a/apps/web-antd/src/api/system/tenant-package/index.ts b/apps/web-antd/src/api/system/tenant-package/index.ts index 5066cea..53be78f 100644 --- a/apps/web-antd/src/api/system/tenant-package/index.ts +++ b/apps/web-antd/src/api/system/tenant-package/index.ts @@ -49,6 +49,13 @@ export function deleteTenantPackage(id: number) { return requestClient.delete(`/system/tenant-package/delete?id=${id}`); } +/** 批量删除租户套餐 */ +export function deleteTenantPackageList(ids: number[]) { + return requestClient.delete( + `/system/tenant-package/delete-list?ids=${ids.join(',')}`, + ); +} + /** 获取租户套餐精简信息列表 */ export function getTenantPackageList() { return requestClient.get( diff --git a/apps/web-antd/src/api/system/tenant/index.ts b/apps/web-antd/src/api/system/tenant/index.ts index 3bed924..c18a4df 100644 --- a/apps/web-antd/src/api/system/tenant/index.ts +++ b/apps/web-antd/src/api/system/tenant/index.ts @@ -61,6 +61,13 @@ export function deleteTenant(id: number) { return requestClient.delete(`/system/tenant/delete?id=${id}`); } +/** 批量删除租户 */ +export function deleteTenantList(ids: number[]) { + return requestClient.delete( + `/system/tenant/delete-list?ids=${ids.join(',')}`, + ); +} + /** 导出租户 */ export function exportTenant(params: any) { return requestClient.download('/system/tenant/export-excel', { diff --git a/apps/web-antd/src/api/system/user/index.ts b/apps/web-antd/src/api/system/user/index.ts index 8ab688e..3f5909d 100644 --- a/apps/web-antd/src/api/system/user/index.ts +++ b/apps/web-antd/src/api/system/user/index.ts @@ -49,9 +49,14 @@ export function deleteUser(id: number) { return requestClient.delete(`/system/user/delete?id=${id}`); } +/** 批量删除用户 */ +export function deleteUserList(ids: number[]) { + return requestClient.delete(`/system/user/delete-list?ids=${ids.join(',')}`); +} + /** 导出用户 */ export function exportUser(params: any) { - return requestClient.download('/system/user/export', params); + return requestClient.download('/system/user/export-excel', params); } /** 下载用户导入模板 */ diff --git a/apps/web-antd/src/api/system/user/profile/index.ts b/apps/web-antd/src/api/system/user/profile/index.ts index 97898e7..b2c42bc 100644 --- a/apps/web-antd/src/api/system/user/profile/index.ts +++ b/apps/web-antd/src/api/system/user/profile/index.ts @@ -2,7 +2,7 @@ import { requestClient } from '#/api/request'; export namespace SystemUserProfileApi { /** 用户个人中心信息 */ - export interface UserProfileRespVO { + export interface UserProfileResp { id: number; username: string; nickname: string; @@ -19,13 +19,13 @@ export namespace SystemUserProfileApi { } /** 更新密码请求 */ - export interface UpdatePasswordReqVO { + export interface UpdatePasswordReq { oldPassword: string; newPassword: string; } /** 更新个人信息请求 */ - export interface UpdateProfileReqVO { + export interface UpdateProfileReq { nickname?: string; email?: string; mobile?: string; @@ -36,21 +36,19 @@ export namespace SystemUserProfileApi { /** 获取登录用户信息 */ export function getUserProfile() { - return requestClient.get( + return requestClient.get( '/system/user/profile/get', ); } /** 修改用户个人信息 */ -export function updateUserProfile( - data: SystemUserProfileApi.UpdateProfileReqVO, -) { +export function updateUserProfile(data: SystemUserProfileApi.UpdateProfileReq) { return requestClient.put('/system/user/profile/update', data); } /** 修改用户个人密码 */ export function updateUserPassword( - data: SystemUserProfileApi.UpdatePasswordReqVO, + data: SystemUserProfileApi.UpdatePasswordReq, ) { return requestClient.put('/system/user/profile/update-password', data); } diff --git a/apps/web-antd/src/bootstrap.ts b/apps/web-antd/src/bootstrap.ts index 68d19ee..0f1ab09 100644 --- a/apps/web-antd/src/bootstrap.ts +++ b/apps/web-antd/src/bootstrap.ts @@ -14,6 +14,7 @@ import { $t, setupI18n } from '#/locales'; import { setupFormCreate } from '#/plugins/form-create'; import { initComponentAdapter } from './adapter/component'; +import { initSetupVbenForm } from './adapter/form'; import App from './app.vue'; import { router } from './router'; @@ -21,6 +22,9 @@ async function bootstrap(namespace: string) { // 初始化组件适配器 await initComponentAdapter(); + // 初始化表单组件 + await initSetupVbenForm(); + // // 设置弹窗的默认配置 // setDefaultModalProps({ // fullscreenButton: false, diff --git a/apps/web-antd/src/components/content-wrap/content-wrap.vue b/apps/web-antd/src/components/content-wrap/content-wrap.vue index 761a312..8acb2fb 100644 --- a/apps/web-antd/src/components/content-wrap/content-wrap.vue +++ b/apps/web-antd/src/components/content-wrap/content-wrap.vue @@ -29,14 +29,14 @@ withDefaults( diff --git a/apps/web-antd/src/components/dict-tag/dict-tag.vue b/apps/web-antd/src/components/dict-tag/dict-tag.vue index fb26b4a..c51b523 100644 --- a/apps/web-antd/src/components/dict-tag/dict-tag.vue +++ b/apps/web-antd/src/components/dict-tag/dict-tag.vue @@ -1,9 +1,10 @@ diff --git a/apps/web-antd/src/components/form-create/components/dict-select.vue b/apps/web-antd/src/components/form-create/components/dict-select.vue index 0b43695..80c26cb 100644 --- a/apps/web-antd/src/components/form-create/components/dict-select.vue +++ b/apps/web-antd/src/components/form-create/components/dict-select.vue @@ -13,7 +13,7 @@ import { SelectOption, } from 'ant-design-vue'; -import { getDictObj, getIntDictOptions, getStrDictOptions } from '#/utils'; +import { getDictOptions } from '#/utils'; defineOptions({ name: 'DictSelect' }); @@ -25,17 +25,16 @@ const props = withDefaults(defineProps(), { const attrs = useAttrs(); // 获得字典配置 -// TODO @dhb:可以使用 getDictOptions 替代么? -const getDictOptions = computed(() => { +const getDictOption = computed(() => { switch (props.valueType) { case 'bool': { - return getDictObj(props.dictType, 'bool'); + return getDictOptions(props.dictType, 'boolean'); } case 'int': { - return getIntDictOptions(props.dictType); + return getDictOptions(props.dictType, 'number'); } case 'str': { - return getStrDictOptions(props.dictType); + return getDictOptions(props.dictType, 'string'); } default: { return []; @@ -45,27 +44,27 @@ const getDictOptions = computed(() => {