reinit
19
.classpath
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="resource"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_231">
|
||||
<attributes>
|
||||
<attribute name="owner.project.facets" value="java"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v9.0">
|
||||
<attributes>
|
||||
<attribute name="owner.project.facets" value="jst.web"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
|
||||
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
|
||||
</classpath>
|
14
.editorconfig
Normal file
|
@ -0,0 +1,14 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
trim_trailing_whitespace = false
|
31
.project
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>DIMS</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
|
||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
12
.settings/.jsdtscope
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="WebContent"/>
|
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
|
||||
<attributes>
|
||||
<attribute name="hide" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
|
||||
<classpathentry kind="output" path=""/>
|
||||
</classpath>
|
6
.settings/org.eclipse.core.resources.prefs
Normal file
|
@ -0,0 +1,6 @@
|
|||
eclipse.preferences.version=1
|
||||
encoding//WebContent/WEB-INF/views/admin/storage-form.jsp=UTF-8
|
||||
encoding//WebContent/WEB-INF/views/login.jsp=UTF-8
|
||||
encoding//WebContent/WEB-INF/views/nurse/profile.jsp=UTF-8
|
||||
encoding//WebContent/WEB-INF/views/nurse/query-specific-rx.jsp=UTF-8
|
||||
encoding//WebContent/WEB-INF/views/nurse/welcome.jsp=UTF-8
|
7
.settings/org.eclipse.jdt.core.prefs
Normal file
|
@ -0,0 +1,7 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
9
.settings/org.eclipse.wst.common.component
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
<wb-module deploy-name="DIMS">
|
||||
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/resource"/>
|
||||
<property name="context-root" value="DIMS"/>
|
||||
<property name="java-output-path" value="/DIMS/WebContent/WEB-INF/classes"/>
|
||||
</wb-module>
|
||||
</project-modules>
|
10
.settings/org.eclipse.wst.common.project.facet.core.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<faceted-project>
|
||||
<runtime name="Apache Tomcat v9.0"/>
|
||||
<fixed facet="jst.web"/>
|
||||
<fixed facet="wst.jsdt.web"/>
|
||||
<fixed facet="java"/>
|
||||
<installed facet="java" version="1.8"/>
|
||||
<installed facet="jst.web" version="4.0"/>
|
||||
<installed facet="wst.jsdt.web" version="1.0"/>
|
||||
</faceted-project>
|
1
.settings/org.eclipse.wst.jsdt.ui.superType.container
Normal file
|
@ -0,0 +1 @@
|
|||
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
1
.settings/org.eclipse.wst.jsdt.ui.superType.name
Normal file
|
@ -0,0 +1 @@
|
|||
Window
|
BIN
Doc/screenshot_1.png
Normal file
After Width: | Height: | Size: 174 KiB |
BIN
Doc/screenshot_2.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
Doc/screenshot_3.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
Doc/screenshot_4.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
Doc/screenshot_5.png
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
Doc/screenshot_6.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
Doc/screenshot_7.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
Doc/概念结构设计_ER图.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
Doc/概念结构设计_ER图.vsdx
Normal file
BIN
Doc/详细设计_页面流程图_Admin.png
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
Doc/详细设计_页面流程图_Admin.vsdx
Normal file
BIN
Doc/详细设计_页面流程图_Doctor.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
Doc/详细设计_页面流程图_Doctor.vsdx
Normal file
BIN
Doc/详细设计_页面流程图_Nurse.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
Doc/详细设计_页面流程图_Nurse.vsdx
Normal file
BIN
Doc/详细设计_页面流程图_User.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
Doc/详细设计_页面流程图_User.vsdx
Normal file
BIN
Doc/逻辑结构设计_关系数据模型.png
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
Doc/逻辑结构设计_关系数据模型.vsdx
Normal file
BIN
Doc/逻辑结构设计_关系数据模型_优化.png
Normal file
After Width: | Height: | Size: 95 KiB |
BIN
Doc/逻辑结构设计_关系数据模型_优化.vsdx
Normal file
BIN
Doc/逻辑结构设计_用户子模式_DestroyedDrugView.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Doc/逻辑结构设计_用户子模式_DrugView.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
Doc/逻辑结构设计_用户子模式_InventoryDrugView.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Doc/需求分析_业务用例图.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
Doc/需求分析_业务用例图.vsdx
Normal file
3
WebContent/META-INF/MANIFEST.MF
Normal file
|
@ -0,0 +1,3 @@
|
|||
Manifest-Version: 1.0
|
||||
Class-Path:
|
||||
|
1
WebContent/WEB-INF/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/classes/
|
BIN
WebContent/WEB-INF/lib/asm-7.0.jar
Normal file
BIN
WebContent/WEB-INF/lib/aspectjweaver-1.9.4.jar
Normal file
BIN
WebContent/WEB-INF/lib/cglib-3.2.10.jar
Normal file
BIN
WebContent/WEB-INF/lib/commons-dbcp2-2.7.0.jar
Normal file
BIN
WebContent/WEB-INF/lib/commons-io-2.6.jar
Normal file
BIN
WebContent/WEB-INF/lib/commons-logging-1.2.jar
Normal file
BIN
WebContent/WEB-INF/lib/commons-pool2-2.7.0.jar
Normal file
BIN
WebContent/WEB-INF/lib/jackson-annotations-2.10.0.jar
Normal file
BIN
WebContent/WEB-INF/lib/jackson-core-2.10.0.jar
Normal file
BIN
WebContent/WEB-INF/lib/jackson-databind-2.10.0.jar
Normal file
BIN
WebContent/WEB-INF/lib/javassist-3.24.1-GA.jar
Normal file
BIN
WebContent/WEB-INF/lib/log4j-1.2.17.jar
Normal file
BIN
WebContent/WEB-INF/lib/mssql-jdbc-7.4.1.jre8.jar
Normal file
BIN
WebContent/WEB-INF/lib/mybatis-3.5.3.jar
Normal file
BIN
WebContent/WEB-INF/lib/mybatis-spring-2.0.3.jar
Normal file
BIN
WebContent/WEB-INF/lib/slf4j-api-1.7.26.jar
Normal file
BIN
WebContent/WEB-INF/lib/slf4j-log4j12-1.7.26.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-aop-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-aspects-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-beans-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-context-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-core-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-expression-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-jdbc-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-test-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-tx-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-web-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/spring-webmvc-5.2.1.RELEASE.jar
Normal file
BIN
WebContent/WEB-INF/lib/taglibs-standard-impl-1.2.5.jar
Normal file
BIN
WebContent/WEB-INF/lib/taglibs-standard-spec-1.2.5.jar
Normal file
859
WebContent/WEB-INF/views/admin/destroy-form.jsp
Normal file
|
@ -0,0 +1,859 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>销毁一个药品批次 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="销毁一个药品批次 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/chosen.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-timepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/daterangepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datetimepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-colorpicker.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="index.html" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">销毁一个药品批次</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
销毁一个药品批次
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
选择负责销毁的库存管理员、填写销毁日期和销毁时间
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-destroy-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 药品编号 (不可修改) </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="药品编号 (不可修改)" name="PDno" value="${pdbatch.PDno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-1"> 药品批次 (生产时间) (不可修改) </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="id-date-picker-1" type="text" readonly="readonly" placeholder="药品批次 (生产时间) (不可修改)" name="tempPDbatch" value="<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy 年 MM 月 dd 日"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-3"> 药品数量 (不可修改) </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="药品数量 (不可修改)" name="PDnum" value="${pdbatch.PDnum}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-4"> 药品供应商 (不可修改) </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-4" type="text" readonly="readonly" placeholder="药品供应商 (不可修改)" name="Sno" value="${pdbatch.sno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-5"> 入库库存管理员 (不可修改) </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-5" type="text" readonly="readonly" placeholder="入库库存管理员 (不可修改)" name="SAno" value="${pdbatch.SAno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-2"> 药品入库日期 (不可修改) </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="id-date-picker-2" type="text" readonly="readonly" placeholder="药品入库日期 (不可修改)" name="tempSdate" value="<fmt:formatDate value="${pdbatch.stime}" pattern="yyyy 年 MM 月 dd 日"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-7"> 药品入库时间 (不可修改) </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="form-field-7" type="text" readonly="readonly" placeholder="药品入库时间 (不可修改)" name="tempStime" value="<fmt:formatDate value="${pdbatch.stime}" pattern="HH:mm:ss"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-8"> 负责销毁的库存管理员 </label>
|
||||
<div class="col-sm-4">
|
||||
<select class="chosen-select form-control" id="form-field-8" data-placeholder="选择负责销毁的库存管理员..." name="DAno" required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${admins}" var="admin">
|
||||
<option value="${admin.ano}">${admin.aname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-2"> 药品销毁日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control date-picker" id="id-date-picker-2" type="text" placeholder="药品销毁日期" name="tempDdate" data-date-format="yyyy 年 mm 月 dd 日" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="timepicker1"> 药品销毁时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="timepicker1" type="text" placeholder="药品销毁时间" name="tempDtime" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
提交
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/chosen.jquery.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-timepicker.min.js"></script>
|
||||
<script src="../assets/js/moment.min.js"></script>
|
||||
<script src="../assets/js/daterangepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-colorpicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.knob.min.js"></script>
|
||||
<script src="../assets/js/autosize.min.js"></script>
|
||||
<script src="../assets/js/jquery.inputlimiter.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-tag.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('#id-disable-check').on('click', function() {
|
||||
var inp = $('#form-input-readonly').get(0);
|
||||
if(inp.hasAttribute('disabled')) {
|
||||
inp.setAttribute('readonly', 'true');
|
||||
inp.removeAttribute('disabled');
|
||||
inp.value="This text field is readonly!";
|
||||
}
|
||||
else {
|
||||
inp.setAttribute('disabled', 'disabled');
|
||||
inp.removeAttribute('readonly');
|
||||
inp.value="This text field is disabled!";
|
||||
}
|
||||
});
|
||||
if(!ace.vars['touch']) {
|
||||
$('.chosen-select').chosen({allow_single_deselect:true});
|
||||
//resize the chosen on window resize
|
||||
$(window)
|
||||
.off('resize.chosen')
|
||||
.on('resize.chosen', function() {
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
}).trigger('resize.chosen');
|
||||
//resize chosen on sidebar collapse/expand
|
||||
$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
|
||||
if(event_name != 'sidebar_collapsed') return;
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
});
|
||||
$('#chosen-multiple-style .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
|
||||
else $('#form-field-select-4').removeClass('tag-input-style');
|
||||
});
|
||||
}
|
||||
$('[data-rel=tooltip]').tooltip({container:'body'});
|
||||
$('[data-rel=popover]').popover({container:'body'});
|
||||
autosize($('textarea[class*=autosize]'));
|
||||
$('textarea.limited').inputlimiter({
|
||||
remText: '%n character%s remaining...',
|
||||
limitText: 'max allowed : %n.'
|
||||
});
|
||||
$.mask.definitions['~']='[+-]';
|
||||
$('.input-mask-date').mask('99/99/9999');
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('.input-mask-eyescript').mask('~9.99 ~9.99 999');
|
||||
$(".input-mask-product").mask("a*-999-a999",{placeholder:" ",completed:function(){alert("You typed the following: "+this.val());}});
|
||||
$( "#input-size-slider" ).css('width','200px').slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 8,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-4').attr('class', sizing[val]).attr('placeholder', '.'+sizing[val]);
|
||||
}
|
||||
});
|
||||
$( "#input-span-slider" ).slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 12,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-5').attr('class', 'col-xs-'+val).val('.col-xs-'+val);
|
||||
}
|
||||
});
|
||||
//"jQuery UI Slider"
|
||||
//range slider tooltip example
|
||||
$( "#slider-range" ).css('height','200px').slider({
|
||||
orientation: "vertical",
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 100,
|
||||
values: [ 17, 67 ],
|
||||
slide: function( event, ui ) {
|
||||
var val = ui.values[$(ui.handle).index()-1] + "";
|
||||
if( !ui.handle.firstChild ) {
|
||||
$("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")
|
||||
.prependTo(ui.handle);
|
||||
}
|
||||
$(ui.handle.firstChild).show().children().eq(1).text(val);
|
||||
}
|
||||
}).find('span.ui-slider-handle').on('blur', function(){
|
||||
$(this.firstChild).hide();
|
||||
});
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 1,
|
||||
max: 10,
|
||||
value: 2
|
||||
});
|
||||
$( "#slider-eq > span" ).css({width:'90%', 'float':'left', margin:'15px'}).each(function() {
|
||||
// read initial values from markup and remove that
|
||||
var value = parseInt( $( this ).text(), 10 );
|
||||
$( this ).empty().slider({
|
||||
value: value,
|
||||
range: "min",
|
||||
animate: true
|
||||
});
|
||||
});
|
||||
$("#slider-eq > span.ui-slider-purple").slider('disable');//disable third item
|
||||
$('#id-input-file-1, #id-input-file-2').ace_file_input({
|
||||
no_file:'No File ...',
|
||||
btn_choose:'Choose',
|
||||
btn_change:'Change',
|
||||
droppable:false,
|
||||
onchange:null,
|
||||
thumbnail:false //| true | large
|
||||
//whitelist:'gif|png|jpg|jpeg'
|
||||
//blacklist:'exe|php'
|
||||
//onchange:''
|
||||
//
|
||||
});
|
||||
//pre-show a file name, for example a previously selected file
|
||||
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
|
||||
$('#id-input-file-3').ace_file_input({
|
||||
style: 'well',
|
||||
btn_choose: 'Drop files here or click to choose',
|
||||
btn_change: null,
|
||||
no_icon: 'ace-icon fa fa-cloud-upload',
|
||||
droppable: true,
|
||||
thumbnail: 'small'//large | fit
|
||||
//,icon_remove:null//set null, to hide remove/reset button
|
||||
/**,before_change:function(files, dropped) {
|
||||
//Check an example below
|
||||
//or examples/file-upload.html
|
||||
return true;
|
||||
}*/
|
||||
/**,before_remove : function() {
|
||||
return true;
|
||||
}*/
|
||||
,
|
||||
preview_error : function(filename, error_code) {
|
||||
//name of the file that failed
|
||||
//error_code values
|
||||
//1 = 'FILE_LOAD_FAILED',
|
||||
//2 = 'IMAGE_LOAD_FAILED',
|
||||
//3 = 'THUMBNAIL_FAILED'
|
||||
//alert(error_code);
|
||||
}
|
||||
}).on('change', function(){
|
||||
//console.log($(this).data('ace_input_files'));
|
||||
//console.log($(this).data('ace_input_method'));
|
||||
});
|
||||
//$('#id-input-file-3')
|
||||
//.ace_file_input('show_file_list', [
|
||||
//{type: 'image', name: 'name of image', path: 'http://path/to/image/for/preview'},
|
||||
//{type: 'file', name: 'hello.txt'}
|
||||
//]);
|
||||
//dynamically change allowed formats by changing allowExt && allowMime function
|
||||
$('#id-file-format').removeAttr('checked').on('change', function() {
|
||||
var whitelist_ext, whitelist_mime;
|
||||
var btn_choose
|
||||
var no_icon
|
||||
if(this.checked) {
|
||||
btn_choose = "Drop images here or click to choose";
|
||||
no_icon = "ace-icon fa fa-picture-o";
|
||||
whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
|
||||
whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
|
||||
}
|
||||
else {
|
||||
btn_choose = "Drop files here or click to choose";
|
||||
no_icon = "ace-icon fa fa-cloud-upload";
|
||||
whitelist_ext = null;//all extensions are acceptable
|
||||
whitelist_mime = null;//all mimes are acceptable
|
||||
}
|
||||
var file_input = $('#id-input-file-3');
|
||||
file_input
|
||||
.ace_file_input('update_settings',
|
||||
{
|
||||
'btn_choose': btn_choose,
|
||||
'no_icon': no_icon,
|
||||
'allowExt': whitelist_ext,
|
||||
'allowMime': whitelist_mime
|
||||
})
|
||||
file_input.ace_file_input('reset_input');
|
||||
file_input
|
||||
.off('file.error.ace')
|
||||
.on('file.error.ace', function(e, info) {
|
||||
//console.log(info.file_count);//number of selected files
|
||||
//console.log(info.invalid_count);//number of invalid files
|
||||
//console.log(info.error_list);//a list of errors in the following format
|
||||
//info.error_count['ext']
|
||||
//info.error_count['mime']
|
||||
//info.error_count['size']
|
||||
//info.error_list['ext'] = [list of file names with invalid extension]
|
||||
//info.error_list['mime'] = [list of file names with invalid mimetype]
|
||||
//info.error_list['size'] = [list of file names with invalid size]
|
||||
/**
|
||||
if( !info.dropped ) {
|
||||
//perhapse reset file field if files have been selected, and there are invalid files among them
|
||||
//when files are dropped, only valid files will be added to our file array
|
||||
e.preventDefault();//it will rest input
|
||||
}
|
||||
*/
|
||||
//if files have been selected (not dropped), you can choose to reset input
|
||||
//because browser keeps all selected files anyway and this cannot be changed
|
||||
//we can only reset file field to become empty again
|
||||
//on any case you still should check files with your server side script
|
||||
//because any arbitrary file can be uploaded by user and it's not safe to rely on browser-side measures
|
||||
});
|
||||
/**
|
||||
file_input
|
||||
.off('file.preview.ace')
|
||||
.on('file.preview.ace', function(e, info) {
|
||||
console.log(info.file.width);
|
||||
console.log(info.file.height);
|
||||
e.preventDefault();//to prevent preview
|
||||
});
|
||||
*/
|
||||
});
|
||||
$('#spinner1').ace_spinner({value:0, min:0, max:10000, step:100, btn_up_class:'btn-info', btn_down_class:'btn-info'})
|
||||
.closest('.ace-spinner')
|
||||
.on('changed.fu.spinbox', function(){
|
||||
//console.log($('#spinner1').val())
|
||||
});
|
||||
$('#spinner2').ace_spinner({value:0, min:0, max:10000, step:100, touch_spinner: true, icon_up:'ace-icon fa fa-caret-up bigger-110', icon_down:'ace-icon fa fa-caret-down bigger-110'});
|
||||
$('#spinner3').ace_spinner({value:0, min:-100, max:100, step:10, on_sides: true, icon_up:'ace-icon fa fa-plus bigger-110', icon_down:'ace-icon fa fa-minus bigger-110', btn_up_class:'btn-success', btn_down_class:'btn-danger'});
|
||||
$('#spinner4').ace_spinner({value:0, min:-100, max:100, step:10, on_sides: true, icon_up:'ace-icon fa fa-plus', icon_down:'ace-icon fa fa-minus', btn_up_class:'btn-purple', btn_down_class:'btn-purple'});
|
||||
//$('#spinner1').ace_spinner('disable').ace_spinner('value', 11);
|
||||
//or
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('disable').spinner('enable').spinner('value', 11);//disable, enable or change value
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('value', 0);//reset to 0
|
||||
//datepicker plugin
|
||||
//link
|
||||
$('.date-picker').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true
|
||||
})
|
||||
//show datepicker when clicking on the icon
|
||||
.next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
//or change it into a date range picker
|
||||
$('.input-daterange').datepicker({autoclose:true});
|
||||
//to translate the daterange picker, please copy the "examples/daterange-fr.js" contents here before initialization
|
||||
$('input[name=date-range-picker]').daterangepicker({
|
||||
'applyClass' : 'btn-sm btn-success',
|
||||
'cancelClass' : 'btn-sm btn-default',
|
||||
locale: {
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
}
|
||||
})
|
||||
.prev().on(ace.click_event, function(){
|
||||
$(this).next().focus();
|
||||
});
|
||||
$('#timepicker1').timepicker({
|
||||
minuteStep: 1,
|
||||
showSeconds: true,
|
||||
showMeridian: false,
|
||||
disableFocus: true,
|
||||
icons: {
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down'
|
||||
}
|
||||
}).on('focus', function() {
|
||||
$('#timepicker1').timepicker('showWidget');
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
if(!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({
|
||||
//format: 'MM/DD/YYYY h:mm:ss A',//use this option to display seconds
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-arrows ',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-times'
|
||||
}
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
$('#colorpicker1').colorpicker();
|
||||
//$('.colorpicker').last().css('z-index', 2000);//if colorpicker is inside a modal, its z-index should be higher than modal'safe
|
||||
$('#simple-colorpicker-1').ace_colorpicker();
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', 2);//select 2nd color
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', '#fbe983');//select #fbe983 color
|
||||
//var picker = $('#simple-colorpicker-1').data('ace_colorpicker')
|
||||
//picker.pick('red', true);//insert the color if it doesn't exist
|
||||
$(".knob").knob();
|
||||
var tag_input = $('#form-field-tags');
|
||||
try{
|
||||
tag_input.tag(
|
||||
{
|
||||
placeholder:tag_input.attr('placeholder'),
|
||||
//enable typeahead by specifying the source array
|
||||
source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
|
||||
/**
|
||||
//or fetch data from database, fetch those that match "query"
|
||||
source: function(query, process) {
|
||||
$.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
|
||||
.done(function(result_items){
|
||||
process(result_items);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
||||
)
|
||||
//programmatically add/remove a tag
|
||||
var $tag_obj = $('#form-field-tags').data('tag');
|
||||
$tag_obj.add('Programmatically Added');
|
||||
var index = $tag_obj.inValues('some tag');
|
||||
$tag_obj.remove(index);
|
||||
}
|
||||
catch(e) {
|
||||
//display a textarea for old IE, because it doesn't support this plugin or another one I tried!
|
||||
tag_input.after('<textarea id="'+tag_input.attr('id')+'" name="'+tag_input.attr('name')+'" rows="3">'+tag_input.val()+'</textarea>').remove();
|
||||
//autosize($('#form-field-tags'));
|
||||
}
|
||||
/////////
|
||||
$('#modal-form input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Drop files here or click to choose',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-cloud-upload',
|
||||
droppable:true,
|
||||
thumbnail:'large'
|
||||
})
|
||||
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
|
||||
//and its width cannot be determined.
|
||||
//so we set the width after modal is show
|
||||
$('#modal-form').on('shown.bs.modal', function () {
|
||||
if(!ace.vars['touch']) {
|
||||
$(this).find('.chosen-container').each(function(){
|
||||
$(this).find('a:first-child').css('width', '210px');
|
||||
$(this).find('.chosen-drop').css('width', '210px');
|
||||
$(this).find('.chosen-search input').css('width', '200px');
|
||||
});
|
||||
}
|
||||
})
|
||||
/**
|
||||
//or you can activate the chosen plugin after modal is shown
|
||||
//this way select element becomes visible with dimensions and chosen works as expected
|
||||
$('#modal-form').on('shown', function () {
|
||||
$(this).find('.modal-chosen').chosen();
|
||||
})
|
||||
*/
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
autosize.destroy('textarea[class*=autosize]')
|
||||
$('.limiterBox,.autosizejs').remove();
|
||||
$('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
854
WebContent/WEB-INF/views/admin/profile.jsp
Normal file
|
@ -0,0 +1,854 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>个人信息页面 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="个人信息页面 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/jquery.gritter.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/select2.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-editable.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">个人信息页面</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>个人信息</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div>
|
||||
<div id="user-profile-3" class="user-profile row">
|
||||
<div class="col-sm-offset-1 col-sm-10">
|
||||
<div class="tabbable">
|
||||
<ul class="nav nav-tabs padding-16">
|
||||
<li class="active">
|
||||
<a data-toggle="tab" href="#edit-basic">
|
||||
<i class="green ace-icon fa fa-pencil-square-o bigger-125"></i>
|
||||
基本信息
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a data-toggle="tab" href="#edit-password">
|
||||
<i class="blue ace-icon fa fa-key bigger-125"></i>
|
||||
更改密码
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content profile-edit-tab-content">
|
||||
<div id="edit-basic" class="tab-pane in active">
|
||||
<div class="tabbable">
|
||||
<div class="tab-content no-border padding-24">
|
||||
<div id="home" class="tab-pane in active">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-3 center">
|
||||
<span class="profile-picture">
|
||||
<img class="editable img-responsive" id="avatar" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
</span>
|
||||
</div><!-- /.col -->
|
||||
<div class="col-xs-12 col-sm-9">
|
||||
<h4 class="blue">
|
||||
<span class="middle"> ${currentAdmin.aname}</span>
|
||||
<span class="label label-purple arrowed-in-right">
|
||||
<i class="ace-icon fa fa-circle smaller-80 align-middle"></i>
|
||||
库存管理员
|
||||
</span>
|
||||
</h4>
|
||||
<div class="profile-user-info">
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 编号 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentAdmin.ano}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 姓名 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentAdmin.aname}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 性别 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentAdmin.asex ? '男' : '女'}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 年龄 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentAdmin.aage}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /#home -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="edit-password" class="tab-pane">
|
||||
<form action="../admin/changeApwd" method="post" class="form-horizontal">
|
||||
<div class="space-20"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-pass1">新密码</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" name="Apwd1" required="required" id="form-field-pass1" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-4"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-pass2">确认密码</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" name="Apwd2" required="required" id="form-field-pass2" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
保存
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.user-profile -->
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/jquery.gritter.min.js"></script>
|
||||
<script src="../assets/js/bootbox.js"></script>
|
||||
<script src="../assets/js/jquery.easypiechart.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.hotkeys.index.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-wysiwyg.min.js"></script>
|
||||
<script src="../assets/js/select2.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-editable.min.js"></script>
|
||||
<script src="../assets/js/ace-editable.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//editables on first profile page
|
||||
$.fn.editable.defaults.mode = 'inline';
|
||||
$.fn.editableform.loading = "<div class='editableform-loading'><i class='ace-icon fa fa-spinner fa-spin fa-2x light-blue'></i></div>";
|
||||
$.fn.editableform.buttons = '<button type="submit" class="btn btn-info editable-submit"><i class="ace-icon fa fa-check"></i></button>'+
|
||||
'<button type="button" class="btn editable-cancel"><i class="ace-icon fa fa-times"></i></button>';
|
||||
//editables
|
||||
//text editable
|
||||
$('#username')
|
||||
.editable({
|
||||
type: 'text',
|
||||
name: 'username'
|
||||
});
|
||||
//select2 editable
|
||||
var countries = [];
|
||||
$.each({ "CA": "Canada", "IN": "India", "NL": "Netherlands", "TR": "Turkey", "US": "United States"}, function(k, v) {
|
||||
countries.push({id: k, text: v});
|
||||
});
|
||||
var cities = [];
|
||||
cities["CA"] = [];
|
||||
$.each(["Toronto", "Ottawa", "Calgary", "Vancouver"], function(k, v){
|
||||
cities["CA"].push({id: v, text: v});
|
||||
});
|
||||
cities["IN"] = [];
|
||||
$.each(["Delhi", "Mumbai", "Bangalore"], function(k, v){
|
||||
cities["IN"].push({id: v, text: v});
|
||||
});
|
||||
cities["NL"] = [];
|
||||
$.each(["Amsterdam", "Rotterdam", "The Hague"], function(k, v){
|
||||
cities["NL"].push({id: v, text: v});
|
||||
});
|
||||
cities["TR"] = [];
|
||||
$.each(["Ankara", "Istanbul", "Izmir"], function(k, v){
|
||||
cities["TR"].push({id: v, text: v});
|
||||
});
|
||||
cities["US"] = [];
|
||||
$.each(["New York", "Miami", "Los Angeles", "Chicago", "Wysconsin"], function(k, v){
|
||||
cities["US"].push({id: v, text: v});
|
||||
});
|
||||
var currentValue = "NL";
|
||||
$('#country').editable({
|
||||
type: 'select2',
|
||||
value : 'NL',
|
||||
//onblur:'ignore',
|
||||
source: countries,
|
||||
select2: {
|
||||
'width': 140
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
if(currentValue == newValue) return;
|
||||
currentValue = newValue;
|
||||
var new_source = (!newValue || newValue == "") ? [] : cities[newValue];
|
||||
//the destroy method is causing errors in x-editable v1.4.6+
|
||||
//it worked fine in v1.4.5
|
||||
/**
|
||||
$('#city').editable('destroy').editable({
|
||||
type: 'select2',
|
||||
source: new_source
|
||||
}).editable('setValue', null);
|
||||
*/
|
||||
//so we remove it altogether and create a new element
|
||||
var city = $('#city').removeAttr('id').get(0);
|
||||
$(city).clone().attr('id', 'city').text('Select City').editable({
|
||||
type: 'select2',
|
||||
value : null,
|
||||
//onblur:'ignore',
|
||||
source: new_source,
|
||||
select2: {
|
||||
'width': 140
|
||||
}
|
||||
}).insertAfter(city);//insert it after previous instance
|
||||
$(city).remove();//remove previous instance
|
||||
}
|
||||
});
|
||||
$('#city').editable({
|
||||
type: 'select2',
|
||||
value : 'Amsterdam',
|
||||
//onblur:'ignore',
|
||||
source: cities[currentValue],
|
||||
select2: {
|
||||
'width': 140
|
||||
}
|
||||
});
|
||||
//custom date editable
|
||||
$('#signup').editable({
|
||||
type: 'adate',
|
||||
date: {
|
||||
//datepicker plugin options
|
||||
format: 'yyyy/mm/dd',
|
||||
viewformat: 'yyyy/mm/dd',
|
||||
weekStart: 1
|
||||
//,nativeUI: true//if true and browser support input[type=date], native browser control will be used
|
||||
//,format: 'yyyy-mm-dd',
|
||||
//viewformat: 'yyyy-mm-dd'
|
||||
}
|
||||
})
|
||||
$('#age').editable({
|
||||
type: 'spinner',
|
||||
name : 'age',
|
||||
spinner : {
|
||||
min : 16,
|
||||
max : 99,
|
||||
step: 1,
|
||||
on_sides: true
|
||||
//,nativeUI: true//if true and browser support input[type=number], native browser control will be used
|
||||
}
|
||||
});
|
||||
$('#login').editable({
|
||||
type: 'slider',
|
||||
name : 'login',
|
||||
slider : {
|
||||
min : 1,
|
||||
max: 50,
|
||||
width: 100
|
||||
//,nativeUI: true//if true and browser support input[type=range], native browser control will be used
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
if(parseInt(newValue) == 1)
|
||||
$(this).html(newValue + " hour ago");
|
||||
else $(this).html(newValue + " hours ago");
|
||||
}
|
||||
});
|
||||
$('#about').editable({
|
||||
mode: 'inline',
|
||||
type: 'wysiwyg',
|
||||
name : 'about',
|
||||
wysiwyg : {
|
||||
//css : {'max-width':'300px'}
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
}
|
||||
});
|
||||
// *** editable avatar *** //
|
||||
try {//ie8 throws some harmless exceptions, so let's catch'em
|
||||
//first let's add a fake appendChild method for Image element for browsers that have a problem with this
|
||||
//because editable plugin calls appendChild, and it causes errors on IE at unpredicted points
|
||||
try {
|
||||
document.createElement('IMG').appendChild(document.createElement('B'));
|
||||
} catch(e) {
|
||||
Image.prototype.appendChild = function(el){}
|
||||
}
|
||||
var last_gritter
|
||||
$('#avatar').editable({
|
||||
type: 'image',
|
||||
name: 'avatar',
|
||||
value: null,
|
||||
//onblur: 'ignore', //don't reset or hide editable onblur?!
|
||||
image: {
|
||||
//specify ace file input plugin's options here
|
||||
btn_choose: 'Change Avatar',
|
||||
droppable: true,
|
||||
maxSize: 110000,//~100Kb
|
||||
//and a few extra ones here
|
||||
name: 'avatar',//put the field name here as well, will be used inside the custom plugin
|
||||
on_error : function(error_type) {//on_error function will be called when the selected file has a problem
|
||||
if(last_gritter) $.gritter.remove(last_gritter);
|
||||
if(error_type == 1) {//file format error
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'File is not an image!',
|
||||
text: 'Please choose a jpg|gif|png image!',
|
||||
class_name: 'gritter-error gritter-center'
|
||||
});
|
||||
} else if(error_type == 2) {//file size rror
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'File too big!',
|
||||
text: 'Image size should not exceed 100Kb!',
|
||||
class_name: 'gritter-error gritter-center'
|
||||
});
|
||||
}
|
||||
else {//other error
|
||||
}
|
||||
},
|
||||
on_success : function() {
|
||||
$.gritter.removeAll();
|
||||
}
|
||||
},
|
||||
url: function(params) {
|
||||
// ***UPDATE AVATAR HERE*** //
|
||||
//for a working upload example you can replace the contents of this function with
|
||||
//examples/profile-avatar-update.js
|
||||
var deferred = new $.Deferred
|
||||
var value = $('#avatar').next().find('input[type=hidden]:eq(0)').val();
|
||||
if(!value || value.length == 0) {
|
||||
deferred.resolve();
|
||||
return deferred.promise();
|
||||
}
|
||||
//dummy upload
|
||||
setTimeout(function(){
|
||||
if("FileReader" in window) {
|
||||
//for browsers that have a thumbnail of selected image
|
||||
var thumb = $('#avatar').next().find('img').data('thumb');
|
||||
if(thumb) $('#avatar').get(0).src = thumb;
|
||||
}
|
||||
deferred.resolve({'status':'OK'});
|
||||
if(last_gritter) $.gritter.remove(last_gritter);
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'Avatar Updated!',
|
||||
text: 'Uploading to server can be easily implemented. A working example is included with the template.',
|
||||
class_name: 'gritter-info gritter-center'
|
||||
});
|
||||
}, parseInt(Math.random() * 800 + 800))
|
||||
return deferred.promise();
|
||||
// ***END OF UPDATE AVATAR HERE*** //
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
}
|
||||
})
|
||||
}catch(e) {}
|
||||
/**
|
||||
//let's display edit mode by default?
|
||||
var blank_image = true;//somehow you determine if image is initially blank or not, or you just want to display file input at first
|
||||
if(blank_image) {
|
||||
$('#avatar').editable('show').on('hidden', function(e, reason) {
|
||||
if(reason == 'onblur') {
|
||||
$('#avatar').editable('show');
|
||||
return;
|
||||
}
|
||||
$('#avatar').off('hidden');
|
||||
})
|
||||
}
|
||||
*/
|
||||
//another option is using modals
|
||||
$('#avatar2').on('click', function(){
|
||||
var modal =
|
||||
'<div class="modal fade">\
|
||||
<div class="modal-dialog">\
|
||||
<div class="modal-content">\
|
||||
<div class="modal-header">\
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>\
|
||||
<h4 class="blue">Change Avatar</h4>\
|
||||
</div>\
|
||||
\
|
||||
<form class="no-margin">\
|
||||
<div class="modal-body">\
|
||||
<div class="space-4"></div>\
|
||||
<div style="width:75%;margin-left:12%;"><input type="file" name="file-input" /></div>\
|
||||
</div>\
|
||||
\
|
||||
<div class="modal-footer center">\
|
||||
<button type="submit" class="btn btn-sm btn-success"><i class="ace-icon fa fa-check"></i> Submit</button>\
|
||||
<button type="button" class="btn btn-sm" data-dismiss="modal"><i class="ace-icon fa fa-times"></i> Cancel</button>\
|
||||
</div>\
|
||||
</form>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>';
|
||||
var modal = $(modal);
|
||||
modal.modal("show").on("hidden", function(){
|
||||
modal.remove();
|
||||
});
|
||||
var working = false;
|
||||
var form = modal.find('form:eq(0)');
|
||||
var file = form.find('input[type=file]').eq(0);
|
||||
file.ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Click to choose new avatar',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-picture-o',
|
||||
thumbnail:'small',
|
||||
before_remove: function() {
|
||||
//don't remove/reset files while being uploaded
|
||||
return !working;
|
||||
},
|
||||
allowExt: ['jpg', 'jpeg', 'png', 'gif'],
|
||||
allowMime: ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
|
||||
});
|
||||
form.on('submit', function(){
|
||||
if(!file.data('ace_input_files')) return false;
|
||||
file.ace_file_input('disable');
|
||||
form.find('button').attr('disabled', 'disabled');
|
||||
form.find('.modal-body').append("<div class='center'><i class='ace-icon fa fa-spinner fa-spin bigger-150 orange'></i></div>");
|
||||
var deferred = new $.Deferred;
|
||||
working = true;
|
||||
deferred.done(function() {
|
||||
form.find('button').removeAttr('disabled');
|
||||
form.find('input[type=file]').ace_file_input('enable');
|
||||
form.find('.modal-body > :last-child').remove();
|
||||
modal.modal("hide");
|
||||
var thumb = file.next().find('img').data('thumb');
|
||||
if(thumb) $('#avatar2').get(0).src = thumb;
|
||||
working = false;
|
||||
});
|
||||
setTimeout(function(){
|
||||
deferred.resolve();
|
||||
}, parseInt(Math.random() * 800 + 800));
|
||||
return false;
|
||||
});
|
||||
});
|
||||
//////////////////////////////
|
||||
$('#profile-feed-1').ace_scroll({
|
||||
height: '250px',
|
||||
mouseWheelLock: true,
|
||||
alwaysVisible : true
|
||||
});
|
||||
$('a[ data-original-title]').tooltip();
|
||||
$('.easy-pie-chart.percentage').each(function(){
|
||||
var barColor = $(this).data('color') || '#555';
|
||||
var trackColor = '#E2E2E2';
|
||||
var size = parseInt($(this).data('size')) || 72;
|
||||
$(this).easyPieChart({
|
||||
barColor: barColor,
|
||||
trackColor: trackColor,
|
||||
scaleColor: false,
|
||||
lineCap: 'butt',
|
||||
lineWidth: parseInt(size/10),
|
||||
animate:false,
|
||||
size: size
|
||||
}).css('color', barColor);
|
||||
});
|
||||
///////////////////////////////////////////
|
||||
//right & left position
|
||||
//show the user info on right or left depending on its position
|
||||
$('#user-profile-2 .memberdiv').on('mouseenter touchstart', function(){
|
||||
var $this = $(this);
|
||||
var $parent = $this.closest('.tab-pane');
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $this.offset();
|
||||
var w2 = $this.width();
|
||||
var place = 'left';
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) place = 'right';
|
||||
$this.find('.popover').removeClass('right left').addClass(place);
|
||||
}).on('click', function(e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
///////////////////////////////////////////
|
||||
$('#user-profile-3')
|
||||
.find('input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Change avatar',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-picture-o',
|
||||
thumbnail:'large',
|
||||
droppable:true,
|
||||
allowExt: ['jpg', 'jpeg', 'png', 'gif'],
|
||||
allowMime: ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
|
||||
})
|
||||
.end().find('button[type=reset]').on(ace.click_event, function(){
|
||||
$('#user-profile-3 input[type=file]').ace_file_input('reset_input');
|
||||
})
|
||||
.end().find('.date-picker').datepicker().next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
})
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('#user-profile-3').find('input[type=file]').ace_file_input('show_file_list', [{type: 'image', name: $('#avatar').attr('src')}]);
|
||||
////////////////////
|
||||
//change profile
|
||||
$('[data-toggle="buttons"] .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
$('.user-profile').parent().addClass('hide');
|
||||
$('#user-profile-'+which).parent().removeClass('hide');
|
||||
});
|
||||
/////////////////////////////////////
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
//in ajax mode, remove remaining elements before leaving page
|
||||
try {
|
||||
$('.editable').editable('destroy');
|
||||
} catch(e) {}
|
||||
$('[class*=select2]').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,666 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看临期的药品批次列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看临期的药品批次列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看临期的药品批次列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看临期的药品批次列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
临期的药品批次列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<a href="../admin/add-storage-form" role="button" class="green" data-toggle="modal">
|
||||
<button class="btn btn-sm btn-primary">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
|
||||
添加药品批次入库记录
|
||||
<i class="ace-icon fa fa-arrow-right icon-on-right"></i>
|
||||
</button>
|
||||
</a>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<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>
|
||||
<c:forEach items="${drugs}" var="drug">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDname}</a>
|
||||
</td>
|
||||
<td>${drug.PDlife}</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${drug.PDbatch}" pattern="yyyy 年 MM 月 dd 日"/>
|
||||
</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-supplier?Sno=${drug.sno}" title="查看该供应商的供货明细">${drug.sno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-admin?Ano=${drug.SAno}" title="查看该库存管理员的管理明细">${drug.SAno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${drug.stime}" pattern="yyyy 年 MM 月 dd 日 HH:mm"/>
|
||||
</td>
|
||||
<td>${drug.rdays}</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="green" href="../admin/edit-storage-form?PDno=${drug.PDno}&tempPDbatch=<fmt:formatDate value="${drug.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="编辑该批次药品的信息">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
<a class="red" href="../admin/destroy-form?PDno=${drug.PDno}&tempPDbatch=<fmt:formatDate value="${drug.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="销毁删除该批次药品">
|
||||
<i class="ace-icon fa fa-trash-o bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/edit-storage-form?PDno=${drug.PDno}&tempPDbatch=<fmt:formatDate value="${drug.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-success" data-rel="tooltip" title="编辑该批次药品的信息">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/destroy-form?PDno=${drug.PDno}&tempPDbatch=<fmt:formatDate value="${drug.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-error" data-rel="tooltip" title="销毁删除该批次药品">
|
||||
<span class="red">
|
||||
<i class="ace-icon fa fa-trash-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
632
WebContent/WEB-INF/views/admin/query-destroyed-pdbatch-list.jsp
Normal file
|
@ -0,0 +1,632 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看已销毁药品批次列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看已销毁药品批次列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active open">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-drug-list">查看药品库存信息</a>
|
||||
</li>
|
||||
<li class="active">查看已销毁药品批次列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看已销毁药品批次列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
已销毁药品批次列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品批次 (生产日期)</th>
|
||||
<th>药品数量</th>
|
||||
<th>供应商</th>
|
||||
<th>入库管理员</th>
|
||||
<th>入库时间</th>
|
||||
<th>销毁管理员</th>
|
||||
<th>销毁时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${destroyedDrugs}" var="drug">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDname}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${drug.PDbatch}" pattern="yyyy 年 MM 月 dd 日"/>
|
||||
</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-supplier?Sno=${drug.sno}" title="查看该供应商的供货明细">${drug.sno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-admin?Ano=${drug.SAno}" title="查看该库存管理员的管理明细">${drug.SAno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${drug.stime}" pattern="yyyy 年 MM 月 dd 日 HH:mm"/>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-admin?Ano=${drug.DAno}" title="查看该库存管理员的管理明细">${drug.DAno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${drug.dtime}" pattern="yyyy 年 MM 月 dd 日 HH:mm"/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, null, null, null, null
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
672
WebContent/WEB-INF/views/admin/query-drug-list.jsp
Normal file
|
@ -0,0 +1,672 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看库存药品列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看库存药品列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active open">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="active">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-drug-list">查看药品库存信息</a>
|
||||
</li>
|
||||
<li class="active">查看库存药品列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看库存药品列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
库存药品列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<a href="../admin/add-storage-form" role="button" class="green" data-toggle="modal">
|
||||
<button class="btn btn-sm btn-primary">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
|
||||
添加药品批次入库记录
|
||||
<i class="ace-icon fa fa-arrow-right icon-on-right"></i>
|
||||
</button>
|
||||
</a>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品保质期 (天数)</th>
|
||||
<th>药品数量</th>
|
||||
<th class="hidden-480">药品状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${drugs}" var="drug">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDname}</a>
|
||||
</td>
|
||||
<td>${drug.PDlife}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
<td class="hidden-480">
|
||||
<c:if test="${drug.PDnum <= 50}">
|
||||
<span class="label label-sm label-warning arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-fire bigger-110"></i>
|
||||
库存紧张
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test="${drug.existClose2ExpiryPDbatch}">
|
||||
<span class="label label-sm label-danger arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-bolt bigger-110"></i>
|
||||
存在临期批次
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test="${drug.PDnum > 50 && drug.existClose2ExpiryPDbatch == false}">
|
||||
<span class="label label-sm label-info arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-lightbulb-o bigger-110"></i>
|
||||
正常状态
|
||||
</span>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
<a class="green" href="../admin/specific-storage-form?PDno=${drug.PDno}" title="入库一批该药品">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" class="tooltip-info" data-rel="tooltip" title="查看该药品的库存明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/specific-storage-form?PDno=${drug.PDno}" class="tooltip-success" data-rel="tooltip" title="入库一批该药品">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
648
WebContent/WEB-INF/views/admin/query-low-inventory-drug-list.jsp
Normal file
|
@ -0,0 +1,648 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看库存紧张的药品列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看库存紧张的药品列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看库存紧张的药品列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看库存紧张的药品列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
库存紧张的药品列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<a href="../admin/add-storage-form" role="button" class="green" data-toggle="modal">
|
||||
<button class="btn btn-sm btn-primary">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
|
||||
添加药品批次入库记录
|
||||
<i class="ace-icon fa fa-arrow-right icon-on-right"></i>
|
||||
</button>
|
||||
</a>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品保质期 (天数)</th>
|
||||
<th>药品数量</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${drugs}" var="drug">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDname}</a>
|
||||
</td>
|
||||
<td>${drug.PDlife}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
<a class="green" href="../admin/specific-storage-form?PDno=${drug.PDno}" title="入库一批该药品">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" class="tooltip-info" data-rel="tooltip" title="查看该药品的库存明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/specific-storage-form?PDno=${drug.PDno}" class="tooltip-success" data-rel="tooltip" title="入库一批该药品">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
611
WebContent/WEB-INF/views/admin/query-pdbatch-list.jsp
Normal file
|
@ -0,0 +1,611 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看库存药品批次明细 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看库存药品批次明细 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active open">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-drug-list">查看药品库存信息</a>
|
||||
</li>
|
||||
<li class="active">查看库存药品批次明细</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看库存药品批次明细
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
库存药品批次明细
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<a href="../admin/add-storage-form">
|
||||
<button class="btn btn-sm btn-primary">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
|
||||
添加药品批次入库记录
|
||||
<i class="ace-icon fa fa-arrow-right icon-on-right"></i>
|
||||
</button>
|
||||
</a>
|
||||
<div class="space space-6"></div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<table id="simple-table" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="detail-col">明细</th>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品保质期 (天数)</th>
|
||||
<th>药品数量</th>
|
||||
<th class="hidden-480">药品状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${drugs}" var="drug">
|
||||
<tr>
|
||||
<td class="center">
|
||||
<div class="action-buttons">
|
||||
<a href="#" class="green bigger-140 show-details-btn" title="具体明细">
|
||||
<i class="ace-icon fa fa-angle-double-down"></i>
|
||||
<span class="sr-only">具体明细</span>
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">${drug.PDname}</a>
|
||||
</td>
|
||||
<td>${drug.PDlife}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
<td class="hidden-480">
|
||||
<c:if test="${drug.PDnum <= 50}">
|
||||
<span class="label label-sm label-warning arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-fire bigger-110"></i>
|
||||
库存紧张
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test="${drug.existClose2ExpiryPDbatch}">
|
||||
<span class="label label-sm label-danger arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-bolt bigger-110"></i>
|
||||
存在临期批次
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test="${drug.PDnum > 50 && drug.existClose2ExpiryPDbatch == false}">
|
||||
<span class="label label-sm label-info arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-lightbulb-o bigger-110"></i>
|
||||
正常状态
|
||||
</span>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../admin/query-specific-drug?PDno=${drug.PDno}" title="查看该药品的库存明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
<a class="green" href="../admin/specific-storage-form?PDno=${drug.PDno}" title="入库一批该药品">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-cog icon-only bigger-110"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/query-specific-drug?PDno=${drug.PDno}" class="tooltip-info" data-rel="tooltip" title="查看该药品的库存明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/specific-storage-form?PDno=${drug.PDno}" class="tooltip-success" data-rel="tooltip" title="入库一批该药品">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="detail-row">
|
||||
<td colspan="8">
|
||||
<div class="table-detail">
|
||||
<div class="row">
|
||||
<div class="col-sm-10">
|
||||
<table id="simple-table" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品批次 (生产日期)</th>
|
||||
<th>药品数量</th>
|
||||
<th>药品供应商</th>
|
||||
<th>入库管理员</th>
|
||||
<th>药品入库时间</th>
|
||||
<th>距到期日天数</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${drug.inventoryDrugs}" var="batch">
|
||||
<tr>
|
||||
<td>
|
||||
<fmt:formatDate value="${batch.PDbatch}" pattern="yyyy 年 MM 月 dd 日"/>
|
||||
</td>
|
||||
<td>${batch.PDnum}</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-supplier?Sno=${batch.sno}" title="查看该供应商的供货明细">${batch.sno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-admin?Ano=${batch.SAno}" title="查看该库存管理员的管理明细">${batch.SAno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${batch.stime}" pattern="yyyy 年 MM 月 dd 日 HH:mm"/>
|
||||
</td>
|
||||
<td>${batch.rdays}</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="green" href="../admin/edit-storage-form?PDno=${batch.PDno}&tempPDbatch=<fmt:formatDate value="${batch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="编辑该批次药品的信息">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
<a class="red" href="../admin/destroy-form?PDno=${batch.PDno}&tempPDbatch=<fmt:formatDate value="${batch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="销毁删除该批次药品">
|
||||
<i class="ace-icon fa fa-trash-o bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-cog icon-only bigger-110"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/edit-storage-form?PDno=${batch.PDno}&tempPDbatch=<fmt:formatDate value="${batch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-success" data-rel="tooltip" title="编辑该批次药品的信息">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/destroy-form?PDno=${batch.PDno}&tempPDbatch=<fmt:formatDate value="${batch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-error" data-rel="tooltip" title="销毁删除该批次药品">
|
||||
<span class="red">
|
||||
<i class="ace-icon fa fa-trash-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.row -->
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
729
WebContent/WEB-INF/views/admin/query-specific-admin.jsp
Normal file
|
@ -0,0 +1,729 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看${specificAdmin.aname}的管理明细 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看${specificAdmin.aname}的管理明细 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看${specificAdmin.aname}的管理明细</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看${specificAdmin.aname}的管理明细
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
${specificAdmin.aname}的相关信息
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-storage-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-1"> 库存管理员编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="库存管理员编号" name="Ano" value="${specificAdmin.ano}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-2"> 库存管理员姓名 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" readonly="readonly" placeholder="库存管理员姓名" name="Aname" value="${specificAdmin.aname}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-3"> 库存管理员性别 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="库存管理员性别" name="Asex" value="${specificAdmin.asex ? '男' : '女'}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-4"> 库存管理员年龄 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-4" type="text" readonly="readonly" placeholder="库存管理员年龄" name="Aage" value="${specificAdmin.aage}">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<h3 class="header smaller lighter blue">
|
||||
查看由${specificAdmin.aname}负责的所有批次
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
包括库存批次和已销毁批次,包括负责入库和出库
|
||||
</small>
|
||||
</h3>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品批次 (生产日期)</th>
|
||||
<th>数量</th>
|
||||
<th>供应商</th>
|
||||
<th>入库管理员</th>
|
||||
<th>入库时间</th>
|
||||
<th>销毁管理员</th>
|
||||
<th>销毁时间</th>
|
||||
<th class="hidden-480">药品状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${specificAdmin.allPDbatches}" var="pdbatch">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${pdbatch.PDno}" title="查看该药品的库存明细">${pdbatch.PDno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${pdbatch.PDno}" title="查看该药品的库存明细">${pdbatch.PDname}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy 年 MM 月 dd 日"/>
|
||||
</td>
|
||||
<td>${pdbatch.PDnum}</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-supplier?Sno=${pdbatch.sno}" title="查看该供应商的供货明细">${pdbatch.sno}</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<c:choose>
|
||||
<c:when test="${pdbatch.SAno == specificAdmin.ano}">
|
||||
<i class="ace-icon glyphicon glyphicon-ok green"></i>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<a href="../admin/query-specific-admin?Ano=${pdbatch.SAno}" title="查看该库存管理员的管理明细">${pdbatch.SAno}</a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.stime}" pattern="yyyy 年 MM 月 dd 日"/>
|
||||
</td>
|
||||
<td align="center">
|
||||
<c:choose>
|
||||
<c:when test="${pdbatch.DAno == specificAdmin.ano}">
|
||||
<i class="ace-icon glyphicon glyphicon-ok green"></i>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<a href="../admin/query-specific-admin?Ano=${pdbatch.DAno}" title="查看该库存管理员的管理明细">${pdbatch.DAno}</a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.dtime}" pattern="yyyy 年 MM 月 dd 日"/>
|
||||
</td>
|
||||
<td class="hidden-480">
|
||||
<c:choose>
|
||||
<c:when test="${pdbatch.DAno == null}">
|
||||
<span class="label label-sm label-info arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-flag bigger-110"></i>
|
||||
正常批次
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="label label-sm label-inverse arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-exclamation-triangle bigger-110"></i>
|
||||
已销毁批次
|
||||
</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${pdbatch.DAno == null}">
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="green" href="../admin/edit-storage-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="编辑该批次药品的信息">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
<a class="red" href="../admin/destroy-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="销毁删除该批次药品">
|
||||
<i class="ace-icon fa fa-trash-o bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/edit-storage-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-success" data-rel="tooltip" title="编辑该批次药品的信息">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/destroy-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-error" data-rel="tooltip" title="销毁删除该批次药品">
|
||||
<span class="red">
|
||||
<i class="ace-icon fa fa-trash-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, null, null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
750
WebContent/WEB-INF/views/admin/query-specific-drug.jsp
Normal file
|
@ -0,0 +1,750 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看${specificDrug.PDname}的库存明细 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看${specificDrug.PDname}的库存明细 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-drug-list">查看药品库存信息</a>
|
||||
</li>
|
||||
<li class="active">查看${specificDrug.PDname}的库存明细</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看${specificDrug.PDname}的库存明细
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
${specificDrug.PDname}的相关信息
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-storage-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-1"> 药品编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="药品编号" name="PDno" value="${specificDrug.PDno}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-2"> 药品名称 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" readonly="readonly" placeholder="药品名称" name="PDname" value="${specificDrug.PDname}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-3"> 药品保质期 (天数) </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="药品保质期 (天数)" name="PDlife" value="${specificDrug.PDlife}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-4"> 药品库存总数 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-4" type="text" readonly="readonly" placeholder="药品库存总数" name="PDnum" value="${specificDrug.PDnum}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-4"> 药品状态 </label>
|
||||
<div class="col-sm-4">
|
||||
<c:if test="${specificDrug.PDnum <= 50}">
|
||||
<span class="label label-sm label-warning arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-fire bigger-110"></i>
|
||||
库存紧张
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test="${specificDrug.existClose2ExpiryPDbatch}">
|
||||
<span class="label label-sm label-danger arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-bolt bigger-110"></i>
|
||||
存在临期批次
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test="${specificDrug.PDnum > 50 && specificDrug.existClose2ExpiryPDbatch == false}">
|
||||
<span class="label label-sm label-info arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-lightbulb-o bigger-110"></i>
|
||||
正常状态
|
||||
</span>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<h3 class="header smaller lighter blue">
|
||||
查看${specificDrug.PDname}的所有批次
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
包括库存批次和已销毁批次
|
||||
</small>
|
||||
</h3>
|
||||
<a href="../admin/specific-storage-form?PDno=${specificDrug.PDno}" role="button" class="green" data-toggle="modal">
|
||||
<button class="btn btn-sm btn-primary">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
|
||||
添加${specificDrug.PDname}的批次入库记录
|
||||
<i class="ace-icon fa fa-arrow-right icon-on-right"></i>
|
||||
</button>
|
||||
</a>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品批次 (生产日期)</th>
|
||||
<th>药品数量</th>
|
||||
<th>药品供应商</th>
|
||||
<th>入库管理员</th>
|
||||
<th>入库时间</th>
|
||||
<th>销毁管理员</th>
|
||||
<th>销毁时间</th>
|
||||
<th class="hidden-480">药品状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${specificDrug.allPDbatches}" var="pdbatch">
|
||||
<tr>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy 年 MM 月 dd 日"/>
|
||||
</td>
|
||||
<td>${pdbatch.PDnum}</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-supplier?Sno=${pdbatch.sno}" title="查看该供应商的供货明细">${pdbatch.sno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-admin?Ano=${pdbatch.SAno}" title="查看该库存管理员的管理明细">${pdbatch.SAno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.stime}" pattern="yyyy 年 MM 月 dd 日 HH:mm"/>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-admin?Ano=${pdbatch.DAno}" title="查看该库存管理员的管理明细">${pdbatch.DAno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.dtime}" pattern="yyyy 年 MM 月 dd 日 HH:mm"/>
|
||||
</td>
|
||||
<td class="hidden-480">
|
||||
<c:choose>
|
||||
<c:when test="${pdbatch.DAno == null}">
|
||||
<c:choose>
|
||||
<c:when test="${pdbatch.rdays <= (specificDrug.PDlife / 10)}">
|
||||
<span class="label label-sm label-danger arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-bolt bigger-110"></i>
|
||||
临期状态
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="label label-sm label-info arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-flag bigger-110"></i>
|
||||
正常状态
|
||||
</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="label label-sm label-inverse arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-exclamation-triangle bigger-110"></i>
|
||||
已销毁状态
|
||||
</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${pdbatch.DAno == null}">
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="green" href="../admin/edit-storage-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="编辑该批次药品的信息">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
<a class="red" href="../admin/destroy-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="销毁删除该批次药品">
|
||||
<i class="ace-icon fa fa-trash-o bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/edit-storage-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-success" data-rel="tooltip" title="编辑该批次药品的信息">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/destroy-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-error" data-rel="tooltip" title="销毁删除该批次药品">
|
||||
<span class="red">
|
||||
<i class="ace-icon fa fa-trash-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
714
WebContent/WEB-INF/views/admin/query-specific-supplier.jsp
Normal file
|
@ -0,0 +1,714 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看${specificSupplier.sname}的供货明细 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看${specificSupplier.sname}的供货明细 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-supplier-list">查看供应商信息列表</a>
|
||||
</li>
|
||||
<li class="active">查看${specificSupplier.sname}的供货明细</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看${specificSupplier.sname}的供货明细
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
${specificSupplier.sname}的相关信息
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-storage-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-1"> 供应商编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="供应商编号" name="Sno" value="${specificSupplier.sno}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-2"> 供应商名称 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" readonly="readonly" placeholder="供应商名称" name="Sname" value="${specificSupplier.sname}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-3"> 供应商地址 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="供应商地址" name="Saddr" value="${specificSupplier.saddr}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-4"> 供应商电话 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-4" type="text" readonly="readonly" placeholder="供应商电话" name="Sphone" value="${specificSupplier.sphone}">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<h3 class="header smaller lighter blue">
|
||||
查看由${specificSupplier.sname}供应的所有批次
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
包括库存批次和已销毁批次
|
||||
</small>
|
||||
</h3>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品批次 (生产日期)</th>
|
||||
<th>药品数量</th>
|
||||
<th>入库管理员</th>
|
||||
<th>入库时间</th>
|
||||
<th>销毁管理员</th>
|
||||
<th>销毁时间</th>
|
||||
<th class="hidden-480">药品状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${specificSupplier.allPDbatches}" var="pdbatch">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${pdbatch.PDno}" title="查看该药品的库存明细">${pdbatch.PDno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-drug?PDno=${pdbatch.PDno}" title="查看该药品的库存明细">${pdbatch.PDname}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy 年 MM 月 dd 日"/>
|
||||
</td>
|
||||
<td>${pdbatch.PDnum}</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-admin?Ano=${pdbatch.SAno}" title="查看该库存管理员的管理明细">${pdbatch.SAno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.stime}" pattern="yyyy 年 MM 月 dd 日 HH:mm"/>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-admin?Ano=${pdbatch.DAno}" title="查看该库存管理员的管理明细">${pdbatch.DAno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${pdbatch.dtime}" pattern="yyyy 年 MM 月 dd 日 HH:mm"/>
|
||||
</td>
|
||||
<td class="hidden-480">
|
||||
<c:choose>
|
||||
<c:when test="${pdbatch.DAno == null}">
|
||||
<span class="label label-sm label-info arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-flag bigger-110"></i>
|
||||
正常
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="label label-sm label-inverse arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-exclamation-triangle bigger-110"></i>
|
||||
已销毁
|
||||
</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${pdbatch.DAno == null}">
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="green" href="../admin/edit-storage-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="编辑该批次药品的信息">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
<a class="red" href="../admin/destroy-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" title="销毁删除该批次药品">
|
||||
<i class="ace-icon fa fa-trash-o bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/edit-storage-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-success" data-rel="tooltip" title="编辑该批次药品的信息">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/destroy-form?PDno=${pdbatch.PDno}&tempPDbatch=<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy+年+MM+月+dd+日"/>" class="tooltip-error" data-rel="tooltip" title="销毁删除该批次药品">
|
||||
<span class="red">
|
||||
<i class="ace-icon fa fa-trash-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
648
WebContent/WEB-INF/views/admin/query-supplier-list.jsp
Normal file
|
@ -0,0 +1,648 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看供应商信息列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看供应商信息列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看供应商信息列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看供应商信息列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
供应商信息列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<a href="../admin/add-supplier-form">
|
||||
<button class="btn btn-sm btn-primary">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-110"></i>
|
||||
添加供应商记录
|
||||
<i class="ace-icon fa fa-arrow-right icon-on-right"></i>
|
||||
</button>
|
||||
</a>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>供应商编号</th>
|
||||
<th>供应商名称</th>
|
||||
<th>供应商地址</th>
|
||||
<th>供应商电话</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${suppliers}" var="supplier">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../admin/query-specific-supplier?Sno=${supplier.sno}" title="查看该供应商的供货明细">${supplier.sno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../admin/query-specific-supplier?Sno=${supplier.sno}" title="查看该供应商的供货明细">${supplier.sname}</a>
|
||||
</td>
|
||||
<td>${supplier.saddr}</td>
|
||||
<td>${supplier.sphone}</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../admin/query-specific-supplier?Sno=${supplier.sno}" title="查看该供应商的供货明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
<a class="green" href="../admin/edit-supplier-form?Sno=${supplier.sno}" title="编辑该供应商的具体信息">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/query-specific-supplier?Sno=${supplier.sno}" class="tooltip-info" data-rel="tooltip" title="查看该供应商的供货明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/edit-supplier-form?Sno=${supplier.sno}" class="tooltip-success" data-rel="tooltip" title="编辑该供应商的具体信息">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
836
WebContent/WEB-INF/views/admin/specific-storage-form.jsp
Normal file
|
@ -0,0 +1,836 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>新增一批${specificDrug.PDname} - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="新增一批${specificDrug.PDname} - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/chosen.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-timepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/daterangepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datetimepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-colorpicker.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="index.html" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">新增一批${specificDrug.PDname}</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
新增一批${specificDrug.PDname}
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
填写${specificDrug.PDname}入库表单
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-storage-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 药品编号 (不可修改) </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="药品编号" name="PDno" value="${specificDrug.PDno}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-1"> 药品批次 (生产时间)${type ? '' : ' (不可修改)'} </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control date-picker" id="id-date-picker-1" name="tempPDbatch" type="text" placeholder="药品批次 (生产时间)" data-date-format="yyyy 年 mm 月 dd 日" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="spinner1"> 药品数量 </label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" id="spinner1" name="PDnum" placeholder="药品数量" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-4"> 药品供应商 </label>
|
||||
<div class="col-sm-4">
|
||||
<select class="chosen-select form-control" id="form-field-4" name="Sno" data-placeholder="选择药品供应商..." required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${suppliers}" var="supplier">
|
||||
<option value="${supplier.sno}">${supplier.sname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-5"> 入库库存管理员 </label>
|
||||
<div class="col-sm-4">
|
||||
<select class="chosen-select form-control" id="form-field-5" name="SAno" data-placeholder="选择入库库存管理员..." required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${admins}" var="admin">
|
||||
<option value="${admin.ano}">${admin.ano} ${admin.aname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-2"> 药品入库日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control date-picker" id="id-date-picker-2" name="tempSdate" value="<fmt:formatDate value="${pdbatch.stime}" pattern="yyyy 年 MM 月 dd 日"/>" type="text" placeholder="药品入库日期" data-date-format="yyyy 年 mm 月 dd 日" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="timepicker1"> 药品入库时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input id="timepicker1" name="tempStime" value="<fmt:formatDate value="${pdbatch.stime}" pattern="HH:mm:ss"/>" type="text" class="form-control" placeholder="药品入库时间" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
提交
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/chosen.jquery.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-timepicker.min.js"></script>
|
||||
<script src="../assets/js/moment.min.js"></script>
|
||||
<script src="../assets/js/daterangepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-colorpicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.knob.min.js"></script>
|
||||
<script src="../assets/js/autosize.min.js"></script>
|
||||
<script src="../assets/js/jquery.inputlimiter.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-tag.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('#id-disable-check').on('click', function() {
|
||||
var inp = $('#form-input-readonly').get(0);
|
||||
if(inp.hasAttribute('disabled')) {
|
||||
inp.setAttribute('readonly', 'true');
|
||||
inp.removeAttribute('disabled');
|
||||
inp.value="This text field is readonly!";
|
||||
}
|
||||
else {
|
||||
inp.setAttribute('disabled', 'disabled');
|
||||
inp.removeAttribute('readonly');
|
||||
inp.value="This text field is disabled!";
|
||||
}
|
||||
});
|
||||
if(!ace.vars['touch']) {
|
||||
$('.chosen-select').chosen({allow_single_deselect:true});
|
||||
//resize the chosen on window resize
|
||||
$(window)
|
||||
.off('resize.chosen')
|
||||
.on('resize.chosen', function() {
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
}).trigger('resize.chosen');
|
||||
//resize chosen on sidebar collapse/expand
|
||||
$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
|
||||
if(event_name != 'sidebar_collapsed') return;
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
});
|
||||
$('#chosen-multiple-style .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
|
||||
else $('#form-field-select-4').removeClass('tag-input-style');
|
||||
});
|
||||
}
|
||||
$('[data-rel=tooltip]').tooltip({container:'body'});
|
||||
$('[data-rel=popover]').popover({container:'body'});
|
||||
autosize($('textarea[class*=autosize]'));
|
||||
$('textarea.limited').inputlimiter({
|
||||
remText: '%n character%s remaining...',
|
||||
limitText: 'max allowed : %n.'
|
||||
});
|
||||
$.mask.definitions['~']='[+-]';
|
||||
$('.input-mask-date').mask('99/99/9999');
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('.input-mask-eyescript').mask('~9.99 ~9.99 999');
|
||||
$(".input-mask-product").mask("a*-999-a999",{placeholder:" ",completed:function(){alert("You typed the following: "+this.val());}});
|
||||
$( "#input-size-slider" ).css('width','200px').slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 8,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-4').attr('class', sizing[val]).attr('placeholder', '.'+sizing[val]);
|
||||
}
|
||||
});
|
||||
$( "#input-span-slider" ).slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 12,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-5').attr('class', 'col-xs-'+val).val('.col-xs-'+val);
|
||||
}
|
||||
});
|
||||
//"jQuery UI Slider"
|
||||
//range slider tooltip example
|
||||
$( "#slider-range" ).css('height','200px').slider({
|
||||
orientation: "vertical",
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 100,
|
||||
values: [ 17, 67 ],
|
||||
slide: function( event, ui ) {
|
||||
var val = ui.values[$(ui.handle).index()-1] + "";
|
||||
if( !ui.handle.firstChild ) {
|
||||
$("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")
|
||||
.prependTo(ui.handle);
|
||||
}
|
||||
$(ui.handle.firstChild).show().children().eq(1).text(val);
|
||||
}
|
||||
}).find('span.ui-slider-handle').on('blur', function(){
|
||||
$(this.firstChild).hide();
|
||||
});
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 1,
|
||||
max: 10,
|
||||
value: 2
|
||||
});
|
||||
$( "#slider-eq > span" ).css({width:'90%', 'float':'left', margin:'15px'}).each(function() {
|
||||
// read initial values from markup and remove that
|
||||
var value = parseInt( $( this ).text(), 10 );
|
||||
$( this ).empty().slider({
|
||||
value: value,
|
||||
range: "min",
|
||||
animate: true
|
||||
});
|
||||
});
|
||||
$("#slider-eq > span.ui-slider-purple").slider('disable');//disable third item
|
||||
$('#id-input-file-1, #id-input-file-2').ace_file_input({
|
||||
no_file:'No File ...',
|
||||
btn_choose:'Choose',
|
||||
btn_change:'Change',
|
||||
droppable:false,
|
||||
onchange:null,
|
||||
thumbnail:false //| true | large
|
||||
//whitelist:'gif|png|jpg|jpeg'
|
||||
//blacklist:'exe|php'
|
||||
//onchange:''
|
||||
//
|
||||
});
|
||||
//pre-show a file name, for example a previously selected file
|
||||
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
|
||||
$('#id-input-file-3').ace_file_input({
|
||||
style: 'well',
|
||||
btn_choose: 'Drop files here or click to choose',
|
||||
btn_change: null,
|
||||
no_icon: 'ace-icon fa fa-cloud-upload',
|
||||
droppable: true,
|
||||
thumbnail: 'small'//large | fit
|
||||
//,icon_remove:null//set null, to hide remove/reset button
|
||||
/**,before_change:function(files, dropped) {
|
||||
//Check an example below
|
||||
//or examples/file-upload.html
|
||||
return true;
|
||||
}*/
|
||||
/**,before_remove : function() {
|
||||
return true;
|
||||
}*/
|
||||
,
|
||||
preview_error : function(filename, error_code) {
|
||||
//name of the file that failed
|
||||
//error_code values
|
||||
//1 = 'FILE_LOAD_FAILED',
|
||||
//2 = 'IMAGE_LOAD_FAILED',
|
||||
//3 = 'THUMBNAIL_FAILED'
|
||||
//alert(error_code);
|
||||
}
|
||||
}).on('change', function(){
|
||||
//console.log($(this).data('ace_input_files'));
|
||||
//console.log($(this).data('ace_input_method'));
|
||||
});
|
||||
//$('#id-input-file-3')
|
||||
//.ace_file_input('show_file_list', [
|
||||
//{type: 'image', name: 'name of image', path: 'http://path/to/image/for/preview'},
|
||||
//{type: 'file', name: 'hello.txt'}
|
||||
//]);
|
||||
//dynamically change allowed formats by changing allowExt && allowMime function
|
||||
$('#id-file-format').removeAttr('checked').on('change', function() {
|
||||
var whitelist_ext, whitelist_mime;
|
||||
var btn_choose
|
||||
var no_icon
|
||||
if(this.checked) {
|
||||
btn_choose = "Drop images here or click to choose";
|
||||
no_icon = "ace-icon fa fa-picture-o";
|
||||
whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
|
||||
whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
|
||||
}
|
||||
else {
|
||||
btn_choose = "Drop files here or click to choose";
|
||||
no_icon = "ace-icon fa fa-cloud-upload";
|
||||
whitelist_ext = null;//all extensions are acceptable
|
||||
whitelist_mime = null;//all mimes are acceptable
|
||||
}
|
||||
var file_input = $('#id-input-file-3');
|
||||
file_input
|
||||
.ace_file_input('update_settings',
|
||||
{
|
||||
'btn_choose': btn_choose,
|
||||
'no_icon': no_icon,
|
||||
'allowExt': whitelist_ext,
|
||||
'allowMime': whitelist_mime
|
||||
})
|
||||
file_input.ace_file_input('reset_input');
|
||||
file_input
|
||||
.off('file.error.ace')
|
||||
.on('file.error.ace', function(e, info) {
|
||||
//console.log(info.file_count);//number of selected files
|
||||
//console.log(info.invalid_count);//number of invalid files
|
||||
//console.log(info.error_list);//a list of errors in the following format
|
||||
//info.error_count['ext']
|
||||
//info.error_count['mime']
|
||||
//info.error_count['size']
|
||||
//info.error_list['ext'] = [list of file names with invalid extension]
|
||||
//info.error_list['mime'] = [list of file names with invalid mimetype]
|
||||
//info.error_list['size'] = [list of file names with invalid size]
|
||||
/**
|
||||
if( !info.dropped ) {
|
||||
//perhapse reset file field if files have been selected, and there are invalid files among them
|
||||
//when files are dropped, only valid files will be added to our file array
|
||||
e.preventDefault();//it will rest input
|
||||
}
|
||||
*/
|
||||
//if files have been selected (not dropped), you can choose to reset input
|
||||
//because browser keeps all selected files anyway and this cannot be changed
|
||||
//we can only reset file field to become empty again
|
||||
//on any case you still should check files with your server side script
|
||||
//because any arbitrary file can be uploaded by user and it's not safe to rely on browser-side measures
|
||||
});
|
||||
/**
|
||||
file_input
|
||||
.off('file.preview.ace')
|
||||
.on('file.preview.ace', function(e, info) {
|
||||
console.log(info.file.width);
|
||||
console.log(info.file.height);
|
||||
e.preventDefault();//to prevent preview
|
||||
});
|
||||
*/
|
||||
});
|
||||
$('#spinner1').ace_spinner({value:1, min:1, max:10000, step:100, btn_up_class:'btn-info', btn_down_class:'btn-info'})
|
||||
.closest('.ace-spinner')
|
||||
.on('changed.fu.spinbox', function(){
|
||||
//console.log($('#spinner1').val())
|
||||
});
|
||||
$('#spinner2').ace_spinner({value:0, min:0, max:10000, step:100, touch_spinner: true, icon_up:'ace-icon fa fa-caret-up bigger-110', icon_down:'ace-icon fa fa-caret-down bigger-110'});
|
||||
$('#spinner3').ace_spinner({value:0, min:-100, max:100, step:10, on_sides: true, icon_up:'ace-icon fa fa-plus bigger-110', icon_down:'ace-icon fa fa-minus bigger-110', btn_up_class:'btn-success', btn_down_class:'btn-danger'});
|
||||
$('#spinner4').ace_spinner({value:0, min:-100, max:100, step:10, on_sides: true, icon_up:'ace-icon fa fa-plus', icon_down:'ace-icon fa fa-minus', btn_up_class:'btn-purple', btn_down_class:'btn-purple'});
|
||||
//$('#spinner1').ace_spinner('disable').ace_spinner('value', 11);
|
||||
//or
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('disable').spinner('enable').spinner('value', 11);//disable, enable or change value
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('value', 0);//reset to 0
|
||||
//datepicker plugin
|
||||
//link
|
||||
$('.date-picker').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true
|
||||
})
|
||||
//show datepicker when clicking on the icon
|
||||
.next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
//or change it into a date range picker
|
||||
$('.input-daterange').datepicker({autoclose:true});
|
||||
//to translate the daterange picker, please copy the "examples/daterange-fr.js" contents here before initialization
|
||||
$('input[name=date-range-picker]').daterangepicker({
|
||||
'applyClass' : 'btn-sm btn-success',
|
||||
'cancelClass' : 'btn-sm btn-default',
|
||||
locale: {
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
}
|
||||
})
|
||||
.prev().on(ace.click_event, function(){
|
||||
$(this).next().focus();
|
||||
});
|
||||
$('#timepicker1').timepicker({
|
||||
minuteStep: 1,
|
||||
showSeconds: true,
|
||||
showMeridian: false,
|
||||
disableFocus: true,
|
||||
icons: {
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down'
|
||||
}
|
||||
}).on('focus', function() {
|
||||
$('#timepicker1').timepicker('showWidget');
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
if(!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({
|
||||
//format: 'MM/DD/YYYY h:mm:ss A',//use this option to display seconds
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-arrows ',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-times'
|
||||
}
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
$('#colorpicker1').colorpicker();
|
||||
//$('.colorpicker').last().css('z-index', 2000);//if colorpicker is inside a modal, its z-index should be higher than modal'safe
|
||||
$('#simple-colorpicker-1').ace_colorpicker();
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', 2);//select 2nd color
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', '#fbe983');//select #fbe983 color
|
||||
//var picker = $('#simple-colorpicker-1').data('ace_colorpicker')
|
||||
//picker.pick('red', true);//insert the color if it doesn't exist
|
||||
$(".knob").knob();
|
||||
var tag_input = $('#form-field-tags');
|
||||
try{
|
||||
tag_input.tag(
|
||||
{
|
||||
placeholder:tag_input.attr('placeholder'),
|
||||
//enable typeahead by specifying the source array
|
||||
source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
|
||||
/**
|
||||
//or fetch data from database, fetch those that match "query"
|
||||
source: function(query, process) {
|
||||
$.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
|
||||
.done(function(result_items){
|
||||
process(result_items);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
||||
)
|
||||
//programmatically add/remove a tag
|
||||
var $tag_obj = $('#form-field-tags').data('tag');
|
||||
$tag_obj.add('Programmatically Added');
|
||||
var index = $tag_obj.inValues('some tag');
|
||||
$tag_obj.remove(index);
|
||||
}
|
||||
catch(e) {
|
||||
//display a textarea for old IE, because it doesn't support this plugin or another one I tried!
|
||||
tag_input.after('<textarea id="'+tag_input.attr('id')+'" name="'+tag_input.attr('name')+'" rows="3">'+tag_input.val()+'</textarea>').remove();
|
||||
//autosize($('#form-field-tags'));
|
||||
}
|
||||
/////////
|
||||
$('#modal-form input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Drop files here or click to choose',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-cloud-upload',
|
||||
droppable:true,
|
||||
thumbnail:'large'
|
||||
})
|
||||
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
|
||||
//and its width cannot be determined.
|
||||
//so we set the width after modal is show
|
||||
$('#modal-form').on('shown.bs.modal', function () {
|
||||
if(!ace.vars['touch']) {
|
||||
$(this).find('.chosen-container').each(function(){
|
||||
$(this).find('a:first-child').css('width', '210px');
|
||||
$(this).find('.chosen-drop').css('width', '210px');
|
||||
$(this).find('.chosen-search input').css('width', '200px');
|
||||
});
|
||||
}
|
||||
})
|
||||
/**
|
||||
//or you can activate the chosen plugin after modal is shown
|
||||
//this way select element becomes visible with dimensions and chosen works as expected
|
||||
$('#modal-form').on('shown', function () {
|
||||
$(this).find('.modal-chosen').chosen();
|
||||
})
|
||||
*/
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
autosize.destroy('textarea[class*=autosize]')
|
||||
$('.limiterBox,.autosizejs').remove();
|
||||
$('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
855
WebContent/WEB-INF/views/admin/storage-form.jsp
Normal file
|
@ -0,0 +1,855 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>${type ? '新增' : '修改'}药品批次信息 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="${type ? '新增' : '修改'}药品批次信息 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/chosen.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-timepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/daterangepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datetimepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-colorpicker.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="index.html" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="${type ? 'active' : ''}">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">${type ? '新增' : '修改'}药品批次信息</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
${type ? '新增' : '修改'}药品批次信息
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
${type ? '填写' : '修改'}药品入库表单
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-storage-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 药品${type ? '名称' : '编号 (不可修改)'} </label>
|
||||
<div class="col-sm-4">
|
||||
<c:choose>
|
||||
<c:when test="${type}">
|
||||
<select class="chosen-select form-control" id="form-field-1" data-placeholder="选择药品..." name="PDno" required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${drugs}" var="drug">
|
||||
<option value="${drug.PDno}">${drug.PDname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="药品编号 (不可修改)" name="PDno" value="${pdbatch.PDno}" required="required" />
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-1"> 药品批次 (生产时间)${type ? '' : ' (不可修改)'} </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<c:choose>
|
||||
<c:when test="${type}">
|
||||
<input class="form-control date-picker" id="id-date-picker-1" type="text" placeholder="药品批次 (生产时间)" name="tempPDbatch" data-date-format="yyyy 年 mm 月 dd 日" required="required" />
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input class="form-control" id="id-date-picker-1" type="text" readonly="readonly" placeholder="药品批次 (生产时间) (不可修改)" name="tempPDbatch" value="<fmt:formatDate value="${pdbatch.PDbatch}" pattern="yyyy 年 MM 月 dd 日"/>" required="required" />
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="spinner1"> 药品数量 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="spinner1" type="text" placeholder="药品数量" name="PDnum" value="${pdbatch.PDnum}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-4"> 药品供应商 </label>
|
||||
<div class="col-sm-4">
|
||||
<select class="chosen-select form-control" id="form-field-4" data-placeholder="选择药品供应商..." name="Sno" required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${suppliers}" var="supplier">
|
||||
<option value="${supplier.sno}" ${supplier.sno == pdbatch.sno ? 'selected="selected"' : ''}>${supplier.sname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-5"> 入库库存管理员 </label>
|
||||
<div class="col-sm-4">
|
||||
<select class="chosen-select form-control" id="form-field-5" data-placeholder="选择入库库存管理员..." name="SAno" required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${admins}" var="admin">
|
||||
<option value="${admin.ano}" ${admin.ano == pdbatch.SAno ? 'selected="selected"' : ''}>${admin.aname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-2"> 药品入库日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control date-picker" id="id-date-picker-2" type="text" placeholder="药品入库日期" name="tempSdate" value="<fmt:formatDate value="${pdbatch.stime}" pattern="yyyy 年 MM 月 dd 日"/>" data-date-format="yyyy 年 mm 月 dd 日" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="timepicker1"> 药品入库时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="timepicker1" type="text" placeholder="药品入库时间" name="tempStime" value="<fmt:formatDate value="${pdbatch.stime}" pattern="HH:mm:ss"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
提交
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/chosen.jquery.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-timepicker.min.js"></script>
|
||||
<script src="../assets/js/moment.min.js"></script>
|
||||
<script src="../assets/js/daterangepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-colorpicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.knob.min.js"></script>
|
||||
<script src="../assets/js/autosize.min.js"></script>
|
||||
<script src="../assets/js/jquery.inputlimiter.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-tag.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('#id-disable-check').on('click', function() {
|
||||
var inp = $('#form-input-readonly').get(0);
|
||||
if(inp.hasAttribute('disabled')) {
|
||||
inp.setAttribute('readonly', 'true');
|
||||
inp.removeAttribute('disabled');
|
||||
inp.value="This text field is readonly!";
|
||||
}
|
||||
else {
|
||||
inp.setAttribute('disabled', 'disabled');
|
||||
inp.removeAttribute('readonly');
|
||||
inp.value="This text field is disabled!";
|
||||
}
|
||||
});
|
||||
if(!ace.vars['touch']) {
|
||||
$('.chosen-select').chosen({allow_single_deselect:true});
|
||||
//resize the chosen on window resize
|
||||
$(window)
|
||||
.off('resize.chosen')
|
||||
.on('resize.chosen', function() {
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
}).trigger('resize.chosen');
|
||||
//resize chosen on sidebar collapse/expand
|
||||
$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
|
||||
if(event_name != 'sidebar_collapsed') return;
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
});
|
||||
$('#chosen-multiple-style .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
|
||||
else $('#form-field-select-4').removeClass('tag-input-style');
|
||||
});
|
||||
}
|
||||
$('[data-rel=tooltip]').tooltip({container:'body'});
|
||||
$('[data-rel=popover]').popover({container:'body'});
|
||||
autosize($('textarea[class*=autosize]'));
|
||||
$('textarea.limited').inputlimiter({
|
||||
remText: '%n character%s remaining...',
|
||||
limitText: 'max allowed : %n.'
|
||||
});
|
||||
$.mask.definitions['~']='[+-]';
|
||||
$('.input-mask-date').mask('99/99/9999');
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('.input-mask-eyescript').mask('~9.99 ~9.99 999');
|
||||
$(".input-mask-product").mask("a*-999-a999",{placeholder:" ",completed:function(){alert("You typed the following: "+this.val());}});
|
||||
$( "#input-size-slider" ).css('width','200px').slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 8,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-4').attr('class', sizing[val]).attr('placeholder', '.'+sizing[val]);
|
||||
}
|
||||
});
|
||||
$( "#input-span-slider" ).slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 12,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-5').attr('class', 'col-xs-'+val).val('.col-xs-'+val);
|
||||
}
|
||||
});
|
||||
//"jQuery UI Slider"
|
||||
//range slider tooltip example
|
||||
$( "#slider-range" ).css('height','200px').slider({
|
||||
orientation: "vertical",
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 100,
|
||||
values: [ 17, 67 ],
|
||||
slide: function( event, ui ) {
|
||||
var val = ui.values[$(ui.handle).index()-1] + "";
|
||||
if( !ui.handle.firstChild ) {
|
||||
$("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")
|
||||
.prependTo(ui.handle);
|
||||
}
|
||||
$(ui.handle.firstChild).show().children().eq(1).text(val);
|
||||
}
|
||||
}).find('span.ui-slider-handle').on('blur', function(){
|
||||
$(this.firstChild).hide();
|
||||
});
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 1,
|
||||
max: 10,
|
||||
value: 2
|
||||
});
|
||||
$( "#slider-eq > span" ).css({width:'90%', 'float':'left', margin:'15px'}).each(function() {
|
||||
// read initial values from markup and remove that
|
||||
var value = parseInt( $( this ).text(), 10 );
|
||||
$( this ).empty().slider({
|
||||
value: value,
|
||||
range: "min",
|
||||
animate: true
|
||||
});
|
||||
});
|
||||
$("#slider-eq > span.ui-slider-purple").slider('disable');//disable third item
|
||||
$('#id-input-file-1, #id-input-file-2').ace_file_input({
|
||||
no_file:'No File ...',
|
||||
btn_choose:'Choose',
|
||||
btn_change:'Change',
|
||||
droppable:false,
|
||||
onchange:null,
|
||||
thumbnail:false //| true | large
|
||||
//whitelist:'gif|png|jpg|jpeg'
|
||||
//blacklist:'exe|php'
|
||||
//onchange:''
|
||||
//
|
||||
});
|
||||
//pre-show a file name, for example a previously selected file
|
||||
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
|
||||
$('#id-input-file-3').ace_file_input({
|
||||
style: 'well',
|
||||
btn_choose: 'Drop files here or click to choose',
|
||||
btn_change: null,
|
||||
no_icon: 'ace-icon fa fa-cloud-upload',
|
||||
droppable: true,
|
||||
thumbnail: 'small'//large | fit
|
||||
//,icon_remove:null//set null, to hide remove/reset button
|
||||
/**,before_change:function(files, dropped) {
|
||||
//Check an example below
|
||||
//or examples/file-upload.html
|
||||
return true;
|
||||
}*/
|
||||
/**,before_remove : function() {
|
||||
return true;
|
||||
}*/
|
||||
,
|
||||
preview_error : function(filename, error_code) {
|
||||
//name of the file that failed
|
||||
//error_code values
|
||||
//1 = 'FILE_LOAD_FAILED',
|
||||
//2 = 'IMAGE_LOAD_FAILED',
|
||||
//3 = 'THUMBNAIL_FAILED'
|
||||
//alert(error_code);
|
||||
}
|
||||
}).on('change', function(){
|
||||
//console.log($(this).data('ace_input_files'));
|
||||
//console.log($(this).data('ace_input_method'));
|
||||
});
|
||||
//$('#id-input-file-3')
|
||||
//.ace_file_input('show_file_list', [
|
||||
//{type: 'image', name: 'name of image', path: 'http://path/to/image/for/preview'},
|
||||
//{type: 'file', name: 'hello.txt'}
|
||||
//]);
|
||||
//dynamically change allowed formats by changing allowExt && allowMime function
|
||||
$('#id-file-format').removeAttr('checked').on('change', function() {
|
||||
var whitelist_ext, whitelist_mime;
|
||||
var btn_choose
|
||||
var no_icon
|
||||
if(this.checked) {
|
||||
btn_choose = "Drop images here or click to choose";
|
||||
no_icon = "ace-icon fa fa-picture-o";
|
||||
whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
|
||||
whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
|
||||
}
|
||||
else {
|
||||
btn_choose = "Drop files here or click to choose";
|
||||
no_icon = "ace-icon fa fa-cloud-upload";
|
||||
whitelist_ext = null;//all extensions are acceptable
|
||||
whitelist_mime = null;//all mimes are acceptable
|
||||
}
|
||||
var file_input = $('#id-input-file-3');
|
||||
file_input
|
||||
.ace_file_input('update_settings',
|
||||
{
|
||||
'btn_choose': btn_choose,
|
||||
'no_icon': no_icon,
|
||||
'allowExt': whitelist_ext,
|
||||
'allowMime': whitelist_mime
|
||||
})
|
||||
file_input.ace_file_input('reset_input');
|
||||
file_input
|
||||
.off('file.error.ace')
|
||||
.on('file.error.ace', function(e, info) {
|
||||
//console.log(info.file_count);//number of selected files
|
||||
//console.log(info.invalid_count);//number of invalid files
|
||||
//console.log(info.error_list);//a list of errors in the following format
|
||||
//info.error_count['ext']
|
||||
//info.error_count['mime']
|
||||
//info.error_count['size']
|
||||
//info.error_list['ext'] = [list of file names with invalid extension]
|
||||
//info.error_list['mime'] = [list of file names with invalid mimetype]
|
||||
//info.error_list['size'] = [list of file names with invalid size]
|
||||
/**
|
||||
if( !info.dropped ) {
|
||||
//perhapse reset file field if files have been selected, and there are invalid files among them
|
||||
//when files are dropped, only valid files will be added to our file array
|
||||
e.preventDefault();//it will rest input
|
||||
}
|
||||
*/
|
||||
//if files have been selected (not dropped), you can choose to reset input
|
||||
//because browser keeps all selected files anyway and this cannot be changed
|
||||
//we can only reset file field to become empty again
|
||||
//on any case you still should check files with your server side script
|
||||
//because any arbitrary file can be uploaded by user and it's not safe to rely on browser-side measures
|
||||
});
|
||||
/**
|
||||
file_input
|
||||
.off('file.preview.ace')
|
||||
.on('file.preview.ace', function(e, info) {
|
||||
console.log(info.file.width);
|
||||
console.log(info.file.height);
|
||||
e.preventDefault();//to prevent preview
|
||||
});
|
||||
*/
|
||||
});
|
||||
$('#spinner1').ace_spinner({value:${type ? '1' : '0'}, min:${type ? '1' : '0'}, max:10000, step:100, btn_up_class:'btn-info', btn_down_class:'btn-info'})
|
||||
.closest('.ace-spinner')
|
||||
.on('changed.fu.spinbox', function(){
|
||||
//console.log($('#spinner1').val())
|
||||
});
|
||||
$('#spinner2').ace_spinner({value:0, min:0, max:10000, step:100, touch_spinner: true, icon_up:'ace-icon fa fa-caret-up bigger-110', icon_down:'ace-icon fa fa-caret-down bigger-110'});
|
||||
$('#spinner3').ace_spinner({value:0, min:-100, max:100, step:10, on_sides: true, icon_up:'ace-icon fa fa-plus bigger-110', icon_down:'ace-icon fa fa-minus bigger-110', btn_up_class:'btn-success', btn_down_class:'btn-danger'});
|
||||
$('#spinner4').ace_spinner({value:0, min:-100, max:100, step:10, on_sides: true, icon_up:'ace-icon fa fa-plus', icon_down:'ace-icon fa fa-minus', btn_up_class:'btn-purple', btn_down_class:'btn-purple'});
|
||||
//$('#spinner1').ace_spinner('disable').ace_spinner('value', 11);
|
||||
//or
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('disable').spinner('enable').spinner('value', 11);//disable, enable or change value
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('value', 0);//reset to 0
|
||||
//datepicker plugin
|
||||
//link
|
||||
$('.date-picker').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true
|
||||
})
|
||||
//show datepicker when clicking on the icon
|
||||
.next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
//or change it into a date range picker
|
||||
$('.input-daterange').datepicker({autoclose:true});
|
||||
//to translate the daterange picker, please copy the "examples/daterange-fr.js" contents here before initialization
|
||||
$('input[name=date-range-picker]').daterangepicker({
|
||||
'applyClass' : 'btn-sm btn-success',
|
||||
'cancelClass' : 'btn-sm btn-default',
|
||||
locale: {
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
}
|
||||
})
|
||||
.prev().on(ace.click_event, function(){
|
||||
$(this).next().focus();
|
||||
});
|
||||
$('#timepicker1').timepicker({
|
||||
minuteStep: 1,
|
||||
showSeconds: true,
|
||||
showMeridian: false,
|
||||
disableFocus: true,
|
||||
icons: {
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down'
|
||||
}
|
||||
}).on('focus', function() {
|
||||
$('#timepicker1').timepicker('showWidget');
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
if(!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({
|
||||
//format: 'MM/DD/YYYY h:mm:ss A',//use this option to display seconds
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-arrows ',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-times'
|
||||
}
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
$('#colorpicker1').colorpicker();
|
||||
//$('.colorpicker').last().css('z-index', 2000);//if colorpicker is inside a modal, its z-index should be higher than modal'safe
|
||||
$('#simple-colorpicker-1').ace_colorpicker();
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', 2);//select 2nd color
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', '#fbe983');//select #fbe983 color
|
||||
//var picker = $('#simple-colorpicker-1').data('ace_colorpicker')
|
||||
//picker.pick('red', true);//insert the color if it doesn't exist
|
||||
$(".knob").knob();
|
||||
var tag_input = $('#form-field-tags');
|
||||
try{
|
||||
tag_input.tag(
|
||||
{
|
||||
placeholder:tag_input.attr('placeholder'),
|
||||
//enable typeahead by specifying the source array
|
||||
source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
|
||||
/**
|
||||
//or fetch data from database, fetch those that match "query"
|
||||
source: function(query, process) {
|
||||
$.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
|
||||
.done(function(result_items){
|
||||
process(result_items);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
||||
)
|
||||
//programmatically add/remove a tag
|
||||
var $tag_obj = $('#form-field-tags').data('tag');
|
||||
$tag_obj.add('Programmatically Added');
|
||||
var index = $tag_obj.inValues('some tag');
|
||||
$tag_obj.remove(index);
|
||||
}
|
||||
catch(e) {
|
||||
//display a textarea for old IE, because it doesn't support this plugin or another one I tried!
|
||||
tag_input.after('<textarea id="'+tag_input.attr('id')+'" name="'+tag_input.attr('name')+'" rows="3">'+tag_input.val()+'</textarea>').remove();
|
||||
//autosize($('#form-field-tags'));
|
||||
}
|
||||
/////////
|
||||
$('#modal-form input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Drop files here or click to choose',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-cloud-upload',
|
||||
droppable:true,
|
||||
thumbnail:'large'
|
||||
})
|
||||
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
|
||||
//and its width cannot be determined.
|
||||
//so we set the width after modal is show
|
||||
$('#modal-form').on('shown.bs.modal', function () {
|
||||
if(!ace.vars['touch']) {
|
||||
$(this).find('.chosen-container').each(function(){
|
||||
$(this).find('a:first-child').css('width', '210px');
|
||||
$(this).find('.chosen-drop').css('width', '210px');
|
||||
$(this).find('.chosen-search input').css('width', '200px');
|
||||
});
|
||||
}
|
||||
})
|
||||
/**
|
||||
//or you can activate the chosen plugin after modal is shown
|
||||
//this way select element becomes visible with dimensions and chosen works as expected
|
||||
$('#modal-form').on('shown', function () {
|
||||
$(this).find('.modal-chosen').chosen();
|
||||
})
|
||||
*/
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
autosize.destroy('textarea[class*=autosize]')
|
||||
$('.limiterBox,.autosizejs').remove();
|
||||
$('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
789
WebContent/WEB-INF/views/admin/supplier-form.jsp
Normal file
|
@ -0,0 +1,789 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>${type ? '新增' : '修改'}供应商信息 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="${type ? '新增' : '修改'}供应商信息 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/chosen.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-timepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/daterangepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datetimepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-colorpicker.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="index.html" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="${type ? 'active' : ''}">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">${type ? '添加' : '修改'}供应商信息</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
${type ? '添加' : '修改'}一条供应商信息记录
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-supplier-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 供应商编号${type ? '' : ' (不可修改)'} </label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" required="required" id="form-field-1" name="Sno" value="${supplier.sno}" ${type ? '' : 'readonly="readonly"'} maxlength="20" placeholder="供应商编号" class="col-xs-10 col-sm-5" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 供应商名称 </label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" required="required" id="form-field-2" name="Sname" value="${supplier.sname}" maxlength="20" placeholder="供应商名称" class="col-xs-10 col-sm-5" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-3"> 供应商地址 </label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" required="required" id="form-field-3" name="Saddr" value="${supplier.saddr}" maxlength="60" placeholder="供应商地址" class="col-xs-10 col-sm-5" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-4"> 供应商电话 </label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" required="required" id="form-field-4" name="Sphone" value="${supplier.sphone}" maxlength="20" placeholder="供应商电话" class="col-xs-10 col-sm-5" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
提交
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/chosen.jquery.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-timepicker.min.js"></script>
|
||||
<script src="../assets/js/moment.min.js"></script>
|
||||
<script src="../assets/js/daterangepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-colorpicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.knob.min.js"></script>
|
||||
<script src="../assets/js/autosize.min.js"></script>
|
||||
<script src="../assets/js/jquery.inputlimiter.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-tag.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('#id-disable-check').on('click', function() {
|
||||
var inp = $('#form-input-readonly').get(0);
|
||||
if(inp.hasAttribute('disabled')) {
|
||||
inp.setAttribute('readonly', 'true');
|
||||
inp.removeAttribute('disabled');
|
||||
inp.value="This text field is readonly!";
|
||||
}
|
||||
else {
|
||||
inp.setAttribute('disabled', 'disabled');
|
||||
inp.removeAttribute('readonly');
|
||||
inp.value="This text field is disabled!";
|
||||
}
|
||||
});
|
||||
if(!ace.vars['touch']) {
|
||||
$('.chosen-select').chosen({allow_single_deselect:true});
|
||||
//resize the chosen on window resize
|
||||
$(window)
|
||||
.off('resize.chosen')
|
||||
.on('resize.chosen', function() {
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
}).trigger('resize.chosen');
|
||||
//resize chosen on sidebar collapse/expand
|
||||
$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
|
||||
if(event_name != 'sidebar_collapsed') return;
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
});
|
||||
$('#chosen-multiple-style .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
|
||||
else $('#form-field-select-4').removeClass('tag-input-style');
|
||||
});
|
||||
}
|
||||
$('[data-rel=tooltip]').tooltip({container:'body'});
|
||||
$('[data-rel=popover]').popover({container:'body'});
|
||||
autosize($('textarea[class*=autosize]'));
|
||||
$('textarea.limited').inputlimiter({
|
||||
remText: '%n character%s remaining...',
|
||||
limitText: 'max allowed : %n.'
|
||||
});
|
||||
$.mask.definitions['~']='[+-]';
|
||||
$('.input-mask-date').mask('99/99/9999');
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('.input-mask-eyescript').mask('~9.99 ~9.99 999');
|
||||
$(".input-mask-product").mask("a*-999-a999",{placeholder:" ",completed:function(){alert("You typed the following: "+this.val());}});
|
||||
$( "#input-size-slider" ).css('width','200px').slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 8,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-4').attr('class', sizing[val]).attr('placeholder', '.'+sizing[val]);
|
||||
}
|
||||
});
|
||||
$( "#input-span-slider" ).slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 12,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-5').attr('class', 'col-xs-'+val).val('.col-xs-'+val);
|
||||
}
|
||||
});
|
||||
//"jQuery UI Slider"
|
||||
//range slider tooltip example
|
||||
$( "#slider-range" ).css('height','200px').slider({
|
||||
orientation: "vertical",
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 100,
|
||||
values: [ 17, 67 ],
|
||||
slide: function( event, ui ) {
|
||||
var val = ui.values[$(ui.handle).index()-1] + "";
|
||||
if( !ui.handle.firstChild ) {
|
||||
$("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")
|
||||
.prependTo(ui.handle);
|
||||
}
|
||||
$(ui.handle.firstChild).show().children().eq(1).text(val);
|
||||
}
|
||||
}).find('span.ui-slider-handle').on('blur', function(){
|
||||
$(this.firstChild).hide();
|
||||
});
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 1,
|
||||
max: 10,
|
||||
value: 2
|
||||
});
|
||||
$( "#slider-eq > span" ).css({width:'90%', 'float':'left', margin:'15px'}).each(function() {
|
||||
// read initial values from markup and remove that
|
||||
var value = parseInt( $( this ).text(), 10 );
|
||||
$( this ).empty().slider({
|
||||
value: value,
|
||||
range: "min",
|
||||
animate: true
|
||||
});
|
||||
});
|
||||
$("#slider-eq > span.ui-slider-purple").slider('disable');//disable third item
|
||||
$('#id-input-file-1, #id-input-file-2').ace_file_input({
|
||||
no_file:'No File ...',
|
||||
btn_choose:'Choose',
|
||||
btn_change:'Change',
|
||||
droppable:false,
|
||||
onchange:null,
|
||||
thumbnail:false //| true | large
|
||||
//whitelist:'gif|png|jpg|jpeg'
|
||||
//blacklist:'exe|php'
|
||||
//onchange:''
|
||||
//
|
||||
});
|
||||
//pre-show a file name, for example a previously selected file
|
||||
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
|
||||
$('#id-input-file-3').ace_file_input({
|
||||
style: 'well',
|
||||
btn_choose: 'Drop files here or click to choose',
|
||||
btn_change: null,
|
||||
no_icon: 'ace-icon fa fa-cloud-upload',
|
||||
droppable: true,
|
||||
thumbnail: 'small'//large | fit
|
||||
//,icon_remove:null//set null, to hide remove/reset button
|
||||
/**,before_change:function(files, dropped) {
|
||||
//Check an example below
|
||||
//or examples/file-upload.html
|
||||
return true;
|
||||
}*/
|
||||
/**,before_remove : function() {
|
||||
return true;
|
||||
}*/
|
||||
,
|
||||
preview_error : function(filename, error_code) {
|
||||
//name of the file that failed
|
||||
//error_code values
|
||||
//1 = 'FILE_LOAD_FAILED',
|
||||
//2 = 'IMAGE_LOAD_FAILED',
|
||||
//3 = 'THUMBNAIL_FAILED'
|
||||
//alert(error_code);
|
||||
}
|
||||
}).on('change', function(){
|
||||
//console.log($(this).data('ace_input_files'));
|
||||
//console.log($(this).data('ace_input_method'));
|
||||
});
|
||||
//$('#id-input-file-3')
|
||||
//.ace_file_input('show_file_list', [
|
||||
//{type: 'image', name: 'name of image', path: 'http://path/to/image/for/preview'},
|
||||
//{type: 'file', name: 'hello.txt'}
|
||||
//]);
|
||||
//dynamically change allowed formats by changing allowExt && allowMime function
|
||||
$('#id-file-format').removeAttr('checked').on('change', function() {
|
||||
var whitelist_ext, whitelist_mime;
|
||||
var btn_choose
|
||||
var no_icon
|
||||
if(this.checked) {
|
||||
btn_choose = "Drop images here or click to choose";
|
||||
no_icon = "ace-icon fa fa-picture-o";
|
||||
whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
|
||||
whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
|
||||
}
|
||||
else {
|
||||
btn_choose = "Drop files here or click to choose";
|
||||
no_icon = "ace-icon fa fa-cloud-upload";
|
||||
whitelist_ext = null;//all extensions are acceptable
|
||||
whitelist_mime = null;//all mimes are acceptable
|
||||
}
|
||||
var file_input = $('#id-input-file-3');
|
||||
file_input
|
||||
.ace_file_input('update_settings',
|
||||
{
|
||||
'btn_choose': btn_choose,
|
||||
'no_icon': no_icon,
|
||||
'allowExt': whitelist_ext,
|
||||
'allowMime': whitelist_mime
|
||||
})
|
||||
file_input.ace_file_input('reset_input');
|
||||
file_input
|
||||
.off('file.error.ace')
|
||||
.on('file.error.ace', function(e, info) {
|
||||
//console.log(info.file_count);//number of selected files
|
||||
//console.log(info.invalid_count);//number of invalid files
|
||||
//console.log(info.error_list);//a list of errors in the following format
|
||||
//info.error_count['ext']
|
||||
//info.error_count['mime']
|
||||
//info.error_count['size']
|
||||
//info.error_list['ext'] = [list of file names with invalid extension]
|
||||
//info.error_list['mime'] = [list of file names with invalid mimetype]
|
||||
//info.error_list['size'] = [list of file names with invalid size]
|
||||
/**
|
||||
if( !info.dropped ) {
|
||||
//perhapse reset file field if files have been selected, and there are invalid files among them
|
||||
//when files are dropped, only valid files will be added to our file array
|
||||
e.preventDefault();//it will rest input
|
||||
}
|
||||
*/
|
||||
//if files have been selected (not dropped), you can choose to reset input
|
||||
//because browser keeps all selected files anyway and this cannot be changed
|
||||
//we can only reset file field to become empty again
|
||||
//on any case you still should check files with your server side script
|
||||
//because any arbitrary file can be uploaded by user and it's not safe to rely on browser-side measures
|
||||
});
|
||||
/**
|
||||
file_input
|
||||
.off('file.preview.ace')
|
||||
.on('file.preview.ace', function(e, info) {
|
||||
console.log(info.file.width);
|
||||
console.log(info.file.height);
|
||||
e.preventDefault();//to prevent preview
|
||||
});
|
||||
*/
|
||||
});
|
||||
$('#spinner1').ace_spinner({value:0,min:0,max:200,step:10, btn_up_class:'btn-info', btn_down_class:'btn-info'})
|
||||
.closest('.ace-spinner')
|
||||
.on('changed.fu.spinbox', function(){
|
||||
//console.log($('#spinner1').val())
|
||||
});
|
||||
$('#spinner2').ace_spinner({value:0,min:0,max:10000,step:100, touch_spinner: true, icon_up:'ace-icon fa fa-caret-up bigger-110', icon_down:'ace-icon fa fa-caret-down bigger-110'});
|
||||
$('#spinner3').ace_spinner({value:0,min:-100,max:100,step:10, on_sides: true, icon_up:'ace-icon fa fa-plus bigger-110', icon_down:'ace-icon fa fa-minus bigger-110', btn_up_class:'btn-success', btn_down_class:'btn-danger'});
|
||||
$('#spinner4').ace_spinner({value:0,min:-100,max:100,step:10, on_sides: true, icon_up:'ace-icon fa fa-plus', icon_down:'ace-icon fa fa-minus', btn_up_class:'btn-purple', btn_down_class:'btn-purple'});
|
||||
//$('#spinner1').ace_spinner('disable').ace_spinner('value', 11);
|
||||
//or
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('disable').spinner('enable').spinner('value', 11);//disable, enable or change value
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('value', 0);//reset to 0
|
||||
//datepicker plugin
|
||||
//link
|
||||
$('.date-picker').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true
|
||||
})
|
||||
//show datepicker when clicking on the icon
|
||||
.next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
//or change it into a date range picker
|
||||
$('.input-daterange').datepicker({autoclose:true});
|
||||
//to translate the daterange picker, please copy the "examples/daterange-fr.js" contents here before initialization
|
||||
$('input[name=date-range-picker]').daterangepicker({
|
||||
'applyClass' : 'btn-sm btn-success',
|
||||
'cancelClass' : 'btn-sm btn-default',
|
||||
locale: {
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
}
|
||||
})
|
||||
.prev().on(ace.click_event, function(){
|
||||
$(this).next().focus();
|
||||
});
|
||||
$('#timepicker1').timepicker({
|
||||
minuteStep: 1,
|
||||
showSeconds: true,
|
||||
showMeridian: false,
|
||||
disableFocus: true,
|
||||
icons: {
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down'
|
||||
}
|
||||
}).on('focus', function() {
|
||||
$('#timepicker1').timepicker('showWidget');
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
if(!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({
|
||||
//format: 'MM/DD/YYYY h:mm:ss A',//use this option to display seconds
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-arrows ',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-times'
|
||||
}
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
$('#colorpicker1').colorpicker();
|
||||
//$('.colorpicker').last().css('z-index', 2000);//if colorpicker is inside a modal, its z-index should be higher than modal'safe
|
||||
$('#simple-colorpicker-1').ace_colorpicker();
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', 2);//select 2nd color
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', '#fbe983');//select #fbe983 color
|
||||
//var picker = $('#simple-colorpicker-1').data('ace_colorpicker')
|
||||
//picker.pick('red', true);//insert the color if it doesn't exist
|
||||
$(".knob").knob();
|
||||
var tag_input = $('#form-field-tags');
|
||||
try{
|
||||
tag_input.tag(
|
||||
{
|
||||
placeholder:tag_input.attr('placeholder'),
|
||||
//enable typeahead by specifying the source array
|
||||
source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
|
||||
/**
|
||||
//or fetch data from database, fetch those that match "query"
|
||||
source: function(query, process) {
|
||||
$.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
|
||||
.done(function(result_items){
|
||||
process(result_items);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
||||
)
|
||||
//programmatically add/remove a tag
|
||||
var $tag_obj = $('#form-field-tags').data('tag');
|
||||
$tag_obj.add('Programmatically Added');
|
||||
var index = $tag_obj.inValues('some tag');
|
||||
$tag_obj.remove(index);
|
||||
}
|
||||
catch(e) {
|
||||
//display a textarea for old IE, because it doesn't support this plugin or another one I tried!
|
||||
tag_input.after('<textarea id="'+tag_input.attr('id')+'" name="'+tag_input.attr('name')+'" rows="3">'+tag_input.val()+'</textarea>').remove();
|
||||
//autosize($('#form-field-tags'));
|
||||
}
|
||||
/////////
|
||||
$('#modal-form input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Drop files here or click to choose',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-cloud-upload',
|
||||
droppable:true,
|
||||
thumbnail:'large'
|
||||
})
|
||||
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
|
||||
//and its width cannot be determined.
|
||||
//so we set the width after modal is show
|
||||
$('#modal-form').on('shown.bs.modal', function () {
|
||||
if(!ace.vars['touch']) {
|
||||
$(this).find('.chosen-container').each(function(){
|
||||
$(this).find('a:first-child').css('width', '210px');
|
||||
$(this).find('.chosen-drop').css('width', '210px');
|
||||
$(this).find('.chosen-search input').css('width', '200px');
|
||||
});
|
||||
}
|
||||
})
|
||||
/**
|
||||
//or you can activate the chosen plugin after modal is shown
|
||||
//this way select element becomes visible with dimensions and chosen works as expected
|
||||
$('#modal-form').on('shown', function () {
|
||||
$(this).find('.modal-chosen').chosen();
|
||||
})
|
||||
*/
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
autosize.destroy('textarea[class*=autosize]')
|
||||
$('.limiterBox,.autosizejs').remove();
|
||||
$('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
711
WebContent/WEB-INF/views/admin/welcome.jsp
Normal file
|
@ -0,0 +1,711 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>欢迎 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="欢迎 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的药品总批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我入库的库存药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-specific-admin?Ano=${currentAdmin.ano}">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我销毁的药品批数占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="green dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-bell icon-animated-bell"></i>
|
||||
<span class="badge badge-success">${lowInventoryDrugsNum + close2ExpiryPDbatchesNum}</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-exclamation-triangle"></i>
|
||||
警报
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar navbar-pink">
|
||||
<li>
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-pink fa fa-comment"></i>
|
||||
库存药品数量到达下限警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-info">${lowInventoryDrugsNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">
|
||||
<i class="btn btn-xs no-hover btn-success fa fa-shopping-cart"></i>
|
||||
库存药品批次临期警报
|
||||
</span>
|
||||
<span class="pull-right badge badge-success">${close2ExpiryPDbatchesNum}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/Admin.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentAdmin.aname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../admin/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="active">
|
||||
<a href="../admin/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-supplier-list">
|
||||
<i class="menu-icon fa fa-briefcase"></i>
|
||||
<span class="menu-text"> 查看供应商信息列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-supplier-form">
|
||||
<i class="menu-icon fa fa-desktop"></i>
|
||||
<span class="menu-text"> 填写新增供应商表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<i class="menu-icon fa fa-cogs"></i>
|
||||
<span class="menu-text"> 查看库存紧张的药品 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<i class="menu-icon fa fa-exclamation-circle"></i>
|
||||
<span class="menu-text"> 查看临期的药品批次 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看药品库存信息 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../admin/query-drug-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看库存药品批次明细
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/query-destroyed-pdbatch-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已销毁药品批次列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../admin/add-storage-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写药品入库表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">欢迎页面</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>统计信息</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="alert alert-info">
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
欢迎使用
|
||||
<strong class="blue">
|
||||
医院药品库存管理系统 DIMS (v1.0)
|
||||
</strong>
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
</div>
|
||||
<c:if test="${lowInventoryDrugsNum != 0}">
|
||||
<div class="alert alert-warning">
|
||||
<i class="ace-icon fa fa-bell-o"></i>
|
||||
警告:共有 ${lowInventoryDrugsNum} 种药品库存紧张,请尽快进货入库!
|
||||
<a href="../admin/query-low-inventory-drug-list">
|
||||
<button class="btn btn-xs btn-warning">
|
||||
<i class="ace-icon fa fa-fire bigger-110"></i>
|
||||
查看详情
|
||||
<i class="ace-icon fa fa-arrow-right icon-on-right"></i>
|
||||
</button>
|
||||
</a>
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${close2ExpiryPDbatchesNum != 0}">
|
||||
<div class="alert alert-danger">
|
||||
<i class="ace-icon fa fa-bullhorn"></i>
|
||||
严重:共有 ${close2ExpiryPDbatchesNum} 个批次的库存药品临期,请立即处理!
|
||||
<a href="../admin/query-close-2-expiry-pdbatch-list">
|
||||
<button class="btn btn-xs btn-danger">
|
||||
<i class="ace-icon fa fa-bolt bigger-110"></i>
|
||||
查看详情
|
||||
<i class="ace-icon fa fa-arrow-right icon-on-right"></i>
|
||||
</button>
|
||||
</a>
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="row">
|
||||
<div class="space-6"></div>
|
||||
<div class="col-sm-7 infobox-container">
|
||||
<div class="infobox infobox-red">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${inventoryDrugsNum}</span>
|
||||
<div class="infobox-content">库存药品种数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-pink">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${inventoryPDbatchesNum}</span>
|
||||
<div class="infobox-content">库存药品批数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-purple">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${destroyedPDbatchesNum}</span>
|
||||
<div class="infobox-content">销毁药品批数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-6"></div>
|
||||
<div class="infobox infobox-green">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${myPDbatchesNum}</span>
|
||||
<div class="infobox-content">我入库的药品总批数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-blue">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${myInventoryPDbatchesNum}</span>
|
||||
<div class="infobox-content">我入库的库存药品批数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-grey">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${myDestroyedPDbatchesNum}</span>
|
||||
<div class="infobox-content">我销毁的药品批数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-6"></div>
|
||||
<div class="infobox infobox-green2">
|
||||
<div class="infobox-progress">
|
||||
<div class="easy-pie-chart percentage" data-percent="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" data-size="46">
|
||||
<span class="percent">
|
||||
<fmt:formatNumber value="${myPDbatchesNum / (inventoryPDbatchesNum + destroyedPDbatchesNum) * 100}" pattern="#"/>
|
||||
</span>%
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-text">我入库的总批数</span>
|
||||
<div class="infobox-content">
|
||||
<span class="bigger-110">~</span>
|
||||
占总批数比例
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-blue2">
|
||||
<div class="infobox-progress">
|
||||
<div class="easy-pie-chart percentage" data-percent="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" data-size="46">
|
||||
<span class="percent">
|
||||
<fmt:formatNumber value="${myInventoryPDbatchesNum / inventoryPDbatchesNum * 100}" pattern="#"/>
|
||||
</span>%
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-text">我入库的药品批数</span>
|
||||
<div class="infobox-content">
|
||||
<span class="bigger-110">~</span>
|
||||
占总库存批数比例
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-grey2">
|
||||
<div class="infobox-progress">
|
||||
<div class="easy-pie-chart percentage" data-percent="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" data-size="46">
|
||||
<span class="percent">
|
||||
<fmt:formatNumber value="${myDestroyedPDbatchesNum / destroyedPDbatchesNum * 100}" pattern="#"/>
|
||||
</span>%
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-text">我销毁的药品批数</span>
|
||||
<div class="infobox-content">
|
||||
<span class="bigger-110">~</span>
|
||||
占总销毁批数比例
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.row -->
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/jquery.easypiechart.min.js"></script>
|
||||
<script src="../assets/js/jquery.sparkline.index.min.js"></script>
|
||||
<script src="../assets/js/jquery.flot.min.js"></script>
|
||||
<script src="../assets/js/jquery.flot.pie.min.js"></script>
|
||||
<script src="../assets/js/jquery.flot.resize.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('.easy-pie-chart.percentage').each(function(){
|
||||
var $box = $(this).closest('.infobox');
|
||||
var barColor = $(this).data('color') || (!$box.hasClass('infobox-dark') ? $box.css('color') : 'rgba(255,255,255,0.95)');
|
||||
var trackColor = barColor == 'rgba(255,255,255,0.95)' ? 'rgba(255,255,255,0.25)' : '#E2E2E2';
|
||||
var size = parseInt($(this).data('size')) || 50;
|
||||
$(this).easyPieChart({
|
||||
barColor: barColor,
|
||||
trackColor: trackColor,
|
||||
scaleColor: false,
|
||||
lineCap: 'butt',
|
||||
lineWidth: parseInt(size/10),
|
||||
animate: ace.vars['old_ie'] ? false : 1000,
|
||||
size: size
|
||||
});
|
||||
})
|
||||
$('.sparkline').each(function(){
|
||||
var $box = $(this).closest('.infobox');
|
||||
var barColor = !$box.hasClass('infobox-dark') ? $box.css('color') : '#FFF';
|
||||
$(this).sparkline('html',
|
||||
{
|
||||
tagValuesAttribute:'data-values',
|
||||
type: 'bar',
|
||||
barColor: barColor,
|
||||
chartRangeMin:$(this).data('min') || 0
|
||||
});
|
||||
});
|
||||
//flot chart resize plugin, somehow manipulates default browser resize event to optimize it!
|
||||
//but sometimes it brings up errors with normal resize event handlers
|
||||
$.resize.throttleWindow = false;
|
||||
var placeholder = $('#piechart-placeholder').css({'width':'90%', 'min-height':'150px'});
|
||||
var data = [
|
||||
{ label: "social networks", data: 38.7, color: "#68BC31"},
|
||||
{ label: "search engines", data: 24.5, color: "#2091CF"},
|
||||
{ label: "ad campaigns", data: 8.2, color: "#AF4E96"},
|
||||
{ label: "direct traffic", data: 18.6, color: "#DA5430"},
|
||||
{ label: "other", data: 10, color: "#FEE074"}
|
||||
]
|
||||
function drawPieChart(placeholder, data, position) {
|
||||
$.plot(placeholder, data, {
|
||||
series: {
|
||||
pie: {
|
||||
show: true,
|
||||
tilt:0.8,
|
||||
highlight: {
|
||||
opacity: 0.25
|
||||
},
|
||||
stroke: {
|
||||
color: '#fff',
|
||||
width: 2
|
||||
},
|
||||
startAngle: 2
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
show: true,
|
||||
position: position || "ne",
|
||||
labelBoxBorderColor: null,
|
||||
margin:[-30,15]
|
||||
}
|
||||
,
|
||||
grid: {
|
||||
hoverable: true,
|
||||
clickable: true
|
||||
}
|
||||
})
|
||||
}
|
||||
drawPieChart(placeholder, data);
|
||||
/**
|
||||
we saved the drawing function and the data to redraw with different position later when switching to RTL mode dynamically
|
||||
so that's not needed actually.
|
||||
*/
|
||||
placeholder.data('chart', data);
|
||||
placeholder.data('draw', drawPieChart);
|
||||
//pie chart tooltip example
|
||||
var $tooltip = $("<div class='tooltip top in'><div class='tooltip-inner'></div></div>").hide().appendTo('body');
|
||||
var previousPoint = null;
|
||||
placeholder.on('plothover', function (event, pos, item) {
|
||||
if(item) {
|
||||
if (previousPoint != item.seriesIndex) {
|
||||
previousPoint = item.seriesIndex;
|
||||
var tip = item.series['label'] + " : " + item.series['percent']+'%';
|
||||
$tooltip.show().children(0).text(tip);
|
||||
}
|
||||
$tooltip.css({top:pos.pageY + 10, left:pos.pageX + 10});
|
||||
} else {
|
||||
$tooltip.hide();
|
||||
previousPoint = null;
|
||||
}
|
||||
});
|
||||
/////////////////////////////////////
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
$tooltip.remove();
|
||||
});
|
||||
var d1 = [];
|
||||
for (var i = 0; i < Math.PI * 2; i += 0.5) {
|
||||
d1.push([i, Math.sin(i)]);
|
||||
}
|
||||
var d2 = [];
|
||||
for (var i = 0; i < Math.PI * 2; i += 0.5) {
|
||||
d2.push([i, Math.cos(i)]);
|
||||
}
|
||||
var d3 = [];
|
||||
for (var i = 0; i < Math.PI * 2; i += 0.2) {
|
||||
d3.push([i, Math.tan(i)]);
|
||||
}
|
||||
var sales_charts = $('#sales-charts').css({'width':'100%', 'height':'220px'});
|
||||
$.plot("#sales-charts", [
|
||||
{ label: "Domains", data: d1 },
|
||||
{ label: "Hosting", data: d2 },
|
||||
{ label: "Services", data: d3 }
|
||||
], {
|
||||
hoverable: true,
|
||||
shadowSize: 0,
|
||||
series: {
|
||||
lines: { show: true },
|
||||
points: { show: true }
|
||||
},
|
||||
xaxis: {
|
||||
tickLength: 0
|
||||
},
|
||||
yaxis: {
|
||||
ticks: 10,
|
||||
min: -2,
|
||||
max: 2,
|
||||
tickDecimals: 3
|
||||
},
|
||||
grid: {
|
||||
backgroundColor: { colors: [ "#fff", "#fff" ] },
|
||||
borderWidth: 1,
|
||||
borderColor:'#555'
|
||||
}
|
||||
});
|
||||
$('#recent-box [data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('.tab-content')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
$('.dialogs,.comments').ace_scroll({
|
||||
size: 300
|
||||
});
|
||||
//Android's default browser somehow is confused when tapping on label which will lead to dragging the task
|
||||
//so disable dragging when clicking on label
|
||||
var agent = navigator.userAgent.toLowerCase();
|
||||
if(ace.vars['touch'] && ace.vars['android']) {
|
||||
$('#tasks').on('touchstart', function(e){
|
||||
var li = $(e.target).closest('#tasks li');
|
||||
if(li.length == 0) return;
|
||||
var label = li.find('label.inline').get(0);
|
||||
if(label == e.target || $.contains(label, e.target)) e.stopImmediatePropagation() ;
|
||||
});
|
||||
}
|
||||
$('#tasks').sortable({
|
||||
opacity:0.8,
|
||||
revert:true,
|
||||
forceHelperSize:true,
|
||||
placeholder: 'draggable-placeholder',
|
||||
forcePlaceholderSize:true,
|
||||
tolerance:'pointer',
|
||||
stop: function( event, ui ) {
|
||||
//just for Chrome!!!! so that dropdowns on items don't appear below other items after being moved
|
||||
$(ui.item).css('z-index', 'auto');
|
||||
}
|
||||
});
|
||||
$('#tasks').disableSelection();
|
||||
$('#tasks input:checkbox').removeAttr('checked').on('click', function(){
|
||||
if(this.checked) $(this).closest('li').addClass('selected');
|
||||
else $(this).closest('li').removeClass('selected');
|
||||
});
|
||||
//show the dropdowns on top or bottom depending on window height and menu position
|
||||
$('#task-tab .dropdown-hover').on('mouseenter', function(e) {
|
||||
var offset = $(this).offset();
|
||||
var $w = $(window)
|
||||
if (offset.top > $w.scrollTop() + $w.innerHeight() - 100)
|
||||
$(this).addClass('dropup');
|
||||
else $(this).removeClass('dropup');
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
788
WebContent/WEB-INF/views/doctor/profile.jsp
Normal file
|
@ -0,0 +1,788 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>个人信息页面 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="个人信息页面 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/jquery.gritter.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/select2.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-editable.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../doctor/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我开出的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentDoctor.dname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../doctor/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../doctor/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/add-rx-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写新建处方表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../doctor/index">首页</a>
|
||||
</li>
|
||||
<li class="active">个人信息页面</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>个人信息</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div>
|
||||
<div id="user-profile-3" class="user-profile row">
|
||||
<div class="col-sm-offset-1 col-sm-10">
|
||||
<div class="tabbable">
|
||||
<ul class="nav nav-tabs padding-16">
|
||||
<li class="active">
|
||||
<a data-toggle="tab" href="#edit-basic">
|
||||
<i class="green ace-icon fa fa-pencil-square-o bigger-125"></i>
|
||||
基本信息
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a data-toggle="tab" href="#edit-password">
|
||||
<i class="blue ace-icon fa fa-key bigger-125"></i>
|
||||
更改密码
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content profile-edit-tab-content">
|
||||
<div id="edit-basic" class="tab-pane in active">
|
||||
<div class="tabbable">
|
||||
<div class="tab-content no-border padding-24">
|
||||
<div id="home" class="tab-pane in active">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-3 center">
|
||||
<span class="profile-picture">
|
||||
<img class="editable img-responsive" id="avatar" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
</span>
|
||||
</div><!-- /.col -->
|
||||
<div class="col-xs-12 col-sm-9">
|
||||
<h4 class="blue">
|
||||
<span class="middle"> ${currentDoctor.dname}</span>
|
||||
<span class="label label-purple arrowed-in-right">
|
||||
<i class="ace-icon fa fa-circle smaller-80 align-middle"></i>
|
||||
医生
|
||||
</span>
|
||||
</h4>
|
||||
<div class="profile-user-info">
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 编号 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentDoctor.dno}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 姓名 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentDoctor.dname}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 性别 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentDoctor.dsex ? '男' : '女'}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 年龄 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentDoctor.dage}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /#home -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="edit-password" class="tab-pane">
|
||||
<form action="../doctor/changeDpwd" method="post" class="form-horizontal">
|
||||
<div class="space-20"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-pass1">新密码</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" name="Dpwd1" required="required" id="form-field-pass1" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-4"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-pass2">确认密码</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" name="Dpwd2" required="required" id="form-field-pass2" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
保存
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.user-profile -->
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/jquery.gritter.min.js"></script>
|
||||
<script src="../assets/js/bootbox.js"></script>
|
||||
<script src="../assets/js/jquery.easypiechart.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.hotkeys.index.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-wysiwyg.min.js"></script>
|
||||
<script src="../assets/js/select2.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-editable.min.js"></script>
|
||||
<script src="../assets/js/ace-editable.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//editables on first profile page
|
||||
$.fn.editable.defaults.mode = 'inline';
|
||||
$.fn.editableform.loading = "<div class='editableform-loading'><i class='ace-icon fa fa-spinner fa-spin fa-2x light-blue'></i></div>";
|
||||
$.fn.editableform.buttons = '<button type="submit" class="btn btn-info editable-submit"><i class="ace-icon fa fa-check"></i></button>'+
|
||||
'<button type="button" class="btn editable-cancel"><i class="ace-icon fa fa-times"></i></button>';
|
||||
//editables
|
||||
//text editable
|
||||
$('#username')
|
||||
.editable({
|
||||
type: 'text',
|
||||
name: 'username'
|
||||
});
|
||||
//select2 editable
|
||||
var countries = [];
|
||||
$.each({ "CA": "Canada", "IN": "India", "NL": "Netherlands", "TR": "Turkey", "US": "United States"}, function(k, v) {
|
||||
countries.push({id: k, text: v});
|
||||
});
|
||||
var cities = [];
|
||||
cities["CA"] = [];
|
||||
$.each(["Toronto", "Ottawa", "Calgary", "Vancouver"], function(k, v){
|
||||
cities["CA"].push({id: v, text: v});
|
||||
});
|
||||
cities["IN"] = [];
|
||||
$.each(["Delhi", "Mumbai", "Bangalore"], function(k, v){
|
||||
cities["IN"].push({id: v, text: v});
|
||||
});
|
||||
cities["NL"] = [];
|
||||
$.each(["Amsterdam", "Rotterdam", "The Hague"], function(k, v){
|
||||
cities["NL"].push({id: v, text: v});
|
||||
});
|
||||
cities["TR"] = [];
|
||||
$.each(["Ankara", "Istanbul", "Izmir"], function(k, v){
|
||||
cities["TR"].push({id: v, text: v});
|
||||
});
|
||||
cities["US"] = [];
|
||||
$.each(["New York", "Miami", "Los Angeles", "Chicago", "Wysconsin"], function(k, v){
|
||||
cities["US"].push({id: v, text: v});
|
||||
});
|
||||
var currentValue = "NL";
|
||||
$('#country').editable({
|
||||
type: 'select2',
|
||||
value : 'NL',
|
||||
//onblur:'ignore',
|
||||
source: countries,
|
||||
select2: {
|
||||
'width': 140
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
if(currentValue == newValue) return;
|
||||
currentValue = newValue;
|
||||
var new_source = (!newValue || newValue == "") ? [] : cities[newValue];
|
||||
//the destroy method is causing errors in x-editable v1.4.6+
|
||||
//it worked fine in v1.4.5
|
||||
/**
|
||||
$('#city').editable('destroy').editable({
|
||||
type: 'select2',
|
||||
source: new_source
|
||||
}).editable('setValue', null);
|
||||
*/
|
||||
//so we remove it altogether and create a new element
|
||||
var city = $('#city').removeAttr('id').get(0);
|
||||
$(city).clone().attr('id', 'city').text('Select City').editable({
|
||||
type: 'select2',
|
||||
value : null,
|
||||
//onblur:'ignore',
|
||||
source: new_source,
|
||||
select2: {
|
||||
'width': 140
|
||||
}
|
||||
}).insertAfter(city);//insert it after previous instance
|
||||
$(city).remove();//remove previous instance
|
||||
}
|
||||
});
|
||||
$('#city').editable({
|
||||
type: 'select2',
|
||||
value : 'Amsterdam',
|
||||
//onblur:'ignore',
|
||||
source: cities[currentValue],
|
||||
select2: {
|
||||
'width': 140
|
||||
}
|
||||
});
|
||||
//custom date editable
|
||||
$('#signup').editable({
|
||||
type: 'adate',
|
||||
date: {
|
||||
//datepicker plugin options
|
||||
format: 'yyyy/mm/dd',
|
||||
viewformat: 'yyyy/mm/dd',
|
||||
weekStart: 1
|
||||
//,nativeUI: true//if true and browser support input[type=date], native browser control will be used
|
||||
//,format: 'yyyy-mm-dd',
|
||||
//viewformat: 'yyyy-mm-dd'
|
||||
}
|
||||
})
|
||||
$('#age').editable({
|
||||
type: 'spinner',
|
||||
name : 'age',
|
||||
spinner : {
|
||||
min : 16,
|
||||
max : 99,
|
||||
step: 1,
|
||||
on_sides: true
|
||||
//,nativeUI: true//if true and browser support input[type=number], native browser control will be used
|
||||
}
|
||||
});
|
||||
$('#login').editable({
|
||||
type: 'slider',
|
||||
name : 'login',
|
||||
slider : {
|
||||
min : 1,
|
||||
max: 50,
|
||||
width: 100
|
||||
//,nativeUI: true//if true and browser support input[type=range], native browser control will be used
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
if(parseInt(newValue) == 1)
|
||||
$(this).html(newValue + " hour ago");
|
||||
else $(this).html(newValue + " hours ago");
|
||||
}
|
||||
});
|
||||
$('#about').editable({
|
||||
mode: 'inline',
|
||||
type: 'wysiwyg',
|
||||
name : 'about',
|
||||
wysiwyg : {
|
||||
//css : {'max-width':'300px'}
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
}
|
||||
});
|
||||
// *** editable avatar *** //
|
||||
try {//ie8 throws some harmless exceptions, so let's catch'em
|
||||
//first let's add a fake appendChild method for Image element for browsers that have a problem with this
|
||||
//because editable plugin calls appendChild, and it causes errors on IE at unpredicted points
|
||||
try {
|
||||
document.createElement('IMG').appendChild(document.createElement('B'));
|
||||
} catch(e) {
|
||||
Image.prototype.appendChild = function(el){}
|
||||
}
|
||||
var last_gritter
|
||||
$('#avatar').editable({
|
||||
type: 'image',
|
||||
name: 'avatar',
|
||||
value: null,
|
||||
//onblur: 'ignore', //don't reset or hide editable onblur?!
|
||||
image: {
|
||||
//specify ace file input plugin's options here
|
||||
btn_choose: 'Change Avatar',
|
||||
droppable: true,
|
||||
maxSize: 110000,//~100Kb
|
||||
//and a few extra ones here
|
||||
name: 'avatar',//put the field name here as well, will be used inside the custom plugin
|
||||
on_error : function(error_type) {//on_error function will be called when the selected file has a problem
|
||||
if(last_gritter) $.gritter.remove(last_gritter);
|
||||
if(error_type == 1) {//file format error
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'File is not an image!',
|
||||
text: 'Please choose a jpg|gif|png image!',
|
||||
class_name: 'gritter-error gritter-center'
|
||||
});
|
||||
} else if(error_type == 2) {//file size rror
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'File too big!',
|
||||
text: 'Image size should not exceed 100Kb!',
|
||||
class_name: 'gritter-error gritter-center'
|
||||
});
|
||||
}
|
||||
else {//other error
|
||||
}
|
||||
},
|
||||
on_success : function() {
|
||||
$.gritter.removeAll();
|
||||
}
|
||||
},
|
||||
url: function(params) {
|
||||
// ***UPDATE AVATAR HERE*** //
|
||||
//for a working upload example you can replace the contents of this function with
|
||||
//examples/profile-avatar-update.js
|
||||
var deferred = new $.Deferred
|
||||
var value = $('#avatar').next().find('input[type=hidden]:eq(0)').val();
|
||||
if(!value || value.length == 0) {
|
||||
deferred.resolve();
|
||||
return deferred.promise();
|
||||
}
|
||||
//dummy upload
|
||||
setTimeout(function(){
|
||||
if("FileReader" in window) {
|
||||
//for browsers that have a thumbnail of selected image
|
||||
var thumb = $('#avatar').next().find('img').data('thumb');
|
||||
if(thumb) $('#avatar').get(0).src = thumb;
|
||||
}
|
||||
deferred.resolve({'status':'OK'});
|
||||
if(last_gritter) $.gritter.remove(last_gritter);
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'Avatar Updated!',
|
||||
text: 'Uploading to server can be easily implemented. A working example is included with the template.',
|
||||
class_name: 'gritter-info gritter-center'
|
||||
});
|
||||
}, parseInt(Math.random() * 800 + 800))
|
||||
return deferred.promise();
|
||||
// ***END OF UPDATE AVATAR HERE*** //
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
}
|
||||
})
|
||||
}catch(e) {}
|
||||
/**
|
||||
//let's display edit mode by default?
|
||||
var blank_image = true;//somehow you determine if image is initially blank or not, or you just want to display file input at first
|
||||
if(blank_image) {
|
||||
$('#avatar').editable('show').on('hidden', function(e, reason) {
|
||||
if(reason == 'onblur') {
|
||||
$('#avatar').editable('show');
|
||||
return;
|
||||
}
|
||||
$('#avatar').off('hidden');
|
||||
})
|
||||
}
|
||||
*/
|
||||
//another option is using modals
|
||||
$('#avatar2').on('click', function(){
|
||||
var modal =
|
||||
'<div class="modal fade">\
|
||||
<div class="modal-dialog">\
|
||||
<div class="modal-content">\
|
||||
<div class="modal-header">\
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>\
|
||||
<h4 class="blue">Change Avatar</h4>\
|
||||
</div>\
|
||||
\
|
||||
<form class="no-margin">\
|
||||
<div class="modal-body">\
|
||||
<div class="space-4"></div>\
|
||||
<div style="width:75%;margin-left:12%;"><input type="file" name="file-input" /></div>\
|
||||
</div>\
|
||||
\
|
||||
<div class="modal-footer center">\
|
||||
<button type="submit" class="btn btn-sm btn-success"><i class="ace-icon fa fa-check"></i> Submit</button>\
|
||||
<button type="button" class="btn btn-sm" data-dismiss="modal"><i class="ace-icon fa fa-times"></i> Cancel</button>\
|
||||
</div>\
|
||||
</form>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>';
|
||||
var modal = $(modal);
|
||||
modal.modal("show").on("hidden", function(){
|
||||
modal.remove();
|
||||
});
|
||||
var working = false;
|
||||
var form = modal.find('form:eq(0)');
|
||||
var file = form.find('input[type=file]').eq(0);
|
||||
file.ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Click to choose new avatar',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-picture-o',
|
||||
thumbnail:'small',
|
||||
before_remove: function() {
|
||||
//don't remove/reset files while being uploaded
|
||||
return !working;
|
||||
},
|
||||
allowExt: ['jpg', 'jpeg', 'png', 'gif'],
|
||||
allowMime: ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
|
||||
});
|
||||
form.on('submit', function(){
|
||||
if(!file.data('ace_input_files')) return false;
|
||||
file.ace_file_input('disable');
|
||||
form.find('button').attr('disabled', 'disabled');
|
||||
form.find('.modal-body').append("<div class='center'><i class='ace-icon fa fa-spinner fa-spin bigger-150 orange'></i></div>");
|
||||
var deferred = new $.Deferred;
|
||||
working = true;
|
||||
deferred.done(function() {
|
||||
form.find('button').removeAttr('disabled');
|
||||
form.find('input[type=file]').ace_file_input('enable');
|
||||
form.find('.modal-body > :last-child').remove();
|
||||
modal.modal("hide");
|
||||
var thumb = file.next().find('img').data('thumb');
|
||||
if(thumb) $('#avatar2').get(0).src = thumb;
|
||||
working = false;
|
||||
});
|
||||
setTimeout(function(){
|
||||
deferred.resolve();
|
||||
}, parseInt(Math.random() * 800 + 800));
|
||||
return false;
|
||||
});
|
||||
});
|
||||
//////////////////////////////
|
||||
$('#profile-feed-1').ace_scroll({
|
||||
height: '250px',
|
||||
mouseWheelLock: true,
|
||||
alwaysVisible : true
|
||||
});
|
||||
$('a[ data-original-title]').tooltip();
|
||||
$('.easy-pie-chart.percentage').each(function(){
|
||||
var barColor = $(this).data('color') || '#555';
|
||||
var trackColor = '#E2E2E2';
|
||||
var size = parseInt($(this).data('size')) || 72;
|
||||
$(this).easyPieChart({
|
||||
barColor: barColor,
|
||||
trackColor: trackColor,
|
||||
scaleColor: false,
|
||||
lineCap: 'butt',
|
||||
lineWidth: parseInt(size/10),
|
||||
animate:false,
|
||||
size: size
|
||||
}).css('color', barColor);
|
||||
});
|
||||
///////////////////////////////////////////
|
||||
//right & left position
|
||||
//show the user info on right or left depending on its position
|
||||
$('#user-profile-2 .memberdiv').on('mouseenter touchstart', function(){
|
||||
var $this = $(this);
|
||||
var $parent = $this.closest('.tab-pane');
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $this.offset();
|
||||
var w2 = $this.width();
|
||||
var place = 'left';
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) place = 'right';
|
||||
$this.find('.popover').removeClass('right left').addClass(place);
|
||||
}).on('click', function(e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
///////////////////////////////////////////
|
||||
$('#user-profile-3')
|
||||
.find('input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Change avatar',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-picture-o',
|
||||
thumbnail:'large',
|
||||
droppable:true,
|
||||
allowExt: ['jpg', 'jpeg', 'png', 'gif'],
|
||||
allowMime: ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
|
||||
})
|
||||
.end().find('button[type=reset]').on(ace.click_event, function(){
|
||||
$('#user-profile-3 input[type=file]').ace_file_input('reset_input');
|
||||
})
|
||||
.end().find('.date-picker').datepicker().next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
})
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('#user-profile-3').find('input[type=file]').ace_file_input('show_file_list', [{type: 'image', name: $('#avatar').attr('src')}]);
|
||||
////////////////////
|
||||
//change profile
|
||||
$('[data-toggle="buttons"] .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
$('.user-profile').parent().addClass('hide');
|
||||
$('#user-profile-'+which).parent().removeClass('hide');
|
||||
});
|
||||
/////////////////////////////////////
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
//in ajax mode, remove remaining elements before leaving page
|
||||
try {
|
||||
$('.editable').editable('destroy');
|
||||
} catch(e) {}
|
||||
$('[class*=select2]').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
535
WebContent/WEB-INF/views/doctor/query-drug-list.jsp
Normal file
|
@ -0,0 +1,535 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看库存药品列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看药品库存列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../doctor/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我开出的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentDoctor.dname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../doctor/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../doctor/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/add-rx-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写新建处方表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../doctor/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看库存药品列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看库存药品列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
库存药品列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品保质期 (天数)</th>
|
||||
<th>药品数量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${drugs}" var="drug">
|
||||
<tr>
|
||||
<td>${drug.PDno}</td>
|
||||
<td>${drug.PDname}</td>
|
||||
<td>${drug.PDlife}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [ null, null, null, null ],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
574
WebContent/WEB-INF/views/doctor/query-solved-rx-list.jsp
Normal file
|
@ -0,0 +1,574 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看已处理处方列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看已处理处方列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../doctor/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我开出的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentDoctor.dname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../doctor/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/add-rx-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写新建处方表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active open">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../doctor/index">首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">查看处方列表</a>
|
||||
</li>
|
||||
<li class="active">查看已处理处方列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看已处理处方列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
已处理处方列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>处方编号</th>
|
||||
<th>病人身份证号</th>
|
||||
<th>开出医生编号</th>
|
||||
<th>开出时间</th>
|
||||
<th>处理护士编号</th>
|
||||
<th>处理时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${rxs}" var="rx">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../doctor/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">${rx.pno}</a>
|
||||
</td>
|
||||
<td>${rx.pid}</td>
|
||||
<td>
|
||||
<a href="../doctor/query-specific-doctor?Dno=${rx.dno}" title="查看该医生的处方明细">${rx.dno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>${rx.nno}</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.htime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../doctor/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/query-specific-rx?Pno=${rx.pno}" class="tooltip-info" data-rel="tooltip" title="查看该处方的具体明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [ null, null, null, null, null, null, { "bSortable": false } ],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>Print</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
643
WebContent/WEB-INF/views/doctor/query-specific-doctor.jsp
Normal file
|
@ -0,0 +1,643 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看${specificDoctor.dname}的处方明细 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看${specificDoctor.dname}的处方明细 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我开出的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentDoctor.dname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../doctor/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/add-rx-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写新建处方表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看${specificDoctor.dname}的处方明细</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看${specificDoctor.dname}的处方明细
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
${specificDoctor.dname}的相关信息
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-storage-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-1"> 医生编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="医生编号" name="Dno" value="${specificDoctor.dno}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-2"> 医生姓名 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" readonly="readonly" placeholder="医生姓名" name="Dname" value="${specificDoctor.dname}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-3"> 医生性别 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="医生性别" name="Dsex" value="${specificDoctor.dsex ? '男' : '女'}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-4"> 医生年龄 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-4" type="text" readonly="readonly" placeholder="医生年龄" name="Dage" value="${specificDoctor.dage}">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<h3 class="header smaller lighter blue">
|
||||
查看由${specificDoctor.dname}开出的所有处方
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
包括已处理处方和未处理处方
|
||||
</small>
|
||||
</h3>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>处方编号</th>
|
||||
<th>病人身份证号</th>
|
||||
<th>开出时间</th>
|
||||
<th>处理护士编号</th>
|
||||
<th>处理时间</th>
|
||||
<th class="hidden-480">处方状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${specificDoctor.allRxs}" var="rx">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../doctor/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">${rx.pno}</a>
|
||||
</td>
|
||||
<td>${rx.pid}</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>${rx.nno}</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.htime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${rx.nno == null}">
|
||||
<span class="label label-sm label-warning arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-exclamation-triangle bigger-110"></i>
|
||||
未处理处方
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="label label-sm label-success arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-flag bigger-110"></i>
|
||||
已处理处方
|
||||
</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../doctor/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
<c:if test="${rx.nno == null}">
|
||||
<a class="green" href="../doctor/edit-rx-form?Pno=${rx.pno}" title="编辑该处方">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
<a class="red" href="../doctor/delete-rx?Pno=${rx.pno}" title="删除该处方">
|
||||
<i class="ace-icon fa fa-trash-o bigger-130"></i>
|
||||
</a>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/query-specific-rx?Pno=${rx.pno}" class="tooltip-info" data-rel="tooltip" title="查看该处方的具体明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<c:if test="${rx.nno == null}">
|
||||
<li>
|
||||
<a href="../doctor/edit-rx-form?Pno=${rx.pno}" class="tooltip-success" data-rel="tooltip" title="编辑该处方">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/delete-rx?Pno=${rx.pno}" class="tooltip-error" data-rel="tooltip" title="删除该处方">
|
||||
<span class="red">
|
||||
<i class="ace-icon fa fa-trash-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</c:if>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
802
WebContent/WEB-INF/views/doctor/query-specific-rx.jsp
Normal file
|
@ -0,0 +1,802 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看 ${rx.pno} 号处方的具体明细 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看 ${rx.pno} 号处方的具体明细 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/chosen.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-timepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/daterangepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datetimepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-colorpicker.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="index.html" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我开出的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentDoctor.dname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../doctor/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../doctor/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/add-rx-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写新建处方表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../doctor/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看 ${rx.pno} 号处方的具体明细</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>查看 ${rx.pno} 号处方的具体明细</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 处方编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="处方编号" name="Pno" value="${rx.pno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 病人身份证号码 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" readonly="readonly" placeholder="病人身份证号码" name="Pid" value="${rx.pid}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-3"> 开出医生编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="开出医生编号" name="Dno" value="${rx.dno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-1"> 处方开出日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="id-date-picker-1" type="text" readonly="readonly" placeholder="处方开出日期" name="tempPdate" value="<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-5"> 处方开出时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="form-field-5" type="text" readonly="readonly" placeholder="处方开出时间" name="tempPtime" value="<fmt:formatDate value="${rx.ptime}" pattern="HH:mm:ss"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:choose>
|
||||
<c:when test="${rx.pstate}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-6"> 处理护士编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-6" type="text" readonly="readonly" placeholder="处理护士编号" name="Nno" value="${rx.nno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-2"> 处方处理日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="id-date-picker-2" type="text" readonly="readonly" placeholder="处方处理日期" name="tempHdate" value="<fmt:formatDate value="${rx.htime}" pattern="yyyy 年 MM 月 dd 日"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-8"> 处方处理时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="form-field-8" type="text" readonly="readonly" placeholder="处方处理时间" name="tempHtime" value="<fmt:formatDate value="${rx.htime}" pattern="HH:mm:ss"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-9"> 处方状态 </label>
|
||||
<div class="col-sm-4">
|
||||
<c:choose>
|
||||
<c:when test="${rx.pstate}">
|
||||
<span class="label label-sm label-success arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-check-square-o bigger-110"></i>
|
||||
已处理
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="label label-sm label-warning arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-square-o bigger-110"></i>
|
||||
未处理
|
||||
</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-10"> 处方包含的药品列表 </label>
|
||||
<div class="col-sm-4">
|
||||
<table id="simple-table" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品数量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${rx.drugs}" var="drug">
|
||||
<tr>
|
||||
<td>${drug.PDno}</td>
|
||||
<td>${drug.PDname}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/chosen.jquery.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-timepicker.min.js"></script>
|
||||
<script src="../assets/js/moment.min.js"></script>
|
||||
<script src="../assets/js/daterangepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-colorpicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.knob.min.js"></script>
|
||||
<script src="../assets/js/autosize.min.js"></script>
|
||||
<script src="../assets/js/jquery.inputlimiter.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-tag.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('#id-disable-check').on('click', function() {
|
||||
var inp = $('#form-input-readonly').get(0);
|
||||
if(inp.hasAttribute('disabled')) {
|
||||
inp.setAttribute('readonly', 'true');
|
||||
inp.removeAttribute('disabled');
|
||||
inp.value="This text field is readonly!";
|
||||
}
|
||||
else {
|
||||
inp.setAttribute('disabled', 'disabled');
|
||||
inp.removeAttribute('readonly');
|
||||
inp.value="This text field is disabled!";
|
||||
}
|
||||
});
|
||||
if(!ace.vars['touch']) {
|
||||
$('.chosen-select').chosen({allow_single_deselect:true});
|
||||
//resize the chosen on window resize
|
||||
$(window)
|
||||
.off('resize.chosen')
|
||||
.on('resize.chosen', function() {
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
}).trigger('resize.chosen');
|
||||
//resize chosen on sidebar collapse/expand
|
||||
$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
|
||||
if(event_name != 'sidebar_collapsed') return;
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
});
|
||||
$('#chosen-multiple-style .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
|
||||
else $('#form-field-select-4').removeClass('tag-input-style');
|
||||
});
|
||||
}
|
||||
$('[data-rel=tooltip]').tooltip({container:'body'});
|
||||
$('[data-rel=popover]').popover({container:'body'});
|
||||
autosize($('textarea[class*=autosize]'));
|
||||
$('textarea.limited').inputlimiter({
|
||||
remText: '%n character%s remaining...',
|
||||
limitText: 'max allowed : %n.'
|
||||
});
|
||||
$.mask.definitions['~']='[+-]';
|
||||
$('.input-mask-date').mask('99/99/9999');
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('.input-mask-eyescript').mask('~9.99 ~9.99 999');
|
||||
$(".input-mask-product").mask("a*-999-a999",{placeholder:" ",completed:function(){alert("You typed the following: "+this.val());}});
|
||||
$( "#input-size-slider" ).css('width','200px').slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 8,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-4').attr('class', sizing[val]).attr('placeholder', '.'+sizing[val]);
|
||||
}
|
||||
});
|
||||
$( "#input-span-slider" ).slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 12,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-5').attr('class', 'col-xs-'+val).val('.col-xs-'+val);
|
||||
}
|
||||
});
|
||||
//"jQuery UI Slider"
|
||||
//range slider tooltip example
|
||||
$( "#slider-range" ).css('height','200px').slider({
|
||||
orientation: "vertical",
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 100,
|
||||
values: [ 17, 67 ],
|
||||
slide: function( event, ui ) {
|
||||
var val = ui.values[$(ui.handle).index()-1] + "";
|
||||
|
||||
if( !ui.handle.firstChild ) {
|
||||
$("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")
|
||||
.prependTo(ui.handle);
|
||||
}
|
||||
$(ui.handle.firstChild).show().children().eq(1).text(val);
|
||||
}
|
||||
}).find('span.ui-slider-handle').on('blur', function(){
|
||||
$(this.firstChild).hide();
|
||||
});
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 1,
|
||||
max: 10,
|
||||
value: 2
|
||||
});
|
||||
$( "#slider-eq > span" ).css({width:'90%', 'float':'left', margin:'15px'}).each(function() {
|
||||
// read initial values from markup and remove that
|
||||
var value = parseInt( $( this ).text(), 10 );
|
||||
$( this ).empty().slider({
|
||||
value: value,
|
||||
range: "min",
|
||||
animate: true
|
||||
|
||||
});
|
||||
});
|
||||
$("#slider-eq > span.ui-slider-purple").slider('disable');//disable third item
|
||||
$('#id-input-file-1, #id-input-file-2').ace_file_input({
|
||||
no_file:'No File ...',
|
||||
btn_choose:'Choose',
|
||||
btn_change:'Change',
|
||||
droppable:false,
|
||||
onchange:null,
|
||||
thumbnail:false //| true | large
|
||||
//whitelist:'gif|png|jpg|jpeg'
|
||||
//blacklist:'exe|php'
|
||||
//onchange:''
|
||||
//
|
||||
});
|
||||
//pre-show a file name, for example a previously selected file
|
||||
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
|
||||
$('#id-input-file-3').ace_file_input({
|
||||
style: 'well',
|
||||
btn_choose: 'Drop files here or click to choose',
|
||||
btn_change: null,
|
||||
no_icon: 'ace-icon fa fa-cloud-upload',
|
||||
droppable: true,
|
||||
thumbnail: 'small'//large | fit
|
||||
//,icon_remove:null//set null, to hide remove/reset button
|
||||
/**,before_change:function(files, dropped) {
|
||||
//Check an example below
|
||||
//or examples/file-upload.html
|
||||
return true;
|
||||
}*/
|
||||
/**,before_remove : function() {
|
||||
return true;
|
||||
}*/
|
||||
,
|
||||
preview_error : function(filename, error_code) {
|
||||
//name of the file that failed
|
||||
//error_code values
|
||||
//1 = 'FILE_LOAD_FAILED',
|
||||
//2 = 'IMAGE_LOAD_FAILED',
|
||||
//3 = 'THUMBNAIL_FAILED'
|
||||
//alert(error_code);
|
||||
}
|
||||
}).on('change', function(){
|
||||
//console.log($(this).data('ace_input_files'));
|
||||
//console.log($(this).data('ace_input_method'));
|
||||
});
|
||||
//$('#id-input-file-3')
|
||||
//.ace_file_input('show_file_list', [
|
||||
//{type: 'image', name: 'name of image', path: 'http://path/to/image/for/preview'},
|
||||
//{type: 'file', name: 'hello.txt'}
|
||||
//]);
|
||||
//dynamically change allowed formats by changing allowExt && allowMime function
|
||||
$('#id-file-format').removeAttr('checked').on('change', function() {
|
||||
var whitelist_ext, whitelist_mime;
|
||||
var btn_choose
|
||||
var no_icon
|
||||
if(this.checked) {
|
||||
btn_choose = "Drop images here or click to choose";
|
||||
no_icon = "ace-icon fa fa-picture-o";
|
||||
|
||||
whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
|
||||
whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
|
||||
}
|
||||
else {
|
||||
btn_choose = "Drop files here or click to choose";
|
||||
no_icon = "ace-icon fa fa-cloud-upload";
|
||||
|
||||
whitelist_ext = null;//all extensions are acceptable
|
||||
whitelist_mime = null;//all mimes are acceptable
|
||||
}
|
||||
var file_input = $('#id-input-file-3');
|
||||
file_input
|
||||
.ace_file_input('update_settings',
|
||||
{
|
||||
'btn_choose': btn_choose,
|
||||
'no_icon': no_icon,
|
||||
'allowExt': whitelist_ext,
|
||||
'allowMime': whitelist_mime
|
||||
})
|
||||
file_input.ace_file_input('reset_input');
|
||||
file_input
|
||||
.off('file.error.ace')
|
||||
.on('file.error.ace', function(e, info) {
|
||||
//console.log(info.file_count);//number of selected files
|
||||
//console.log(info.invalid_count);//number of invalid files
|
||||
//console.log(info.error_list);//a list of errors in the following format
|
||||
//info.error_count['ext']
|
||||
//info.error_count['mime']
|
||||
//info.error_count['size']
|
||||
//info.error_list['ext'] = [list of file names with invalid extension]
|
||||
//info.error_list['mime'] = [list of file names with invalid mimetype]
|
||||
//info.error_list['size'] = [list of file names with invalid size]
|
||||
/**
|
||||
if( !info.dropped ) {
|
||||
//perhapse reset file field if files have been selected, and there are invalid files among them
|
||||
//when files are dropped, only valid files will be added to our file array
|
||||
e.preventDefault();//it will rest input
|
||||
}
|
||||
*/
|
||||
//if files have been selected (not dropped), you can choose to reset input
|
||||
//because browser keeps all selected files anyway and this cannot be changed
|
||||
//we can only reset file field to become empty again
|
||||
//on any case you still should check files with your server side script
|
||||
//because any arbitrary file can be uploaded by user and it's not safe to rely on browser-side measures
|
||||
});
|
||||
/**
|
||||
file_input
|
||||
.off('file.preview.ace')
|
||||
.on('file.preview.ace', function(e, info) {
|
||||
console.log(info.file.width);
|
||||
console.log(info.file.height);
|
||||
e.preventDefault();//to prevent preview
|
||||
});
|
||||
*/
|
||||
});
|
||||
$('#spinner1').ace_spinner({value:0,min:0,max:200,step:10, btn_up_class:'btn-info', btn_down_class:'btn-info'})
|
||||
.closest('.ace-spinner')
|
||||
.on('changed.fu.spinbox', function(){
|
||||
//console.log($('#spinner1').val())
|
||||
});
|
||||
$('#spinner2').ace_spinner({value:0,min:0,max:10000,step:100, touch_spinner: true, icon_up:'ace-icon fa fa-caret-up bigger-110', icon_down:'ace-icon fa fa-caret-down bigger-110'});
|
||||
$('#spinner3').ace_spinner({value:0,min:-100,max:100,step:10, on_sides: true, icon_up:'ace-icon fa fa-plus bigger-110', icon_down:'ace-icon fa fa-minus bigger-110', btn_up_class:'btn-success', btn_down_class:'btn-danger'});
|
||||
$('#spinner4').ace_spinner({value:0,min:-100,max:100,step:10, on_sides: true, icon_up:'ace-icon fa fa-plus', icon_down:'ace-icon fa fa-minus', btn_up_class:'btn-purple', btn_down_class:'btn-purple'});
|
||||
//$('#spinner1').ace_spinner('disable').ace_spinner('value', 11);
|
||||
//or
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('disable').spinner('enable').spinner('value', 11);//disable, enable or change value
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('value', 0);//reset to 0
|
||||
//datepicker plugin
|
||||
//link
|
||||
$('.date-picker').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true
|
||||
})
|
||||
//show datepicker when clicking on the icon
|
||||
.next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
//or change it into a date range picker
|
||||
$('.input-daterange').datepicker({autoclose:true});
|
||||
//to translate the daterange picker, please copy the "examples/daterange-fr.js" contents here before initialization
|
||||
$('input[name=date-range-picker]').daterangepicker({
|
||||
'applyClass' : 'btn-sm btn-success',
|
||||
'cancelClass' : 'btn-sm btn-default',
|
||||
locale: {
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
}
|
||||
})
|
||||
.prev().on(ace.click_event, function(){
|
||||
$(this).next().focus();
|
||||
});
|
||||
$('#timepicker1').timepicker({
|
||||
minuteStep: 1,
|
||||
showSeconds: true,
|
||||
showMeridian: false,
|
||||
disableFocus: true,
|
||||
icons: {
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down'
|
||||
}
|
||||
}).on('focus', function() {
|
||||
$('#timepicker1').timepicker('showWidget');
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
if(!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({
|
||||
format: 'MM/DD/YYYY h:mm:ss A',//use this option to display seconds
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-arrows ',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-times'
|
||||
}
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
$('#colorpicker1').colorpicker();
|
||||
//$('.colorpicker').last().css('z-index', 2000);//if colorpicker is inside a modal, its z-index should be higher than modal'safe
|
||||
$('#simple-colorpicker-1').ace_colorpicker();
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', 2);//select 2nd color
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', '#fbe983');//select #fbe983 color
|
||||
//var picker = $('#simple-colorpicker-1').data('ace_colorpicker')
|
||||
//picker.pick('red', true);//insert the color if it doesn't exist
|
||||
$(".knob").knob();
|
||||
var tag_input = $('#form-field-tags');
|
||||
try{
|
||||
tag_input.tag(
|
||||
{
|
||||
placeholder:tag_input.attr('placeholder'),
|
||||
//enable typeahead by specifying the source array
|
||||
source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
|
||||
/**
|
||||
//or fetch data from database, fetch those that match "query"
|
||||
source: function(query, process) {
|
||||
$.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
|
||||
.done(function(result_items){
|
||||
process(result_items);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
||||
)
|
||||
//programmatically add/remove a tag
|
||||
var $tag_obj = $('#form-field-tags').data('tag');
|
||||
$tag_obj.add('Programmatically Added');
|
||||
var index = $tag_obj.inValues('some tag');
|
||||
$tag_obj.remove(index);
|
||||
}
|
||||
catch(e) {
|
||||
//display a textarea for old IE, because it doesn't support this plugin or another one I tried!
|
||||
tag_input.after('<textarea id="'+tag_input.attr('id')+'" name="'+tag_input.attr('name')+'" rows="3">'+tag_input.val()+'</textarea>').remove();
|
||||
//autosize($('#form-field-tags'));
|
||||
}
|
||||
/////////
|
||||
$('#modal-form input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Drop files here or click to choose',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-cloud-upload',
|
||||
droppable:true,
|
||||
thumbnail:'large'
|
||||
})
|
||||
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
|
||||
//and its width cannot be determined.
|
||||
//so we set the width after modal is show
|
||||
$('#modal-form').on('shown.bs.modal', function () {
|
||||
if(!ace.vars['touch']) {
|
||||
$(this).find('.chosen-container').each(function(){
|
||||
$(this).find('a:first-child').css('width', '210px');
|
||||
$(this).find('.chosen-drop').css('width', '210px');
|
||||
$(this).find('.chosen-search input').css('width', '200px');
|
||||
});
|
||||
}
|
||||
})
|
||||
/**
|
||||
//or you can activate the chosen plugin after modal is shown
|
||||
//this way select element becomes visible with dimensions and chosen works as expected
|
||||
$('#modal-form').on('shown', function () {
|
||||
$(this).find('.modal-chosen').chosen();
|
||||
})
|
||||
*/
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
autosize.destroy('textarea[class*=autosize]')
|
||||
$('.limiterBox,.autosizejs').remove();
|
||||
$('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
588
WebContent/WEB-INF/views/doctor/query-unsolved-rx-list.jsp
Normal file
|
@ -0,0 +1,588 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看未处理处方列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看未处理处方列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../doctor/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我开出的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentDoctor.dname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../doctor/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/add-rx-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写新建处方表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active open">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="active">
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../doctor/index">首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">查看处方列表</a>
|
||||
</li>
|
||||
<li class="active">查看未处理处方列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看未处理处方列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
未处理处方列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>处方编号</th>
|
||||
<th>病人身份证号</th>
|
||||
<th>开出医生编号</th>
|
||||
<th>开出时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${rxs}" var="rx">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../doctor/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">${rx.pno}</a>
|
||||
</td>
|
||||
<td>${rx.pid}</td>
|
||||
<td>
|
||||
<a href="../doctor/query-specific-doctor?Dno=${rx.dno}" title="查看该医生的处方明细">${rx.dno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../doctor/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
<a class="green" href="../doctor/edit-rx-form?Pno=${rx.pno}" title="编辑该处方">
|
||||
<i class="ace-icon fa fa-pencil bigger-130"></i>
|
||||
</a>
|
||||
<a class="red" href="../doctor/delete-rx?Pno=${rx.pno}" title="删除该处方">
|
||||
<i class="ace-icon fa fa-trash-o bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/query-specific-rx?Pno=${rx.pno}" class="tooltip-info" data-rel="tooltip" title="查看该处方的具体明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/edit-rx-form?Pno=${rx.pno}" class="tooltip-success" data-rel="tooltip" title="编辑该处方">
|
||||
<span class="green">
|
||||
<i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/delete-rx?Pno=${rx.pno}" class="tooltip-error" data-rel="tooltip" title="删除该处方">
|
||||
<span class="red">
|
||||
<i class="ace-icon fa fa-trash-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [ null, null, null, null, { "bSortable": false } ],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>Print</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
862
WebContent/WEB-INF/views/doctor/rx-form.jsp
Normal file
|
@ -0,0 +1,862 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>${type ? '新增' : '修改'}处方表单 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="${type ? '新增' : '修改'}处方表单 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/chosen.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-timepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/daterangepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datetimepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-colorpicker.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="index.html" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我开出的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentDoctor.dname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../doctor/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="${type ? 'active' : ''}">
|
||||
<a href="../doctor/add-rx-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写新建处方表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">
|
||||
<c:choose>
|
||||
<c:when test="${type}">新建</c:when>
|
||||
<c:otherwise>修改 ${rx.pno} 号处方的</c:otherwise>
|
||||
</c:choose>
|
||||
处方表单
|
||||
</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
<c:choose>
|
||||
<c:when test="${type}">新建</c:when>
|
||||
<c:otherwise>修改 ${rx.pno} 号处方的</c:otherwise>
|
||||
</c:choose>
|
||||
处方表单
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
处方表单
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../doctor/submit-rx-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 处方编号 (${type ? '由系统给定' : '不可修改'}) </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="处方编号 (${type ? '由系统给定' : '不可修改'})" ${type ? '' : 'name="Pno"'} value="${rx.pno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 病人身份证号码 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" placeholder="病人身份证号码" name="Pid" value="${rx.pid}" required="required" maxlength=20 onKeyUp="value=value.replace(/[\W]/g,'')" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-3"> 开出处方的医生 </label>
|
||||
<div class="col-sm-4">
|
||||
<select class="chosen-select form-control" id="form-field-3" name="Dno" data-placeholder="选择开出处方的医生..." required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${doctors}" var="doctor">
|
||||
<option value="${doctor.dno}" ${doctor.dno == rx.dno ? 'selected="selected"' : ''}>${doctor.dname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-1"> 处方开出日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control date-picker" id="id-date-picker-1" name="tempPdate" value="<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日"/>" type="text" placeholder="处方开出日期" data-date-format="yyyy 年 mm 月 dd 日" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="timepicker1"> 处方开出时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="timepicker1" type="text" placeholder="处方开出时间" name="tempPtime" value="<fmt:formatDate value="${rx.ptime}" pattern="HH:mm:ss"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${type == false}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-6"> 处方包含的药品列表 </label>
|
||||
<div class="col-sm-4">
|
||||
<h5 class="pink">
|
||||
<i class="ace-icon fa fa-hand-o-right green"></i>
|
||||
<a href="#modal-form" role="button" class="green" data-toggle="modal"> 为该处方添加一种药品 </a>
|
||||
</h5>
|
||||
<h5 class="pink">
|
||||
<i class="ace-icon fa fa-hand-o-right blue"></i>
|
||||
<a href="#modal-form" role="button" class="blue" data-toggle="modal"> 修改某一种药品的数量 </a>
|
||||
</h5>
|
||||
<table id="simple-table" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品数量</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${rx.drugs}" var="drug">
|
||||
<tr>
|
||||
<td>${drug.PDno}</td>
|
||||
<td>${drug.PDname}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="red" href="../doctor/delete-rx-drug?Pno=${rx.pno}&PDno=${drug.PDno}" title="删除该药品">
|
||||
<i class="ace-icon fa fa-trash-o bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-cog icon-only bigger-110"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/delete-rx-drug?Pno=${rx.pno}&PDno=${drug.PDno}" class="tooltip-error" data-rel="tooltip" title="删除该药品">
|
||||
<span class="red">
|
||||
<i class="ace-icon fa fa-trash-o bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
提交
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
<div id="modal-form" class="modal" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="blue bigger">为该处方添加一种药品 / 修改某一种药品的数量</h4>
|
||||
</div>
|
||||
<form class="form-horizontal" role="form" method="post" action="../doctor/submit-rx-drug-form">
|
||||
<input type="hidden" name="Pno" value="${rx.pno}">
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-7"> 药品名称 </label>
|
||||
<div class="col-sm-4">
|
||||
<select class="chosen-select form-control" id="form-field-7" name="PDno" data-placeholder="选择一种药品..." required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${drugs}" var="drug">
|
||||
<option value="${drug.PDno}">${drug.PDname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="spinner1"> 药品数量 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="spinner1" type="text" placeholder="药品数量" name="PDnum" value="${pdbatch.PDnum}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-sm btn-primary" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
提交
|
||||
</button>
|
||||
<button class="btn btn-sm btn-warning" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
<button class="btn btn-sm" data-dismiss="modal">
|
||||
<i class="ace-icon fa fa-times bigger-110"></i>
|
||||
取消
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/chosen.jquery.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-timepicker.min.js"></script>
|
||||
<script src="../assets/js/moment.min.js"></script>
|
||||
<script src="../assets/js/daterangepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-colorpicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.knob.min.js"></script>
|
||||
<script src="../assets/js/autosize.min.js"></script>
|
||||
<script src="../assets/js/jquery.inputlimiter.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-tag.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('#id-disable-check').on('click', function() {
|
||||
var inp = $('#form-input-readonly').get(0);
|
||||
if(inp.hasAttribute('disabled')) {
|
||||
inp.setAttribute('readonly', 'true');
|
||||
inp.removeAttribute('disabled');
|
||||
inp.value="This text field is readonly!";
|
||||
}
|
||||
else {
|
||||
inp.setAttribute('disabled', 'disabled');
|
||||
inp.removeAttribute('readonly');
|
||||
inp.value="This text field is disabled!";
|
||||
}
|
||||
});
|
||||
if(!ace.vars['touch']) {
|
||||
$('.chosen-select').chosen({allow_single_deselect:true});
|
||||
//resize the chosen on window resize
|
||||
$(window)
|
||||
.off('resize.chosen')
|
||||
.on('resize.chosen', function() {
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
}).trigger('resize.chosen');
|
||||
//resize chosen on sidebar collapse/expand
|
||||
$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
|
||||
if(event_name != 'sidebar_collapsed') return;
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
});
|
||||
$('#chosen-multiple-style .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
|
||||
else $('#form-field-select-4').removeClass('tag-input-style');
|
||||
});
|
||||
}
|
||||
$('[data-rel=tooltip]').tooltip({container:'body'});
|
||||
$('[data-rel=popover]').popover({container:'body'});
|
||||
autosize($('textarea[class*=autosize]'));
|
||||
$('textarea.limited').inputlimiter({
|
||||
remText: '%n character%s remaining...',
|
||||
limitText: 'max allowed : %n.'
|
||||
});
|
||||
$.mask.definitions['~']='[+-]';
|
||||
$('.input-mask-date').mask('99/99/9999');
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('.input-mask-eyescript').mask('~9.99 ~9.99 999');
|
||||
$(".input-mask-product").mask("a*-999-a999",{placeholder:" ",completed:function(){alert("You typed the following: "+this.val());}});
|
||||
$( "#input-size-slider" ).css('width','200px').slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 8,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-4').attr('class', sizing[val]).attr('placeholder', '.'+sizing[val]);
|
||||
}
|
||||
});
|
||||
$( "#input-span-slider" ).slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 12,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-5').attr('class', 'col-xs-'+val).val('.col-xs-'+val);
|
||||
}
|
||||
});
|
||||
//"jQuery UI Slider"
|
||||
//range slider tooltip example
|
||||
$( "#slider-range" ).css('height','200px').slider({
|
||||
orientation: "vertical",
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 100,
|
||||
values: [ 17, 67 ],
|
||||
slide: function( event, ui ) {
|
||||
var val = ui.values[$(ui.handle).index()-1] + "";
|
||||
if( !ui.handle.firstChild ) {
|
||||
$("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")
|
||||
.prependTo(ui.handle);
|
||||
}
|
||||
$(ui.handle.firstChild).show().children().eq(1).text(val);
|
||||
}
|
||||
}).find('span.ui-slider-handle').on('blur', function(){
|
||||
$(this.firstChild).hide();
|
||||
});
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 1,
|
||||
max: 10,
|
||||
value: 2
|
||||
});
|
||||
$( "#slider-eq > span" ).css({width:'90%', 'float':'left', margin:'15px'}).each(function() {
|
||||
// read initial values from markup and remove that
|
||||
var value = parseInt( $( this ).text(), 10 );
|
||||
$( this ).empty().slider({
|
||||
value: value,
|
||||
range: "min",
|
||||
animate: true
|
||||
});
|
||||
});
|
||||
$("#slider-eq > span.ui-slider-purple").slider('disable');//disable third item
|
||||
$('#id-input-file-1, #id-input-file-2').ace_file_input({
|
||||
no_file:'No File ...',
|
||||
btn_choose:'Choose',
|
||||
btn_change:'Change',
|
||||
droppable:false,
|
||||
onchange:null,
|
||||
thumbnail:false //| true | large
|
||||
//whitelist:'gif|png|jpg|jpeg'
|
||||
//blacklist:'exe|php'
|
||||
//onchange:''
|
||||
//
|
||||
});
|
||||
//pre-show a file name, for example a previously selected file
|
||||
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
|
||||
$('#id-input-file-3').ace_file_input({
|
||||
style: 'well',
|
||||
btn_choose: 'Drop files here or click to choose',
|
||||
btn_change: null,
|
||||
no_icon: 'ace-icon fa fa-cloud-upload',
|
||||
droppable: true,
|
||||
thumbnail: 'small'//large | fit
|
||||
//,icon_remove:null//set null, to hide remove/reset button
|
||||
/**,before_change:function(files, dropped) {
|
||||
//Check an example below
|
||||
//or examples/file-upload.html
|
||||
return true;
|
||||
}*/
|
||||
/**,before_remove : function() {
|
||||
return true;
|
||||
}*/
|
||||
,
|
||||
preview_error : function(filename, error_code) {
|
||||
//name of the file that failed
|
||||
//error_code values
|
||||
//1 = 'FILE_LOAD_FAILED',
|
||||
//2 = 'IMAGE_LOAD_FAILED',
|
||||
//3 = 'THUMBNAIL_FAILED'
|
||||
//alert(error_code);
|
||||
}
|
||||
}).on('change', function(){
|
||||
//console.log($(this).data('ace_input_files'));
|
||||
//console.log($(this).data('ace_input_method'));
|
||||
});
|
||||
//$('#id-input-file-3')
|
||||
//.ace_file_input('show_file_list', [
|
||||
//{type: 'image', name: 'name of image', path: 'http://path/to/image/for/preview'},
|
||||
//{type: 'file', name: 'hello.txt'}
|
||||
//]);
|
||||
//dynamically change allowed formats by changing allowExt && allowMime function
|
||||
$('#id-file-format').removeAttr('checked').on('change', function() {
|
||||
var whitelist_ext, whitelist_mime;
|
||||
var btn_choose
|
||||
var no_icon
|
||||
if(this.checked) {
|
||||
btn_choose = "Drop images here or click to choose";
|
||||
no_icon = "ace-icon fa fa-picture-o";
|
||||
whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
|
||||
whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
|
||||
}
|
||||
else {
|
||||
btn_choose = "Drop files here or click to choose";
|
||||
no_icon = "ace-icon fa fa-cloud-upload";
|
||||
whitelist_ext = null;//all extensions are acceptable
|
||||
whitelist_mime = null;//all mimes are acceptable
|
||||
}
|
||||
var file_input = $('#id-input-file-3');
|
||||
file_input
|
||||
.ace_file_input('update_settings',
|
||||
{
|
||||
'btn_choose': btn_choose,
|
||||
'no_icon': no_icon,
|
||||
'allowExt': whitelist_ext,
|
||||
'allowMime': whitelist_mime
|
||||
})
|
||||
file_input.ace_file_input('reset_input');
|
||||
file_input
|
||||
.off('file.error.ace')
|
||||
.on('file.error.ace', function(e, info) {
|
||||
//console.log(info.file_count);//number of selected files
|
||||
//console.log(info.invalid_count);//number of invalid files
|
||||
//console.log(info.error_list);//a list of errors in the following format
|
||||
//info.error_count['ext']
|
||||
//info.error_count['mime']
|
||||
//info.error_count['size']
|
||||
//info.error_list['ext'] = [list of file names with invalid extension]
|
||||
//info.error_list['mime'] = [list of file names with invalid mimetype]
|
||||
//info.error_list['size'] = [list of file names with invalid size]
|
||||
/**
|
||||
if( !info.dropped ) {
|
||||
//perhapse reset file field if files have been selected, and there are invalid files among them
|
||||
//when files are dropped, only valid files will be added to our file array
|
||||
e.preventDefault();//it will rest input
|
||||
}
|
||||
*/
|
||||
//if files have been selected (not dropped), you can choose to reset input
|
||||
//because browser keeps all selected files anyway and this cannot be changed
|
||||
//we can only reset file field to become empty again
|
||||
//on any case you still should check files with your server side script
|
||||
//because any arbitrary file can be uploaded by user and it's not safe to rely on browser-side measures
|
||||
});
|
||||
/**
|
||||
file_input
|
||||
.off('file.preview.ace')
|
||||
.on('file.preview.ace', function(e, info) {
|
||||
console.log(info.file.width);
|
||||
console.log(info.file.height);
|
||||
e.preventDefault();//to prevent preview
|
||||
});
|
||||
*/
|
||||
});
|
||||
$('#spinner1').ace_spinner({value:1, min:1, max:10000, step:1, btn_up_class:'btn-info', btn_down_class:'btn-info'})
|
||||
.closest('.ace-spinner')
|
||||
.on('changed.fu.spinbox', function(){
|
||||
//console.log($('#spinner1').val())
|
||||
});
|
||||
$('#spinner2').ace_spinner({value:0, min:0, max:10000, step:100, touch_spinner: true, icon_up:'ace-icon fa fa-caret-up bigger-110', icon_down:'ace-icon fa fa-caret-down bigger-110'});
|
||||
$('#spinner3').ace_spinner({value:0, min:-100, max:100, step:10, on_sides: true, icon_up:'ace-icon fa fa-plus bigger-110', icon_down:'ace-icon fa fa-minus bigger-110', btn_up_class:'btn-success', btn_down_class:'btn-danger'});
|
||||
$('#spinner4').ace_spinner({value:0, min:-100, max:100, step:10, on_sides: true, icon_up:'ace-icon fa fa-plus', icon_down:'ace-icon fa fa-minus', btn_up_class:'btn-purple', btn_down_class:'btn-purple'});
|
||||
//$('#spinner1').ace_spinner('disable').ace_spinner('value', 11);
|
||||
//or
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('disable').spinner('enable').spinner('value', 11);//disable, enable or change value
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('value', 0);//reset to 0
|
||||
//datepicker plugin
|
||||
//link
|
||||
$('.date-picker').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true
|
||||
})
|
||||
//show datepicker when clicking on the icon
|
||||
.next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
//or change it into a date range picker
|
||||
$('.input-daterange').datepicker({autoclose:true});
|
||||
//to translate the daterange picker, please copy the "examples/daterange-fr.js" contents here before initialization
|
||||
$('input[name=date-range-picker]').daterangepicker({
|
||||
'applyClass' : 'btn-sm btn-success',
|
||||
'cancelClass' : 'btn-sm btn-default',
|
||||
locale: {
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
}
|
||||
})
|
||||
.prev().on(ace.click_event, function(){
|
||||
$(this).next().focus();
|
||||
});
|
||||
$('#timepicker1').timepicker({
|
||||
minuteStep: 1,
|
||||
showSeconds: true,
|
||||
showMeridian: false,
|
||||
disableFocus: true,
|
||||
icons: {
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down'
|
||||
}
|
||||
}).on('focus', function() {
|
||||
$('#timepicker1').timepicker('showWidget');
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
if(!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({
|
||||
//format: 'MM/DD/YYYY h:mm:ss A',//use this option to display seconds
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-arrows ',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-times'
|
||||
}
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
$('#colorpicker1').colorpicker();
|
||||
//$('.colorpicker').last().css('z-index', 2000);//if colorpicker is inside a modal, its z-index should be higher than modal'safe
|
||||
$('#simple-colorpicker-1').ace_colorpicker();
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', 2);//select 2nd color
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', '#fbe983');//select #fbe983 color
|
||||
//var picker = $('#simple-colorpicker-1').data('ace_colorpicker')
|
||||
//picker.pick('red', true);//insert the color if it doesn't exist
|
||||
$(".knob").knob();
|
||||
var tag_input = $('#form-field-tags');
|
||||
try{
|
||||
tag_input.tag(
|
||||
{
|
||||
placeholder:tag_input.attr('placeholder'),
|
||||
//enable typeahead by specifying the source array
|
||||
source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
|
||||
/**
|
||||
//or fetch data from database, fetch those that match "query"
|
||||
source: function(query, process) {
|
||||
$.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
|
||||
.done(function(result_items){
|
||||
process(result_items);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
||||
)
|
||||
//programmatically add/remove a tag
|
||||
var $tag_obj = $('#form-field-tags').data('tag');
|
||||
$tag_obj.add('Programmatically Added');
|
||||
var index = $tag_obj.inValues('some tag');
|
||||
$tag_obj.remove(index);
|
||||
}
|
||||
catch(e) {
|
||||
//display a textarea for old IE, because it doesn't support this plugin or another one I tried!
|
||||
tag_input.after('<textarea id="'+tag_input.attr('id')+'" name="'+tag_input.attr('name')+'" rows="3">'+tag_input.val()+'</textarea>').remove();
|
||||
//autosize($('#form-field-tags'));
|
||||
}
|
||||
/////////
|
||||
$('#modal-form input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Drop files here or click to choose',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-cloud-upload',
|
||||
droppable:true,
|
||||
thumbnail:'large'
|
||||
})
|
||||
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
|
||||
//and its width cannot be determined.
|
||||
//so we set the width after modal is show
|
||||
$('#modal-form').on('shown.bs.modal', function () {
|
||||
if(!ace.vars['touch']) {
|
||||
$(this).find('.chosen-container').each(function(){
|
||||
$(this).find('a:first-child').css('width', '210px');
|
||||
$(this).find('.chosen-drop').css('width', '210px');
|
||||
$(this).find('.chosen-search input').css('width', '200px');
|
||||
});
|
||||
}
|
||||
})
|
||||
/**
|
||||
//or you can activate the chosen plugin after modal is shown
|
||||
//this way select element becomes visible with dimensions and chosen works as expected
|
||||
$('#modal-form').on('shown', function () {
|
||||
$(this).find('.modal-chosen').chosen();
|
||||
})
|
||||
*/
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
autosize.destroy('textarea[class*=autosize]')
|
||||
$('.limiterBox,.autosizejs').remove();
|
||||
$('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
585
WebContent/WEB-INF/views/doctor/welcome.jsp
Normal file
|
@ -0,0 +1,585 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>欢迎 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="欢迎 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../doctor/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我开出的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentDoctor.dsex ? 'Male' : 'Female'}Doctor.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentDoctor.dname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../doctor/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="active">
|
||||
<a href="../doctor/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/add-rx-form">
|
||||
<i class="menu-icon fa fa-pencil-square-o"></i>
|
||||
<span class="menu-text"> 填写新建处方表单 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../doctor/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../doctor/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../doctor/index">首页</a>
|
||||
</li>
|
||||
<li class="active">欢迎页面</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>统计信息</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="alert alert-block alert-success">
|
||||
<button type="button" class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-check green"></i>
|
||||
欢迎使用
|
||||
<strong class="green">
|
||||
医院药品库存管理系统 DIMS (v1.0)
|
||||
</strong>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="space-6"></div>
|
||||
<div class="col-sm-7 infobox-container">
|
||||
<div class="infobox infobox-green">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${solvedRxsNum}</span>
|
||||
<div class="infobox-content">已处理处方数目</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-red">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${unsolvedRxsNum}</span>
|
||||
<div class="infobox-content">未处理处方数目</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-blue">
|
||||
<div class="infobox-icon">
|
||||
<i class="ace-icon fa fa-flask"></i>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-data-number">${myPrescribeRxsNum}</span>
|
||||
<div class="infobox-content">由我开出的处方数目</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-6"></div>
|
||||
<div class="infobox infobox-green2">
|
||||
<div class="infobox-progress">
|
||||
<div class="easy-pie-chart percentage" data-percent="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" data-size="46">
|
||||
<span class="percent">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#"/>
|
||||
</span>%
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-text">已处理处方数目</span>
|
||||
<div class="infobox-content">
|
||||
<span class="bigger-110">~</span>
|
||||
占总处方数目比例
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-red2">
|
||||
<div class="infobox-progress">
|
||||
<div class="easy-pie-chart percentage" data-percent="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" data-size="46">
|
||||
<span class="percent">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#"/>
|
||||
</span>%
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-text">未处理处方数目</span>
|
||||
<div class="infobox-content">
|
||||
<span class="bigger-110">~</span>
|
||||
占总处方数目比例
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox infobox-blue2">
|
||||
<div class="infobox-progress">
|
||||
<div class="easy-pie-chart percentage" data-percent="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" data-size="46">
|
||||
<span class="percent">
|
||||
<fmt:formatNumber value="${myPrescribeRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#"/>
|
||||
</span>%
|
||||
</div>
|
||||
</div>
|
||||
<div class="infobox-data">
|
||||
<span class="infobox-text">由我开出的处方数目</span>
|
||||
<div class="infobox-content">
|
||||
<span class="bigger-110">~</span>
|
||||
占总处方数目比例
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.row -->
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/jquery.easypiechart.min.js"></script>
|
||||
<script src="../assets/js/jquery.sparkline.index.min.js"></script>
|
||||
<script src="../assets/js/jquery.flot.min.js"></script>
|
||||
<script src="../assets/js/jquery.flot.pie.min.js"></script>
|
||||
<script src="../assets/js/jquery.flot.resize.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('.easy-pie-chart.percentage').each(function(){
|
||||
var $box = $(this).closest('.infobox');
|
||||
var barColor = $(this).data('color') || (!$box.hasClass('infobox-dark') ? $box.css('color') : 'rgba(255,255,255,0.95)');
|
||||
var trackColor = barColor == 'rgba(255,255,255,0.95)' ? 'rgba(255,255,255,0.25)' : '#E2E2E2';
|
||||
var size = parseInt($(this).data('size')) || 50;
|
||||
$(this).easyPieChart({
|
||||
barColor: barColor,
|
||||
trackColor: trackColor,
|
||||
scaleColor: false,
|
||||
lineCap: 'butt',
|
||||
lineWidth: parseInt(size/10),
|
||||
animate: ace.vars['old_ie'] ? false : 1000,
|
||||
size: size
|
||||
});
|
||||
})
|
||||
$('.sparkline').each(function(){
|
||||
var $box = $(this).closest('.infobox');
|
||||
var barColor = !$box.hasClass('infobox-dark') ? $box.css('color') : '#FFF';
|
||||
$(this).sparkline('html',
|
||||
{
|
||||
tagValuesAttribute:'data-values',
|
||||
type: 'bar',
|
||||
barColor: barColor,
|
||||
chartRangeMin:$(this).data('min') || 0
|
||||
});
|
||||
});
|
||||
//flot chart resize plugin, somehow manipulates default browser resize event to optimize it!
|
||||
//but sometimes it brings up errors with normal resize event handlers
|
||||
$.resize.throttleWindow = false;
|
||||
var placeholder = $('#piechart-placeholder').css({'width':'90%', 'min-height':'150px'});
|
||||
var data = [
|
||||
{ label: "social networks", data: 38.7, color: "#68BC31"},
|
||||
{ label: "search engines", data: 24.5, color: "#2091CF"},
|
||||
{ label: "ad campaigns", data: 8.2, color: "#AF4E96"},
|
||||
{ label: "direct traffic", data: 18.6, color: "#DA5430"},
|
||||
{ label: "other", data: 10, color: "#FEE074"}
|
||||
]
|
||||
function drawPieChart(placeholder, data, position) {
|
||||
$.plot(placeholder, data, {
|
||||
series: {
|
||||
pie: {
|
||||
show: true,
|
||||
tilt:0.8,
|
||||
highlight: {
|
||||
opacity: 0.25
|
||||
},
|
||||
stroke: {
|
||||
color: '#fff',
|
||||
width: 2
|
||||
},
|
||||
startAngle: 2
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
show: true,
|
||||
position: position || "ne",
|
||||
labelBoxBorderColor: null,
|
||||
margin:[-30,15]
|
||||
}
|
||||
,
|
||||
grid: {
|
||||
hoverable: true,
|
||||
clickable: true
|
||||
}
|
||||
})
|
||||
}
|
||||
drawPieChart(placeholder, data);
|
||||
/**
|
||||
we saved the drawing function and the data to redraw with different position later when switching to RTL mode dynamically
|
||||
so that's not needed actually.
|
||||
*/
|
||||
placeholder.data('chart', data);
|
||||
placeholder.data('draw', drawPieChart);
|
||||
//pie chart tooltip example
|
||||
var $tooltip = $("<div class='tooltip top in'><div class='tooltip-inner'></div></div>").hide().appendTo('body');
|
||||
var previousPoint = null;
|
||||
placeholder.on('plothover', function (event, pos, item) {
|
||||
if(item) {
|
||||
if (previousPoint != item.seriesIndex) {
|
||||
previousPoint = item.seriesIndex;
|
||||
var tip = item.series['label'] + " : " + item.series['percent']+'%';
|
||||
$tooltip.show().children(0).text(tip);
|
||||
}
|
||||
$tooltip.css({top:pos.pageY + 10, left:pos.pageX + 10});
|
||||
} else {
|
||||
$tooltip.hide();
|
||||
previousPoint = null;
|
||||
}
|
||||
});
|
||||
/////////////////////////////////////
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
$tooltip.remove();
|
||||
});
|
||||
var d1 = [];
|
||||
for (var i = 0; i < Math.PI * 2; i += 0.5) {
|
||||
d1.push([i, Math.sin(i)]);
|
||||
}
|
||||
var d2 = [];
|
||||
for (var i = 0; i < Math.PI * 2; i += 0.5) {
|
||||
d2.push([i, Math.cos(i)]);
|
||||
}
|
||||
var d3 = [];
|
||||
for (var i = 0; i < Math.PI * 2; i += 0.2) {
|
||||
d3.push([i, Math.tan(i)]);
|
||||
}
|
||||
var sales_charts = $('#sales-charts').css({'width':'100%', 'height':'220px'});
|
||||
$.plot("#sales-charts", [
|
||||
{ label: "Domains", data: d1 },
|
||||
{ label: "Hosting", data: d2 },
|
||||
{ label: "Services", data: d3 }
|
||||
], {
|
||||
hoverable: true,
|
||||
shadowSize: 0,
|
||||
series: {
|
||||
lines: { show: true },
|
||||
points: { show: true }
|
||||
},
|
||||
xaxis: {
|
||||
tickLength: 0
|
||||
},
|
||||
yaxis: {
|
||||
ticks: 10,
|
||||
min: -2,
|
||||
max: 2,
|
||||
tickDecimals: 3
|
||||
},
|
||||
grid: {
|
||||
backgroundColor: { colors: [ "#fff", "#fff" ] },
|
||||
borderWidth: 1,
|
||||
borderColor:'#555'
|
||||
}
|
||||
});
|
||||
$('#recent-box [data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('.tab-content')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
$('.dialogs,.comments').ace_scroll({
|
||||
size: 300
|
||||
});
|
||||
//Android's default browser somehow is confused when tapping on label which will lead to dragging the task
|
||||
//so disable dragging when clicking on label
|
||||
var agent = navigator.userAgent.toLowerCase();
|
||||
if(ace.vars['touch'] && ace.vars['android']) {
|
||||
$('#tasks').on('touchstart', function(e){
|
||||
var li = $(e.target).closest('#tasks li');
|
||||
if(li.length == 0) return;
|
||||
var label = li.find('label.inline').get(0);
|
||||
if(label == e.target || $.contains(label, e.target)) e.stopImmediatePropagation() ;
|
||||
});
|
||||
}
|
||||
$('#tasks').sortable({
|
||||
opacity:0.8,
|
||||
revert:true,
|
||||
forceHelperSize:true,
|
||||
placeholder: 'draggable-placeholder',
|
||||
forcePlaceholderSize:true,
|
||||
tolerance:'pointer',
|
||||
stop: function( event, ui ) {
|
||||
//just for Chrome!!!! so that dropdowns on items don't appear below other items after being moved
|
||||
$(ui.item).css('z-index', 'auto');
|
||||
}
|
||||
});
|
||||
$('#tasks').disableSelection();
|
||||
$('#tasks input:checkbox').removeAttr('checked').on('click', function(){
|
||||
if(this.checked) $(this).closest('li').addClass('selected');
|
||||
else $(this).closest('li').removeClass('selected');
|
||||
});
|
||||
//show the dropdowns on top or bottom depending on window height and menu position
|
||||
$('#task-tab .dropdown-hover').on('mouseenter', function(e) {
|
||||
var offset = $(this).offset();
|
||||
var $w = $(window)
|
||||
if (offset.top > $w.scrollTop() + $w.innerHeight() - 100)
|
||||
$(this).addClass('dropup');
|
||||
else $(this).removeClass('dropup');
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
172
WebContent/WEB-INF/views/login.jsp
Normal file
|
@ -0,0 +1,172 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>登陆页面 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="登陆页面 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="assets/css/ace.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="assets/css/ace-part2.min.css" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="assets/js/html5shiv.min.js"></script>
|
||||
<script src="assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="login-layout light-login">
|
||||
<div class="main-container">
|
||||
<div class="main-content">
|
||||
<div class="row">
|
||||
<div class="col-sm-10 col-sm-offset-1">
|
||||
<div class="login-container">
|
||||
<div class="center">
|
||||
<h1>
|
||||
<i class="ace-icon fa fa-leaf green"></i>
|
||||
<span class="red">医院药品库存管理系统</span>
|
||||
<span class="grey" id="id-text2">DIMS</span>
|
||||
</h1>
|
||||
<h4 class="blue" id="id-company-text">© 2019-2020</h4>
|
||||
</div>
|
||||
<div class="space-6"></div>
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="position-relative">
|
||||
<div id="login-box" class="login-box visible widget-box no-border">
|
||||
<div class="widget-body">
|
||||
<div class="widget-main">
|
||||
<h4 class="header blue lighter bigger">
|
||||
<i class="ace-icon fa fa-coffee green"></i>
|
||||
请输入您的信息
|
||||
</h4>
|
||||
<div class="space-6"></div>
|
||||
<form action="submitLogin" method="post">
|
||||
<fieldset>
|
||||
<label class="block clearfix">
|
||||
<span class="block input-icon input-icon-right">
|
||||
<select class="form-control" required="required" name="role">
|
||||
<option value="" disabled="disabled" selected="selected" style="display: none;">请选择一个登录角色</option>
|
||||
<option value="ADMIN">库存管理员</option>
|
||||
<option value="DOCTOR">医生</option>
|
||||
<option value="NURSE">发药处护士</option>
|
||||
</select>
|
||||
</span>
|
||||
</label>
|
||||
<label class="block clearfix">
|
||||
<span class="block input-icon input-icon-right">
|
||||
<input type="text" required="required" name="no" class="form-control" placeholder="编号" />
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
</span>
|
||||
</label>
|
||||
<label class="block clearfix">
|
||||
<span class="block input-icon input-icon-right">
|
||||
<input type="password" required="required" name="pwd" class="form-control" placeholder="登陆密码" />
|
||||
<i class="ace-icon fa fa-lock"></i>
|
||||
</span>
|
||||
</label>
|
||||
<div class="space"></div>
|
||||
<div class="clearfix">
|
||||
<label class="inline">
|
||||
<input type="checkbox" class="ace" />
|
||||
<span class="lbl"> 记住我</span>
|
||||
</label>
|
||||
<button type="submit" class="width-35 pull-right btn btn-sm btn-primary">
|
||||
<i class="ace-icon fa fa-key"></i>
|
||||
<span class="bigger-110">登入</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="space-4"></div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div><!-- /.widget-main -->
|
||||
</div><!-- /.widget-body -->
|
||||
</div><!-- /.login-box -->
|
||||
</div><!-- /.position-relative -->
|
||||
<div class="navbar-fixed-top align-right">
|
||||
<br />
|
||||
<span>切换主题</span>
|
||||
|
||||
<a id="btn-login-dark" href="#">暗黑</a>
|
||||
|
||||
<span class="blue">/</span>
|
||||
|
||||
<a id="btn-login-blur" href="#">模糊</a>
|
||||
|
||||
<span class="blue">/</span>
|
||||
|
||||
<a id="btn-login-light" href="#">浅色</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.main-content -->
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$(document).on('click', '.toolbar a[data-target]', function(e) {
|
||||
e.preventDefault();
|
||||
var target = $(this).data('target');
|
||||
$('.widget-box.visible').removeClass('visible');//hide others
|
||||
$(target).addClass('visible');//show target
|
||||
});
|
||||
});
|
||||
//you don't need this, just used for changing background
|
||||
jQuery(function($) {
|
||||
$('#btn-login-dark').on('click', function(e) {
|
||||
$('body').attr('class', 'login-layout');
|
||||
$('#id-text2').attr('class', 'white');
|
||||
$('#id-company-text').attr('class', 'blue');
|
||||
e.preventDefault();
|
||||
});
|
||||
$('#btn-login-light').on('click', function(e) {
|
||||
$('body').attr('class', 'login-layout light-login');
|
||||
$('#id-text2').attr('class', 'grey');
|
||||
$('#id-company-text').attr('class', 'blue');
|
||||
e.preventDefault();
|
||||
});
|
||||
$('#btn-login-blur').on('click', function(e) {
|
||||
$('body').attr('class', 'login-layout blur-login');
|
||||
$('#id-text2').attr('class', 'white');
|
||||
$('#id-company-text').attr('class', 'light-blue');
|
||||
e.preventDefault();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
811
WebContent/WEB-INF/views/nurse/handle-rx-form.jsp
Normal file
|
@ -0,0 +1,811 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>处理 ${rx.pno} 号处方 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="处理 ${rx.pno} 号处方 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/chosen.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-timepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/daterangepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datetimepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-colorpicker.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="index.html" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我处理的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${mySolvedRxsNum / solvedRxsNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${mySolvedRxsNum / solvedRxsNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentNurse.nsex ? 'Male' : 'Female'}Nurse.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentNurse.nname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../nurse/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../nurse/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../nurse/index">首页</a>
|
||||
</li>
|
||||
<li class="active">处理 ${rx.pno} 号处方</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
处理 ${rx.pno} 号处方
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
选择负责处理的发药处护士、填写处理日期
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../nurse/submit-handle-rx-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 处方编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="处方编号" name="Pno" value="${rx.pno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 病人身份证号码 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" readonly="readonly" placeholder="病人身份证号码" name="Pid" value="${rx.pid}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-3"> 开出医生编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="开出医生编号" name="Dno" value="${rx.dno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-1"> 处方开出日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="id-date-picker-1" type="text" readonly="readonly" placeholder="处方开出日期" name="tempPdate" value="<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-5"> 处方开出时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="form-field-5" type="text" readonly="readonly" placeholder="处方开出时间" name="tempPtime" value="<fmt:formatDate value="${rx.ptime}" pattern="HH:mm:ss"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-6"> 处方状态 </label>
|
||||
<div class="col-sm-4">
|
||||
<c:choose>
|
||||
<c:when test="${rx.pstate}">
|
||||
<span class="label label-sm label-success arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-check-square-o bigger-110"></i>
|
||||
已处理
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="label label-sm label-warning arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-square-o bigger-110"></i>
|
||||
未处理
|
||||
</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-7"> 处方包含的药品列表 </label>
|
||||
<div class="col-sm-4">
|
||||
<table id="simple-table" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品数量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${rx.drugs}" var="drug">
|
||||
<tr>
|
||||
<td>${drug.PDno}</td>
|
||||
<td>${drug.PDname}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-8"> 负责处理的发药处护士 </label>
|
||||
<div class="col-sm-4">
|
||||
<select class="chosen-select form-control" id="form-field-8" data-placeholder="选择负责处理的发药处护士..." name="Nno" required="required">
|
||||
<option value=""></option>
|
||||
<c:forEach items="${nurses}" var="nurse">
|
||||
<option value="${nurse.nno}">${nurse.nname}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-2"> 处方处理日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control date-picker" id="id-date-picker-2" type="text" placeholder="处方处理日期" name="tempHdate" data-date-format="yyyy 年 mm 月 dd 日" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="timepicker1"> 处方处理时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="timepicker1" type="text" placeholder="处方处理时间" name="tempHtime" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
提交
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/chosen.jquery.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-timepicker.min.js"></script>
|
||||
<script src="../assets/js/moment.min.js"></script>
|
||||
<script src="../assets/js/daterangepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-colorpicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.knob.min.js"></script>
|
||||
<script src="../assets/js/autosize.min.js"></script>
|
||||
<script src="../assets/js/jquery.inputlimiter.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-tag.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('#id-disable-check').on('click', function() {
|
||||
var inp = $('#form-input-readonly').get(0);
|
||||
if(inp.hasAttribute('disabled')) {
|
||||
inp.setAttribute('readonly', 'true');
|
||||
inp.removeAttribute('disabled');
|
||||
inp.value="This text field is readonly!";
|
||||
}
|
||||
else {
|
||||
inp.setAttribute('disabled', 'disabled');
|
||||
inp.removeAttribute('readonly');
|
||||
inp.value="This text field is disabled!";
|
||||
}
|
||||
});
|
||||
if(!ace.vars['touch']) {
|
||||
$('.chosen-select').chosen({allow_single_deselect:true});
|
||||
//resize the chosen on window resize
|
||||
$(window)
|
||||
.off('resize.chosen')
|
||||
.on('resize.chosen', function() {
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
}).trigger('resize.chosen');
|
||||
//resize chosen on sidebar collapse/expand
|
||||
$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
|
||||
if(event_name != 'sidebar_collapsed') return;
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
});
|
||||
$('#chosen-multiple-style .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
|
||||
else $('#form-field-select-4').removeClass('tag-input-style');
|
||||
});
|
||||
}
|
||||
$('[data-rel=tooltip]').tooltip({container:'body'});
|
||||
$('[data-rel=popover]').popover({container:'body'});
|
||||
autosize($('textarea[class*=autosize]'));
|
||||
$('textarea.limited').inputlimiter({
|
||||
remText: '%n character%s remaining...',
|
||||
limitText: 'max allowed : %n.'
|
||||
});
|
||||
$.mask.definitions['~']='[+-]';
|
||||
$('.input-mask-date').mask('99/99/9999');
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('.input-mask-eyescript').mask('~9.99 ~9.99 999');
|
||||
$(".input-mask-product").mask("a*-999-a999",{placeholder:" ",completed:function(){alert("You typed the following: "+this.val());}});
|
||||
$( "#input-size-slider" ).css('width','200px').slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 8,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-4').attr('class', sizing[val]).attr('placeholder', '.'+sizing[val]);
|
||||
}
|
||||
});
|
||||
$( "#input-span-slider" ).slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 12,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-5').attr('class', 'col-xs-'+val).val('.col-xs-'+val);
|
||||
}
|
||||
});
|
||||
//"jQuery UI Slider"
|
||||
//range slider tooltip example
|
||||
$( "#slider-range" ).css('height','200px').slider({
|
||||
orientation: "vertical",
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 100,
|
||||
values: [ 17, 67 ],
|
||||
slide: function( event, ui ) {
|
||||
var val = ui.values[$(ui.handle).index()-1] + "";
|
||||
if( !ui.handle.firstChild ) {
|
||||
$("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")
|
||||
.prependTo(ui.handle);
|
||||
}
|
||||
$(ui.handle.firstChild).show().children().eq(1).text(val);
|
||||
}
|
||||
}).find('span.ui-slider-handle').on('blur', function(){
|
||||
$(this.firstChild).hide();
|
||||
});
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 1,
|
||||
max: 10,
|
||||
value: 2
|
||||
});
|
||||
$( "#slider-eq > span" ).css({width:'90%', 'float':'left', margin:'15px'}).each(function() {
|
||||
// read initial values from markup and remove that
|
||||
var value = parseInt( $( this ).text(), 10 );
|
||||
$( this ).empty().slider({
|
||||
value: value,
|
||||
range: "min",
|
||||
animate: true
|
||||
});
|
||||
});
|
||||
$("#slider-eq > span.ui-slider-purple").slider('disable');//disable third item
|
||||
$('#id-input-file-1, #id-input-file-2').ace_file_input({
|
||||
no_file:'No File ...',
|
||||
btn_choose:'Choose',
|
||||
btn_change:'Change',
|
||||
droppable:false,
|
||||
onchange:null,
|
||||
thumbnail:false //| true | large
|
||||
//whitelist:'gif|png|jpg|jpeg'
|
||||
//blacklist:'exe|php'
|
||||
//onchange:''
|
||||
//
|
||||
});
|
||||
//pre-show a file name, for example a previously selected file
|
||||
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
|
||||
$('#id-input-file-3').ace_file_input({
|
||||
style: 'well',
|
||||
btn_choose: 'Drop files here or click to choose',
|
||||
btn_change: null,
|
||||
no_icon: 'ace-icon fa fa-cloud-upload',
|
||||
droppable: true,
|
||||
thumbnail: 'small'//large | fit
|
||||
//,icon_remove:null//set null, to hide remove/reset button
|
||||
/**,before_change:function(files, dropped) {
|
||||
//Check an example below
|
||||
//or examples/file-upload.html
|
||||
return true;
|
||||
}*/
|
||||
/**,before_remove : function() {
|
||||
return true;
|
||||
}*/
|
||||
,
|
||||
preview_error : function(filename, error_code) {
|
||||
//name of the file that failed
|
||||
//error_code values
|
||||
//1 = 'FILE_LOAD_FAILED',
|
||||
//2 = 'IMAGE_LOAD_FAILED',
|
||||
//3 = 'THUMBNAIL_FAILED'
|
||||
//alert(error_code);
|
||||
}
|
||||
}).on('change', function(){
|
||||
//console.log($(this).data('ace_input_files'));
|
||||
//console.log($(this).data('ace_input_method'));
|
||||
});
|
||||
//$('#id-input-file-3')
|
||||
//.ace_file_input('show_file_list', [
|
||||
//{type: 'image', name: 'name of image', path: 'http://path/to/image/for/preview'},
|
||||
//{type: 'file', name: 'hello.txt'}
|
||||
//]);
|
||||
//dynamically change allowed formats by changing allowExt && allowMime function
|
||||
$('#id-file-format').removeAttr('checked').on('change', function() {
|
||||
var whitelist_ext, whitelist_mime;
|
||||
var btn_choose
|
||||
var no_icon
|
||||
if(this.checked) {
|
||||
btn_choose = "Drop images here or click to choose";
|
||||
no_icon = "ace-icon fa fa-picture-o";
|
||||
whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
|
||||
whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
|
||||
}
|
||||
else {
|
||||
btn_choose = "Drop files here or click to choose";
|
||||
no_icon = "ace-icon fa fa-cloud-upload";
|
||||
whitelist_ext = null;//all extensions are acceptable
|
||||
whitelist_mime = null;//all mimes are acceptable
|
||||
}
|
||||
var file_input = $('#id-input-file-3');
|
||||
file_input
|
||||
.ace_file_input('update_settings',
|
||||
{
|
||||
'btn_choose': btn_choose,
|
||||
'no_icon': no_icon,
|
||||
'allowExt': whitelist_ext,
|
||||
'allowMime': whitelist_mime
|
||||
})
|
||||
file_input.ace_file_input('reset_input');
|
||||
file_input
|
||||
.off('file.error.ace')
|
||||
.on('file.error.ace', function(e, info) {
|
||||
//console.log(info.file_count);//number of selected files
|
||||
//console.log(info.invalid_count);//number of invalid files
|
||||
//console.log(info.error_list);//a list of errors in the following format
|
||||
//info.error_count['ext']
|
||||
//info.error_count['mime']
|
||||
//info.error_count['size']
|
||||
//info.error_list['ext'] = [list of file names with invalid extension]
|
||||
//info.error_list['mime'] = [list of file names with invalid mimetype]
|
||||
//info.error_list['size'] = [list of file names with invalid size]
|
||||
/**
|
||||
if( !info.dropped ) {
|
||||
//perhapse reset file field if files have been selected, and there are invalid files among them
|
||||
//when files are dropped, only valid files will be added to our file array
|
||||
e.preventDefault();//it will rest input
|
||||
}
|
||||
*/
|
||||
//if files have been selected (not dropped), you can choose to reset input
|
||||
//because browser keeps all selected files anyway and this cannot be changed
|
||||
//we can only reset file field to become empty again
|
||||
//on any case you still should check files with your server side script
|
||||
//because any arbitrary file can be uploaded by user and it's not safe to rely on browser-side measures
|
||||
});
|
||||
/**
|
||||
file_input
|
||||
.off('file.preview.ace')
|
||||
.on('file.preview.ace', function(e, info) {
|
||||
console.log(info.file.width);
|
||||
console.log(info.file.height);
|
||||
e.preventDefault();//to prevent preview
|
||||
});
|
||||
*/
|
||||
});
|
||||
$('#spinner1').ace_spinner({value:0,min:0,max:200,step:10, btn_up_class:'btn-info', btn_down_class:'btn-info'})
|
||||
.closest('.ace-spinner')
|
||||
.on('changed.fu.spinbox', function(){
|
||||
//console.log($('#spinner1').val())
|
||||
});
|
||||
$('#spinner2').ace_spinner({value:0,min:0,max:10000,step:100, touch_spinner: true, icon_up:'ace-icon fa fa-caret-up bigger-110', icon_down:'ace-icon fa fa-caret-down bigger-110'});
|
||||
$('#spinner3').ace_spinner({value:0,min:-100,max:100,step:10, on_sides: true, icon_up:'ace-icon fa fa-plus bigger-110', icon_down:'ace-icon fa fa-minus bigger-110', btn_up_class:'btn-success', btn_down_class:'btn-danger'});
|
||||
$('#spinner4').ace_spinner({value:0,min:-100,max:100,step:10, on_sides: true, icon_up:'ace-icon fa fa-plus', icon_down:'ace-icon fa fa-minus', btn_up_class:'btn-purple', btn_down_class:'btn-purple'});
|
||||
//$('#spinner1').ace_spinner('disable').ace_spinner('value', 11);
|
||||
//or
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('disable').spinner('enable').spinner('value', 11);//disable, enable or change value
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('value', 0);//reset to 0
|
||||
//datepicker plugin
|
||||
//link
|
||||
$('.date-picker').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true
|
||||
})
|
||||
//show datepicker when clicking on the icon
|
||||
.next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
//or change it into a date range picker
|
||||
$('.input-daterange').datepicker({autoclose:true});
|
||||
//to translate the daterange picker, please copy the "examples/daterange-fr.js" contents here before initialization
|
||||
$('input[name=date-range-picker]').daterangepicker({
|
||||
'applyClass' : 'btn-sm btn-success',
|
||||
'cancelClass' : 'btn-sm btn-default',
|
||||
locale: {
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
}
|
||||
})
|
||||
.prev().on(ace.click_event, function(){
|
||||
$(this).next().focus();
|
||||
});
|
||||
$('#timepicker1').timepicker({
|
||||
minuteStep: 1,
|
||||
showSeconds: true,
|
||||
showMeridian: false,
|
||||
disableFocus: true,
|
||||
icons: {
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down'
|
||||
}
|
||||
}).on('focus', function() {
|
||||
$('#timepicker1').timepicker('showWidget');
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
if(!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({
|
||||
format: 'MM/DD/YYYY h:mm:ss A',//use this option to display seconds
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-arrows ',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-times'
|
||||
}
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
$('#colorpicker1').colorpicker();
|
||||
//$('.colorpicker').last().css('z-index', 2000);//if colorpicker is inside a modal, its z-index should be higher than modal'safe
|
||||
$('#simple-colorpicker-1').ace_colorpicker();
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', 2);//select 2nd color
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', '#fbe983');//select #fbe983 color
|
||||
//var picker = $('#simple-colorpicker-1').data('ace_colorpicker')
|
||||
//picker.pick('red', true);//insert the color if it doesn't exist
|
||||
$(".knob").knob();
|
||||
var tag_input = $('#form-field-tags');
|
||||
try{
|
||||
tag_input.tag(
|
||||
{
|
||||
placeholder:tag_input.attr('placeholder'),
|
||||
//enable typeahead by specifying the source array
|
||||
source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
|
||||
/**
|
||||
//or fetch data from database, fetch those that match "query"
|
||||
source: function(query, process) {
|
||||
$.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
|
||||
.done(function(result_items){
|
||||
process(result_items);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
||||
)
|
||||
//programmatically add/remove a tag
|
||||
var $tag_obj = $('#form-field-tags').data('tag');
|
||||
$tag_obj.add('Programmatically Added');
|
||||
var index = $tag_obj.inValues('some tag');
|
||||
$tag_obj.remove(index);
|
||||
}
|
||||
catch(e) {
|
||||
//display a textarea for old IE, because it doesn't support this plugin or another one I tried!
|
||||
tag_input.after('<textarea id="'+tag_input.attr('id')+'" name="'+tag_input.attr('name')+'" rows="3">'+tag_input.val()+'</textarea>').remove();
|
||||
//autosize($('#form-field-tags'));
|
||||
}
|
||||
/////////
|
||||
$('#modal-form input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Drop files here or click to choose',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-cloud-upload',
|
||||
droppable:true,
|
||||
thumbnail:'large'
|
||||
})
|
||||
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
|
||||
//and its width cannot be determined.
|
||||
//so we set the width after modal is show
|
||||
$('#modal-form').on('shown.bs.modal', function () {
|
||||
if(!ace.vars['touch']) {
|
||||
$(this).find('.chosen-container').each(function(){
|
||||
$(this).find('a:first-child').css('width', '210px');
|
||||
$(this).find('.chosen-drop').css('width', '210px');
|
||||
$(this).find('.chosen-search input').css('width', '200px');
|
||||
});
|
||||
}
|
||||
})
|
||||
/**
|
||||
//or you can activate the chosen plugin after modal is shown
|
||||
//this way select element becomes visible with dimensions and chosen works as expected
|
||||
$('#modal-form').on('shown', function () {
|
||||
$(this).find('.modal-chosen').chosen();
|
||||
})
|
||||
*/
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
autosize.destroy('textarea[class*=autosize]')
|
||||
$('.limiterBox,.autosizejs').remove();
|
||||
$('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
781
WebContent/WEB-INF/views/nurse/profile.jsp
Normal file
|
@ -0,0 +1,781 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>个人信息页面 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="个人信息页面 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/jquery.gritter.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/select2.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-editable.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../nurse/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我处理的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${mySolvedRxsNum / solvedRxsNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${mySolvedRxsNum / solvedRxsNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentNurse.nsex ? 'Male' : 'Female'}Nurse.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentNurse.nname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../nurse/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../nurse/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../nurse/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../nurse/index">首页</a>
|
||||
</li>
|
||||
<li class="active">个人信息页面</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>个人信息</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div>
|
||||
<div id="user-profile-3" class="user-profile row">
|
||||
<div class="col-sm-offset-1 col-sm-10">
|
||||
<div class="tabbable">
|
||||
<ul class="nav nav-tabs padding-16">
|
||||
<li class="active">
|
||||
<a data-toggle="tab" href="#edit-basic">
|
||||
<i class="green ace-icon fa fa-pencil-square-o bigger-125"></i>
|
||||
基本信息
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a data-toggle="tab" href="#edit-password">
|
||||
<i class="blue ace-icon fa fa-key bigger-125"></i>
|
||||
更改密码
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content profile-edit-tab-content">
|
||||
<div id="edit-basic" class="tab-pane in active">
|
||||
<div class="tabbable">
|
||||
<div class="tab-content no-border padding-24">
|
||||
<div id="home" class="tab-pane in active">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-3 center">
|
||||
<span class="profile-picture">
|
||||
<img class="editable img-responsive" id="avatar" src="../assets/images/avatars/${currentNurse.nsex ? 'Male' : 'Female'}Nurse.png" alt="头像" />
|
||||
</span>
|
||||
</div><!-- /.col -->
|
||||
<div class="col-xs-12 col-sm-9">
|
||||
<h4 class="blue">
|
||||
<span class="middle"> ${currentNurse.nname}</span>
|
||||
<span class="label label-purple arrowed-in-right">
|
||||
<i class="ace-icon fa fa-circle smaller-80 align-middle"></i>
|
||||
发药处护士
|
||||
</span>
|
||||
</h4>
|
||||
<div class="profile-user-info">
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 编号 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentNurse.nno}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 姓名 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentNurse.nname}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 性别 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentNurse.nsex ? '男' : '女'}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-info-row">
|
||||
<div class="profile-info-name"> 年龄 </div>
|
||||
<div class="profile-info-value">
|
||||
<span>${currentNurse.nage}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /#home -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="edit-password" class="tab-pane">
|
||||
<form action="../nurse/changeNpwd" method="post" class="form-horizontal">
|
||||
<div class="space-20"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-pass1">新密码</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" name="Npwd1" required="required" id="form-field-pass1" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-4"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-pass2">确认密码</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="password" name="Npwd2" required="required" id="form-field-pass2" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix form-actions">
|
||||
<div class="col-md-offset-3 col-md-9">
|
||||
<button class="btn btn-info" type="submit">
|
||||
<i class="ace-icon fa fa-check bigger-110"></i>
|
||||
保存
|
||||
</button>
|
||||
|
||||
<button class="btn" type="reset">
|
||||
<i class="ace-icon fa fa-undo bigger-110"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.span -->
|
||||
</div><!-- /.user-profile -->
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/jquery.gritter.min.js"></script>
|
||||
<script src="../assets/js/bootbox.js"></script>
|
||||
<script src="../assets/js/jquery.easypiechart.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.hotkeys.index.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-wysiwyg.min.js"></script>
|
||||
<script src="../assets/js/select2.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-editable.min.js"></script>
|
||||
<script src="../assets/js/ace-editable.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//editables on first profile page
|
||||
$.fn.editable.defaults.mode = 'inline';
|
||||
$.fn.editableform.loading = "<div class='editableform-loading'><i class='ace-icon fa fa-spinner fa-spin fa-2x light-blue'></i></div>";
|
||||
$.fn.editableform.buttons = '<button type="submit" class="btn btn-info editable-submit"><i class="ace-icon fa fa-check"></i></button>'+
|
||||
'<button type="button" class="btn editable-cancel"><i class="ace-icon fa fa-times"></i></button>';
|
||||
//editables
|
||||
//text editable
|
||||
$('#username')
|
||||
.editable({
|
||||
type: 'text',
|
||||
name: 'username'
|
||||
});
|
||||
//select2 editable
|
||||
var countries = [];
|
||||
$.each({ "CA": "Canada", "IN": "India", "NL": "Netherlands", "TR": "Turkey", "US": "United States"}, function(k, v) {
|
||||
countries.push({id: k, text: v});
|
||||
});
|
||||
var cities = [];
|
||||
cities["CA"] = [];
|
||||
$.each(["Toronto", "Ottawa", "Calgary", "Vancouver"], function(k, v){
|
||||
cities["CA"].push({id: v, text: v});
|
||||
});
|
||||
cities["IN"] = [];
|
||||
$.each(["Delhi", "Mumbai", "Bangalore"], function(k, v){
|
||||
cities["IN"].push({id: v, text: v});
|
||||
});
|
||||
cities["NL"] = [];
|
||||
$.each(["Amsterdam", "Rotterdam", "The Hague"], function(k, v){
|
||||
cities["NL"].push({id: v, text: v});
|
||||
});
|
||||
cities["TR"] = [];
|
||||
$.each(["Ankara", "Istanbul", "Izmir"], function(k, v){
|
||||
cities["TR"].push({id: v, text: v});
|
||||
});
|
||||
cities["US"] = [];
|
||||
$.each(["New York", "Miami", "Los Angeles", "Chicago", "Wysconsin"], function(k, v){
|
||||
cities["US"].push({id: v, text: v});
|
||||
});
|
||||
var currentValue = "NL";
|
||||
$('#country').editable({
|
||||
type: 'select2',
|
||||
value : 'NL',
|
||||
//onblur:'ignore',
|
||||
source: countries,
|
||||
select2: {
|
||||
'width': 140
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
if(currentValue == newValue) return;
|
||||
currentValue = newValue;
|
||||
var new_source = (!newValue || newValue == "") ? [] : cities[newValue];
|
||||
//the destroy method is causing errors in x-editable v1.4.6+
|
||||
//it worked fine in v1.4.5
|
||||
/**
|
||||
$('#city').editable('destroy').editable({
|
||||
type: 'select2',
|
||||
source: new_source
|
||||
}).editable('setValue', null);
|
||||
*/
|
||||
//so we remove it altogether and create a new element
|
||||
var city = $('#city').removeAttr('id').get(0);
|
||||
$(city).clone().attr('id', 'city').text('Select City').editable({
|
||||
type: 'select2',
|
||||
value : null,
|
||||
//onblur:'ignore',
|
||||
source: new_source,
|
||||
select2: {
|
||||
'width': 140
|
||||
}
|
||||
}).insertAfter(city);//insert it after previous instance
|
||||
$(city).remove();//remove previous instance
|
||||
}
|
||||
});
|
||||
$('#city').editable({
|
||||
type: 'select2',
|
||||
value : 'Amsterdam',
|
||||
//onblur:'ignore',
|
||||
source: cities[currentValue],
|
||||
select2: {
|
||||
'width': 140
|
||||
}
|
||||
});
|
||||
//custom date editable
|
||||
$('#signup').editable({
|
||||
type: 'adate',
|
||||
date: {
|
||||
//datepicker plugin options
|
||||
format: 'yyyy/mm/dd',
|
||||
viewformat: 'yyyy/mm/dd',
|
||||
weekStart: 1
|
||||
//,nativeUI: true//if true and browser support input[type=date], native browser control will be used
|
||||
//,format: 'yyyy-mm-dd',
|
||||
//viewformat: 'yyyy-mm-dd'
|
||||
}
|
||||
})
|
||||
$('#age').editable({
|
||||
type: 'spinner',
|
||||
name : 'age',
|
||||
spinner : {
|
||||
min : 16,
|
||||
max : 99,
|
||||
step: 1,
|
||||
on_sides: true
|
||||
//,nativeUI: true//if true and browser support input[type=number], native browser control will be used
|
||||
}
|
||||
});
|
||||
$('#login').editable({
|
||||
type: 'slider',
|
||||
name : 'login',
|
||||
slider : {
|
||||
min : 1,
|
||||
max: 50,
|
||||
width: 100
|
||||
//,nativeUI: true//if true and browser support input[type=range], native browser control will be used
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
if(parseInt(newValue) == 1)
|
||||
$(this).html(newValue + " hour ago");
|
||||
else $(this).html(newValue + " hours ago");
|
||||
}
|
||||
});
|
||||
$('#about').editable({
|
||||
mode: 'inline',
|
||||
type: 'wysiwyg',
|
||||
name : 'about',
|
||||
wysiwyg : {
|
||||
//css : {'max-width':'300px'}
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
}
|
||||
});
|
||||
// *** editable avatar *** //
|
||||
try {//ie8 throws some harmless exceptions, so let's catch'em
|
||||
//first let's add a fake appendChild method for Image element for browsers that have a problem with this
|
||||
//because editable plugin calls appendChild, and it causes errors on IE at unpredicted points
|
||||
try {
|
||||
document.createElement('IMG').appendChild(document.createElement('B'));
|
||||
} catch(e) {
|
||||
Image.prototype.appendChild = function(el){}
|
||||
}
|
||||
var last_gritter
|
||||
$('#avatar').editable({
|
||||
type: 'image',
|
||||
name: 'avatar',
|
||||
value: null,
|
||||
//onblur: 'ignore', //don't reset or hide editable onblur?!
|
||||
image: {
|
||||
//specify ace file input plugin's options here
|
||||
btn_choose: 'Change Avatar',
|
||||
droppable: true,
|
||||
maxSize: 110000,//~100Kb
|
||||
//and a few extra ones here
|
||||
name: 'avatar',//put the field name here as well, will be used inside the custom plugin
|
||||
on_error : function(error_type) {//on_error function will be called when the selected file has a problem
|
||||
if(last_gritter) $.gritter.remove(last_gritter);
|
||||
if(error_type == 1) {//file format error
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'File is not an image!',
|
||||
text: 'Please choose a jpg|gif|png image!',
|
||||
class_name: 'gritter-error gritter-center'
|
||||
});
|
||||
} else if(error_type == 2) {//file size rror
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'File too big!',
|
||||
text: 'Image size should not exceed 100Kb!',
|
||||
class_name: 'gritter-error gritter-center'
|
||||
});
|
||||
}
|
||||
else {//other error
|
||||
}
|
||||
},
|
||||
on_success : function() {
|
||||
$.gritter.removeAll();
|
||||
}
|
||||
},
|
||||
url: function(params) {
|
||||
// ***UPDATE AVATAR HERE*** //
|
||||
//for a working upload example you can replace the contents of this function with
|
||||
//examples/profile-avatar-update.js
|
||||
var deferred = new $.Deferred
|
||||
var value = $('#avatar').next().find('input[type=hidden]:eq(0)').val();
|
||||
if(!value || value.length == 0) {
|
||||
deferred.resolve();
|
||||
return deferred.promise();
|
||||
}
|
||||
//dummy upload
|
||||
setTimeout(function(){
|
||||
if("FileReader" in window) {
|
||||
//for browsers that have a thumbnail of selected image
|
||||
var thumb = $('#avatar').next().find('img').data('thumb');
|
||||
if(thumb) $('#avatar').get(0).src = thumb;
|
||||
}
|
||||
deferred.resolve({'status':'OK'});
|
||||
if(last_gritter) $.gritter.remove(last_gritter);
|
||||
last_gritter = $.gritter.add({
|
||||
title: 'Avatar Updated!',
|
||||
text: 'Uploading to server can be easily implemented. A working example is included with the template.',
|
||||
class_name: 'gritter-info gritter-center'
|
||||
});
|
||||
}, parseInt(Math.random() * 800 + 800))
|
||||
return deferred.promise();
|
||||
// ***END OF UPDATE AVATAR HERE*** //
|
||||
},
|
||||
success: function(response, newValue) {
|
||||
}
|
||||
})
|
||||
}catch(e) {}
|
||||
/**
|
||||
//let's display edit mode by default?
|
||||
var blank_image = true;//somehow you determine if image is initially blank or not, or you just want to display file input at first
|
||||
if(blank_image) {
|
||||
$('#avatar').editable('show').on('hidden', function(e, reason) {
|
||||
if(reason == 'onblur') {
|
||||
$('#avatar').editable('show');
|
||||
return;
|
||||
}
|
||||
$('#avatar').off('hidden');
|
||||
})
|
||||
}
|
||||
*/
|
||||
//another option is using modals
|
||||
$('#avatar2').on('click', function(){
|
||||
var modal =
|
||||
'<div class="modal fade">\
|
||||
<div class="modal-dialog">\
|
||||
<div class="modal-content">\
|
||||
<div class="modal-header">\
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>\
|
||||
<h4 class="blue">Change Avatar</h4>\
|
||||
</div>\
|
||||
\
|
||||
<form class="no-margin">\
|
||||
<div class="modal-body">\
|
||||
<div class="space-4"></div>\
|
||||
<div style="width:75%;margin-left:12%;"><input type="file" name="file-input" /></div>\
|
||||
</div>\
|
||||
\
|
||||
<div class="modal-footer center">\
|
||||
<button type="submit" class="btn btn-sm btn-success"><i class="ace-icon fa fa-check"></i> Submit</button>\
|
||||
<button type="button" class="btn btn-sm" data-dismiss="modal"><i class="ace-icon fa fa-times"></i> Cancel</button>\
|
||||
</div>\
|
||||
</form>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>';
|
||||
var modal = $(modal);
|
||||
modal.modal("show").on("hidden", function(){
|
||||
modal.remove();
|
||||
});
|
||||
var working = false;
|
||||
var form = modal.find('form:eq(0)');
|
||||
var file = form.find('input[type=file]').eq(0);
|
||||
file.ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Click to choose new avatar',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-picture-o',
|
||||
thumbnail:'small',
|
||||
before_remove: function() {
|
||||
//don't remove/reset files while being uploaded
|
||||
return !working;
|
||||
},
|
||||
allowExt: ['jpg', 'jpeg', 'png', 'gif'],
|
||||
allowMime: ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
|
||||
});
|
||||
form.on('submit', function(){
|
||||
if(!file.data('ace_input_files')) return false;
|
||||
file.ace_file_input('disable');
|
||||
form.find('button').attr('disabled', 'disabled');
|
||||
form.find('.modal-body').append("<div class='center'><i class='ace-icon fa fa-spinner fa-spin bigger-150 orange'></i></div>");
|
||||
var deferred = new $.Deferred;
|
||||
working = true;
|
||||
deferred.done(function() {
|
||||
form.find('button').removeAttr('disabled');
|
||||
form.find('input[type=file]').ace_file_input('enable');
|
||||
form.find('.modal-body > :last-child').remove();
|
||||
modal.modal("hide");
|
||||
var thumb = file.next().find('img').data('thumb');
|
||||
if(thumb) $('#avatar2').get(0).src = thumb;
|
||||
working = false;
|
||||
});
|
||||
setTimeout(function(){
|
||||
deferred.resolve();
|
||||
}, parseInt(Math.random() * 800 + 800));
|
||||
return false;
|
||||
});
|
||||
});
|
||||
//////////////////////////////
|
||||
$('#profile-feed-1').ace_scroll({
|
||||
height: '250px',
|
||||
mouseWheelLock: true,
|
||||
alwaysVisible : true
|
||||
});
|
||||
$('a[ data-original-title]').tooltip();
|
||||
$('.easy-pie-chart.percentage').each(function(){
|
||||
var barColor = $(this).data('color') || '#555';
|
||||
var trackColor = '#E2E2E2';
|
||||
var size = parseInt($(this).data('size')) || 72;
|
||||
$(this).easyPieChart({
|
||||
barColor: barColor,
|
||||
trackColor: trackColor,
|
||||
scaleColor: false,
|
||||
lineCap: 'butt',
|
||||
lineWidth: parseInt(size/10),
|
||||
animate:false,
|
||||
size: size
|
||||
}).css('color', barColor);
|
||||
});
|
||||
///////////////////////////////////////////
|
||||
//right & left position
|
||||
//show the user info on right or left depending on its position
|
||||
$('#user-profile-2 .memberdiv').on('mouseenter touchstart', function(){
|
||||
var $this = $(this);
|
||||
var $parent = $this.closest('.tab-pane');
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $this.offset();
|
||||
var w2 = $this.width();
|
||||
var place = 'left';
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) place = 'right';
|
||||
$this.find('.popover').removeClass('right left').addClass(place);
|
||||
}).on('click', function(e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
///////////////////////////////////////////
|
||||
$('#user-profile-3')
|
||||
.find('input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Change avatar',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-picture-o',
|
||||
thumbnail:'large',
|
||||
droppable:true,
|
||||
allowExt: ['jpg', 'jpeg', 'png', 'gif'],
|
||||
allowMime: ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
|
||||
})
|
||||
.end().find('button[type=reset]').on(ace.click_event, function(){
|
||||
$('#user-profile-3 input[type=file]').ace_file_input('reset_input');
|
||||
})
|
||||
.end().find('.date-picker').datepicker().next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
})
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('#user-profile-3').find('input[type=file]').ace_file_input('show_file_list', [{type: 'image', name: $('#avatar').attr('src')}]);
|
||||
////////////////////
|
||||
//change profile
|
||||
$('[data-toggle="buttons"] .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
$('.user-profile').parent().addClass('hide');
|
||||
$('#user-profile-'+which).parent().removeClass('hide');
|
||||
});
|
||||
/////////////////////////////////////
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
//in ajax mode, remove remaining elements before leaving page
|
||||
try {
|
||||
$('.editable').editable('destroy');
|
||||
} catch(e) {}
|
||||
$('[class*=select2]').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
528
WebContent/WEB-INF/views/nurse/query-drug-list.jsp
Normal file
|
@ -0,0 +1,528 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看药品库存列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看药品库存列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../nurse/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我处理的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${mySolvedRxsNum / solvedRxsNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${mySolvedRxsNum / solvedRxsNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentNurse.nsex ? 'Male' : 'Female'}Nurse.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentNurse.nname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../nurse/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../nurse/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../nurse/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../nurse/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看库存药品列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看库存药品列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
库存药品列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品保质期 (天数)</th>
|
||||
<th>药品数量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${drugs}" var="drug">
|
||||
<tr>
|
||||
<td>${drug.PDno}</td>
|
||||
<td>${drug.PDname}</td>
|
||||
<td>${drug.PDlife}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [ null, null, null, null ],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
569
WebContent/WEB-INF/views/nurse/query-solved-rx-list.jsp
Normal file
|
@ -0,0 +1,569 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看已处理处方列表 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看已处理处方列表 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../nurse/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right progress-striped active">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我处理的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${mySolvedRxsNum / solvedRxsNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${mySolvedRxsNum / solvedRxsNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentNurse.nsex ? 'Male' : 'Female'}Nurse.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentNurse.nname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../nurse/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../nurse/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active open">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../nurse/index">首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../nurse/query-unsolved-rx-list">查看处方列表</a>
|
||||
</li>
|
||||
<li class="active">查看已处理处方列表</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看已处理处方列表
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
已处理处方列表
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>处方编号</th>
|
||||
<th>病人身份证号</th>
|
||||
<th>开出医生编号</th>
|
||||
<th>开出时间</th>
|
||||
<th>处理护士编号</th>
|
||||
<th>处理时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${rxs}" var="rx">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../nurse/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">${rx.pno}</a>
|
||||
</td>
|
||||
<td>${rx.pid}</td>
|
||||
<td>${rx.dno}</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>
|
||||
<a href="../nurse/query-specific-nurse?Nno=${rx.nno}" title="查看该护士的处理明细">${rx.nno}</a>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.htime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../nurse/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../nurse/query-specific-rx?Pno=${rx.pno}" class="tooltip-info" data-rel="tooltip" title="查看该处方的具体明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
591
WebContent/WEB-INF/views/nurse/query-specific-nurse.jsp
Normal file
|
@ -0,0 +1,591 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看${specificNurse.nname}的处理明细 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看${specificNurse.nname}的处理明细 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="../admin/index" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我处理的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${mySolvedRxsNum / solvedRxsNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${mySolvedRxsNum / solvedRxsNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentNurse.nsex ? 'Male' : 'Female'}Nurse.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentNurse.nname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../nurse/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../nurse/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="active">
|
||||
<a href="../nurse/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../admin/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看${specificNurse.nname}的处理明细</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
查看${specificNurse.nname}的处理明细
|
||||
<small>
|
||||
<i class="ace-icon fa fa-angle-double-right"></i>
|
||||
${specificNurse.nname}的相关信息
|
||||
</small>
|
||||
</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form" method="post" action="../admin/submit-storage-form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-1"> 护士编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="护士编号" name="Nno" value="${specificNurse.nno}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-2"> 护士姓名 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" readonly="readonly" placeholder="护士姓名" name="Nname" value="${specificNurse.nname}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-3"> 护士性别 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="护士性别" name="Nsex" value="${specificNurse.nsex ? '男' : '女'}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label no-padding-right" for="form-field-4"> 护士年龄 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-4" type="text" readonly="readonly" placeholder="护士年龄" name="Nage" value="${specificNurse.nage}">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<h3 class="header smaller lighter blue">
|
||||
查看由${specificNurse.nname}处理的所有处方
|
||||
</h3>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="clearfix">
|
||||
<div class="pull-right tableTools-container"></div>
|
||||
</div>
|
||||
<div class="table-header">
|
||||
查询结果
|
||||
</div>
|
||||
<!-- div.table-responsive -->
|
||||
<!-- div.dataTables_borderWrap -->
|
||||
<div>
|
||||
<table id="dynamic-table" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>处方编号</th>
|
||||
<th>病人身份证号</th>
|
||||
<th>开出医生编号</th>
|
||||
<th>开出时间</th>
|
||||
<th>处理时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${specificNurse.allRxs}" var="rx">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../nurse/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">${rx.pno}</a>
|
||||
</td>
|
||||
<td>${rx.pid}</td>
|
||||
<td>${rx.dno}</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatDate value="${rx.htime}" pattern="yyyy 年 MM 月 dd 日 HH:mm:ss"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="hidden-sm hidden-xs action-buttons">
|
||||
<a class="blue" href="../nurse/query-specific-rx?Pno=${rx.pno}" title="查看该处方的具体明细">
|
||||
<i class="ace-icon fa fa-search-plus bigger-130"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="hidden-md hidden-lg">
|
||||
<div class="inline pos-rel">
|
||||
<button class="btn btn-minier btn-yellow dropdown-toggle" data-toggle="dropdown" data-position="auto">
|
||||
<i class="ace-icon fa fa-caret-down icon-only bigger-120"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../nurse/query-specific-rx?Pno=${rx.pno}" class="tooltip-info" data-rel="tooltip" title="查看该处方的具体明细">
|
||||
<span class="blue">
|
||||
<i class="ace-icon fa fa-search-plus bigger-120"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<script src="../assets/js/jquery.dataTables.min.js"></script>
|
||||
<script src="../assets/js/jquery.dataTables.bootstrap.min.js"></script>
|
||||
<script src="../assets/js/dataTables.buttons.min.js"></script>
|
||||
<script src="../assets/js/buttons.flash.min.js"></script>
|
||||
<script src="../assets/js/buttons.html5.min.js"></script>
|
||||
<script src="../assets/js/buttons.print.min.js"></script>
|
||||
<script src="../assets/js/buttons.colVis.min.js"></script>
|
||||
<script src="../assets/js/dataTables.select.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
//initiate dataTables plugin
|
||||
var myTable =
|
||||
$('#dynamic-table')
|
||||
//.wrap("<div class='dataTables_borderWrap' />") //if you are applying horizontal scrolling (sScrollX)
|
||||
.DataTable( {
|
||||
bAutoWidth: false,
|
||||
"aoColumns": [
|
||||
null, null, null, null, null, { "bSortable": false }
|
||||
],
|
||||
"aaSorting": [],
|
||||
"iDisplayLength": 5,
|
||||
"aLengthMenu": [
|
||||
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, -1],
|
||||
["5 条", "10 条", "15 条", "20 条", "25 条", "30 条", "35 条", "40 条", "45 条", "50 条", "全部"]
|
||||
],
|
||||
"oLanguage": { // 自定义提示信息
|
||||
"sLengthMenu": "每页显示 _MENU_ 记录",
|
||||
"sZeroRecords": "抱歉,没有找到",
|
||||
"sInfo": "从 _START_ 到 _END_ / 共 _TOTAL_ 条数据 ",
|
||||
"sInfoEmpty": "没有数据",
|
||||
"sInfoFiltered": "(从 _MAX_ 条数据中检索) ",
|
||||
"sSearch": "检索",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
//"bProcessing": true,
|
||||
//"bServerSide": true,
|
||||
//"sAjaxSource": "http://127.0.0.1/table.php" ,
|
||||
//,
|
||||
//"sScrollY": "200px",
|
||||
//"bPaginate": false,
|
||||
//"sScrollX": "100%",
|
||||
//"sScrollXInner": "120%",
|
||||
//"bScrollCollapse": true,
|
||||
//Note: if you are applying horizontal scrolling (sScrollX) on a ".table-bordered"
|
||||
//you may want to wrap the table inside a "div.dataTables_borderWrap" element
|
||||
//"iDisplayLength": 50
|
||||
} );
|
||||
$.fn.dataTable.Buttons.defaults.dom.container.className = 'dt-buttons btn-overlap btn-group btn-overlap';
|
||||
new $.fn.dataTable.Buttons( myTable, {
|
||||
buttons: [
|
||||
{
|
||||
"extend": "colvis",
|
||||
"text": "<i class='fa fa-search bigger-110 blue'></i> <span class='hidden'>显示/隐藏列</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
columns: ':not(:first):not(:last)'
|
||||
},
|
||||
{
|
||||
"extend": "copy",
|
||||
"text": "<i class='fa fa-copy bigger-110 pink'></i> <span class='hidden'>复制到剪贴板</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "csv",
|
||||
"text": "<i class='fa fa-database bigger-110 orange'></i> <span class='hidden'>导出到 CSV 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
/* {
|
||||
"extend": "excel",
|
||||
"text": "<i class='fa fa-file-excel-o bigger-110 green'></i> <span class='hidden'>导出到 Excel 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
},
|
||||
{
|
||||
"extend": "pdf",
|
||||
"text": "<i class='fa fa-file-pdf-o bigger-110 red'></i> <span class='hidden'>导出到 PDF 文件</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold"
|
||||
}, */
|
||||
{
|
||||
"extend": "print",
|
||||
"text": "<i class='fa fa-print bigger-110 grey'></i> <span class='hidden'>打印</span>",
|
||||
"className": "btn btn-white btn-primary btn-bold",
|
||||
autoPrint: false
|
||||
}
|
||||
]
|
||||
} );
|
||||
myTable.buttons().container().appendTo( $('.tableTools-container') );
|
||||
//style the message box
|
||||
var defaultCopyAction = myTable.button(1).action();
|
||||
myTable.button(1).action(function (e, dt, button, config) {
|
||||
defaultCopyAction(e, dt, button, config);
|
||||
$('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white');
|
||||
});
|
||||
var defaultColvisAction = myTable.button(0).action();
|
||||
myTable.button(0).action(function (e, dt, button, config) {
|
||||
defaultColvisAction(e, dt, button, config);
|
||||
if($('.dt-button-collection > .dropdown-menu').length == 0) {
|
||||
$('.dt-button-collection')
|
||||
.wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />')
|
||||
.find('a').attr('href', '#').wrap("<li />")
|
||||
}
|
||||
$('.dt-button-collection').appendTo('.tableTools-container .dt-buttons')
|
||||
});
|
||||
////
|
||||
setTimeout(function() {
|
||||
$($('.tableTools-container')).find('a.dt-button').each(function() {
|
||||
var div = $(this).find(' > div').first();
|
||||
if(div.length == 1) div.tooltip({container: 'body', title: div.parent().text()});
|
||||
else $(this).tooltip({container: 'body', title: $(this).text()});
|
||||
});
|
||||
}, 500);
|
||||
myTable.on( 'select', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', true);
|
||||
}
|
||||
} );
|
||||
myTable.on( 'deselect', function ( e, dt, type, index ) {
|
||||
if ( type === 'row' ) {
|
||||
$( myTable.row( index ).node() ).find('input:checkbox').prop('checked', false);
|
||||
}
|
||||
} );
|
||||
/////////////////////////////////
|
||||
//table checkboxes
|
||||
$('th input[type=checkbox], td input[type=checkbox]').prop('checked', false);
|
||||
//select/deselect all rows according to table header checkbox
|
||||
$('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$('#dynamic-table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) myTable.row(row).select();
|
||||
else myTable.row(row).deselect();
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#dynamic-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var row = $(this).closest('tr').get(0);
|
||||
if(this.checked) myTable.row(row).deselect();
|
||||
else myTable.row(row).select();
|
||||
});
|
||||
$(document).on('click', '#dynamic-table .dropdown-toggle', function(e) {
|
||||
e.stopImmediatePropagation();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
});
|
||||
//And for the first simple table, which doesn't have TableTools or dataTables
|
||||
//select/deselect all rows according to table header checkbox
|
||||
var active_class = 'active';
|
||||
$('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
|
||||
var th_checked = this.checked;//checkbox inside "TH" table header
|
||||
$(this).closest('table').find('tbody > tr').each(function(){
|
||||
var row = this;
|
||||
if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
|
||||
else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
|
||||
});
|
||||
});
|
||||
//select/deselect a row when the checkbox is checked/unchecked
|
||||
$('#simple-table').on('click', 'td input[type=checkbox]', function(){
|
||||
var $row = $(this).closest('tr');
|
||||
if($row.is('.detail-row ')) return;
|
||||
if(this.checked) $row.addClass(active_class);
|
||||
else $row.removeClass(active_class);
|
||||
});
|
||||
/********************************/
|
||||
//add tooltip for small view action buttons in dropdown menu
|
||||
$('[data-rel="tooltip"]').tooltip({placement: tooltip_placement});
|
||||
//tooltip placement on right or left
|
||||
function tooltip_placement(context, source) {
|
||||
var $source = $(source);
|
||||
var $parent = $source.closest('table')
|
||||
var off1 = $parent.offset();
|
||||
var w1 = $parent.width();
|
||||
var off2 = $source.offset();
|
||||
//var w2 = $source.width();
|
||||
if( parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2) ) return 'right';
|
||||
return 'left';
|
||||
}
|
||||
/***************/
|
||||
$('.show-details-btn').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).closest('tr').next().toggleClass('open');
|
||||
$(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up');
|
||||
});
|
||||
/***************/
|
||||
/**
|
||||
//add horizontal scrollbars to a simple table
|
||||
$('#simple-table').css({'width':'2000px', 'max-width': 'none'}).wrap('<div style="width: 1000px;" />').parent().ace_scroll(
|
||||
{
|
||||
horizontal: true,
|
||||
styleClass: 'scroll-top scroll-dark scroll-visible',//show the scrollbars on top(default is bottom)
|
||||
size: 2000,
|
||||
mouseWheelLock: true
|
||||
}
|
||||
).css('padding-top', '12px');
|
||||
*/
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
801
WebContent/WEB-INF/views/nurse/query-specific-rx.jsp
Normal file
|
@ -0,0 +1,801 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta charset="utf-8" />
|
||||
<title>查看 ${rx.pno} 号处方的具体明细 - 医院药品库存管理系统</title>
|
||||
<meta name="description" content="查看 ${rx.pno} 号处方的具体明细 - 医院药品库存管理系统" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
||||
<!-- bootstrap & fontawesome -->
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="../assets/font-awesome/4.5.0/css/font-awesome.min.css" />
|
||||
<!-- page specific plugin styles -->
|
||||
<link rel="stylesheet" href="../assets/css/jquery-ui.custom.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/chosen.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datepicker3.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-timepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/daterangepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-datetimepicker.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/bootstrap-colorpicker.min.css" />
|
||||
<!-- text fonts -->
|
||||
<link rel="stylesheet" href="../assets/css/fonts.googleapis.com.css" />
|
||||
<!-- ace styles -->
|
||||
<link rel="stylesheet" href="../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-part2.min.css" class="ace-main-stylesheet" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" href="../assets/css/ace-skins.min.css" />
|
||||
<link rel="stylesheet" href="../assets/css/ace-rtl.min.css" />
|
||||
<!--[if lte IE 9]>
|
||||
<link rel="stylesheet" href="../assets/css/ace-ie.min.css" />
|
||||
<![endif]-->
|
||||
<!-- inline styles related to this page -->
|
||||
<!-- ace settings handler -->
|
||||
<script src="../assets/js/ace-extra.min.js"></script>
|
||||
<!-- HTML5shiv and Respond.js for IE8 to support HTML5 elements and media queries -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/html5shiv.min.js"></script>
|
||||
<script src="../assets/js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="no-skin">
|
||||
<div id="navbar" class="navbar navbar-default ace-save-state">
|
||||
<div class="navbar-container ace-save-state" id="navbar-container">
|
||||
<button type="button" class="navbar-toggle menu-toggler pull-left" id="menu-toggler" data-target="#sidebar">
|
||||
<span class="sr-only">Toggle sidebar</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-header pull-left">
|
||||
<a href="index.html" class="navbar-brand">
|
||||
<small>
|
||||
<i class="fa fa-leaf"></i>
|
||||
医院药品库存管理系统 DIMS
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-buttons navbar-header pull-right" role="navigation">
|
||||
<ul class="nav ace-nav">
|
||||
<li class="grey dropdown-modal">
|
||||
<a data-toggle="dropdown" class="dropdown-toggle" href="#">
|
||||
<i class="ace-icon fa fa-tasks"></i>
|
||||
<span class="badge badge-grey">3</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu-right dropdown-navbar dropdown-menu dropdown-caret dropdown-close">
|
||||
<li class="dropdown-header">
|
||||
<i class="ace-icon fa fa-check"></i>
|
||||
统计信息
|
||||
</li>
|
||||
<li class="dropdown-content">
|
||||
<ul class="dropdown-menu dropdown-navbar">
|
||||
<li>
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">已处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${solvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">未处理处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${unsolvedRxsNum / (solvedRxsNum + unsolvedRxsNum) * 100}%" class="progress-bar progress-bar-warning"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<div class="clearfix">
|
||||
<span class="pull-left">由我处理的处方数目占比</span>
|
||||
<span class="pull-right">
|
||||
<fmt:formatNumber value="${mySolvedRxsNum / solvedRxsNum * 100}" pattern="#.00"/>
|
||||
%
|
||||
</span>
|
||||
</div>
|
||||
<div class="progress progress-mini progress-striped active">
|
||||
<div style="width:${mySolvedRxsNum / solvedRxsNum * 100}%" class="progress-bar progress-bar-success"></div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="light-blue dropdown-modal">
|
||||
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
|
||||
<img class="nav-user-photo" src="../assets/images/avatars/${currentNurse.nsex ? 'Male' : 'Female'}Nurse.png" alt="头像" />
|
||||
<span class="user-info">
|
||||
<small>欢迎,</small>
|
||||
${currentNurse.nname}
|
||||
</span>
|
||||
<i class="ace-icon fa fa-caret-down"></i>
|
||||
</a>
|
||||
<ul class="user-menu dropdown-menu-right dropdown-menu dropdown-yellow dropdown-caret dropdown-close">
|
||||
<li>
|
||||
<a href="../nurse/profile">
|
||||
<i class="ace-icon fa fa-user"></i>
|
||||
个人信息
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="../logout">
|
||||
<i class="ace-icon fa fa-power-off"></i>
|
||||
登出
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- /.navbar-container -->
|
||||
</div>
|
||||
<div class="main-container ace-save-state" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('main-container')}catch(e){}
|
||||
</script>
|
||||
<div id="sidebar" class="sidebar responsive ace-save-state">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.loadState('sidebar')}catch(e){}
|
||||
</script>
|
||||
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
|
||||
<div class="sidebar-shortcuts-large" id="sidebar-shortcuts-large">
|
||||
<button class="btn btn-success">
|
||||
<i class="ace-icon fa fa-signal"></i>
|
||||
</button>
|
||||
<button class="btn btn-info">
|
||||
<i class="ace-icon fa fa-pencil"></i>
|
||||
</button>
|
||||
<button class="btn btn-warning">
|
||||
<i class="ace-icon fa fa-users"></i>
|
||||
</button>
|
||||
<button class="btn btn-danger">
|
||||
<i class="ace-icon fa fa-cogs"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-shortcuts-mini" id="sidebar-shortcuts-mini">
|
||||
<span class="btn btn-success"></span>
|
||||
<span class="btn btn-info"></span>
|
||||
<span class="btn btn-warning"></span>
|
||||
<span class="btn btn-danger"></span>
|
||||
</div>
|
||||
</div><!-- /.sidebar-shortcuts -->
|
||||
<ul class="nav nav-list">
|
||||
<li class="">
|
||||
<a href="../nurse/welcome">
|
||||
<i class="menu-icon fa fa-tachometer"></i>
|
||||
<span class="menu-text"> 欢迎页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/profile">
|
||||
<i class="menu-icon fa fa-tag"></i>
|
||||
<span class="menu-text"> 个人信息页面 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-drug-list">
|
||||
<i class="menu-icon fa fa-list"></i>
|
||||
<span class="menu-text"> 查看库存药品列表 </span>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="#" class="dropdown-toggle">
|
||||
<i class="menu-icon fa fa-list-alt"></i>
|
||||
<span class="menu-text"> 查看处方列表 </span>
|
||||
<b class="arrow fa fa-angle-down"></b>
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
<ul class="submenu">
|
||||
<li class="">
|
||||
<a href="../nurse/query-unsolved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看未处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
<li class="">
|
||||
<a href="../nurse/query-solved-rx-list">
|
||||
<i class="menu-icon fa fa-caret-right"></i>
|
||||
查看已处理处方列表
|
||||
</a>
|
||||
<b class="arrow"></b>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul><!-- /.nav-list -->
|
||||
<div class="sidebar-toggle sidebar-collapse" id="sidebar-collapse">
|
||||
<i id="sidebar-toggle-icon" class="ace-icon fa fa-angle-double-left ace-save-state" data-icon1="ace-icon fa fa-angle-double-left" data-icon2="ace-icon fa fa-angle-double-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
<div class="main-content-inner">
|
||||
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="ace-icon fa fa-home home-icon"></i>
|
||||
<a href="../nurse/index">首页</a>
|
||||
</li>
|
||||
<li class="active">查看 ${rx.pno} 号处方的具体明细</li>
|
||||
</ul><!-- /.breadcrumb -->
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="page-header">
|
||||
<h1>查看 ${rx.pno} 号处方的具体明细</h1>
|
||||
</div><!-- /.page-header -->
|
||||
<c:choose>
|
||||
<c:when test="${echo != null}">
|
||||
<div class="alert alert-info">
|
||||
<button class="close" data-dismiss="alert">
|
||||
<i class="ace-icon fa fa-times"></i>
|
||||
</button>
|
||||
<i class="ace-icon fa fa-hand-o-right"></i>
|
||||
${echo}
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- PAGE CONTENT BEGINS -->
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> 处方编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-1" type="text" readonly="readonly" placeholder="处方编号" name="Pno" value="${rx.pno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-2"> 病人身份证号码 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-2" type="text" readonly="readonly" placeholder="病人身份证号码" name="Pid" value="${rx.pid}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-3"> 开出医生编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-3" type="text" readonly="readonly" placeholder="开出医生编号" name="Dno" value="${rx.dno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-1"> 处方开出日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="id-date-picker-1" type="text" readonly="readonly" placeholder="处方开出日期" name="tempPdate" value="<fmt:formatDate value="${rx.ptime}" pattern="yyyy 年 MM 月 dd 日"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-5"> 处方开出时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="form-field-5" type="text" readonly="readonly" placeholder="处方开出时间" name="tempPtime" value="<fmt:formatDate value="${rx.ptime}" pattern="HH:mm:ss"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:choose>
|
||||
<c:when test="${rx.pstate}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-6"> 处理护士编号 </label>
|
||||
<div class="col-sm-4">
|
||||
<input class="form-control" id="form-field-6" type="text" readonly="readonly" placeholder="处理护士编号" name="Nno" value="${rx.nno}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="id-date-picker-2"> 处方处理日期 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="id-date-picker-2" type="text" readonly="readonly" placeholder="处方处理日期" name="tempHdate" value="<fmt:formatDate value="${rx.htime}" pattern="yyyy 年 MM 月 dd 日"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-calendar bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-8"> 处方处理时间 </label>
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="form-field-8" type="text" readonly="readonly" placeholder="处方处理时间" name="tempHtime" value="<fmt:formatDate value="${rx.htime}" pattern="HH:mm:ss"/>" required="required" />
|
||||
<span class="input-group-addon">
|
||||
<i class="fa fa-clock-o bigger-110"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-9"> 处方状态 </label>
|
||||
<div class="col-sm-4">
|
||||
<c:choose>
|
||||
<c:when test="${rx.pstate}">
|
||||
<span class="label label-sm label-success arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-check-square-o bigger-110"></i>
|
||||
已处理
|
||||
</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<span class="label label-sm label-warning arrowed-in-right arrowed">
|
||||
<i class="ace-icon fa fa-square-o bigger-110"></i>
|
||||
未处理
|
||||
</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label no-padding-right" for="form-field-10"> 处方包含的药品列表 </label>
|
||||
<div class="col-sm-4">
|
||||
<c:if test="${rx.pstate == false}">
|
||||
<h5 class="pink">
|
||||
<i class="ace-icon fa fa-hand-o-right green"></i>
|
||||
<a href="../nurse/handle-rx-form?Pno=${rx.pno}" role="button" class="green" data-toggle="modal"> 处理该处方 </a>
|
||||
</h5>
|
||||
</c:if>
|
||||
<table id="simple-table" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>药品编号</th>
|
||||
<th>药品名称</th>
|
||||
<th>药品数量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${rx.drugs}" var="drug">
|
||||
<tr>
|
||||
<td>${drug.PDno}</td>
|
||||
<td>${drug.PDname}</td>
|
||||
<td>${drug.PDnum}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- PAGE CONTENT ENDS -->
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.page-content -->
|
||||
</div>
|
||||
</div><!-- /.main-content -->
|
||||
<div class="footer">
|
||||
<div class="footer-inner">
|
||||
<div class="footer-content">
|
||||
<span class="bigger-120">
|
||||
<span class="blue bolder">医院药品库存管理系统</span>
|
||||
DIMS © 2019-2020
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
|
||||
<i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
|
||||
</a>
|
||||
</div><!-- /.main-container -->
|
||||
<!-- basic scripts -->
|
||||
<!--[if !IE]> -->
|
||||
<script src="../assets/js/jquery-2.1.4.min.js"></script>
|
||||
<!-- <![endif]-->
|
||||
<!--[if IE]>
|
||||
<script src="../assets/js/jquery-1.11.3.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript">
|
||||
if('ontouchstart' in document.documentElement) document.write("<script src='../assets/js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
|
||||
</script>
|
||||
<script src="../assets/js/bootstrap.min.js"></script>
|
||||
<!-- page specific plugin scripts -->
|
||||
<!--[if lte IE 8]>
|
||||
<script src="../assets/js/excanvas.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="../assets/js/jquery-ui.custom.min.js"></script>
|
||||
<script src="../assets/js/jquery.ui.touch-punch.min.js"></script>
|
||||
<script src="../assets/js/chosen.jquery.min.js"></script>
|
||||
<script src="../assets/js/spinbox.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-timepicker.min.js"></script>
|
||||
<script src="../assets/js/moment.min.js"></script>
|
||||
<script src="../assets/js/daterangepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-datetimepicker.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-colorpicker.min.js"></script>
|
||||
<script src="../assets/js/jquery.knob.min.js"></script>
|
||||
<script src="../assets/js/autosize.min.js"></script>
|
||||
<script src="../assets/js/jquery.inputlimiter.min.js"></script>
|
||||
<script src="../assets/js/jquery.maskedinput.min.js"></script>
|
||||
<script src="../assets/js/bootstrap-tag.min.js"></script>
|
||||
<!-- ace scripts -->
|
||||
<script src="../assets/js/ace-elements.min.js"></script>
|
||||
<script src="../assets/js/ace.min.js"></script>
|
||||
<!-- inline scripts related to this page -->
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
$('#id-disable-check').on('click', function() {
|
||||
var inp = $('#form-input-readonly').get(0);
|
||||
if(inp.hasAttribute('disabled')) {
|
||||
inp.setAttribute('readonly', 'true');
|
||||
inp.removeAttribute('disabled');
|
||||
inp.value="This text field is readonly!";
|
||||
}
|
||||
else {
|
||||
inp.setAttribute('disabled', 'disabled');
|
||||
inp.removeAttribute('readonly');
|
||||
inp.value="This text field is disabled!";
|
||||
}
|
||||
});
|
||||
if(!ace.vars['touch']) {
|
||||
$('.chosen-select').chosen({allow_single_deselect:true});
|
||||
//resize the chosen on window resize
|
||||
$(window)
|
||||
.off('resize.chosen')
|
||||
.on('resize.chosen', function() {
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
}).trigger('resize.chosen');
|
||||
//resize chosen on sidebar collapse/expand
|
||||
$(document).on('settings.ace.chosen', function(e, event_name, event_val) {
|
||||
if(event_name != 'sidebar_collapsed') return;
|
||||
$('.chosen-select').each(function() {
|
||||
var $this = $(this);
|
||||
$this.next().css({'width': $this.parent().width()});
|
||||
})
|
||||
});
|
||||
$('#chosen-multiple-style .btn').on('click', function(e){
|
||||
var target = $(this).find('input[type=radio]');
|
||||
var which = parseInt(target.val());
|
||||
if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
|
||||
else $('#form-field-select-4').removeClass('tag-input-style');
|
||||
});
|
||||
}
|
||||
$('[data-rel=tooltip]').tooltip({container:'body'});
|
||||
$('[data-rel=popover]').popover({container:'body'});
|
||||
autosize($('textarea[class*=autosize]'));
|
||||
$('textarea.limited').inputlimiter({
|
||||
remText: '%n character%s remaining...',
|
||||
limitText: 'max allowed : %n.'
|
||||
});
|
||||
$.mask.definitions['~']='[+-]';
|
||||
$('.input-mask-date').mask('99/99/9999');
|
||||
$('.input-mask-phone').mask('(999) 999-9999');
|
||||
$('.input-mask-eyescript').mask('~9.99 ~9.99 999');
|
||||
$(".input-mask-product").mask("a*-999-a999",{placeholder:" ",completed:function(){alert("You typed the following: "+this.val());}});
|
||||
$( "#input-size-slider" ).css('width','200px').slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 8,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-4').attr('class', sizing[val]).attr('placeholder', '.'+sizing[val]);
|
||||
}
|
||||
});
|
||||
$( "#input-span-slider" ).slider({
|
||||
value:1,
|
||||
range: "min",
|
||||
min: 1,
|
||||
max: 12,
|
||||
step: 1,
|
||||
slide: function( event, ui ) {
|
||||
var val = parseInt(ui.value);
|
||||
$('#form-field-5').attr('class', 'col-xs-'+val).val('.col-xs-'+val);
|
||||
}
|
||||
});
|
||||
//"jQuery UI Slider"
|
||||
//range slider tooltip example
|
||||
$( "#slider-range" ).css('height','200px').slider({
|
||||
orientation: "vertical",
|
||||
range: true,
|
||||
min: 0,
|
||||
max: 100,
|
||||
values: [ 17, 67 ],
|
||||
slide: function( event, ui ) {
|
||||
var val = ui.values[$(ui.handle).index()-1] + "";
|
||||
|
||||
if( !ui.handle.firstChild ) {
|
||||
$("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>")
|
||||
.prependTo(ui.handle);
|
||||
}
|
||||
$(ui.handle.firstChild).show().children().eq(1).text(val);
|
||||
}
|
||||
}).find('span.ui-slider-handle').on('blur', function(){
|
||||
$(this.firstChild).hide();
|
||||
});
|
||||
$( "#slider-range-max" ).slider({
|
||||
range: "max",
|
||||
min: 1,
|
||||
max: 10,
|
||||
value: 2
|
||||
});
|
||||
$( "#slider-eq > span" ).css({width:'90%', 'float':'left', margin:'15px'}).each(function() {
|
||||
// read initial values from markup and remove that
|
||||
var value = parseInt( $( this ).text(), 10 );
|
||||
$( this ).empty().slider({
|
||||
value: value,
|
||||
range: "min",
|
||||
animate: true
|
||||
|
||||
});
|
||||
});
|
||||
$("#slider-eq > span.ui-slider-purple").slider('disable');//disable third item
|
||||
$('#id-input-file-1, #id-input-file-2').ace_file_input({
|
||||
no_file:'No File ...',
|
||||
btn_choose:'Choose',
|
||||
btn_change:'Change',
|
||||
droppable:false,
|
||||
onchange:null,
|
||||
thumbnail:false //| true | large
|
||||
//whitelist:'gif|png|jpg|jpeg'
|
||||
//blacklist:'exe|php'
|
||||
//onchange:''
|
||||
//
|
||||
});
|
||||
//pre-show a file name, for example a previously selected file
|
||||
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
|
||||
$('#id-input-file-3').ace_file_input({
|
||||
style: 'well',
|
||||
btn_choose: 'Drop files here or click to choose',
|
||||
btn_change: null,
|
||||
no_icon: 'ace-icon fa fa-cloud-upload',
|
||||
droppable: true,
|
||||
thumbnail: 'small'//large | fit
|
||||
//,icon_remove:null//set null, to hide remove/reset button
|
||||
/**,before_change:function(files, dropped) {
|
||||
//Check an example below
|
||||
//or examples/file-upload.html
|
||||
return true;
|
||||
}*/
|
||||
/**,before_remove : function() {
|
||||
return true;
|
||||
}*/
|
||||
,
|
||||
preview_error : function(filename, error_code) {
|
||||
//name of the file that failed
|
||||
//error_code values
|
||||
//1 = 'FILE_LOAD_FAILED',
|
||||
//2 = 'IMAGE_LOAD_FAILED',
|
||||
//3 = 'THUMBNAIL_FAILED'
|
||||
//alert(error_code);
|
||||
}
|
||||
}).on('change', function(){
|
||||
//console.log($(this).data('ace_input_files'));
|
||||
//console.log($(this).data('ace_input_method'));
|
||||
});
|
||||
//$('#id-input-file-3')
|
||||
//.ace_file_input('show_file_list', [
|
||||
//{type: 'image', name: 'name of image', path: 'http://path/to/image/for/preview'},
|
||||
//{type: 'file', name: 'hello.txt'}
|
||||
//]);
|
||||
//dynamically change allowed formats by changing allowExt && allowMime function
|
||||
$('#id-file-format').removeAttr('checked').on('change', function() {
|
||||
var whitelist_ext, whitelist_mime;
|
||||
var btn_choose
|
||||
var no_icon
|
||||
if(this.checked) {
|
||||
btn_choose = "Drop images here or click to choose";
|
||||
no_icon = "ace-icon fa fa-picture-o";
|
||||
|
||||
whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
|
||||
whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
|
||||
}
|
||||
else {
|
||||
btn_choose = "Drop files here or click to choose";
|
||||
no_icon = "ace-icon fa fa-cloud-upload";
|
||||
|
||||
whitelist_ext = null;//all extensions are acceptable
|
||||
whitelist_mime = null;//all mimes are acceptable
|
||||
}
|
||||
var file_input = $('#id-input-file-3');
|
||||
file_input
|
||||
.ace_file_input('update_settings',
|
||||
{
|
||||
'btn_choose': btn_choose,
|
||||
'no_icon': no_icon,
|
||||
'allowExt': whitelist_ext,
|
||||
'allowMime': whitelist_mime
|
||||
})
|
||||
file_input.ace_file_input('reset_input');
|
||||
file_input
|
||||
.off('file.error.ace')
|
||||
.on('file.error.ace', function(e, info) {
|
||||
//console.log(info.file_count);//number of selected files
|
||||
//console.log(info.invalid_count);//number of invalid files
|
||||
//console.log(info.error_list);//a list of errors in the following format
|
||||
//info.error_count['ext']
|
||||
//info.error_count['mime']
|
||||
//info.error_count['size']
|
||||
//info.error_list['ext'] = [list of file names with invalid extension]
|
||||
//info.error_list['mime'] = [list of file names with invalid mimetype]
|
||||
//info.error_list['size'] = [list of file names with invalid size]
|
||||
/**
|
||||
if( !info.dropped ) {
|
||||
//perhapse reset file field if files have been selected, and there are invalid files among them
|
||||
//when files are dropped, only valid files will be added to our file array
|
||||
e.preventDefault();//it will rest input
|
||||
}
|
||||
*/
|
||||
//if files have been selected (not dropped), you can choose to reset input
|
||||
//because browser keeps all selected files anyway and this cannot be changed
|
||||
//we can only reset file field to become empty again
|
||||
//on any case you still should check files with your server side script
|
||||
//because any arbitrary file can be uploaded by user and it's not safe to rely on browser-side measures
|
||||
});
|
||||
/**
|
||||
file_input
|
||||
.off('file.preview.ace')
|
||||
.on('file.preview.ace', function(e, info) {
|
||||
console.log(info.file.width);
|
||||
console.log(info.file.height);
|
||||
e.preventDefault();//to prevent preview
|
||||
});
|
||||
*/
|
||||
});
|
||||
$('#spinner1').ace_spinner({value:0,min:0,max:200,step:10, btn_up_class:'btn-info', btn_down_class:'btn-info'})
|
||||
.closest('.ace-spinner')
|
||||
.on('changed.fu.spinbox', function(){
|
||||
//console.log($('#spinner1').val())
|
||||
});
|
||||
$('#spinner2').ace_spinner({value:0,min:0,max:10000,step:100, touch_spinner: true, icon_up:'ace-icon fa fa-caret-up bigger-110', icon_down:'ace-icon fa fa-caret-down bigger-110'});
|
||||
$('#spinner3').ace_spinner({value:0,min:-100,max:100,step:10, on_sides: true, icon_up:'ace-icon fa fa-plus bigger-110', icon_down:'ace-icon fa fa-minus bigger-110', btn_up_class:'btn-success', btn_down_class:'btn-danger'});
|
||||
$('#spinner4').ace_spinner({value:0,min:-100,max:100,step:10, on_sides: true, icon_up:'ace-icon fa fa-plus', icon_down:'ace-icon fa fa-minus', btn_up_class:'btn-purple', btn_down_class:'btn-purple'});
|
||||
//$('#spinner1').ace_spinner('disable').ace_spinner('value', 11);
|
||||
//or
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('disable').spinner('enable').spinner('value', 11);//disable, enable or change value
|
||||
//$('#spinner1').closest('.ace-spinner').spinner('value', 0);//reset to 0
|
||||
//datepicker plugin
|
||||
//link
|
||||
$('.date-picker').datepicker({
|
||||
autoclose: true,
|
||||
todayHighlight: true
|
||||
})
|
||||
//show datepicker when clicking on the icon
|
||||
.next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
//or change it into a date range picker
|
||||
$('.input-daterange').datepicker({autoclose:true});
|
||||
//to translate the daterange picker, please copy the "examples/daterange-fr.js" contents here before initialization
|
||||
$('input[name=date-range-picker]').daterangepicker({
|
||||
'applyClass' : 'btn-sm btn-success',
|
||||
'cancelClass' : 'btn-sm btn-default',
|
||||
locale: {
|
||||
applyLabel: 'Apply',
|
||||
cancelLabel: 'Cancel',
|
||||
}
|
||||
})
|
||||
.prev().on(ace.click_event, function(){
|
||||
$(this).next().focus();
|
||||
});
|
||||
$('#timepicker1').timepicker({
|
||||
minuteStep: 1,
|
||||
showSeconds: true,
|
||||
showMeridian: false,
|
||||
disableFocus: true,
|
||||
icons: {
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down'
|
||||
}
|
||||
}).on('focus', function() {
|
||||
$('#timepicker1').timepicker('showWidget');
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
if(!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({
|
||||
format: 'MM/DD/YYYY h:mm:ss A',//use this option to display seconds
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-arrows ',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-times'
|
||||
}
|
||||
}).next().on(ace.click_event, function(){
|
||||
$(this).prev().focus();
|
||||
});
|
||||
$('#colorpicker1').colorpicker();
|
||||
//$('.colorpicker').last().css('z-index', 2000);//if colorpicker is inside a modal, its z-index should be higher than modal'safe
|
||||
$('#simple-colorpicker-1').ace_colorpicker();
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', 2);//select 2nd color
|
||||
//$('#simple-colorpicker-1').ace_colorpicker('pick', '#fbe983');//select #fbe983 color
|
||||
//var picker = $('#simple-colorpicker-1').data('ace_colorpicker')
|
||||
//picker.pick('red', true);//insert the color if it doesn't exist
|
||||
$(".knob").knob();
|
||||
var tag_input = $('#form-field-tags');
|
||||
try{
|
||||
tag_input.tag(
|
||||
{
|
||||
placeholder:tag_input.attr('placeholder'),
|
||||
//enable typeahead by specifying the source array
|
||||
source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
|
||||
/**
|
||||
//or fetch data from database, fetch those that match "query"
|
||||
source: function(query, process) {
|
||||
$.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
|
||||
.done(function(result_items){
|
||||
process(result_items);
|
||||
});
|
||||
}
|
||||
*/
|
||||
}
|
||||
)
|
||||
//programmatically add/remove a tag
|
||||
var $tag_obj = $('#form-field-tags').data('tag');
|
||||
$tag_obj.add('Programmatically Added');
|
||||
var index = $tag_obj.inValues('some tag');
|
||||
$tag_obj.remove(index);
|
||||
}
|
||||
catch(e) {
|
||||
//display a textarea for old IE, because it doesn't support this plugin or another one I tried!
|
||||
tag_input.after('<textarea id="'+tag_input.attr('id')+'" name="'+tag_input.attr('name')+'" rows="3">'+tag_input.val()+'</textarea>').remove();
|
||||
//autosize($('#form-field-tags'));
|
||||
}
|
||||
/////////
|
||||
$('#modal-form input[type=file]').ace_file_input({
|
||||
style:'well',
|
||||
btn_choose:'Drop files here or click to choose',
|
||||
btn_change:null,
|
||||
no_icon:'ace-icon fa fa-cloud-upload',
|
||||
droppable:true,
|
||||
thumbnail:'large'
|
||||
})
|
||||
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
|
||||
//and its width cannot be determined.
|
||||
//so we set the width after modal is show
|
||||
$('#modal-form').on('shown.bs.modal', function () {
|
||||
if(!ace.vars['touch']) {
|
||||
$(this).find('.chosen-container').each(function(){
|
||||
$(this).find('a:first-child').css('width', '210px');
|
||||
$(this).find('.chosen-drop').css('width', '210px');
|
||||
$(this).find('.chosen-search input').css('width', '200px');
|
||||
});
|
||||
}
|
||||
})
|
||||
/**
|
||||
//or you can activate the chosen plugin after modal is shown
|
||||
//this way select element becomes visible with dimensions and chosen works as expected
|
||||
$('#modal-form').on('shown', function () {
|
||||
$(this).find('.modal-chosen').chosen();
|
||||
})
|
||||
*/
|
||||
$(document).one('ajaxloadstart.page', function(e) {
|
||||
autosize.destroy('textarea[class*=autosize]')
|
||||
$('.limiterBox,.autosizejs').remove();
|
||||
$('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|