初始化
This commit is contained in:
@@ -0,0 +1,340 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<title><?php echo htmlspecialchars($title); ?> - MES 后台管理</title>
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/css/bootstrap.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/css/font-awesome.min.css">
|
||||
<!-- Ionicons(已本地化,P3-14 消除外部 CDN 供应链风险) -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/css/ionicons.min.css">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/css/AdminLTE.min.css">
|
||||
<!-- AdminLTE Skins -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/css/skins/_all-skins.min.css">
|
||||
<!-- iCheck -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/plugins/iCheck/flat/blue.css">
|
||||
<!-- Morris chart -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/plugins/morris/morris.css">
|
||||
<!-- jvectormap -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/plugins/jvectormap/jquery-jvectormap-1.2.2.css">
|
||||
<!-- Date Picker -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/plugins/datepicker/datepicker3.css">
|
||||
<!-- Daterange picker -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/plugins/daterangepicker/daterangepicker-bs3.css">
|
||||
<!-- bootstrap wysihtml5 - text editor -->
|
||||
<link rel="stylesheet" href="<?php echo BASE_URL; ?>/static/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css">
|
||||
<style>
|
||||
/* 全局表格居中 */
|
||||
.table th,
|
||||
.table td {
|
||||
text-align: center !important;
|
||||
vertical-align: middle !important;
|
||||
}
|
||||
|
||||
/* ========== 类型卡片 Grid 并列布局 (productModel) ========== */
|
||||
.type-grid {
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
grid-template-columns: repeat(2, 1fr); /* 默认2列 */
|
||||
}
|
||||
.type-grid[data-columns="1"] { grid-template-columns: 1fr; }
|
||||
.type-grid[data-columns="2"] { grid-template-columns: repeat(2, 1fr); }
|
||||
.type-grid[data-columns="3"] { grid-template-columns: repeat(3, 1fr); }
|
||||
.type-grid[data-columns="auto"] { grid-template-columns: repeat(auto-fill, minmax(450px, 1fr)); }
|
||||
|
||||
.type-grid-item {
|
||||
margin-bottom: 0 !important;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.type-grid-item .box-body {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
/* 列数调节按钮激活态 */
|
||||
.column-adjuster .col-btn.active {
|
||||
background-color: #3c8dbc !important;
|
||||
color: #fff !important;
|
||||
border-color: #367fa9 !important;
|
||||
}
|
||||
|
||||
/* 移动端降级 */
|
||||
@media (max-width: 992px) {
|
||||
.type-grid[data-columns="2"],
|
||||
.type-grid[data-columns="3"],
|
||||
.type-grid[data-columns="auto"] {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.type-grid,
|
||||
.type-grid[data-columns="2"],
|
||||
.type-grid[data-columns="3"],
|
||||
.type-grid[data-columns="auto"] {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<script src="<?php echo BASE_URL; ?>/static/js/jquery-3.7.1.min.js"></script>
|
||||
<?php // v3-P2 CSP:全局事件委托(替代内联 onclick 等),配合 nonce 实现无 unsafe-inline ?>
|
||||
<script src="<?php echo BASE_URL; ?>/static/js/csp_global.js" nonce="<?php echo csp_nonce(); ?>"></script>
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="<?php echo BASE_URL; ?>/static/js/html5shiv.min.js"></script>
|
||||
<script src="<?php echo BASE_URL; ?>/static/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="hold-transition skin-blue sidebar-mini">
|
||||
<div class="wrapper">
|
||||
|
||||
<header class="main-header">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/index" class="logo">
|
||||
<span class="logo-mini"><b>MES</b></span>
|
||||
<span class="logo-lg"><b>MES</b> 后台管理</span>
|
||||
</a>
|
||||
<nav class="navbar navbar-static-top">
|
||||
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
|
||||
<span class="sr-only">切换导航</span>
|
||||
</a>
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
<li>
|
||||
<a href="<?php echo BASE_URL; ?>/Dashboard/index"><i class="fa fa-tachometer"></i> <span class="hidden-xs">工位看板</span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?php echo BASE_URL; ?>/Front/index"><i class="fa fa-desktop"></i> <span class="hidden-xs">前台工位</span></a>
|
||||
</li>
|
||||
<li class="dropdown user user-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-user"></i>
|
||||
<span class="hidden-xs"><?php echo htmlspecialchars($user['emp_name']); ?></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="user-header" style="background:#3c8dbc; color:#fff; padding:10px; text-align:center;">
|
||||
<p><?php echo htmlspecialchars($user['emp_name']); ?><br>
|
||||
<small><?php
|
||||
$roleNames = \core\base\Controller::ROLE_NAMES;
|
||||
echo htmlspecialchars($roleNames[$user['role']] ?? $user['role']);
|
||||
?></small></p>
|
||||
</li>
|
||||
<li class="user-footer">
|
||||
<div class="pull-right">
|
||||
<a href="<?php echo BASE_URL; ?>/Login/logout" class="btn btn-default btn-flat"><i class="fa fa-power-off"></i> 退出登录</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<aside class="main-sidebar">
|
||||
<section class="sidebar">
|
||||
<div class="user-panel" style="padding:10px; color:#fff; text-align:center; border-bottom:1px solid #4b646f;">
|
||||
<p style="margin:0;"><i class="fa fa-circle text-success"></i> <?php echo htmlspecialchars($user['emp_name']); ?></p>
|
||||
<small style="color:#b8c7ce;">
|
||||
<?php
|
||||
$roleNames = \core\base\Controller::ROLE_NAMES;
|
||||
echo htmlspecialchars($roleNames[$user['role']] ?? $user['role']);
|
||||
?>
|
||||
</small>
|
||||
</div>
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li class="header">导航菜单</li>
|
||||
<?php
|
||||
$role = $user['role'];
|
||||
$category = $user['category'] ?? 'mes';
|
||||
$ROLE_SUPER_ADMIN = \core\base\Controller::ROLE_SUPER_ADMIN;
|
||||
$ROLE_ADMIN = \core\base\Controller::ROLE_ADMIN;
|
||||
$isSuperAdmin = ($role === $ROLE_SUPER_ADMIN);
|
||||
$isMESAdmin = ($isSuperAdmin || ($role === $ROLE_ADMIN && $category === \core\base\Controller::CATEGORY_MES));
|
||||
$isInventoryAdmin = ($isSuperAdmin || ($role === $ROLE_ADMIN && $category === \core\base\Controller::CATEGORY_INVENTORY));
|
||||
$isFinanceAdmin = ($isSuperAdmin || ($role === $ROLE_ADMIN && $category === \core\base\Controller::CATEGORY_FINANCE));
|
||||
$isGeneralAdmin = ($isSuperAdmin || ($role === $ROLE_ADMIN && $category === \core\base\Controller::CATEGORY_GENERAL));
|
||||
|
||||
$catNames = \core\base\Controller::CATEGORY_NAMES;
|
||||
$catIcons = \core\base\Controller::CATEGORY_ICONS;
|
||||
$currentCat = isset($_GET['cat']) ? $_GET['cat'] : ($category === 'all' ? 'mes' : $category);
|
||||
?>
|
||||
|
||||
<?php if ($isSuperAdmin): ?>
|
||||
<!-- 超级管理员:类目切换菜单 -->
|
||||
<li class="header">管理类目切换</li>
|
||||
<li class="<?php echo $currentCat === 'mes' ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/index?cat=mes">
|
||||
<i class="fa <?php echo $catIcons['mes']; ?>"></i>
|
||||
<span><?php echo htmlspecialchars($catNames['mes']); ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="<?php echo $currentCat === 'inventory' ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Inventory/index?cat=inventory">
|
||||
<i class="fa <?php echo $catIcons['inventory']; ?>"></i>
|
||||
<span><?php echo htmlspecialchars($catNames['inventory']); ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="<?php echo $currentCat === 'finance' ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Finance/index?cat=finance">
|
||||
<i class="fa <?php echo $catIcons['finance']; ?>"></i>
|
||||
<span><?php echo htmlspecialchars($catNames['finance']); ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="<?php echo $currentCat === 'general' ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/General/index?cat=general">
|
||||
<i class="fa <?php echo $catIcons['general']; ?>"></i>
|
||||
<span><?php echo htmlspecialchars($catNames['general']); ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="header">全局管理</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- ========== MES 类目菜单 ========== -->
|
||||
<?php if ($isMESAdmin): ?>
|
||||
<li class="header"><?php echo htmlspecialchars($catNames['mes']); ?></li>
|
||||
<li class="<?php echo (!isset($activeMenu) || $activeMenu === 'index') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/index"><i class="fa fa-dashboard"></i> <span>控制台</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'customer') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/customer"><i class="fa fa-building"></i> <span>客户管理</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'productModel') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/productModel"><i class="fa fa-cube"></i> <span>产品型号</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'workstation') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/workstation"><i class="fa fa-th"></i> <span>工位管理</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'config') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/config"><i class="fa fa-cog"></i> <span>系统配置</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'productSearch') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/productSearch"><i class="fa fa-search"></i> <span>产品追溯</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'asdTestData') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/asdTestData"><i class="fa fa-flask"></i> <span>测试数据</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'asdDeviceDebug') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/asdDeviceDebug"><i class="fa fa-plug"></i> <span>设备调试</span></a>
|
||||
</li>
|
||||
<?php if ($isSuperAdmin): ?>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'import') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/import"><i class="fa fa-upload"></i> <span>批量导入</span></a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- ========== 进销存类目菜单 ========== -->
|
||||
<?php if ($isInventoryAdmin): ?>
|
||||
<li class="header"><?php echo htmlspecialchars($catNames['inventory']); ?></li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'inventory_dashboard') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Inventory/index"><i class="fa fa-dashboard"></i> <span>进销存概览</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'purchase') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Inventory/purchase"><i class="fa fa-truck"></i> <span>采购管理</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'stock') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Inventory/stock"><i class="fa fa-archive"></i> <span>库存管理</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'sales') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Inventory/sales"><i class="fa fa-shopping-cart"></i> <span>销售管理</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'supplier') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Inventory/supplier"><i class="fa fa-address-book"></i> <span>供应商管理</span></a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- ========== 财务管理类目菜单 ========== -->
|
||||
<?php if ($isFinanceAdmin): ?>
|
||||
<li class="header"><?php echo htmlspecialchars($catNames['finance']); ?></li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'finance_dashboard') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Finance/index"><i class="fa fa-dashboard"></i> <span>财务概览</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'accounts') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Finance/accounts"><i class="fa fa-book"></i> <span>账务管理</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'receivable') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Finance/receivable"><i class="fa fa-arrow-down"></i> <span>应收账款</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'payable') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Finance/payable"><i class="fa fa-arrow-up"></i> <span>应付账款</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'report') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Finance/report"><i class="fa fa-bar-chart"></i> <span>财务报表</span></a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- ========== 综合管理类目菜单 ========== -->
|
||||
<?php if ($isGeneralAdmin): ?>
|
||||
<li class="header"><?php echo htmlspecialchars($catNames['general']); ?></li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'general_dashboard') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/General/index"><i class="fa fa-dashboard"></i> <span>综合概览</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'hr') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/General/hr"><i class="fa fa-id-card"></i> <span>人事管理</span></a>
|
||||
</li>
|
||||
<?php if ($isSuperAdmin): ?>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'employee') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/employee"><i class="fa fa-users"></i> <span>账号管理</span></a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'asset') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/General/asset"><i class="fa fa-laptop"></i> <span>资产管理</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'document') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/General/document"><i class="fa fa-file-text"></i> <span>文档管理</span></a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($isSuperAdmin): ?>
|
||||
<li class="header">系统工具</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'database') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/database"><i class="fa fa-database"></i> <span>数据库管理</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'databaseBackup') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/databaseBackup"><i class="fa fa-save"></i> <span>备份与恢复</span></a>
|
||||
</li>
|
||||
<li class="<?php echo (isset($activeMenu) && $activeMenu === 'databaseUpgrade') ? 'active' : ''; ?>">
|
||||
<a href="<?php echo BASE_URL; ?>/Admin/databaseUpgrade"><i class="fa fa-wrench"></i> <span>数据库升级</span></a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<li class="header">账户</li>
|
||||
<li>
|
||||
<a href="<?php echo BASE_URL; ?>/Login/logout" class="confirm-link" data-confirm="确定要退出登录吗?">
|
||||
<i class="fa fa-power-off text-red"></i> <span>退出登录</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
<h1><?php echo htmlspecialchars($title); ?><small> MES</small></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="<?php echo BASE_URL; ?>/Admin/index"><i class="fa fa-dashboard"></i> 控制台</a></li>
|
||||
<li class="active"><?php echo htmlspecialchars($title); ?></li>
|
||||
</ol>
|
||||
</section>
|
||||
<section class="content">
|
||||
<!-- 公司名称 - 所有页面居中加高显示 -->
|
||||
<?php
|
||||
if (!isset($sysConfig)) {
|
||||
$cfgModel = new app\models\SysConfig();
|
||||
$sysConfig = $cfgModel->getConfig();
|
||||
}
|
||||
?>
|
||||
<div style="text-align:center; margin-bottom:20px;">
|
||||
<h2 style="font-size:48px; font-weight:bold; color:#3c8dbc; margin:0; line-height:1.5;">
|
||||
<i class="fa fa-industry"></i> <?php echo htmlspecialchars($sysConfig['company_name'] ?? 'MES'); ?>
|
||||
</h2>
|
||||
<?php if (!empty($sysConfig['mes_name'])): ?>
|
||||
<p style="font-size:20px; color:#999; margin-top:5px;"><?php echo htmlspecialchars($sysConfig['mes_name']); ?></p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user