204 lines
12 KiB
HTML
204 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>韬智生产管理系统</title>
|
|
<link rel="icon" type="image/svg+xml" href="./assets/favicon.svg" />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@600&display=swap" rel="stylesheet" />
|
|
<link rel="stylesheet" href="./assets/styles.css?v=20251122" />
|
|
<link rel="stylesheet" href="./assets/mod.css" />
|
|
</head>
|
|
<body>
|
|
<div id="app">
|
|
<!-- 顶部导航栏 -->
|
|
<header class="topbar" id="topbar">
|
|
<div class="topbar-left">
|
|
<div class="brand">
|
|
<div class="coin-wrapper">
|
|
<div class="coin">
|
|
<div class="side heads">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4091.27 4091.73" width="100%" height="100%">
|
|
<path fill="#F7931A" d="M4030.06 2540.77c-273.24,1096.01 -1383.32,1763.02 -2479.46,1489.71 -1095.68,-273.24 -1762.69,-1383.39 -1489.33,-2479.31 273.12,-1096.13 1383.2,-1763.19 2479,-1489.95 1096.06,273.24 1763.03,1383.51 1489.76,2479.57l0.02 -0.02z"></path>
|
|
<path fill="white" d="M2947.77 1754.38c40.72,-272.26 -166.56,-418.61 -450,-516.24l91.95 -368.8 -224.5 -55.94 -89.51 359.09c-59.02,-14.72 -119.63,-28.59 -179.87,-42.34l90.16 -361.46 -224.36 -55.94 -92 368.68c-48.84,-11.12 -96.81,-22.11 -143.35,-33.69l0.26 -1.16 -309.59 -77.31 -59.72 239.78c0,0 166.56,38.18 163.05,40.53 90.91,22.69 107.35,82.87 104.62,130.57l-104.74 420.15c6.26,1.59 14.38,3.89 23.34,7.49 -7.49,-1.86 -15.46,-3.89 -23.73,-5.87l-146.81 588.57c-11.11,27.62 -39.31,69.07 -102.87,53.33 2.25,3.26 -163.17,-40.72 -163.17,-40.72l-111.46 256.98 292.15 72.83c54.35,13.63 107.61,27.89 160.06,41.3l-92.9 373.03 224.24 55.94 92 -369.07c61.26,16.63 120.71,31.97 178.91,46.43l-91.69 367.33 224.51 55.94 92.89 -372.33c382.82,72.45 670.67,43.24 791.83,-303.02 97.63,-278.78 -4.86,-439.58 -206.26,-544.44 146.69,-33.83 257.18,-130.31 286.64,-329.61l-0.07 -0.05zm-512.93 719.26c-69.38,278.78 -538.76,128.08 -690.94,90.29l123.28 -494.2c152.17,37.99 640.17,113.17 567.67,403.91zm69.43 -723.3c-63.29,253.58 -453.96,124.75 -580.69,93.16l111.77 -448.21c126.73,31.59 534.85,90.55 468.94,355.05l-0.02 0z"></path>
|
|
</svg>
|
|
</div>
|
|
<div class="side tails">
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="svg_back" viewBox="0 0 4091.27 4091.73" width="100%" height="100%">
|
|
<path fill="#F7931A" d="M4030.06 2540.77c-273.24,1096.01 -1383.32,1763.02 -2479.46,1489.71 -1095.68,-273.24 -1762.69,-1383.39 -1489.33,-2479.31 273.12,-1096.13 1383.2,-1763.19 2479,-1489.95 1096.06,273.24 1763.03,1383.51 1489.76,2479.57l0.02 -0.02z"></path>
|
|
<path fill="white" d="M2947.77 1754.38c40.72,-272.26 -166.56,-418.61 -450,-516.24l91.95 -368.8 -224.5 -55.94 -89.51 359.09c-59.02,-14.72 -119.63,-28.59 -179.87,-42.34l90.16 -361.46 -224.36 -55.94 -92 368.68c-48.84,-11.12 -96.81,-22.11 -143.35,-33.69l0.26 -1.16 -309.59 -77.31 -59.72 239.78c0,0 166.56,38.18 163.05,40.53 90.91,22.69 107.35,82.87 104.62,130.57l-104.74 420.15c6.26,1.59 14.38,3.89 23.34,7.49 -7.49,-1.86 -15.46,-3.89 -23.73,-5.87l-146.81 588.57c-11.11,27.62 -39.31,69.07 -102.87,53.33 2.25,3.26 -163.17,-40.72 -163.17,-40.72l-111.46 256.98 292.15 72.83c54.35,13.63 107.61,27.89 160.06,41.3l-92.9 373.03 224.24 55.94 92 -369.07c61.26,16.63 120.71,31.97 178.91,46.43l-91.69 367.33 224.51 55.94 92.89 -372.33c382.82,72.45 670.67,43.24 791.83,-303.02 97.63,-278.78 -4.86,-439.58 -206.26,-544.44 146.69,-33.83 257.18,-130.31 286.64,-329.61l-0.07 -0.05zm-512.93 719.26c-69.38,278.78 -538.76,128.08 -690.94,90.29l123.28 -494.2c152.17,37.99 640.17,113.17 567.67,403.91zm69.43 -723.3c-63.29,253.58 -453.96,124.75 -580.69,93.16l111.77 -448.21c126.73,31.59 534.85,90.55 468.94,355.05l-0.02 0z"></path>
|
|
</svg>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<span class="brand-name">韬智生产管理</span>
|
|
</div>
|
|
<nav class="topnav" id="topnav">
|
|
<a href="#/dashboard" class="topnav-item" data-route="dashboard">仪表盘</a>
|
|
<div class="topnav-item has-dropdown" data-menu="upload">
|
|
<span class="topnav-text">上传</span>
|
|
<span class="topnav-caret">▾</span>
|
|
<div class="topnav-dropdown">
|
|
<a href="#/upload/mac" class="dropdown-item" data-route="upload-mac">MAC与批次</a>
|
|
<a href="#/upload/stats" class="dropdown-item" data-route="upload-stats">良/不良统计</a>
|
|
<a href="#/upload/repairs" class="dropdown-item" data-route="upload-repairs">返修记录</a>
|
|
<a href="#/upload/shipments" class="dropdown-item" data-route="upload-shipments">发货记录</a>
|
|
<a href="#/upload/sop" class="dropdown-item" data-route="upload-sop">SOP</a>
|
|
</div>
|
|
</div>
|
|
<div class="topnav-item has-dropdown" data-menu="query">
|
|
<span class="topnav-text">出货查询</span>
|
|
<span class="topnav-caret">▾</span>
|
|
<div class="topnav-dropdown">
|
|
<a href="#/shipments/query" class="dropdown-item" data-route="shipments-query">详细记录查询</a>
|
|
<a href="#/shipments/summary" class="dropdown-item" data-route="shipments-summary">汇总信息查询</a>
|
|
</div>
|
|
</div>
|
|
<div class="topnav-item has-dropdown" data-menu="production">
|
|
<span class="topnav-text">生产管理</span>
|
|
<span class="topnav-caret">▾</span>
|
|
<div class="topnav-dropdown">
|
|
<a href="#/production-mgmt/work-order" class="dropdown-item" data-route="production-mgmt-work-order">生产工单下发中心</a>
|
|
</div>
|
|
</div>
|
|
<div class="topnav-item has-dropdown" data-menu="plan">
|
|
<span class="topnav-text">计划管理</span>
|
|
<span class="topnav-caret">▾</span>
|
|
<div class="topnav-dropdown">
|
|
<a href="#/plan-mgmt/bom" class="dropdown-item" data-route="plan-mgmt-bom">BOM物料清单</a>
|
|
<a href="#/plan-mgmt/initial-stock" class="dropdown-item" data-route="plan-mgmt-initial-stock">期初库存</a>
|
|
<a href="#/plan-mgmt/purchase-demand" class="dropdown-item" data-route="plan-mgmt-purchase-demand">采购需求清单</a>
|
|
<a href="#/plan-mgmt/customer-order" class="dropdown-item" data-route="plan-mgmt-customer-order">客户订单</a>
|
|
<a href="#/plan-mgmt/reconciliation" class="dropdown-item" data-route="plan-mgmt-reconciliation">对账单</a>
|
|
</div>
|
|
</div>
|
|
<div class="topnav-item has-dropdown" data-menu="collect">
|
|
<span class="topnav-text">采集</span>
|
|
<span class="topnav-caret">▾</span>
|
|
<div class="topnav-dropdown">
|
|
<a href="#/devices" class="dropdown-item" data-route="devices">设备状态</a>
|
|
<a href="#/environment" class="dropdown-item" data-route="environment">环境参数</a>
|
|
<a href="#/personnel" class="dropdown-item" data-route="personnel">人员信息</a>
|
|
<a href="#/qa" class="dropdown-item" data-route="qa">质检报告</a>
|
|
<a href="#/production" class="dropdown-item" data-route="production">时间记录</a>
|
|
</div>
|
|
</div>
|
|
<a href="#/export" class="topnav-item" data-route="export">导出</a>
|
|
<a href="#/product-intro" class="topnav-item" data-route="product-intro">产品</a>
|
|
<a href="#/system/operations-log" class="topnav-item superadmin-only" data-route="system-operations-log" style="display:none;">操作日志</a>
|
|
</nav>
|
|
</div>
|
|
<div class="topbar-right">
|
|
<label class="bb8-toggle">
|
|
<input id="theme-toggle-checkbox" class="bb8-toggle__checkbox" type="checkbox">
|
|
<div class="bb8-toggle__container">
|
|
<div class="bb8-toggle__scenery">
|
|
<div class="bb8-toggle__star"></div>
|
|
<div class="bb8-toggle__star"></div>
|
|
<div class="bb8-toggle__star"></div>
|
|
<div class="bb8-toggle__star"></div>
|
|
<div class="bb8-toggle__star"></div>
|
|
<div class="bb8-toggle__star"></div>
|
|
<div class="bb8-toggle__star"></div>
|
|
<div class="bb8-toggle__star"></div>
|
|
<div class="tatto-1"></div>
|
|
<div class="tatto-2"></div>
|
|
<div class="gomrassen"></div>
|
|
<div class="hermes"></div>
|
|
<div class="chenini"></div>
|
|
<div class="bb8-toggle__cloud"></div>
|
|
<div class="bb8-toggle__cloud"></div>
|
|
<div class="bb8-toggle__cloud"></div>
|
|
</div>
|
|
<div class="bb8">
|
|
<div class="bb8__head-container">
|
|
<div class="bb8__antenna"></div>
|
|
<div class="bb8__antenna"></div>
|
|
<div class="bb8__head"></div>
|
|
</div>
|
|
<div class="bb8__body"></div>
|
|
</div>
|
|
<div class="artificial__hidden">
|
|
<div class="bb8__shadow"></div>
|
|
</div>
|
|
</div>
|
|
</label>
|
|
<button id="notification-bell" class="notification-bell" style="display:none;">
|
|
<span class="bell-icon">🔔</span>
|
|
<span id="notification-badge" class="notification-badge" style="display:none;">0</span>
|
|
</button>
|
|
<div class="user-menu-container">
|
|
<button id="user-avatar-btn" class="user-avatar-btn">
|
|
<img id="user-avatar-img" src="./assets/user-avatar.svg" alt="用户头像" class="user-avatar-img" />
|
|
<span id="user-name-display" class="user-name-display">未登录</span>
|
|
</button>
|
|
<div id="user-dropdown" class="user-dropdown" style="display:none;">
|
|
<a href="#/settings" class="user-dropdown-item" data-route="settings">
|
|
<span class="dropdown-icon">⚙️</span>
|
|
<span>设置</span>
|
|
</a>
|
|
<div class="user-dropdown-item" id="user-dropdown-logout">
|
|
<span class="dropdown-icon">🚪</span>
|
|
<span>退出登录</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<main class="content topbar-layout">
|
|
<section id="view" class="view"></section>
|
|
</main>
|
|
|
|
<!-- 通知面板 -->
|
|
<div id="notification-panel" class="notification-panel" style="display:none;">
|
|
<div class="notification-header">
|
|
<h3>消息通知</h3>
|
|
<div class="notification-actions">
|
|
<button id="mark-all-read" class="btn-text">全部已读</button>
|
|
<button id="delete-read" class="btn-text btn-danger">删除已读</button>
|
|
</div>
|
|
</div>
|
|
<div id="notification-list" class="notification-list">
|
|
<!-- 通知列表将在这里动态生成 -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="toast" class="toast"></div>
|
|
<div id="overlay" class="overlay hidden">
|
|
<div class="loader">
|
|
<div class="dot"></div>
|
|
<div class="dot"></div>
|
|
<div class="dot"></div>
|
|
</div>
|
|
</div>
|
|
<script src="./js/router.js"></script>
|
|
<script src="./js/api.js"></script>
|
|
<script src="./js/utils/memory-monitor.js"></script>
|
|
<script src="./js/components/sidebar.js"></script>
|
|
<script src="./js/components/dashboard.js"></script>
|
|
<script src="./js/components/upload.js"></script>
|
|
<script src="./js/components/shipments.js"></script>
|
|
<script src="./js/components/shipment-query.js"></script>
|
|
<script src="./js/components/shipment-summary.js"></script>
|
|
<script src="./js/components/defects.js"></script>
|
|
<script src="./js/components/devices.js"></script>
|
|
<script src="./js/components/environment.js"></script>
|
|
<script src="./js/components/personnel.js"></script>
|
|
<script src="./js/components/qa.js"></script>
|
|
<script src="./js/components/production.js"></script>
|
|
<script src="./js/components/work-order.js"></script>
|
|
<script src="./js/components/bom.js"></script>
|
|
<script src="./js/components/initial-stock.js"></script>
|
|
<script src="./js/components/purchase-demand.js"></script>
|
|
<script src="./js/components/customer-order.js"></script>
|
|
<script src="./js/components/reconciliation.js"></script>
|
|
<script src="./js/components/export.js"></script>
|
|
<script src="./js/components/settings.js"></script>
|
|
<script src="./js/components/notifications.js"></script>
|
|
<script src="./js/components/operations-log.js"></script>
|
|
<script src="./js/components/product-intro.js"></script>
|
|
<script src="./js/app.js"></script>
|
|
</body>
|
|
</html> |