Files
2025-09-20 12:05:53 +08:00

84 lines
3.1 KiB
JavaScript

"use strict";
const common_vendor = require("../../common/vendor.js");
const common_http = require("../../common/http.js");
const _sfc_main = {
data() {
return { accountId: null, startDate: "", endDate: "", list: [], opening: 0, income: 0, expense: 0, ending: 0 };
},
onLoad(query) {
this.accountId = Number(query && query.id);
this.quickInit();
this.load();
},
methods: {
quickInit() {
const now = /* @__PURE__ */ new Date();
const y = now.getFullYear(), m = now.getMonth() + 1;
this.startDate = `${y}-${String(m).padStart(2, "0")}-01`;
const lastDay = new Date(y, m, 0).getDate();
this.endDate = `${y}-${String(m).padStart(2, "0")}-${String(lastDay).padStart(2, "0")}`;
},
async load(page = 1, size = 50) {
try {
const res = await common_http.get(`/api/accounts/${this.accountId}/ledger`, { startDate: this.startDate, endDate: this.endDate, page, size });
this.list = res && res.list || [];
this.opening = Number(res && res.opening || 0);
this.income = Number(res && res.income || 0);
this.expense = Number(res && res.expense || 0);
this.ending = Number(res && res.ending || 0);
} catch (e) {
common_vendor.index.showToast({ title: "加载失败", icon: "none" });
}
},
fmt(v) {
return (typeof v === "number" ? v : Number(v || 0)).toFixed(2);
},
formatDate(s) {
if (!s)
return "-";
try {
const d = new Date(s);
const pad = (n) => String(n).padStart(2, "0");
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}`;
} catch (e) {
return s;
}
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.t($data.startDate || "—"),
b: $data.startDate,
c: common_vendor.o((e) => {
$data.startDate = e.detail.value;
$options.load();
}),
d: common_vendor.t($data.endDate || "—"),
e: $data.endDate,
f: common_vendor.o((e) => {
$data.endDate = e.detail.value;
$options.load();
}),
g: common_vendor.t($options.fmt($data.income)),
h: common_vendor.t($options.fmt($data.expense)),
i: common_vendor.t($options.fmt($data.opening)),
j: common_vendor.t($options.fmt($data.ending)),
k: common_vendor.f($data.list, (it, k0, i0) => {
return {
a: common_vendor.t(it.src === "other" ? it.category || "其他" : it.remark || "收付款"),
b: common_vendor.t(it.direction === "in" ? "+" : "-"),
c: common_vendor.t($options.fmt(it.amount)),
d: it.direction === "in" ? 1 : "",
e: it.direction === "out" ? 1 : "",
f: common_vendor.t($options.formatDate(it.tx_time || it.txTime)),
g: common_vendor.t(it.remark || "-"),
h: it.id
};
})
};
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/account/ledger.js.map