Browse Source

fleat: login block and team statis

igb 15 hours ago
parent
commit
939e6491ec
4 changed files with 25 additions and 7 deletions
  1. 7 1
      index.php
  2. 1 1
      js/loginjs.js
  3. 13 4
      system/employee.php
  4. 4 1
      team.php

+ 7 - 1
index.php

@@ -46,7 +46,7 @@ if ($act == "login") {
     }
 
     // 查询用户 - 使用传统SQL拼接
-    $sql = "SELECT id, em_user, em_password, em_role, em_permission_role_id, em_code, em_email, em_tel, lastIp FROM employee WHERE em_user = '$loginuser'";
+    $sql = "SELECT id, em_user, em_password, em_role, em_permission_role_id, em_code, em_email, em_tel, lastIp, login_forbidden FROM employee WHERE em_user = '$loginuser'";
     $result = $conn->query($sql);
     
     if ($result->num_rows == 0) {
@@ -60,6 +60,12 @@ if ($act == "login") {
         exit;
     }
     
+    // 检查用户是否被禁止登录
+    if ($row['login_forbidden'] == 1) {
+        echo "6"; // 返回错误代码6表示账号已被禁用
+        exit;
+    }
+    
     $_SESSION['employee_id'] = (int)$row['id'];
     $_SESSION['employee_name'] = $row['em_user'];
     $_SESSION['em_permission_role_id'] = $row['em_permission_role_id']??0;//权限角色ID

+ 1 - 1
js/loginjs.js

@@ -66,7 +66,7 @@
 					$("#loginpwd").focus();
 					break;
 				case "6":
-					$("#formmsg").html("你的IP不在允许登录范围内!");
+					$("#formmsg").html("禁止登录,请联系管理员!");
 					loadbmpcode();
 					$("#logincode").focus();
 					break;

+ 13 - 4
system/employee.php

@@ -20,6 +20,7 @@ if($act == "save") {
     $em_email = textEncode($_POST['em_email']);
     $em_tel = textEncode($_POST['em_tel']);
     $em_permission_role_id = $_POST['em_permission_role_id'];
+    $login_forbidden = isset($_POST['login_forbidden']) ? 1 : 0;
     $nullPwd = false;
 
     if(empty($em_password)) {
@@ -37,7 +38,8 @@ if($act == "save") {
         if($result->num_rows > 0) {
             $password_sql = $nullPwd ? "" : ",em_password='".md5($em_password)."'";
             $sql = "UPDATE employee SET em_user='$em_user'$password_sql,em_role=$em_role,
-                    em_code='$em_code',em_email='$em_email',em_tel='$em_tel',em_permission_role_id=$em_permission_role_id WHERE id=$id";
+                    em_code='$em_code',em_email='$em_email',em_tel='$em_tel',em_permission_role_id=$em_permission_role_id,
+                    login_forbidden=$login_forbidden WHERE id=$id";
             $conn->query($sql);
         }
         
@@ -51,8 +53,8 @@ if($act == "save") {
             $em_password = "MTB".$em_code;
         }
         
-        $sql = "INSERT INTO employee(em_user,em_password,em_role,em_code,em_email,em_tel,em_permission_role_id) 
-                VALUES('$em_user','".md5($em_password)."',$em_role,'$em_code','$em_email','$em_tel',$em_permission_role_id)";
+        $sql = "INSERT INTO employee(em_user,em_password,em_role,em_code,em_email,em_tel,em_permission_role_id,login_forbidden) 
+                VALUES('$em_user','".md5($em_password)."',$em_role,'$em_code','$em_email','$em_tel',$em_permission_role_id,$login_forbidden)";
         $conn->query($sql);
         header("Location: ?");
         exit;
@@ -108,6 +110,7 @@ if($act == "add" || $act == "edit") {
             $em_email = textUncode($row['em_email']);
             $em_tel = textUncode($row['em_tel']);
             $em_permission_role_id = $row['em_permission_role_id'];
+            $login_forbidden = $row['login_forbidden'] ?? 0;
         } else {
             $isEdit = false;
         }
@@ -174,6 +177,10 @@ if($act == "add" || $act == "edit") {
                 <th width="8%">手机</th>
                 <td><input type="text" id="em_tel" name="em_tel" value="<?php echo $em_tel ?? ''; ?>" class="txt1" /></td>
             </tr>
+            <tr>
+                <th width="8%">禁止登录</th>
+                <td><input type="checkbox" id="login_forbidden" name="login_forbidden" value="1" <?php echo (isset($login_forbidden) && $login_forbidden == 1) ? 'checked' : ''; ?> /> 勾选表示禁止该用户登录</td>
+            </tr>
             <tr>
                 <th></th>
                 <td>
@@ -197,7 +204,7 @@ $keyscode = textEncode($keys);
 $ord = $_GET['Ord'] ?? '';
 $page = $_GET['Page'] ?? '';
 
-$query = "SELECT id,em_user,em_code,em_role FROM employee 
+$query = "SELECT id,em_user,em_code,em_role,login_forbidden FROM employee 
           WHERE em_user LIKE '%$keyscode%' OR em_code LIKE '%$keyscode%' 
           ORDER BY Id DESC";
 $result = $conn->query($query);
@@ -216,6 +223,7 @@ $hrefstr = "?keys=$keys";
             <th>姓名</th>
             <th>工号</th>
             <th>角色</th>
+            <th>状态</th>
             <th>操作</th>
         </tr>
     </thead>
@@ -246,6 +254,7 @@ $hrefstr = "?keys=$keys";
                 <td align="center"><?php echo $row['em_user']; ?></td>
                 <td align="center"><?php echo $row['em_code']; ?></td>
                 <td align="center"><?php echo $row['em_role'] == 0 ? '组长' : '组员'; ?></td>
+                <td align="center"><?php echo $row['login_forbidden'] == 1 ? '<span style="color:red">禁止登录</span>' : '<span style="color:green">允许登录</span>'; ?></td>
                 <th><a class="ico_edit" href="?act=edit&Keys=<?php echo $keys; ?>&Ord=<?php echo $ord; ?>&Page=<?php echo $page; ?>&id=<?php echo $row['id']; ?>">修改</a></th>
             </tr>
             <?php

+ 4 - 1
team.php

@@ -74,7 +74,10 @@ if (empty($dateend) || !strtotime($dateend)) {
                 <td>公海认领</td>
             </tr>
             <?php
-            $result = $conn->query("SELECT id, em_user FROM employee WHERE em_role=0 AND id<>13");
+            $result = $conn->query("SELECT id, em_user FROM employee WHERE 
+            em_role=0 
+            AND em_permission_role_id in(2,3,4) ");
+
             while ($row = $result->fetch_assoc()) {
                 $clstr = "";