From 5ff0d9676057275b43719e268a39b33092ffee78 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Sun, 28 Dec 2025 15:28:14 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E6=94=AF=E6=8C=81=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/pageBag/pbo-material.vue | 32 ++++++++++++++++++- src/plugins/Sqlite/modules/userBagMaterial.ts | 27 ++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/src/components/pageBag/pbo-material.vue b/src/components/pageBag/pbo-material.vue index 4e58ead5..4efcea3d 100644 --- a/src/components/pageBag/pbo-material.vue +++ b/src/components/pageBag/pbo-material.vue @@ -34,9 +34,10 @@
- mdi-clock-edit-outline + mdi-clock-edit-outline 更新记录 手动更新 + 删除记录
@@ -59,6 +60,7 @@ import showSnackbar from "@comp/func/snackbar.js"; import TwoSource from "@comp/pageWiki/two-source.vue"; import TSUserBagMaterial, { SKIP_BAG_TYPES } from "@Sqlm/userBagMaterial.js"; import { getVersion } from "@tauri-apps/api/app"; +import TGLogger from "@utils/TGLogger.js"; import { generateShareImg } from "@utils/TGShare.js"; import { parseHtmlText, timestampToDate } from "@utils/toolFunc.js"; import { computed, onMounted, ref, shallowRef, watch } from "vue"; @@ -127,6 +129,29 @@ async function tryEdit(): Promise { emits("updateDB", { info: props.data.info, tb: dbInfo.value }); showSnackbar.success("成功更新记录"); } + +async function tryDelete(): Promise { + if (dbInfo.value.records.length === 0) { + showSnackbar.warn("没有可以删除的记录"); + return; + } + if (dbInfo.value.records.length === 1) { + showSnackbar.warn("最少保留一条记录"); + return; + } + const check = await showDialog.check("确定删除?", "删除后仅保留一条记录"); + if (!check) { + showSnackbar.cancel("取消删除记录"); + return; + } + await TGLogger.Info( + `[pboMaterial][${dbInfo.value.uid}][${dbInfo.value.id}] 删除 ${props.data.info.name} 记录`, + ); + await TSUserBagMaterial.deleteRecord(props.uid, dbInfo.value.id, dbInfo.value.count); + await refreshDb(); + emits("updateDB", { info: props.data.info, tb: dbInfo.value }); + showSnackbar.success("成功删除记录"); +}