@@ -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("成功删除记录");
+}