Commit 1e501cdb authored by liyuanhong's avatar liyuanhong

add some rights control

parent 5dbe497e
......@@ -11,7 +11,9 @@ class Filters extends BaseConfig
'toolbar' => \CodeIgniter\Filters\DebugToolbar::class,
'honeypot' => \CodeIgniter\Filters\Honeypot::class,
'login_filter' => \App\Filters\LoginFilter::class,
'login_page_filter' => \App\Filters\LoginPageFilter::class
'login_page_filter' => \App\Filters\LoginPageFilter::class,
'rights_common_user_filter' => \App\Filters\RightsCommonUserFilter::class, //限制普通用户的操作权限
'login_filter' => \App\Filters\LoginFilter::class //登录用户权限的接口控制
];
// Always applied before every request
......@@ -38,6 +40,38 @@ class Filters extends BaseConfig
// 'isLoggedIn' => ['before' => ['account/*', 'profiles/*']],
public $filters = [
'login_page_filter' => ['before' => ['devManage','devManage/*','orgManage','orgManage/*','userManage','userManage/*']],
'login_filter' => ['before' => ['devManageCtr','devManageCtr/*']]
'login_filter' => ['before' => [
'UserManageCtr',
'UserManageCtr/modifyUserInfo'
]
],
'rights_common_user_filter' => ['before' => [
'devManageCtr',
'devManageCtr/addFirstCategory',
'devManageCtr/editFirstCategory',
'devManageCtr/delAnFirstCategoryItem',
'devManageCtr/delAnSecondCategoryItem',
'devManageCtr/addSecondCategory',
'devManageCtr/editSecondCategory',
'devManageCtr/addDev',
'devManageCtr/delDev',
'devManageCtr/updateDev',
'devManageCtr/modifyDevInfo',
'devManageCtr/deleleDevImg',
'devManageCtr/addDevBorrowInfo',
'devManageCtr/refuseBorrow',
'devManageCtr/acceptBorrow',
'devManageCtr/confirmGiveBack',
'devManageCtr/borrowDevicesToUser',
'OrgManageCtr',
'OrgManageCtr/addOrgSection',
'OrgManageCtr/delOrgSection',
'OrgManageCtr/updateOrgSection',
'UserManageCtr',
'UserManageCtr/addUser',
'UserManageCtr/editUser',
'UserManageCtr/delUser'
]
]
];
}
......@@ -75,6 +75,13 @@ class DevManage extends BaseController
$devManageModel = new \App\Models\DevManageModel();
$devInfo = $devManageModel->getDeviceInfoById($devId);
$devImg = $devManageModel->getDevImgsById($devId);
if(count($devInfo) != 0){
$firstCategory = $devManageModel->getAllFirstCategory();
$firstCategoryId = $devInfo[0]["first_category_id"];
$secondCategory = $devManageModel->getSecondCategoryByFirstCategoryId($firstCategoryId);
}
$orgManageModel = new \App\Models\OrgManageModel();
$orgSections = $orgManageModel->getAllOrgSection();
if(count($devInfo) == 0){
$devInfo[0] = array();
}
......@@ -82,6 +89,12 @@ class DevManage extends BaseController
$data["userInfo"] = $userInfo[0];
$data["devInfo"] = $devInfo[0];
$data["devImg"] = $devImg;
$data["orgSections"] = $orgSections;
if(count($devInfo[0]) != 0){
$data["category"] = array();
$data["category"]["firstCategory"] = $firstCategory;
$data["category"]["secondCategory"] = $secondCategory;
}
$data["notification"] = [];
//TODO 小红点的逻辑需要加上
}else{
......@@ -104,7 +117,7 @@ class DevManage extends BaseController
}else{
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($username);
if($userInfo[0]["token"] == $token){
if($userInfo[0]["token"] == $token){
$data["userInfo"] = $userInfo[0];
$data["notification"] = [];
//TODO 小红点的逻辑需要加上
......@@ -127,13 +140,34 @@ class DevManage extends BaseController
$data = array();
$username = $this->request->getGet("username");
$token = $this->request->getGet("token");
$page = (int)$this->request->getGet("page");
if($page == 0){
$page = 1;
}
$perPage = (int)$this->request->getGet("perPage");
if($perPage == 0){
$perPage = 20;
}
$item = array();
$item["page"] = $page;
$item["perPage"] = $perPage;
if($username == "" || $token == ""){
$data["userInfo"] = [];
}else{
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($username);
if($userInfo[0]["token"] == $token){
$devManageModel = new \App\Models\DevManageModel();
$borrowInfo = $devManageModel->getBorrowInfoByPage($item);
$totalNums = $devManageModel->getTatalBorrowNum()[0]["total"];
if($userInfo[0]["token"] == $token){
$data["userInfo"] = $userInfo[0];
$data["borrowInfo"] = $borrowInfo;
$data["pageInfo"]["page"] = $page;
$data["pageInfo"]["perPage"] = $perPage;
$data["pageInfo"]["total"] = $totalNums;
$data["notification"] = [];
//TODO 小红点的逻辑需要加上
}else{
......@@ -141,10 +175,6 @@ class DevManage extends BaseController
}
}
$data["uri"] = getUriInfo($this->request);
$data["category"] = array();
$devManageModel = new \App\Models\DevManageModel();
$data["category"]["firstCategory"] = $devManageModel->getAllFirstCategory();
$data["category"]["secondCategory"] = $devManageModel->getSecondCategoryByFirstCategoryId();
return view('devManage/borrow_check',$data);
}
......
This diff is collapsed.
......@@ -18,6 +18,10 @@ class Home extends BaseController
}else{
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($username);
if(count($userInfo) == 0){
$userInfo = array();
$userInfo[0]["token"] = null;
}
if($userInfo[0]["token"] == $token){
$data["userInfo"] = $userInfo[0];
$data["notification"] = [];
......@@ -53,8 +57,22 @@ class Home extends BaseController
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($username);
if($username == "" || $token == "" || $userInfo[0]["token"] == $token){
if(count($userInfo) == 0){
$userInfo = array();
$userInfo[0]["token"] = null;
}
if($username == "" || $token == "" || $userInfo[0]["token"] != $token){
$data["userInfo"] = [];
$devManageModel = new \App\Models\DevManageModel();
$devices = $devManageModel->getDevicesAllInfoByPage($item);
$totalNums = $devManageModel->getTatalDeviceNum()[0]["total"];
$data["devices"] = $devices;
$data["pageInfo"] = array();
$data["pageInfo"]["page"] = $page;
$data["pageInfo"]["perPage"] = $perPage;
$data["pageInfo"]["total"] = $totalNums;
$data["notification"] = [];
}else{
$devManageModel = new \App\Models\DevManageModel();
$devices = $devManageModel->getDevicesAllInfoByPage($item);
......@@ -66,10 +84,10 @@ class Home extends BaseController
$data["pageInfo"]["page"] = $page;
$data["pageInfo"]["perPage"] = $perPage;
$data["pageInfo"]["total"] = $totalNums;
$data["notification"] = [];
$data["uri"] = getUriInfo($this->request);
$data["notification"] = [];
//TODO 小红点的逻辑需要加上
}
$data["uri"] = getUriInfo($this->request);
return view('home/show_devs',$data);
}
......@@ -85,18 +103,58 @@ class Home extends BaseController
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($username);
if($username == "" || $token == "" || $userInfo[0]["token"] == $token){
if(count($userInfo) == 0){
$userInfo = array();
$userInfo[0]["token"] = null;
}
if($username == "" || $token == "" || $userInfo[0]["token"] != $token){
$data["userInfo"] = [];
}else{
$devManageModel = new \App\Models\DevManageModel();
$devInfo = $devManageModel->getDeviceInfoById($devId);
$devImg = $devManageModel->getDevImgsById($devId);
if(count($devInfo) != 0){
$firstCategory = $devManageModel->getAllFirstCategory();
$firstCategoryId = $devInfo[0]["first_category_id"];
$secondCategory = $devManageModel->getSecondCategoryByFirstCategoryId($firstCategoryId);
}
$orgManageModel = new \App\Models\OrgManageModel();
$orgSections = $orgManageModel->getAllOrgSection();
if(count($devInfo) == 0){
$devInfo[0] = array();
$devInfo[0] = array();
}
$data["devInfo"] = $devInfo[0];
$data["devImg"] = $devImg;
$data["orgSections"] = $orgSections;
if(count($devInfo[0]) != 0){
$data["category"] = array();
$data["category"]["firstCategory"] = $firstCategory;
$data["category"]["secondCategory"] = $secondCategory;
}
$data["notification"] = [];
}else{
$devManageModel = new \App\Models\DevManageModel();
$devInfo = $devManageModel->getDeviceInfoById($devId);
$devImg = $devManageModel->getDevImgsById($devId);
$data["userInfo"] = $userInfo[0];
if(count($devInfo) != 0){
$firstCategory = $devManageModel->getAllFirstCategory();
$firstCategoryId = $devInfo[0]["first_category_id"];
$secondCategory = $devManageModel->getSecondCategoryByFirstCategoryId($firstCategoryId);
}
$orgManageModel = new \App\Models\OrgManageModel();
$orgSections = $orgManageModel->getAllOrgSection();
if(count($devInfo) == 0){
$devInfo[0] = array();
}
$data["devInfo"] = $devInfo[0];
$data["devImg"] = $devImg;
$data["orgSections"] = $orgSections;
if(count($devInfo[0]) != 0){
$data["category"] = array();
$data["category"]["firstCategory"] = $firstCategory;
$data["category"]["secondCategory"] = $secondCategory;
}
$data["notification"] = [];
//TODO 小红点的逻辑需要加上
......@@ -104,6 +162,39 @@ class Home extends BaseController
$data["uri"] = getUriInfo($this->request);
return view('home/show_dev_detail',$data);
}
/*********************************************
* 进入个人主页
*********************************************/
public function profilePage()
{
$data = array();
$username = $this->request->getGet("username");
$token = $this->request->getGet("token");
if($username == "" || $token == ""){
$data["userInfo"] = [];
}else{
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($username);
if(count($userInfo) == 0){
$userInfo = array();
$userInfo[0]["token"] = null;
}
$orgManageModel = new \App\Models\OrgManageModel();
$orgSections = $orgManageModel->getAllOrgSection();
if($userInfo[0]["token"] == $token){
$data["userInfo"] = $userInfo[0];
$data["orgSections"] = $orgSections;
$data["notification"] = [];
//TODO 小红点的逻辑需要加上
}else{
$data["userInfo"] = [];
}
}
$data["uri"] = getUriInfo($this->request);
return view('home/profile',$data);
}
}
......
......@@ -92,4 +92,68 @@ class UserManageCtr extends BaseController
echo $result;
}
/****************************************************
* 修改个人信息
/****************************************************/
public function modifyUserInfo(){
$result = array();
$param = $this->request->getJSON();
$timest = time();
$curTime = date("Y-m-d H:i:s", $timest);
$item = array();
$item["id"] = $param->userId;
$item["username"] = $param->username;
$item["nick"] = $param->nick;
$item["password"] = $param->password;
if($param->password == ""){
$result["status"] = COMMON_FAIL;
$message = "密码不能为空!";
$result["message"] = $message;
echo $result;
return;
}
$item["status"] = 0;
$item["role"] = $param->role;
$item["org_section_id"] = $param->org_section_id;
$item["update_time"] = $curTime;
try{
$userManageModel = new \App\Models\UserManageModel();
$userManageModel->updateUserInfo($item);
$result["status"] = SUCESS;
$result["message"] = "更新用户成功!";
}catch (Exception $e){
$result["status"] = COMMON_FAIL;
$message = $e->getMessage();
$result["message"] = $message;
}
$this->response->setHeader('Content-Type', 'application/json')
->setHeader('charset', 'utf-8');
$result = json_encode($result);
echo $result;
}
/****************************************************
* 通过用户名,模糊查找用户
/****************************************************/
function searchUsersByUsername(){
$result = array();
$param = $this->request->getJSON();
$username = $param->username;
$item = array();
$item["username"] = $username;
try{
$userManageModel = new \App\Models\UserManageModel();
$users = $userManageModel->selectUsersByUserName($item);
$result["status"] = SUCESS;
$result["users"] = $users;
}catch (Exception $e){
$result["status"] = COMMON_FAIL;
$message = $e->getMessage();
$result["message"] = $message;
}
$this->response->setHeader('Content-Type', 'application/json')
->setHeader('charset', 'utf-8');
$result = json_encode($result);
echo $result;
}
}
\ No newline at end of file
<?php namespace App\Filters;
helper('statusCode');
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Filters\FilterInterface;
use Config\Services;
/*********************************************
* 针对接口访问的过滤器
......@@ -11,7 +13,23 @@ class LoginFilter implements FilterInterface
{
public function before(RequestInterface $request)
{
$result = array();
$param = $request->getJSON();
$loginName = $param->loginName;
$token = $param->token;
if($loginName == "" || $token == ""){
$result["status"] = COMMON_FAIL;
$result["message"] = "未登录,不可进行该操作!";
return Services::response()->setBody(json_encode($result));
}else{
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($loginName);
if($userInfo[0]["token"] != $token){
$result["status"] = COMMON_FAIL;
$result["message"] = "未登录,不可进行该操作!";
return Services::response()->setBody(json_encode($result));
}
}
}
//--------------------------------------------------------------------
......
......@@ -20,6 +20,9 @@ class LoginPageFilter implements FilterInterface
}else{
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($username);
if(count($userInfo) == 0){
return redirect("sign");
}
if($userInfo[0]["token"] != $token){
return redirect("sign");
}
......
<?php namespace App\Filters;
helper('statusCode');
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\Filters\FilterInterface;
use Config\Services;
/*********************************************
* 针对权限接口访问的过滤器
* 针对普通用户的权限限制过滤器
*********************************************/
class RightsFilter implements FilterInterface
class RightsCommonUserFilter implements FilterInterface
{
public function before(RequestInterface $request)
{
$result = array();
$param = $request->getJSON();
$loginName = $param->loginName;
$token = $param->token;
if($loginName == "" || $token == ""){
$result["status"] = COMMON_FAIL;
$result["message"] = "未登录,不可进行该操作!";
return Services::response()->setBody(json_encode($result));
}else{
$signModel = new \App\Models\SignModel();
$userInfo = $signModel->getItemByUsername($loginName);
if($userInfo[0]["token"] != $token){
$result["status"] = COMMON_FAIL;
$result["message"] = "未登录,不可进行该操作!";
return Services::response()->setBody(json_encode($result));
}
if($userInfo[0]["role"] == 2){
$result["status"] = COMMON_FAIL;
$result["message"] = "普通用户无权限进行该操作!";
return Services::response()->setBody(json_encode($result));
}
}
}
//--------------------------------------------------------------------
......
This diff is collapsed.
......@@ -93,6 +93,15 @@ class UserManageModel extends Model
$sql = "delete from users where id=".$id;
$this->db->query($sql);
}
/****************************************************
* 通过用户名搜索用户
/****************************************************/
public function selectUsersByUserName($data){
$sql = 'select * from users where nick like "%'.$data["username"].'%"';
$obj = $this->db->query($sql);
$result = $obj->getResultArray();
return $result;
}
/////////////////////////////////////////////////// 权限管理区域(目前没有权限表) ////////////////////////////////////////////////////////////////
/****************************************************
......
<?php $data = $this->data; ?>
<?php $pager = \Config\Services::pager(); ?>
<?= view("header.php",$data); ?>
<?= view("devManage/aside.php",$data); ?>
<div class="span9" id="content" style="width:100%;">
......@@ -13,32 +16,46 @@
<thead>
<tr>
<th>#</th>
<th>昵称</th>
<th>用户名</th>
<th>角色</th>
<th>部门</th>
<th>设备名</th>
<th>设备编号</th>
<th>借阅者</th>
<th>借阅原因</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<?php //for($i = 0;$i < count($data["users"]);$i++){ ?>
<tr>
<td>1</td>
<td>啊啊啊</td>
<td>不不不</td>
<td>擦擦擦</td>
<td>对对对</td>
<?php for($i = 0;$i < count($data["borrowInfo"]);$i++){ ?>
<tr borrow_id='<?= $data["borrowInfo"][$i]["id"] ?>' dev_id='<?= $data["borrowInfo"][$i]["dev_id"] ?>'>
<td><?= $i + 1 ?></td>
<td><?= $data["borrowInfo"][$i]["dev_name"] ?></td>
<td><?= $data["borrowInfo"][$i]["dev_code"] ?></td>
<td><?= $data["borrowInfo"][$i]["borrower"] ?></td>
<td><?= $data["borrowInfo"][$i]["comment"] ?></td>
<td>
<button class="btn btn-primary btn-mini" href="#editUserWindow" data-toggle="modal" onclick="showEditUserWindow(this)">编辑</button>
<button class="btn btn-danger btn-mini" onclick="delUser(this)">删除</button>
<button class="btn btn-success btn-mini" href="#editUserWindow" data-toggle="modal" onclick="acceptBorrow(this)">同意</button>
<button class="btn btn-danger btn-mini" onclick="refuseBorrow(this)">拒绝</button>
</td>
</tr>
<?php //} ?>
<?php } ?>
</tbody>
</table>
</div>
</div>
<!-- 分页区域 -->
<div class="pagination" style="text-align:right;padding-right:30px;height:50px;">
<div>
<div style="display:inline;">
<select id="per_page" size="1" style="width:100px;margin:0px;float:right;height:30px;margin-left:5px;" onchange="perPageChange()">
<option value="10" <?php if($data["pageInfo"]["perPage"] == 15){ echo 'selected="selected"';}?>>10 条/页</option>
<option value="20" <?php if($data["pageInfo"]["perPage"] == 20){ echo 'selected="selected"';}?>>20 条/页</option>
<option value="50" <?php if($data["pageInfo"]["perPage"] == 50){ echo 'selected="selected"';}?>>50 条/页</option>
<option value="100" <?php if($data["pageInfo"]["perPage"] == 100){ echo 'selected="selected"';}?>>100 条/页</option>
</select>
</div>
<?= $pager->makeLinks($data["pageInfo"]["page"], $data["pageInfo"]["perPage"],$data["pageInfo"]["total"]) ?>
</div>
</div>
</div>
<!-- /block -->
</div>
......@@ -46,4 +63,123 @@
</div>
</div>
<?= view("footer.php",$data); ?>
<style>
.pagination {
margin: 0px 0px;
}
</style>
<script>
/*****************************************************
* 改变页码后,刷新页面
*****************************************************/
function perPageChange(){
var perPage = $("#per_page").val();
var host = window.location.host;
var oriParam = window.location.search;
var paramStr = oriParam.substring(1);
paramArr = paramStr.split("&");
param = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
for(var i = 0;i < paramArr.length;i++){
keyVal = paramArr[i].split("=");
param[keyVal[0]] = keyVal[1];
}
var url = window.location.href.split("?")[0];
delete param["perPage"];
for(var key in param){
if(url.indexOf("?") !== -1){
url = url + "&" + key + "=" + param[key];
}else{
url = url + "?" + key + "=" + param[key];
}
}
if(url.indexOf("&") !== -1){
url = url + "&perPage=" + perPage;
}else{
url = url + "?perPage=" + perPage;
}
window.location.href = url;
}
/*****************************************************
* 拒绝签借
*****************************************************/
function refuseBorrow(e){
var borrowId = $(e).parent().parent().attr("borrow_id");
var host = window.location.host;
var url = "http://" + host + "/devManageCtr/refuseBorrow"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["borrowId"] = borrowId;
$.ajax({
url: url,
data: JSON.stringify(postData),
type: "DELETE",
dataType: "json",
contentType:"application/json",
success: function(data) {
if(data.status == "200"){
location.reload();
}else{
}
}
});
}
/*****************************************************
* 通过签借
*****************************************************/
function acceptBorrow(e){
var borrowId = $(e).parent().parent().attr("borrow_id");
var devId = $(e).parent().parent().attr("dev_id");
var host = window.location.host;
var url = "http://" + host + "/devManageCtr/acceptBorrow"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["borrowId"] = borrowId;
postData["devId"] = devId;
$.ajax({
url: url,
data: JSON.stringify(postData),
type: "DELETE",
dataType: "json",
contentType:"application/json",
success: function(data) {
if(data.status == "200"){
location.reload();
}else{
}
}
});
}
</script>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -35,7 +35,7 @@
</a>
<ul class="dropdown-menu">
<li>
<a tabindex="-1" href="#">个人主页</a>
<a tabindex="-1" href="#" onclick="gotoProfile()">个人主页</a>
</li>
<li class="divider"></li>
<li>
......@@ -55,7 +55,7 @@
<ul class="nav">
<li class="active" style="padding:6px 0px;margin-top:4px;background:lightgray;border-radius:8px;">
<i class="hide-sidebar" style="padding:10px 20px;display:none;"><a class="icon-chevron-left" href='#' title="Hide Sidebar" rel='tooltip'>&nbsp;</a></i>
<i class="show-sidebar" style="display:none;padding:10px 20px;display:inline;"><a class="icon-chevron-right" href='#' title="Show Sidebar" rel='tooltip'>&nbsp;</a></i>
<i class="show-sidebar" style="padding:10px 20px;display:inline;"><a class="icon-chevron-right" href='#' title="Show Sidebar" rel='tooltip'>&nbsp;</a></i>
</li>
<li class="dropdown" style="margin-left:10px;">
<a href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">功能 <i class="caret"></i>
......@@ -65,19 +65,23 @@
<li onclick="funcSwich(this)" id="switch_home" <?php if($data["uri"]["seg"][0] == "/" || $data["uri"]["seg"][0] == "home"){echo "class='active'";} ?>>
<a tabindex="-1" href="#">首页</a>
</li>
<li onclick="funcSwich(this)" id="switch_devman" <?php if($data["uri"]["seg"][0] == "devManage"){echo "class='active'";} ?> >
<a tabindex="-1" href="#">设备管理</a>
</li>
<li onclick="funcSwich(this)" id="switch_userman" <?php if($data["uri"]["seg"][0] == "userManage"){echo "class='active'";} ?>>
<a tabindex="-1" href="#">用户管理</a>
</li>
<li onclick="funcSwich(this)" id="switch_orgman" <?php if($data["uri"]["seg"][0] == "orgManage"){echo "class='active'";} ?>>
<a tabindex="-1" href="#">组织管理</a>
</li>
<li class="divider"></li>
<li onclick="funcSwich(this)" id="switch_sysman" <?php if($data["uri"]["seg"][0] == "sysManage"){echo "class='active'";} ?>>
<a tabindex="-1" href="#">系统设置</a>
</li>
<?php if($data["userInfo"] != []){ ?>
<?php if($data["userInfo"]["role"] != 2){ ?>
<li onclick="funcSwich(this)" id="switch_devman" <?php if($data["uri"]["seg"][0] == "devManage"){echo "class='active'";} ?> >
<a tabindex="-1" href="#">设备管理</a>
</li>
<li onclick="funcSwich(this)" id="switch_userman" <?php if($data["uri"]["seg"][0] == "userManage"){echo "class='active'";} ?>>
<a tabindex="-1" href="#">用户管理</a>
</li>
<li onclick="funcSwich(this)" id="switch_orgman" <?php if($data["uri"]["seg"][0] == "orgManage"){echo "class='active'";} ?>>
<a tabindex="-1" href="#">组织管理</a>
</li>
<li class="divider"></li>
<li onclick="funcSwich(this)" id="switch_sysman" <?php if($data["uri"]["seg"][0] == "sysManage"){echo "class='active'";} ?>>
<a tabindex="-1" href="#">系统设置</a>
</li>
<?php } ?>
<?php } ?>
</ul>
</li>
</ul>
......@@ -157,6 +161,22 @@ function gotoHome(){
window.location.href = "http://" + host + "?username=" + username + "&token=" + token ;
}
/* *************************************
* 进入个人主页
************************************** */
function gotoProfile(){
var host = window.location.host;
var username = $.cookie('username');
var token = $.cookie('token');
if(username == undefined){
username = "";
}
if(token == undefined){
token = "";
}
window.location.href = "http://" + host + "/home/profilePage?username=" + username + "&token=" + token ;
}
function alertMes(){
alert("你有10新消息!");
......
......@@ -12,6 +12,9 @@
<li <?php if($data["uri"]["seg"][1] == "showDevDetail"){echo "class='active'";} ?> onclick="leftSwich(this)" id="left_show_dev_detail">
<a><i class="icon-chevron-right"></i> 设备详情</a>
</li>
<li <?php if($data["uri"]["seg"][1] == "profilePage"){echo "class='active'";} ?> onclick="leftSwich(this)" id="left_profile">
<a><i class="icon-chevron-right"></i> 个人主页</a>
</li>
</ul>
</div>
</div>
......@@ -39,6 +42,8 @@
window.location.href = "http://" + host + "/home/showDevs" + "?username=" + username + "&token=" + token;
}else if(id == "left_show_dev_detail"){
window.location.href = "http://" + host + "/home/showDevDetail" + "?username=" + username + "&token=" + token;
}else if(id == "left_profile"){
window.location.href = "http://" + host + "/home/profilePage" + "?username=" + username + "&token=" + token;
}
}
......
<?php $data = $this->data; ?>
<?= view("header.php",$data); ?>
<?= view("home/aside.php",$data); ?>
<div class="span9" id="content" style="width:100%;">
<div style="width:100%;min-height:700px;">
<?php if(count($data["userInfo"]) == 0){ ?>
<div style="width:500px;height:100px;padding-top:150px;margin:auto;">
<h1 style="width:100%;text-align:center;">我只是个过客</h1>
<a href="<?= base_url().'/'; ?>sign/loginPage" style="margin:auto;display:block;width:100%;text-align:center;font-size:20px;text-decoration:underline;"> 我要去登录... </a>
</div>
<?php }else{ ?>
<div style="width:800px;min-height:500px;_background:pink;margin:auto;text-align:center;padding-top:100px;">
<div style="border-style: solid;border-width: 1px;border-color: #cccccc;padding: 10px;box-shadow: 0px 0px 5px #cccccc inset;border-radius: 5px;">
<h1 style="width:100%;text-align:center;">我的信息</h1>
<table>
<tr>
<td>
<label>用户id:</label>
<input disabled class="input-xlarge focused" id="user_id" type="text" value="<?= $data["userInfo"]["id"] ?>" style="display:inline;margin: 0px;width:300px;">
</td>
<td>
<label>用户名:</label>
<input disabled class="input-xlarge focused" id="user_name" type="text" value="<?= $data["userInfo"]["username"] ?>" style="display:inline;margin: 0px;width:300px;">
</td>
</tr>
<tr>
<td>
<label>昵称:</label>
<input disabled class="input-xlarge focused" id="user_nick" type="text" value="<?= $data["userInfo"]["nick"] ?>" style="display:inline;margin: 0px;width:300px;">
</td>
<td>
<label>密码:</label>
<input disabled class="input-xlarge focused" id="user_password" type="text" value="" style="display:inline;margin: 0px;width:300px;">
</td>
</tr>
<tr>
<td>
<label>角色:</label>
<select disabled id="user_role" style="display:inline;margin: 0px;width:314px;height:32px;">
<option value='0' <?php if($data["userInfo"]["role"] == 0){echo 'selected=selected';} ?>>超级管理员</option>
<option value='1' <?php if($data["userInfo"]["role"] == 1){echo 'selected=selected';} ?>>管理员</option>
<option value='2' <?php if($data["userInfo"]["role"] == 2){echo 'selected=selected';} ?>>普通用户</option>
</select>
</td>
<td>
<label>部门:</label>
<select disabled id="user_org_section" style="display:inline;margin: 0px;width:314px;height:32px;">
<?php for($i = 0;$i < count($data["orgSections"]);$i++){ ?>
<option <?php if($data["orgSections"][$i]["id"] == $data["userInfo"]["org_section_id"]){echo 'selected=selected';} ?> value='<?= $data["orgSections"][$i]["id"]?>'><?= $data["orgSections"][$i]["org_section_name"]?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td><button data-dismiss="modal" class="btn btn-primary" style="width:50%;" onclick="modifyProfileInfo(this)">修改信息</button></td>
<td><button data-dismiss="modal" class="btn btn-primary" style="width:50%;" onclick="submitProfileInfo()">提交信息</button></td>
</tr>
</table>
</div>
</div>
<?php } ?>
</div>
</div>
<?= view("footer.php",$data); ?>
<style>
label {
display: inline-block !important;
width: 65px !important;
text-align: right;
}
td label,input,select,button {
margin: 10px 0px;
}
</style>
<script>
/*****************************************************
* 点击修改个人信息
*****************************************************/
var infoModify = 0; //是否处于修改信息状态
function modifyProfileInfo(e){
if(infoModify == 0){
$("#user_name").removeAttr("disabled");
$("#user_nick").removeAttr("disabled");
$("#user_password").removeAttr("disabled");
$("#user_role").removeAttr("disabled");
$("#user_org_section").removeAttr("disabled");
$(e).text("取消修改");
infoModify = 1;
}else if(infoModify == 1){
$("#user_name").attr("disabled","disabled");
$("#user_nick").attr("disabled","disabled");
$("#user_password").attr("disabled","disabled");
$("#user_role").attr("disabled","disabled");
$("#user_org_section").attr("disabled","disabled");
$(e).text("修改信息");
infoModify = 0;
}
}
/*****************************************************
* 提交个人信息
*****************************************************/
function submitProfileInfo(){
if(infoModify == 0){
alert("请点击修改信息!");
}else{
var userId = $("#user_id").val();
var username = $("#user_name").val();
var nick = $("#user_nick").val();
var password = $("#user_password").val()
if(password == ""){
alert("密码不能为空!");
return;
}
password = md5(password);
var role = $("#user_role").val()
var org_section_id = $("#user_org_section").val();
var host = window.location.host;
var url = "http://" + host + "/userManageCtr/modifyUserInfo"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["userId"] = userId;
postData["username"] = username;
postData["nick"] = nick;
postData["password"] = password;
postData["role"] = role;
postData["org_section_id"] = org_section_id;
var isSure = confirm("确认修改信息?");
if(isSure == true){
$.ajax({
url: url,
data: JSON.stringify(postData),
type: "DELETE",
dataType: "json",
contentType:"application/json",
success: function(data) {
if(data.status == "200"){
location.reload();
}else{
alert(data.message);
}
}
});
}
}
}
</script>
This diff is collapsed.
<?php $data = $this->data; ?>
<?php $pager = \Config\Services::pager(); ?>
<?= view("header.php",$data); ?>
<?= view("home/aside.php",$data); ?>
<div class="span9" id="content" style="width:100%;">
......@@ -21,6 +19,7 @@
<tr>
<th>#</th>
<th>设备名</th>
<th>设备id</th>
<th>设备编号</th>
<th>品牌</th>
<th>型号</th>
......@@ -36,13 +35,18 @@
<tr dev_id='<?= $data["devices"][$i]["id"] ?>'>
<td><?= $i +1 ?></td>
<td><?= $data["devices"][$i]["dev_name"] ?></td>
<td><?= $data["devices"][$i]["id"] ?></td>
<td><?= $data["devices"][$i]["dev_code"] ?></td>
<td><?= $data["devices"][$i]["dev_brand"] ?></td>
<td><?= $data["devices"][$i]["dev_model"] ?></td>
<td><?= $data["devices"][$i]["dev_system"] ?></td>
<td first_category_id="<?= $data["devices"][$i]["first_category_id"] ?>"><?= $data["devices"][$i]["category_name"] ?></td>
<td><?= $data["devices"][$i]["org_section_name"] ?></td>
<td><span style="padding:4px;" class="label label-success" title="系统用户">签借人</span></td>
<?php if($data["devices"][$i]["borrow_status"] != 2){ ?>
<td></td>
<?php }else{ ?>
<td><span style="padding:4px;" class="label label-success" title="系统用户"><?= $data["devices"][$i]["borrower"] ?></span></td>
<?php } ?>
<td>
<button class="btn btn-primary btn-mini" onclick="gotoShowDevDetail(this)">详情</button>
<?php if($data["devices"][$i]["borrow_status"] != 2){ ?>
......@@ -55,7 +59,7 @@
</table>
</div>
</div>
<div class="pagination" style="text-align:right;padding-right:30px;">
<div class="pagination" style="text-align:right;padding-right:30px;height:50px;">
<div>
<div style="display:inline;">
<select id="per_page" size="1" style="width:100px;margin:0px;float:right;height:30px;margin-left:5px;" onchange="perPageChange()">
......@@ -115,6 +119,7 @@
<?php } ?>
</div>
</div>
<?= view("footer.php",$data); ?>
<style>
.modal-body table tr td label,input,select {
......@@ -197,13 +202,23 @@ function sendBorrow(e){
var devId = $(e).attr("devId");
var comment = $("#borrow_comment").val();
if(userId == 0){
var borrower = $(e).attr("user_name");
var borrower = $("#user_name").val();
}else{
var borrower = $(e).attr("user_name");
}
var host = window.location.host;
var url = "http://" + host + "/devManageCtr/addDevBorrowInfo"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["userId"] = userId;
postData["devId"] = devId;
postData["comment"] = comment;
......@@ -216,7 +231,8 @@ function sendBorrow(e){
contentType:"application/json",
success: function(data) {
if(data.status == "200"){
location.reload();
alert(data.message);
// location.reload();
}else{
alert(data.message);
}
......
......@@ -102,6 +102,16 @@ function addOrgSection(){
var host = window.location.host;
var url = "http://" + host + "/orgManageCtr/addOrgSection"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["org_section_name"] = org_section_name;
postData["org_section_detail"] = org_section_detail;
if(org_section_name == ""){
......@@ -117,7 +127,7 @@ function addOrgSection(){
if(data.status == "200"){
location.reload();
}else{
alert(data.message);
}
}
});
......@@ -132,6 +142,16 @@ function delOrgSection(e){
var host = window.location.host;
var url = "http://" + host + "/orgManageCtr/delOrgSection"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["org_section_id"] = orgSectionId;
var isSure = confirm("确定删除该部门?");
if(isSure == true){
......@@ -145,7 +165,7 @@ function delOrgSection(e){
if(data.status == "200"){
location.reload();
}else{
alert(data.message);
}
}
});
......@@ -175,6 +195,16 @@ function updateOrgSection(){
var host = window.location.host;
var url = "http://" + host + "/orgManageCtr/updateOrgSection"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["org_section_id"] = org_section_id;
postData["org_section_name"] = org_section_name;
postData["org_section_detail"] = org_section_detail;
......@@ -188,7 +218,7 @@ function updateOrgSection(){
if(data.status == "200"){
location.reload();
}else{
alert(data.message);
}
}
});
......
......@@ -17,7 +17,7 @@
<form class="form-signin">
<h2 class="form-signin-heading">请登录...</h2>
<input type="text" class="input-block-level" placeholder="用户名" id="username">
<input type="password" class="input-block-level" placeholder="密码" id="password">
<input type="password" class="input-block-level" placeholder="密码" id="password" onkeydown="loginKeyEnter(this,event)">
<button class="btn btn-large btn-primary" type="button" onclick="login()">登 录</button>
<a href="<?= base_url().'/'; ?>sign/registerPage" style="margin:12px;float:right;">没有账号,去注册?</a>
<a href="<?= base_url().'/'; ?>" style="margin:12px;float:right;">首页</a>
......@@ -60,6 +60,41 @@ function login(){
});
}
}
/* *************************************
* 登录
************************************** */
function loginKeyEnter(a,e){
var username = $("#username").val();
var password = $("#password").val();
password = md5(password);
if(e.keyCode == 13){
if(password == "" || username == ""){
alert("用户名或密码不能为空!");
}else{
var host = window.location.host;
var url = "http://" + host + "/signCtr/login"
var postData = {};
postData["username"] = username;
postData["password"] = password;
$.ajax({
url: url,
data: JSON.stringify(postData),
type: "POST",
dataType: "json",
contentType:"application/json",
success: function(data) {
if(data.status == "200"){
$.cookie('token', data.user.token, { expires: 7, path: '/' });
$.cookie('username', data.user.username, { expires: 7, path: '/' });
window.location.href = "http://" + host + "?username=" + data.user.username + "&token=" + data.user.token ;
}else{
alert(data.message);
}
}
});
}
}
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -47,7 +47,7 @@
</table>
</div>
</div>
<div class="pagination" style="text-align:right;padding-right:30px;">
<div class="pagination" style="text-align:right;padding-right:30px;height:50px;">
<div style="display:inline;">
<select id="per_page" size="1" style="width:100px;margin:0px;float:right;height:30px;margin-left:5px;" onchange="perPageChange()">
<option value="10" <?php if($data["pageInfo"]["perPage"] == 15){ echo 'selected="selected"';}?>>10 条/页</option>
......@@ -184,6 +184,16 @@ function delUser(e){
var host = window.location.host;
var url = "http://" + host + "/userManageCtr/delUser"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["userId"] = userId;
var isSure = confirm("确定删除该用户吗?");
if(isSure == true){
......@@ -197,7 +207,7 @@ function delUser(e){
if(data.status == "200"){
location.reload();
}else{
alert(data.message);
}
}
});
......@@ -218,6 +228,16 @@ function addUser(){
var host = window.location.host;
var url = "http://" + host + "/userManageCtr/addUser"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["username"] = username;
postData["nick"] = nick;
postData["password"] = password;
......@@ -234,7 +254,7 @@ function addUser(){
if(data.status == "200"){
location.reload();
}else{
alert(data.message);
}
}
});
......@@ -266,6 +286,16 @@ function showEditUserWindow(e){
var host = window.location.host;
var url = "http://" + host + "/orgManageCtr/getAllOrgSections"
postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
$.ajax({
url: url,
data: JSON.stringify(postData),
......@@ -309,6 +339,16 @@ function updateUserInfo(){
var host = window.location.host;
var url = "http://" + host + "/userManageCtr/editUser"
var postData = {};
var loginName = $.cookie('username');
var token = $.cookie('token');
if(loginName == undefined){
loginName = "";
}
if(token == undefined){
token = "";
}
postData["loginName"] = loginName;
postData["token"] = token;
postData["userId"] = userId;
postData["username"] = username;
postData["nick"] = nick;
......@@ -326,7 +366,7 @@ function updateUserInfo(){
if(data.status == "200"){
location.reload();
}else{
alert(data.message);
}
}
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment