"use strict"; const common_vendor = require("../../common/vendor.js"); const common_http = require("../../common/http.js"); const API_OF = { sale: "/api/orders", purchase: "/api/purchase-orders", collect: "/api/payments", fund: "/api/other-transactions", stock: "/api/inventories/logs" }; const _sfc_main = { data() { return { biz: "sale", bizList: [ { key: "sale", name: "出货" }, { key: "purchase", name: "进货" }, { key: "collect", name: "收款" }, { key: "fund", name: "资金" }, { key: "stock", name: "盘点" } ], range: "month", query: { kw: "" }, items: [], page: 1, size: 20, finished: false, loading: false, startDate: "", endDate: "" }; }, computed: { placeholder() { return "单据号/客户名称/品名规格/备注"; }, periodLabel() { return this.startDate && this.endDate ? `${this.startDate}~${this.endDate}` : ""; }, totalAmount() { return this.items.reduce((s, it) => s + Number(it.amount || 0), 0); } }, onLoad() { try { common_vendor.index.__f__("log", "at pages/detail/index.vue:92", "[detail] onLoad route = pages/detail/index"); } catch (e) { } this.computeRange(); this.reload(); }, methods: { switchBiz(k) { if (this.biz === k) return; this.biz = k; this.reload(); }, switchRange(r) { this.range = r; this.computeRange(); this.reload(); }, computeRange() { const now = /* @__PURE__ */ new Date(); const pad = (n) => String(n).padStart(2, "0"); const fmt = (d) => `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`; let start = now, end = now; if (this.range === "today") { start = end = now; } else if (this.range === "week") { const day = now.getDay() || 7; start = new Date(now.getFullYear(), now.getMonth(), now.getDate() - day + 1); end = now; } else if (this.range === "month") { start = new Date(now.getFullYear(), now.getMonth(), 1); end = new Date(now.getFullYear(), now.getMonth() + 1, 0); } else if (this.range === "year") { start = new Date(now.getFullYear(), 0, 1); end = new Date(now.getFullYear(), 11, 31); } else { start = new Date(now.getFullYear(), now.getMonth(), 1); end = new Date(now.getFullYear(), now.getMonth() + 1, 0); } this.startDate = fmt(start); this.endDate = fmt(end); }, reload() { this.items = []; this.page = 1; this.finished = false; this.loadMore(); }, async loadMore() { if (this.loading || this.finished) return; this.loading = true; try { const path = API_OF[this.biz] || "/api/orders"; const params = { kw: this.query.kw, page: this.page, size: this.size, startDate: this.startDate, endDate: this.endDate, biz: this.biz }; if (this.biz === "sale") params.type = "out"; const res = await common_http.get(path, params); const list = Array.isArray(res == null ? void 0 : res.list) ? res.list : Array.isArray(res) ? res : []; this.items = this.items.concat(list); if (list.length < this.size) this.finished = true; this.page += 1; } catch (e) { common_vendor.index.showToast({ title: "加载失败", icon: "none" }); } finally { this.loading = false; } }, 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())}`; } catch (_) { return String(s).slice(0, 10); } }, onCreate() { if (this.biz === "sale") { common_vendor.index.switchTab({ url: "/pages/order/create" }); return; } common_vendor.index.showToast({ title: "该类型创建页待实现", icon: "none" }); }, openDetail(it) { common_vendor.index.showToast({ title: "详情开发中", icon: "none" }); } } }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return common_vendor.e({ a: common_vendor.n($data.range === "custom" && "active"), b: common_vendor.o(($event) => $options.switchRange("custom")), c: common_vendor.n($data.range === "week" && "active"), d: common_vendor.o(($event) => $options.switchRange("week")), e: common_vendor.n($data.range === "today" && "active"), f: common_vendor.o(($event) => $options.switchRange("today")), g: common_vendor.n($data.range === "month" && "active"), h: common_vendor.o(($event) => $options.switchRange("month")), i: common_vendor.n($data.range === "year" && "active"), j: common_vendor.o(($event) => $options.switchRange("year")), k: common_vendor.f($data.bizList, (b, k0, i0) => { return { a: common_vendor.t(b.name), b: b.key, c: common_vendor.n($data.biz === b.key && "active"), d: common_vendor.o(($event) => $options.switchBiz(b.key), b.key) }; }), l: $options.placeholder, m: common_vendor.o((...args) => $options.reload && $options.reload(...args)), n: $data.query.kw, o: common_vendor.o(common_vendor.m(($event) => $data.query.kw = $event.detail.value, { trim: true })), p: common_vendor.t($options.periodLabel), q: common_vendor.o((...args) => $options.reload && $options.reload(...args)), r: common_vendor.t($options.totalAmount.toFixed(2)), s: $data.items.length }, $data.items.length ? { t: common_vendor.f($data.items, (it, k0, i0) => { return { a: common_vendor.t($options.formatDate(it.orderTime || it.txTime || it.createdAt)), b: common_vendor.t(it.customerName || it.supplierName || it.accountName || it.remark || "-"), c: common_vendor.t(it.orderNo || it.code || it.id), d: common_vendor.t((it.amount || 0).toFixed(2)), e: it.id, f: common_vendor.o(($event) => $options.openDetail(it), it.id) }; }) } : {}, { v: common_vendor.o((...args) => $options.loadMore && $options.loadMore(...args)), w: common_vendor.o((...args) => $options.onCreate && $options.onCreate(...args)) }); } const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]); wx.createPage(MiniProgramPage); //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/detail/index.js.map