This commit is contained in:
2025-09-15 22:09:29 +08:00
parent 9569326c37
commit 3cb3a58dfd
20 changed files with 8678 additions and 158 deletions

View File

@@ -31,6 +31,7 @@ if (uni.restoreGlobal) {
}
(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) {
@@ -45,16 +46,22 @@ if (uni.restoreGlobal) {
monthProfit: "0.00",
stockQty: "0.00",
activeTab: "home",
notices: [
{ text: "选材精工:不锈钢、合金钢,耐腐蚀更耐用", tag: "品质" },
{ text: "表面工艺:电镀锌/镀镍/发黑处理,性能均衡", tag: "工艺" },
{ text: "库存齐全:螺丝、螺母、垫圈、膨胀螺栓等现货", tag: "库存" },
{ text: "企业采购支持:批量优惠,次日发货", tag: "服务" }
],
features: [
{ key: "customer", title: "客户", icon: "👥", color: "#3EC1D3" },
{ key: "sale", title: "销售", icon: "💰", color: "#00C2A8" },
{ key: "account", title: "账户", icon: "💳", color: "#21BA45" },
{ key: "supplier", title: "供应商", icon: "🚚", color: "#FF8C66" },
{ key: "purchase", title: "进货", icon: "🛒", color: "#F5A623" },
{ key: "otherPay", title: "其他支出", icon: "💸", color: "#F5C451" },
{ key: "vip", title: "VIP会员", icon: "👑", color: "#FF9F43" },
{ key: "report", title: "报表", icon: "📊", color: "#6C7BFF" },
{ key: "more", title: "更多", icon: "", color: "#BCAAA4" }
{ 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: "" }
]
};
},
@@ -64,11 +71,29 @@ if (uni.restoreGlobal) {
},
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" }, [
@@ -110,47 +135,105 @@ if (uni.restoreGlobal) {
])
])
]),
vue.createCommentVNode(" 功能九宫格 "),
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",
style: vue.normalizeStyle({ backgroundColor: item.color })
},
[
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: "icon-text" },
vue.toDisplayString(item.icon),
{ class: "notice-text" },
vue.toDisplayString(n.text),
1
/* TEXT */
)
],
4
/* STYLE */
),
vue.createElementVNode(
"text",
{ class: "grid-title" },
vue.toDisplayString(item.title),
1
/* TEXT */
)
], 8, ["onClick"]);
}),
128
/* KEYED_FRAGMENT */
))
),
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" }, [
@@ -158,7 +241,7 @@ if (uni.restoreGlobal) {
"view",
{
class: vue.normalizeClass(["tab", { active: $data.activeTab === "home" }]),
onClick: _cache[0] || (_cache[0] = ($event) => $data.activeTab = "home")
onClick: _cache[1] || (_cache[1] = ($event) => $data.activeTab = "home")
},
[
vue.createElementVNode("text", null, "首页")
@@ -168,7 +251,7 @@ if (uni.restoreGlobal) {
),
vue.createElementVNode("view", {
class: "tab primary",
onClick: _cache[1] || (_cache[1] = (...args) => $options.onCreateOrder && $options.onCreateOrder(...args))
onClick: _cache[2] || (_cache[2] = (...args) => $options.onCreateOrder && $options.onCreateOrder(...args))
}, [
vue.createElementVNode("text", null, "开单")
]),
@@ -176,7 +259,7 @@ if (uni.restoreGlobal) {
"view",
{
class: vue.normalizeClass(["tab", { active: $data.activeTab === "detail" }]),
onClick: _cache[2] || (_cache[2] = ($event) => $data.activeTab = "detail")
onClick: _cache[3] || (_cache[3] = ($event) => $data.activeTab = "detail")
},
[
vue.createElementVNode("text", null, "明细")
@@ -188,7 +271,7 @@ if (uni.restoreGlobal) {
"view",
{
class: vue.normalizeClass(["tab", { active: $data.activeTab === "me" }]),
onClick: _cache[3] || (_cache[3] = ($event) => $data.activeTab = "me")
onClick: _cache[4] || (_cache[4] = ($event) => $data.activeTab = "me")
},
[
vue.createElementVNode("text", null, "我的")
@@ -199,7 +282,7 @@ if (uni.restoreGlobal) {
])
]);
}
const PagesIndexIndex = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__file", "D:/软件/配件查询/林林林/pages/index/index.vue"]]);
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__) {
@@ -219,7 +302,7 @@ if (uni.restoreGlobal) {
formatAppLog("log", "at App.vue:10", "App Hide");
}
};
const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:/软件/配件查询/林林林/App.vue"]]);
const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:/wx/PartsInquiry/frontend/App.vue"]]);
function createApp() {
const app = vue.createVueApp(App);
return {