From b8f5243209f7f8476379cabce2ff122a03f86c5d Mon Sep 17 00:00:00 2001 From: sl <2987299819@qq.com> Date: Wed, 17 Dec 2025 20:30:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(generator):=20=E4=BC=98=E5=8C=96=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=8A=9F=E8=83=BD=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=B9=B6=E6=B7=BB=E5=8A=A0=E8=A1=A8=E6=A0=BC=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为el-table组件添加ref引用便于获取表格实例 - 新增${businessName}TableRef变量定义 - 重构handleDelete方法以支持更灵活的删除确认提示 - 根据表格列动态获取删除项的标识字段和值 - 支持单行和多行选择删除时的差异化提示信息 - 保留原有的删除逻辑与成功提示及列表刷新功能 --- .../src/main/resources/vm/vue/index.vue.vm | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm index 934b9b94e..c716f5782 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm @@ -82,7 +82,7 @@ - + #foreach($column in $columns) #set($javaField=$column.javaField) @@ -275,6 +275,7 @@ const dateRange${AttrName} = ref<[DateModelType, DateModelType]>(['', '']); const queryFormRef = ref(); const ${businessName}FormRef = ref(); +const ${businessName}TableRef = ref(); const dialog = reactive({ visible: false, @@ -439,11 +440,33 @@ const submitForm = () => { /** 删除按钮操作 */ const handleDelete = async (row?: ${BusinessName}VO) => { - const _${pkColumn.javaField}s = row?.${pkColumn.javaField} || ids.value; - await proxy?.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + _${pkColumn.javaField}s + '"的数据项?').finally(() => loading.value = false); - await del${BusinessName}(_${pkColumn.javaField}s); - proxy?.#[[$modal]]#.msgSuccess("删除成功"); - await getList(); + // 获取表格的数据列的首列 + const columns = (${businessName}TableRef.value?.columns || []) as any[]; + const dataColumns = columns.filter((col) => col.type !== 'selection' && col.type !== 'index'); + if (dataColumns.length <= 0) { + return; + } + const label = dataColumns[0].label; + const fieldName = dataColumns[0].property; + + let rowsData: string; + let num = 1; + if (row) { + rowsData = row[fieldName]; + } else { + rowsData = ${businessName}TableRef.value + .getSelectionRows() + .map((item: ${BusinessName}VO) => item[fieldName]) + .join(','); + num = ${businessName}TableRef.value.getSelectionRows().length; + } + + await proxy?.#[[$modal]]#.confirm('是否确认删除【' + label + '】为【' + rowsData + '】的【' + num + '】条数据项?').finally(() => (loading.value = false)); + + const _${pkColumn.javaField}s = row?.${pkColumn.javaField} || ids.value; + await del${BusinessName}(_${pkColumn.javaField}s); + proxy?.#[[$modal]]#.msgSuccess('删除成功'); + await getList(); } /** 导出按钮操作 */