if (typeof Promise !== "undefined" && !Promise.prototype.finally) { Promise.prototype.finally = function(callback) { const promise = this.constructor; return this.then( (value) => promise.resolve(callback()).then(() => value), (reason) => promise.resolve(callback()).then(() => { throw reason; }) ); }; } ; if (typeof uni !== "undefined" && uni && uni.requireGlobal) { const global = uni.requireGlobal(); ArrayBuffer = global.ArrayBuffer; Int8Array = global.Int8Array; Uint8Array = global.Uint8Array; Uint8ClampedArray = global.Uint8ClampedArray; Int16Array = global.Int16Array; Uint16Array = global.Uint16Array; Int32Array = global.Int32Array; Uint32Array = global.Uint32Array; Float32Array = global.Float32Array; Float64Array = global.Float64Array; BigInt64Array = global.BigInt64Array; BigUint64Array = global.BigUint64Array; } ; if (uni.restoreGlobal) { uni.restoreGlobal(Vue, weex, plus, setTimeout, clearTimeout, setInterval, clearInterval); } (function(vue) { "use strict"; const _imports_0 = "/static/metal-bg.jpg"; const _export_sfc = (sfc, props) => { const target = sfc.__vccOpts || sfc; for (const [key, val] of props) { target[key] = val; } return target; }; const _sfc_main$1 = { data() { return { todayAmount: "0.00", monthProfit: "0.00", stockQty: "0.00", activeTab: "home", notices: [ { text: "选材精工:不锈钢、合金钢,耐腐蚀更耐用", tag: "品质" }, { text: "表面工艺:电镀锌/镀镍/发黑处理,性能均衡", tag: "工艺" }, { text: "库存齐全:螺丝、螺母、垫圈、膨胀螺栓等现货", tag: "库存" }, { text: "企业采购支持:批量优惠,次日发货", tag: "服务" } ], features: [ { key: "customer", title: "客户", img: "/static/icons/customer.png", emoji: "👥" }, { key: "sale", title: "销售", img: "/static/icons/sale.png", emoji: "💰" }, { key: "account", title: "账户", img: "/static/icons/account.png", emoji: "💳" }, { key: "supplier", title: "供应商", img: "/static/icons/supplier.png", emoji: "🚚" }, { key: "purchase", title: "进货", img: "/static/icons/purchase.png", emoji: "🛒" }, { key: "otherPay", title: "其他支出", img: "/static/icons/other-pay.png", emoji: "💸" }, { key: "vip", title: "VIP会员", img: "/static/icons/vip.png", emoji: "👑" }, { key: "report", title: "报表", img: "/static/icons/report.png", emoji: "📊" }, { key: "more", title: "更多", img: "/static/icons/more.png", emoji: "⋯" } ] }; }, methods: { onFeatureTap(item) { uni.showToast({ title: item.title + "(开发中)", icon: "none" }); }, onCreateOrder() { uni.showToast({ title: "开单(开发中)", icon: "none" }); }, onNoticeTap(n) { uni.showModal({ title: "公告", content: n.text, showCancel: false }); }, onNoticeList() { uni.showToast({ title: "公告列表(开发中)", icon: "none" }); }, onIconError(item) { item.img = ""; } } }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return vue.openBlock(), vue.createElementBlock("view", { class: "home" }, [ vue.createElementVNode("image", { class: "home-bg", src: _imports_0, mode: "aspectFill" }), vue.createCommentVNode(" 顶部统计卡片 "), vue.createElementVNode("view", { class: "hero" }, [ vue.createElementVNode("view", { class: "hero-top" }, [ vue.createElementVNode("text", { class: "brand" }, "五金配件管家"), vue.createElementVNode("view", { class: "cta" }, [ vue.createElementVNode("text", { class: "cta-text" }, "咨询") ]) ]), vue.createElementVNode("view", { class: "kpi" }, [ vue.createElementVNode("view", { class: "kpi-item" }, [ vue.createElementVNode("text", { class: "kpi-label" }, "今日销售额"), vue.createElementVNode( "text", { class: "kpi-value" }, vue.toDisplayString($data.todayAmount), 1 /* TEXT */ ) ]), vue.createElementVNode("view", { class: "kpi-item" }, [ vue.createElementVNode("text", { class: "kpi-label" }, "本月利润"), vue.createElementVNode( "text", { class: "kpi-value" }, vue.toDisplayString($data.monthProfit), 1 /* TEXT */ ) ]), vue.createElementVNode("view", { class: "kpi-item" }, [ vue.createElementVNode("text", { class: "kpi-label" }, "库存数量"), vue.createElementVNode( "text", { class: "kpi-value" }, vue.toDisplayString($data.stockQty), 1 /* TEXT */ ) ]) ]) ]), vue.createCommentVNode(" 公告栏:自动轮播,可点击查看详情 "), vue.createElementVNode("view", { class: "notice" }, [ vue.createElementVNode("view", { class: "notice-left" }, "公告"), vue.createElementVNode("swiper", { class: "notice-swiper", circular: "", autoplay: "", interval: "4000", duration: "400", vertical: "" }, [ (vue.openBlock(true), vue.createElementBlock( vue.Fragment, null, vue.renderList($data.notices, (n, idx) => { return vue.openBlock(), vue.createElementBlock("swiper-item", { key: idx }, [ vue.createElementVNode("view", { class: "notice-item", onClick: ($event) => $options.onNoticeTap(n) }, [ vue.createElementVNode( "text", { class: "notice-text" }, vue.toDisplayString(n.text), 1 /* TEXT */ ), n.tag ? (vue.openBlock(), vue.createElementBlock( "text", { key: 0, class: "notice-tag" }, vue.toDisplayString(n.tag), 1 /* TEXT */ )) : vue.createCommentVNode("v-if", true) ], 8, ["onClick"]) ]); }), 128 /* KEYED_FRAGMENT */ )) ]), vue.createElementVNode("view", { class: "notice-right", onClick: _cache[0] || (_cache[0] = (...args) => $options.onNoticeList && $options.onNoticeList(...args)) }, "更多") ]), vue.createCommentVNode(" 分割标题:产品与功能 "), vue.createElementVNode("view", { class: "section-title" }, [ vue.createElementVNode("text", { class: "section-text" }, "常用功能") ]), vue.createCommentVNode(" 功能九宫格(玻璃容器 + 圆角方形图标) "), vue.createElementVNode("view", { class: "grid-wrap" }, [ vue.createElementVNode("view", { class: "grid" }, [ (vue.openBlock(true), vue.createElementBlock( vue.Fragment, null, vue.renderList($data.features, (item) => { return vue.openBlock(), vue.createElementBlock("view", { class: "grid-item", key: item.key, onClick: ($event) => $options.onFeatureTap(item) }, [ vue.createElementVNode("view", { class: "icon icon-squircle" }, [ item.img ? (vue.openBlock(), vue.createElementBlock("image", { key: 0, src: item.img, class: "icon-img", mode: "aspectFit", onError: ($event) => $options.onIconError(item) }, null, 40, ["src", "onError"])) : item.emoji ? (vue.openBlock(), vue.createElementBlock( "text", { key: 1, class: "icon-emoji" }, vue.toDisplayString(item.emoji), 1 /* TEXT */ )) : (vue.openBlock(), vue.createElementBlock("view", { key: 2, class: "icon-placeholder" })) ]), vue.createElementVNode( "text", { class: "grid-chip" }, vue.toDisplayString(item.title), 1 /* TEXT */ ) ], 8, ["onClick"]); }), 128 /* KEYED_FRAGMENT */ )) ]) ]), vue.createCommentVNode(" 底部操作条 "), vue.createElementVNode("view", { class: "bottom-bar" }, [ vue.createElementVNode( "view", { class: vue.normalizeClass(["tab", { active: $data.activeTab === "home" }]), onClick: _cache[1] || (_cache[1] = ($event) => $data.activeTab = "home") }, [ vue.createElementVNode("text", null, "首页") ], 2 /* CLASS */ ), vue.createElementVNode("view", { class: "tab primary", onClick: _cache[2] || (_cache[2] = (...args) => $options.onCreateOrder && $options.onCreateOrder(...args)) }, [ vue.createElementVNode("text", null, "开单") ]), vue.createElementVNode( "view", { class: vue.normalizeClass(["tab", { active: $data.activeTab === "detail" }]), onClick: _cache[3] || (_cache[3] = ($event) => $data.activeTab = "detail") }, [ vue.createElementVNode("text", null, "明细") ], 2 /* CLASS */ ), vue.createElementVNode( "view", { class: vue.normalizeClass(["tab", { active: $data.activeTab === "me" }]), onClick: _cache[4] || (_cache[4] = ($event) => $data.activeTab = "me") }, [ vue.createElementVNode("text", null, "我的") ], 2 /* CLASS */ ) ]) ]); } const PagesIndexIndex = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__file", "D:/wx/PartsInquiry/frontend/pages/index/index.vue"]]); __definePage("pages/index/index", PagesIndexIndex); function formatAppLog(type, filename, ...args) { if (uni.__log__) { uni.__log__(type, filename, ...args); } else { console[type].apply(console, [...args, filename]); } } const _sfc_main = { onLaunch: function() { formatAppLog("log", "at App.vue:4", "App Launch"); }, onShow: function() { formatAppLog("log", "at App.vue:7", "App Show"); }, onHide: function() { formatAppLog("log", "at App.vue:10", "App Hide"); } }; const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:/wx/PartsInquiry/frontend/App.vue"]]); function createApp() { const app = vue.createVueApp(App); return { app }; } const { app: __app__, Vuex: __Vuex__, Pinia: __Pinia__ } = createApp(); uni.Vuex = __Vuex__; uni.Pinia = __Pinia__; __app__.provide("__globalStyles", __uniConfig.styles); __app__._component.mpType = "app"; __app__._component.render = () => { }; __app__.mount("#app"); })(Vue);