$expire)) {
session_destroy();
header("Location: login.php");
exit;
}
$loginUid = $_SESSION['user_id'];
$userName = $_SESSION['user_name'] ?? '';
$dbHost = '10.150.117.190';
$dbUser = 'root';
$dbPwd = 'hp93000';
$dbName = 'monitor';
$dbPort = 3306;
$conn = mysqli_connect($dbHost, $dbUser, $dbPwd, $dbName, $dbPort);
if (!$conn) {
die("数据库连接失败:" . mysqli_connect_error() . " 错误码:" . mysqli_connect_errno());
}
mysqli_set_charset($conn, 'utf8mb4');
// 获取当前登录用户角色(是否管理员)
$isAdmin = 0;
$roleSql = "SELECT r.is_admin FROM sys_user u LEFT JOIN sys_role r ON u.role_id=r.id WHERE u.uid = ?";
$stmtRole = mysqli_prepare($conn, $roleSql);
mysqli_stmt_bind_param($stmtRole, 's', $loginUid);
mysqli_stmt_execute($stmtRole);
$roleRow = mysqli_fetch_assoc(mysqli_stmt_get_result($stmtRole));
if ($roleRow) $isAdmin = intval($roleRow['is_admin']);
// 获取所有用户(分发下拉框)
$userOptions = "";
$userRes = mysqli_query($conn, "SELECT uid, real_name, username FROM sys_user WHERE enable = 1");
while ($u = mysqli_fetch_assoc($userRes)) {
$userOptions .= '';
}
// 分页参数
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$pageSize = 15;
$offset = ($page - 1) * $pageSize;
// 权限过滤SQL
if ($isAdmin === 1) {
$whereSql = " 1=1 ";
} else {
$whereSql = " (create_uid = ? OR assign_uid = ?) ";
}
// 统计总数
$cntSql = "SELECT COUNT(*) total FROM work_order WHERE " . $whereSql;
$stmtCnt = mysqli_prepare($conn, $cntSql);
if ($isAdmin !== 1) {
mysqli_stmt_bind_param($stmtCnt, 'ss', $loginUid, $loginUid);
}
mysqli_stmt_execute($stmtCnt);
$cntRow = mysqli_fetch_assoc(mysqli_stmt_get_result($stmtCnt));
$total = intval($cntRow['total']);
$totalPage = ceil($total / $pageSize);
// 工单列表数据
$listSql = "SELECT wo.*, uc.real_name create_name, ua.real_name assign_name
FROM work_order wo
LEFT JOIN sys_user uc ON wo.create_uid = uc.uid
LEFT JOIN sys_user ua ON wo.assign_uid = ua.uid
WHERE " . $whereSql . " ORDER BY create_time DESC LIMIT ?, ?";
$stmtList = mysqli_prepare($conn, $listSql);
if ($isAdmin === 1) {
mysqli_stmt_bind_param($stmtList, 'ii', $offset, $pageSize);
} else {
mysqli_stmt_bind_param($stmtList, 'ssii', $loginUid, $loginUid, $offset, $pageSize);
}
mysqli_stmt_execute($stmtList);
$listResult = mysqli_stmt_get_result($stmtList);
$orderList = [];
while ($row = mysqli_fetch_assoc($listResult)) {
$orderList[] = $row;
}
mysqli_close($conn);
?>
工单管理
| ID |
工单标题 |
创建人 |
处理人 |
状态 |
创建时间 |
更新时间 |
操作 |
| 暂无工单数据 |
|
|
|
|
|
|
|
|
新建故障工单
×