chore: customize branding for Baihua
This commit is contained in:
+4
-4
@@ -3,10 +3,10 @@
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg?v=4" />
|
||||
<link rel="alternate icon" type="image/png" href="/logo.png" />
|
||||
<link rel="apple-touch-icon" href="/logo.png" />
|
||||
<title>嘉恒智能五金 ERP</title>
|
||||
<link rel="icon" type="image/png" href="/logo-mark.png" />
|
||||
<link rel="alternate icon" type="image/png" href="/logo-mark.png" />
|
||||
<link rel="apple-touch-icon" href="/logo-mark.png" />
|
||||
<title>百华智能五金 ERP</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="238 65 828 828" role="img" aria-label="嘉恒智能">
|
||||
<defs>
|
||||
<linearGradient id="logoBlue" x1="258" y1="166" x2="1047" y2="748" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#12a6df"/>
|
||||
<stop offset="0.48" stop-color="#087fc3"/>
|
||||
<stop offset="1" stop-color="#005ba8"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="logoBlueDark" x1="313" y1="279" x2="936" y2="688" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#0d8ed0"/>
|
||||
<stop offset="1" stop-color="#004f9c"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<path
|
||||
fill="url(#logoBlueDark)"
|
||||
d="M651 53l22 67 70 1-57 41 21 68-56-42-57 42 22-68-57-41 70-1z"
|
||||
/>
|
||||
<path stroke="#087fc3" stroke-width="18" stroke-linecap="round" d="M651 188v88"/>
|
||||
|
||||
<path
|
||||
fill="url(#logoBlue)"
|
||||
d="M650 244 516 167 238 328v314l278 160 134-77V613L516 691 332 585V385l184-106 134 77z"
|
||||
/>
|
||||
<path
|
||||
fill="url(#logoBlue)"
|
||||
d="M654 244 788 167l278 161v314L788 802l-134-77V613l134 78 184-106V385L788 279l-134 77z"
|
||||
/>
|
||||
<path
|
||||
fill="url(#logoBlueDark)"
|
||||
d="M574 179c0-26 28-43 51-30l108 62c16 9 26 26 26 44v142l122 70c23 13 23 47 0 60l-122 70v142c0 18-10 35-26 44l-108 62c-23 13-51-4-51-30V597L452 527c-23-13-23-47 0-60l122-70z"
|
||||
/>
|
||||
|
||||
<path
|
||||
stroke="#fff"
|
||||
stroke-width="50"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M651 275v204M651 479 512 398M651 479l139-81M651 479v205M651 684l-139-81M651 684l139-81"
|
||||
/>
|
||||
<path
|
||||
stroke="#fff"
|
||||
stroke-width="42"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M390 433v119l126 73M914 433v119l-126 73"
|
||||
/>
|
||||
|
||||
<path
|
||||
fill="#087fc3"
|
||||
d="M229 883c181-76 665-76 846 0-220-38-626-38-846 0z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 53 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 509 KiB After Width: | Height: | Size: 120 KiB |
@@ -1,54 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1304" height="1028" viewBox="0 0 1304 1028" role="img" aria-label="宁波嘉恒智能科技有限公司 logo">
|
||||
<defs>
|
||||
<linearGradient id="logoBlue" x1="258" y1="166" x2="1047" y2="748" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#12a6df"/>
|
||||
<stop offset="0.48" stop-color="#087fc3"/>
|
||||
<stop offset="1" stop-color="#005ba8"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="logoBlueDark" x1="313" y1="279" x2="936" y2="688" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#0d8ed0"/>
|
||||
<stop offset="1" stop-color="#004f9c"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<path
|
||||
fill="url(#logoBlueDark)"
|
||||
d="M651 53l22 67 70 1-57 41 21 68-56-42-57 42 22-68-57-41 70-1z"
|
||||
/>
|
||||
<path stroke="#087fc3" stroke-width="18" stroke-linecap="round" d="M651 188v88"/>
|
||||
|
||||
<path
|
||||
fill="url(#logoBlue)"
|
||||
d="M650 244 516 167 238 328v314l278 160 134-77V613L516 691 332 585V385l184-106 134 77z"
|
||||
/>
|
||||
<path
|
||||
fill="url(#logoBlue)"
|
||||
d="M654 244 788 167l278 161v314L788 802l-134-77V613l134 78 184-106V385L788 279l-134 77z"
|
||||
/>
|
||||
<path
|
||||
fill="url(#logoBlueDark)"
|
||||
d="M574 179c0-26 28-43 51-30l108 62c16 9 26 26 26 44v142l122 70c23 13 23 47 0 60l-122 70v142c0 18-10 35-26 44l-108 62c-23 13-51-4-51-30V597L452 527c-23-13-23-47 0-60l122-70z"
|
||||
/>
|
||||
|
||||
<path
|
||||
stroke="#fff"
|
||||
stroke-width="50"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M651 275v204M651 479 512 398M651 479l139-81M651 479v205M651 684l-139-81M651 684l139-81"
|
||||
/>
|
||||
<path
|
||||
stroke="#fff"
|
||||
stroke-width="42"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M390 433v119l126 73M914 433v119l-126 73"
|
||||
/>
|
||||
|
||||
<path
|
||||
fill="#087fc3"
|
||||
d="M229 883c181-76 665-76 846 0-220-38-626-38-846 0z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB |
@@ -4,9 +4,9 @@
|
||||
<div v-else :class="shellClass">
|
||||
<aside class="sidebar">
|
||||
<div class="brand">
|
||||
<img class="brand-logo" src="/logo.svg" alt="宁波嘉恒智能科技有限公司 logo" />
|
||||
<img class="brand-logo" src="/logo-mark.png" alt="宁波百华智能科技有限公司 logo" />
|
||||
<div>
|
||||
<h1>嘉恒智能</h1>
|
||||
<h1>百华智能</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<div class="sidebar-footer">
|
||||
<div class="status-chip">
|
||||
<span class="status-dot"></span>
|
||||
采购、嘉恒仓库、生产、发货、财务、售后、系统拓展已接入真实业务流
|
||||
采购、百华仓库、生产、发货、财务、售后、系统拓展已接入真实业务流
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
@@ -186,7 +186,7 @@
|
||||
</span>
|
||||
<div>
|
||||
<p class="eyebrow">AI 助手</p>
|
||||
<h3>嘉恒工艺助手</h3>
|
||||
<h3>百华工艺助手</h3>
|
||||
<p>当前为内置占位对话,真实 LLM 可在 08 系统拓展中配置。</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -326,7 +326,7 @@ const chatMessages = ref([
|
||||
{
|
||||
id: 1,
|
||||
role: "assistant",
|
||||
content: "你好,我是嘉恒工艺助手。你可以问我系统操作路径、字段含义、业务流程或异常排查。"
|
||||
content: "你好,我是百华工艺助手。你可以问我系统操作路径、字段含义、业务流程或异常排查。"
|
||||
}
|
||||
]);
|
||||
const changePasswordForm = ref({
|
||||
@@ -523,7 +523,7 @@ const navStages = [
|
||||
key: "procurement",
|
||||
step: "04",
|
||||
label: "采购与库存",
|
||||
desc: "采购、自家料入库、质量检验和嘉恒仓库。",
|
||||
desc: "采购、自家料入库、质量检验和百华仓库。",
|
||||
tail: "采购",
|
||||
icon: "warehouse",
|
||||
iconPaths: [
|
||||
@@ -589,7 +589,7 @@ const navStages = [
|
||||
},
|
||||
{
|
||||
key: "inventory-ledger",
|
||||
label: "嘉恒仓库",
|
||||
label: "百华仓库",
|
||||
icon: "warehouse",
|
||||
to: { name: "inventory-ledger" },
|
||||
routeNames: ["inventory-ledger"],
|
||||
@@ -765,7 +765,7 @@ const navStages = [
|
||||
];
|
||||
|
||||
const isAuthLayout = computed(() => route.meta.layout === "auth");
|
||||
const currentTitle = computed(() => route.meta.title || "嘉恒智能五金 ERP");
|
||||
const currentTitle = computed(() => route.meta.title || "百华智能五金 ERP");
|
||||
const shellClass = computed(() => ({
|
||||
shell: true,
|
||||
"admin-shell": true,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<section class="stocktake-shell">
|
||||
<header class="stocktake-head">
|
||||
<div>
|
||||
<p class="eyebrow">嘉恒仓库 · 盘库</p>
|
||||
<p class="eyebrow">百华仓库 · 盘库</p>
|
||||
<h3>{{ activeStocktake ? activeStocktake.stocktake_no : "新建盘库" }}</h3>
|
||||
</div>
|
||||
<button class="ghost-button" type="button" @click="$emit('close')">关闭</button>
|
||||
|
||||
@@ -46,7 +46,7 @@ const props = defineProps({
|
||||
},
|
||||
companyName: {
|
||||
type: String,
|
||||
default: "宁波嘉恒智能科技有限公司"
|
||||
default: "宁波百华智能科技有限公司"
|
||||
},
|
||||
metaLabel: {
|
||||
type: String,
|
||||
|
||||
@@ -66,7 +66,7 @@ const props = defineProps({
|
||||
},
|
||||
companyName: {
|
||||
type: String,
|
||||
default: "嘉恒仓库 ERP"
|
||||
default: "百华仓库 ERP"
|
||||
},
|
||||
tone: {
|
||||
type: String,
|
||||
|
||||
@@ -36,7 +36,7 @@ defineProps({
|
||||
},
|
||||
companyName: {
|
||||
type: String,
|
||||
default: "嘉恒仓库"
|
||||
default: "百华仓库"
|
||||
},
|
||||
signatureLabels: {
|
||||
type: Array,
|
||||
|
||||
@@ -14539,11 +14539,11 @@ body .login-line-brand {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
display: inline-grid;
|
||||
grid-template-columns: 48px minmax(0, max-content);
|
||||
grid-template-columns: minmax(116px, 150px) minmax(0, max-content);
|
||||
gap: 12px;
|
||||
align-items: center;
|
||||
justify-self: start;
|
||||
max-width: min(280px, 100%);
|
||||
max-width: min(380px, 100%);
|
||||
padding: 10px 15px 10px 10px;
|
||||
border: 1px solid rgba(148, 163, 184, 0.2);
|
||||
border-radius: 20px;
|
||||
@@ -14558,10 +14558,11 @@ body .login-line-brand {
|
||||
|
||||
body .login-line-brand .login-logo,
|
||||
body .login-production-layout .login-logo {
|
||||
width: 48px;
|
||||
width: 150px;
|
||||
height: 48px;
|
||||
border-radius: 16px;
|
||||
border-radius: 14px;
|
||||
object-fit: contain;
|
||||
object-position: center;
|
||||
background: rgba(255, 255, 255, 0.94);
|
||||
box-shadow: 0 12px 32px rgba(2, 6, 23, 0.28);
|
||||
}
|
||||
@@ -15785,13 +15786,13 @@ body .login-production-layout .login-security-foot p {
|
||||
}
|
||||
|
||||
body .login-line-brand {
|
||||
grid-template-columns: 42px minmax(0, max-content);
|
||||
grid-template-columns: minmax(96px, 128px) minmax(0, max-content);
|
||||
border-radius: 17px;
|
||||
}
|
||||
|
||||
body .login-line-brand .login-logo,
|
||||
body .login-production-layout .login-logo {
|
||||
width: 42px;
|
||||
width: 128px;
|
||||
height: 42px;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<ProcessWorkspace
|
||||
eyebrow="发货概览"
|
||||
title="成品销售出库交付工作台"
|
||||
description="发货概览模块只保留成品发运;客户退货、退货废料和返工出库统一到嘉恒仓库办理。"
|
||||
description="发货概览模块只保留成品发运;客户退货、退货废料和返工出库统一到百华仓库办理。"
|
||||
panel-tag="交付主流程"
|
||||
stage-code="06"
|
||||
:sections="sections"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<section class="page-grid">
|
||||
<section class="panel inventory-unified-panel">
|
||||
<div class="warehouse-switchboard" role="tablist" aria-label="嘉恒仓库库存类型">
|
||||
<div class="warehouse-switchboard" role="tablist" aria-label="百华仓库库存类型">
|
||||
<button
|
||||
v-for="tab in inventoryTabs"
|
||||
:key="tab.key"
|
||||
@@ -1331,7 +1331,7 @@
|
||||
|
||||
<FormDrawer
|
||||
:open="openingImportDrawerOpen"
|
||||
eyebrow="嘉恒仓库 · 期初导入"
|
||||
eyebrow="百华仓库 · 期初导入"
|
||||
:title="`${activeInventoryLabel}期初库存导入`"
|
||||
tag="库存初始化"
|
||||
wide
|
||||
@@ -1899,7 +1899,7 @@
|
||||
|
||||
<FormDrawer
|
||||
:open="warehouseLedgerDrawerOpen"
|
||||
eyebrow="嘉恒仓库 · 库级流水"
|
||||
eyebrow="百华仓库 · 库级流水"
|
||||
:title="`${activeInventoryLabel} · 出入库流水`"
|
||||
tag="库存流水"
|
||||
wide
|
||||
@@ -2055,7 +2055,7 @@
|
||||
|
||||
<FormDrawer
|
||||
:open="productionWorkOrderInboundDrawerOpen"
|
||||
eyebrow="嘉恒仓库 · 生产台账入库"
|
||||
eyebrow="百华仓库 · 生产台账入库"
|
||||
title="生产台账入库"
|
||||
description="按在生产的材料库存批次号统一办理成品入库、生产余料入库和生产废料入库。"
|
||||
tag="材料批次闭环"
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
</div>
|
||||
|
||||
<main class="login-production-cockpit" @click.stop>
|
||||
<section class="login-line-area" aria-label="嘉恒五金冲压产线">
|
||||
<section class="login-line-area" aria-label="百华五金冲压产线">
|
||||
<div class="login-line-brand">
|
||||
<img class="login-logo" src="/logo.svg" alt="宁波嘉恒智能科技有限公司 logo" />
|
||||
<img class="login-logo login-logo-wordmark" src="/logo.png" alt="宁波百华智能科技有限公司 logo" />
|
||||
<div>
|
||||
<span>嘉恒智能</span>
|
||||
<span>百华智能</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
<div class="login-console-frame">
|
||||
<div class="login-control-console">
|
||||
<div class="login-panel-head">
|
||||
<h2>嘉恒智能五金 ERP</h2>
|
||||
<h2>百华智能五金 ERP</h2>
|
||||
</div>
|
||||
|
||||
<form class="login-form" @submit.prevent="handleLogin">
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<ProcessWorkspace
|
||||
eyebrow="采购与库存"
|
||||
title="采购与嘉恒仓库工作台"
|
||||
description="覆盖采购下单、自家料到货、质检和嘉恒仓库出入库台账。"
|
||||
title="采购与百华仓库工作台"
|
||||
description="覆盖采购下单、自家料到货、质检和百华仓库出入库台账。"
|
||||
panel-tag="仓库主流程"
|
||||
stage-code="04"
|
||||
:sections="sections"
|
||||
@@ -44,7 +44,7 @@ const sections = [
|
||||
{
|
||||
key: "inventory-ledger",
|
||||
step: "04-4",
|
||||
label: "嘉恒仓库",
|
||||
label: "百华仓库",
|
||||
desc: "统一处理原材料、半成品、成品、辅料的出入库和批次流水。",
|
||||
permission: "MENU_INVENTORY_LEDGER",
|
||||
component: InventoryLedgerView
|
||||
|
||||
@@ -1471,7 +1471,7 @@ function renderPurchaseContractHtml(contractOrders) {
|
||||
<div class="contract-no">合同编号:${escapeHtml(contractNo)}</div>
|
||||
|
||||
<div class="meta-grid">
|
||||
<div><strong>甲方(采购方):</strong>${escapeHtml("嘉恒智能五金")}</div>
|
||||
<div><strong>甲方(采购方):</strong>${escapeHtml("百华智能五金")}</div>
|
||||
<div><strong>乙方(供应方):</strong>${escapeHtml(normalizeContractText(supplier?.supplier_name))}</div>
|
||||
<div><strong>乙方联系人:</strong>${escapeHtml(normalizeContractText(supplier?.contact_name))}</div>
|
||||
<div><strong>乙方电话:</strong>${escapeHtml(normalizeContractText(supplier?.contact_phone))}</div>
|
||||
@@ -1530,7 +1530,7 @@ function renderPurchaseContractHtml(contractOrders) {
|
||||
日期:
|
||||
</div>
|
||||
</div>
|
||||
<p class="muted">注:该合同由嘉恒智能五金 ERP 按当前采购订单数据自动生成。</p>
|
||||
<p class="muted">注:该合同由百华智能五金 ERP 按当前采购订单数据自动生成。</p>
|
||||
</main>
|
||||
</body>
|
||||
</html>`;
|
||||
|
||||
@@ -961,7 +961,7 @@ function renderContractHtml(orders) {
|
||||
|
||||
<div class="meta-grid">
|
||||
<div><strong>甲方(买方):</strong>${escapeHtml(normalizeContractText(customer?.customer_name))}</div>
|
||||
<div><strong>乙方(卖方):</strong>${escapeHtml("嘉恒智能五金")}</div>
|
||||
<div><strong>乙方(卖方):</strong>${escapeHtml("百华智能五金")}</div>
|
||||
<div><strong>甲方联系人:</strong>${escapeHtml(normalizeContractText(customer?.contact_name))}</div>
|
||||
<div><strong>甲方电话:</strong>${escapeHtml(normalizeContractText(customer?.contact_phone))}</div>
|
||||
<div><strong>合同日期:</strong>${escapeHtml(currentDateText())}</div>
|
||||
@@ -1033,7 +1033,7 @@ function renderContractHtml(orders) {
|
||||
日期:
|
||||
</div>
|
||||
</div>
|
||||
<p class="muted">注:该合同由嘉恒智能五金 ERP 按当前销售订单数据自动生成。</p>
|
||||
<p class="muted">注:该合同由百华智能五金 ERP 按当前销售订单数据自动生成。</p>
|
||||
</main>
|
||||
</body>
|
||||
</html>`;
|
||||
|
||||
@@ -419,13 +419,13 @@ function buildEmptyBroadcastForm() {
|
||||
|
||||
function buildEmptyAssistantForm() {
|
||||
return {
|
||||
assistant_name: "嘉恒工艺助手",
|
||||
assistant_name: "百华工艺助手",
|
||||
provider_name: "",
|
||||
api_base_url: "",
|
||||
api_key: "",
|
||||
model_name: "",
|
||||
temperature: 0.3,
|
||||
system_prompt: "你是宁波嘉恒智能五金 ERP 的企业助手,优先解释业务流程、字段含义、数据异常和操作步骤。",
|
||||
system_prompt: "你是宁波百华智能五金 ERP 的企业助手,优先解释业务流程、字段含义、数据异常和操作步骤。",
|
||||
enabled: false
|
||||
};
|
||||
}
|
||||
@@ -567,7 +567,7 @@ function restoreSectionSnapshot(sectionKey) {
|
||||
|
||||
if (sectionKey === "assistant") {
|
||||
Object.assign(assistantForm, {
|
||||
assistant_name: snapshot.assistant_name || "嘉恒工艺助手",
|
||||
assistant_name: snapshot.assistant_name || "百华工艺助手",
|
||||
provider_name: snapshot.provider_name || "",
|
||||
api_base_url: snapshot.api_base_url || "",
|
||||
api_key: "",
|
||||
@@ -585,7 +585,7 @@ function restoreSectionSnapshot(sectionKey) {
|
||||
function applyAssistantConfig(config) {
|
||||
assistantConfig.value = config || {};
|
||||
Object.assign(assistantForm, {
|
||||
assistant_name: config?.assistant_name || "嘉恒工艺助手",
|
||||
assistant_name: config?.assistant_name || "百华工艺助手",
|
||||
provider_name: config?.provider_name || "",
|
||||
api_base_url: config?.api_base_url || "",
|
||||
api_key: "",
|
||||
|
||||
Reference in New Issue
Block a user