diff --git a/common/common-generator/src/main/resources/vms/server/resourceMapper.vm b/common/common-generator/src/main/resources/vms/server/resourceMapper.vm index 6c77bce..066f075 100644 --- a/common/common-generator/src/main/resources/vms/server/resourceMapper.vm +++ b/common/common-generator/src/main/resources/vms/server/resourceMapper.vm @@ -22,7 +22,7 @@ #foreach($field in $pageQueryMap) - $field.column like CONCAT('%',#{dto.${field.property}},'%') + and $field.column like CONCAT('%',#{dto.${field.property}},'%') #end diff --git a/common/common-generator/src/main/resources/vms/web/hook.vm b/common/common-generator/src/main/resources/vms/web/hook.vm index 09f7ba4..bcb3b4c 100644 --- a/common/common-generator/src/main/resources/vms/web/hook.vm +++ b/common/common-generator/src/main/resources/vms/web/hook.vm @@ -8,6 +8,8 @@ import type { FormItemProps } from '${typesPath}'; import { $t } from '@/plugins/i18n'; export const formRef = ref(); +// 删除ids +export const deleteIds = ref([]); const ${lowercaseName}Store = use${originalName}Store(); /** @@ -103,3 +105,23 @@ export const onDelete = async (row: any) => { await ${lowercaseName}Store.delete${originalName}([id]); await onSearch(); }; + +/** + * 批量删除 + */ +export const onDeleteBatch = async () => { + const ids = deleteIds.value; + + // 是否确认删除 + const result = await messageBox({ + title: $t('confirm_delete'), + showMessage: false, + confirmMessage: undefined, + cancelMessage: $t('cancel_delete'), + }); + if (!result) return; + + // 删除数据 + await ${lowercaseName}Store.delete${originalName}(ids); + await onSearch(); +}; \ No newline at end of file diff --git a/common/common-generator/src/main/resources/vms/web/index.vm b/common/common-generator/src/main/resources/vms/web/index.vm index a26a69a..527217e 100644 --- a/common/common-generator/src/main/resources/vms/web/index.vm +++ b/common/common-generator/src/main/resources/vms/web/index.vm @@ -4,7 +4,7 @@ import PureTableBar from '@/components/TableBar/src/bar'; import AddFill from '@iconify-icons/ri/add-circle-line'; import PureTable from '@pureadmin/table'; - import { onAdd, onDelete, onSearch, onUpdate } from '${hookPath}'; + import { onAdd, onDelete, onSearch, onUpdate, deleteIds } from '${hookPath}'; import Delete from '@iconify-icons/ep/delete'; import EditPen from '@iconify-icons/ep/edit-pen'; import Refresh from '@iconify-icons/ep/refresh'; @@ -34,19 +34,27 @@ await onSearch(); }; +/** + * * 选择多行 + * @param rows + */ +const onSelectionChange = (rows: Array) => { + deleteIds.value = rows.map((row: any) => row.id); +}; + /** * 重置表单 * @param formEl */ - const resetForm = async formEl => { +const resetForm = async (formEl: FormInstance | undefined) => { if (!formEl) return; formEl.resetFields(); await onSearch(); - }; +}; - onMounted(() => { +onMounted(() => { onSearch(); - }); +});