kkk 2 years ago
parent
commit
df6f111538
100 changed files with 28955 additions and 0 deletions
  1. 21 0
      src/main/webapp/WEB-INF/web.xml
  2. 326 0
      src/main/webapp/schoolLogin.html
  3. BIN
      src/main/webapp/template/图书个别登记薄.xls
  4. BIN
      src/main/webapp/template/图书个别登记薄.xlsx
  5. BIN
      src/main/webapp/template/图书催还清单.xls
  6. BIN
      src/main/webapp/template/图书总括登记薄.xls
  7. BIN
      src/main/webapp/template/图书注销清单.xls
  8. BIN
      src/main/webapp/template/图书流通记录.xls
  9. BIN
      src/main/webapp/template/图书流通费用记录.xls
  10. BIN
      src/main/webapp/template/图书编目模板.xls
  11. BIN
      src/main/webapp/template/图书馆综合数据统计.xls
  12. BIN
      src/main/webapp/template/期刊合订本清单.xls
  13. BIN
      src/main/webapp/template/期刊征订模板.xls
  14. BIN
      src/main/webapp/template/馆藏清查模板.xls
  15. 0 0
      src/main/webapp/upload/temp/a.txt
  16. BIN
      src/main/webapp/upload/template/图书借还记录导入模板.xls
  17. BIN
      src/main/webapp/upload/template/图书回溯数据导入模板.xls
  18. BIN
      src/main/webapp/upload/template/图书编目模板.xls
  19. BIN
      src/main/webapp/upload/template/期刊回溯数据导入模板.xls
  20. BIN
      src/main/webapp/upload/template/藏书分类标准.xls
  21. BIN
      src/main/webapp/upload/template/读者信息导入模板.xls
  22. 291 0
      src/main/webapp/view/base-state/areaSum.html
  23. 94 0
      src/main/webapp/view/base-state/data-child/addBook.html
  24. 85 0
      src/main/webapp/view/base-state/data-child/flowRecord.html
  25. 62 0
      src/main/webapp/view/base-state/data-child/libBookDetail.html
  26. 56 0
      src/main/webapp/view/base-state/data-child/libJournalDetail.html
  27. 82 0
      src/main/webapp/view/base-state/data-child/removeBook.html
  28. 92 0
      src/main/webapp/view/base-state/data-child/sumRegister.html
  29. 159 0
      src/main/webapp/view/base-state/schoolData.html
  30. 522 0
      src/main/webapp/view/base-state/schoolRegister.html
  31. 67 0
      src/main/webapp/view/base-state/thisUnit.html
  32. 2578 0
      src/main/webapp/view/flow-manage/dailyBorrowing.html
  33. 2517 0
      src/main/webapp/view/flow-manage/dailyBorrowing_aiface.html
  34. 2654 0
      src/main/webapp/view/flow-manage/dailyBorrowing_face.html
  35. 2478 0
      src/main/webapp/view/flow-manage/dailyBorrowing_rfid.html
  36. 2668 0
      src/main/webapp/view/flow-manage/dailyBorrowing_rfidandface.html
  37. 194 0
      src/main/webapp/view/flow-manage/damagedBook.html
  38. 450 0
      src/main/webapp/view/flow-manage/jieYueRecord.html
  39. 156 0
      src/main/webapp/view/flow-manage/jieYueTotal.html
  40. 310 0
      src/main/webapp/view/flow-manage/loseBook.html
  41. 148 0
      src/main/webapp/view/flow-manage/overdue.html
  42. 64 0
      src/main/webapp/view/flow-manage/rfidbarcode.html
  43. 267 0
      src/main/webapp/view/hotbook/hotbook.html
  44. 128 0
      src/main/webapp/view/intelligentdevice/circulationRecord.html
  45. 175 0
      src/main/webapp/view/intelligentdevice/mobileBookinfo.html
  46. 194 0
      src/main/webapp/view/library/barCodeChangeBook.html
  47. 239 0
      src/main/webapp/view/library/cancelBook.html
  48. 689 0
      src/main/webapp/view/library/editBookList.html
  49. 223 0
      src/main/webapp/view/library/librarybook.html
  50. 247 0
      src/main/webapp/view/library/librayBookPlan.html
  51. 219 0
      src/main/webapp/view/library/librayBookSigle.html
  52. 476 0
      src/main/webapp/view/library/removeBook.html
  53. 1426 0
      src/main/webapp/view/list-manage/addBookList.html
  54. 234 0
      src/main/webapp/view/list-manage/bookBackData.html
  55. 690 0
      src/main/webapp/view/list-manage/bookBaseInfo.html
  56. 293 0
      src/main/webapp/view/list-manage/bookList.html
  57. 1104 0
      src/main/webapp/view/list-manage/bookMarkPrint.html
  58. 199 0
      src/main/webapp/view/list-manage/bookPenaltyList.html
  59. 486 0
      src/main/webapp/view/list-manage/bookPrintTemp.html
  60. 145 0
      src/main/webapp/view/list-manage/bookPrintTemp_bak.html
  61. 151 0
      src/main/webapp/view/list-manage/bookShelf.html
  62. 221 0
      src/main/webapp/view/list-manage/bookpici.html
  63. 416 0
      src/main/webapp/view/list-manage/checkBookList.html
  64. 23 0
      src/main/webapp/view/list-manage/journalBackData.html
  65. 241 0
      src/main/webapp/view/list-manage/journalMarkPrint.html
  66. 100 0
      src/main/webapp/view/list-manage/journalPrintTemp.html
  67. 382 0
      src/main/webapp/view/list-manage/listCount.html
  68. 101 0
      src/main/webapp/view/list-manage/removeBookPrintTemp.html
  69. 67 0
      src/main/webapp/view/list-manage/sortDialog.html
  70. 85 0
      src/main/webapp/view/list-manage/sysmkf.html
  71. 136 0
      src/main/webapp/view/print/mulukadayin.html
  72. 114 0
      src/main/webapp/view/print/mulukadayinTemp.html
  73. 120 0
      src/main/webapp/view/print/shubenmuludayin.html
  74. 251 0
      src/main/webapp/view/print/shubenshimuludayin.html
  75. 139 0
      src/main/webapp/view/print/tushugebiedengjibu.html
  76. 92 0
      src/main/webapp/view/print/tushugebiedengjidayin.html
  77. 155 0
      src/main/webapp/view/print/tushuzhuxiaobaobiao.html
  78. 94 0
      src/main/webapp/view/print/tushuzhuxiaodayin.html
  79. 109 0
      src/main/webapp/view/print/tushuzondengjidayin.html
  80. 124 0
      src/main/webapp/view/print/tushuzongkuodengjibu.html
  81. 157 0
      src/main/webapp/view/query-stats/addStats.html
  82. 131 0
      src/main/webapp/view/query-stats/addStatsCity.html
  83. 155 0
      src/main/webapp/view/query-stats/addStatsState.html
  84. 41 0
      src/main/webapp/view/query-stats/bookRecommendList.html
  85. 99 0
      src/main/webapp/view/query-stats/bookRecommendReviewList.html
  86. 91 0
      src/main/webapp/view/query-stats/child/readerDetail.html
  87. 224 0
      src/main/webapp/view/query-stats/libChange.html
  88. 149 0
      src/main/webapp/view/query-stats/libChangeCity.html
  89. 293 0
      src/main/webapp/view/query-stats/libChangeStats.html
  90. 121 0
      src/main/webapp/view/query-stats/libFlowStats.html
  91. 0 0
      src/main/webapp/view/query-stats/libFlowStatsCity.html
  92. 141 0
      src/main/webapp/view/query-stats/libFlowStatsR.html
  93. 94 0
      src/main/webapp/view/query-stats/libFlowStatsState.html
  94. 150 0
      src/main/webapp/view/query-stats/libFlowStatsreport.html
  95. 181 0
      src/main/webapp/view/query-stats/libNumberStats.html
  96. 10 0
      src/main/webapp/view/query-stats/libNumberStatsCity.html
  97. 10 0
      src/main/webapp/view/query-stats/libNumberStatsState.html
  98. 156 0
      src/main/webapp/view/query-stats/libNumberStatsreport.html
  99. 123 0
      src/main/webapp/view/query-stats/libQuery.html
  100. 0 0
      src/main/webapp/view/query-stats/libSortDetail.html

+ 21 - 0
src/main/webapp/WEB-INF/web.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
+  <filter>
+		<filter-name>jfinal</filter-name>
+		<filter-class>com.jfinal.core.JFinalFilter</filter-class>
+		<init-param>
+			<param-name>configClass</param-name>
+			<param-value>com.config.MyJfinalConfig</param-value>
+		</init-param>
+	</filter>
+
+	<filter-mapping>
+		<filter-name>jfinal</filter-name>
+		<url-pattern>/*</url-pattern>
+	</filter-mapping>
+
+
+	<session-config>
+		<session-timeout>480</session-timeout>
+	</session-config>
+</web-app>

+ 326 - 0
src/main/webapp/schoolLogin.html

@@ -0,0 +1,326 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="renderer" content="webkit">
+    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>图书馆管理系统</title>
+    <link rel="shortcut icon" type="image/x-icon" href="/img/jsw-logo.ico">
+    <link rel="stylesheet" href="/lib/layui/css/layui.css">
+    <link rel="stylesheet" href="/css/cssreste.css">
+    <style type="text/css">
+        html, body {
+            height: 100%;
+        }
+        body {
+            background: url("/img/school-bg.jpg") no-repeat center center;
+            background-size: cover;
+        }
+        form {
+            padding-left: 120px;
+            width: 400px;
+        }
+        .tab-link {
+            padding-top: 40px;
+            font-size: 18px;
+        }
+        .tab-link a {
+            color: #333333;
+        }
+        .tab-link span {
+            color: #3b77e3;
+        }
+        h4 {
+            font-size: 40px;
+            color: #000000;
+            margin-top: 60px;
+        }
+        h6 {
+            font-size: 20px;
+            color: #333333;
+            margin-top: 35px;
+            margin-bottom: 40px;
+        }
+        li {
+            display: inline-block;
+
+            padding: 0 0px;
+            margin-top: 30px;
+
+        }
+        input {
+            border-radius: 2px;
+            background-color: rgb(246, 245, 251);
+            height: 54px;
+            line-height: 54px;
+            width: 100%;
+            font-size: 18px;
+        }
+
+        button {
+            margin-top: 30px;
+            font-size: 20px;
+            color: #fff;
+            border-style: solid;
+            border-width: 1px;
+            border-color: rgb(255, 255, 255);
+            border-radius: 15px;
+            background-image: -moz-linear-gradient( 0deg, rgb(59,119,227) 0%, rgb(104,177,255) 100%);
+            background-image: -webkit-linear-gradient( 0deg, rgb(59,119,227) 0%, rgb(104,177,255) 100%);
+            background-image: -ms-linear-gradient( 0deg, rgb(59,119,227) 0%, rgb(104,177,255) 100%);
+            width: 227px;
+            height: 54px;
+        }
+        #LAY_layuipro{
+            height: 100px !important;
+        }
+    </style>
+    <!--[if lt IE 9]>
+    <script src="/lib/html5shiv.min.js"></script>
+    <![endif]-->
+</head>
+
+<body>
+<form class="layui-form" id="updatepwd" style="display: none; padding-top: 10px;" lay-filter="updatepwd">
+    <div class="layui-form-item">
+        <label class="layui-form-label" >新密码</label>
+        <div class="layui-input-inline">
+            <input type="password" id="password" name="password" lay-verify="pass" lay-verType="tips" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label" >确认密码</label>
+        <div class="layui-input-inline">
+            <input type="password" id="repassword" name="repassword" lay-verify="repass" lay-verType="tips" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+</form>
+<form class="layui-form" id="loginForm">
+
+    <div class="tab-link">
+
+    </div>
+    <h4><span id="biaoti"></span>图书馆管理系统</h4>
+
+
+    <ul>
+        <li><label>账号:</label><input type="text" style="width: 220px; height:54px;" name="loginname" lay-verify="required" autocomplete="off"></li>
+        <li><label>密码:</label><input type="password"  style="width: 220px;"  name="password" lay-verify="required" autocomplete="off"></li>
+        <li><div style="float:left;"><label>验证码:</label><input type="text"  style="width: 100px;"  name="imgcode" lay-verify="required" autocomplete="off"></div>
+            <div style="float:left;"><img style="height: 54px;width: 90px;padding-left:5px;" src="/auth/validateImg" id="validateImg"></div>
+        </li>
+    </ul>
+    <input type="hidden" name="type" value="school">
+    <button lay-submit lay-filter="*">登录</button>
+    <div style="position: absolute; display:none; text-align: center;left:420px;bottom: 80px;">
+        <img src="/img/zhangshang.jpg" alt="" width="100" height="100">
+        <p style="color: #333;padding: 2px 0;font-size: 15px;">掌上图书馆</p>
+    </div>
+    <div style="position: absolute; text-align: center;left:350px;bottom: 20px;">
+        技术支持:湖南金思维教育装备有限公司&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;客服电话:0731-85157311
+    </div>
+</form>
+<script type="text/javascript" src="/lib/layui/layui.all.js"></script>
+<script type="text/javascript" src="/js/common.js"></script>
+<script type="text/javascript">
+    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
+    var isChrome = userAgent.indexOf("Chrome") > -1
+        && userAgent.indexOf("Safari") > -1; //判断Chrome浏览器
+    if (!isChrome) {
+        //layer.msg("请使用Chrome浏览器");
+        layer.open({
+            type: 1
+            ,title: false //不显示标题栏
+            ,closeBtn: false
+            ,area: ['500px', '300px']
+            ,shade: 0.8
+            ,id: 'LAY_layuipro' //设定一个id,防止重复弹出
+            ,btn: ['下载Google Chrome 浏览器', '&nbsp;&nbsp;关 &nbsp;&nbsp;闭&nbsp;&nbsp;']
+            ,btnAlign: 'c'
+            ,moveType: 1 //拖拽模式,0或者1
+            ,content: '<div style="padding: 20px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">为保证更好的用户体验,推荐使用Google Chrome 浏览器。</div>',
+            yes:function (index, layero) {
+                window.open("/file/downloadChromeSetupFile");
+            }, btn2: function(index, layero){
+                layer.close(index);
+            },success:function(layero,index){
+
+            }
+        });
+    }
+
+    $("#validateImg").click(function () {
+        releaseCode();
+    });
+    $.ajax("/auth/getMessageVersion", {
+        success: function (result) {
+            var version = localStorage.getItem("version");
+            if(version=="" || version < result.data){
+                layer.open({
+                    type: 2
+                    ,title: false //不显示标题栏
+                    ,area: ['600px', '450px']
+                    //,btn: ['确定']
+                    ,moveType: 1 //拖拽模式,0或者1
+                    ,content:"/editionupdate.html",cancel: function(index, layero){
+                        if(result.data){
+                            localStorage.setItem("version",result.data);
+                        } else {
+                            localStorage.setItem("version",1);
+                        }
+                        layer.close(index);
+                    }
+                });
+            }
+        }
+    });
+
+    //自定义验证规则
+    form.verify({
+        pass: [
+
+            ,'密码必须6到12位,且不能出现空格'
+        ]
+        ,repass: [
+            /^(?=.*[0-9])(?=.*[a-zA-Z]).{8,30}/
+            ,'密码必须6到12位,且不能出现空格'
+        ]
+    });
+
+    form.on('submit(*)', function(data){
+        $.ajax("/auth/login",{
+            // type:"POST",
+            data:data.field,
+            success:function(result){
+                if(result.code==200){
+                    if(data.field.password == '123456'){
+                        layer.open({
+                            title:'您的密码过于简单,修改密码确保账号安全',
+                            type: 1,
+                            area: ['600px', '300px'],
+                            content: $("#updatepwd"),
+                            btn: ['保存', '取消'],
+                            yes: function(index, layero){
+                                var reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z].{7,15}/;
+                                if($("#password").val() != $("#repassword").val()){
+                                    layer.msg("您输入的密码不一致!", { icon: 5,time: 2000 });
+                                    return;
+                                }
+                                if (!reg.test($("#password").val())) {
+                                    layer.msg("您的密码复杂度太低(必须包含字母、数字且长度为8-15位)", { icon: 5,time: 3000 });
+                                    $("#password").focus();
+                                    return;
+                                }
+                                if (!reg.test($("#repassword").val())) {
+                                    layer.msg("您的密码复杂度太低(必须包含字母、数字且长度为8-15位)", { icon: 5,time: 3000 });
+                                    $("#repassword").focus();
+                                    return;
+                                }
+                                $.post("/user/repasswd",
+                                    {
+                                        token:result.data.token,password:$("#password").val(),oldPassword:'123456'
+                                    },
+                                    function(data){
+                                        if(data.code==200){
+                                            sessionStorage.token = result.data.token;
+                                            sessionStorage.userLevel=result.data.orgtypeid;
+                                            sessionStorage.loginData = JSON.stringify(result.data);
+                                            if(result.data.warn != ''){
+                                                alert(result.data.warn);
+                                            }
+                                            layer.msg('登录成功', { icon: 1,time: 300 }, function(){
+                                                // form.val("*",{"loginname":"","password":""});
+                                                window.location.href = "schoolindex/index";
+                                            });
+                                        }else {
+                                            if(data.code==3){
+                                                window.location.href ="/"
+                                            }
+                                            layer.msg(data.msg, { icon: 1 });
+                                        }
+                                    }
+                                );
+                                layer.close(index);
+                            },
+                            btn2: function(index, layero){
+                                releaseCode();
+                                layer.close(index);
+                            },
+                            success:function(layero,index){
+                                $("#updatepwd")[0].reset();
+                            }
+                        });
+                    } else {
+                        sessionStorage.token = result.data.token;
+                        sessionStorage.userLevel=result.data.orgtypeid;
+                        sessionStorage.loginData = JSON.stringify(result.data);
+                        if(result.data.warn != ''){
+                            alert(result.data.warn);
+                        }
+                        layer.msg('登录成功', { icon: 1,time: 300 }, function(){
+                            // form.val("*",{"loginname":"","password":""});
+                            window.location.href = "schoolindex/index";
+                        });
+                    }
+                }else if(result.code == 100){
+                    alert(result.msg);
+                }else {
+                    releaseCode();
+                    layer.msg(result.msg, { icon: 2,time: 2000 });
+                }
+            },
+            error:function(result){
+                releaseCode();
+                layer.msg('登录出错'+result.msg, { icon: 6,time: 2000 });
+            }
+        });
+        return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
+    });
+
+    function releaseCode() {
+        var d = new Date();
+        document.getElementById("validateImg").src="/auth/validateImg?t="+d.toString(40);
+    }
+
+    /**
+    * [setCookie 设置cookie]
+    * [key value t 键 值 ]
+    */
+    function setCookie(key,value){
+        document.cookie=key+"="+value+"; expires=DataTime.MaxValue";
+    }
+    /**
+     * [getCookie 获取cookie]
+     */
+    function getCookie(key){
+        var arr1=document.cookie.split("; ");//由于cookie是通过一个分号+空格的形式串联起来的,所以这里需要先按分号空格截断,变成[name=Jack,pwd=123456,age=22]数组类型;
+        var backstr = "";
+        for(var i=0;i<arr1.length;i++){
+            var arr2=arr1[i].split("=");//通过=截断,把name=Jack截断成[name,Jack]数组;
+            if(arr2[0]==key){
+                backstr = decodeURI(arr2[1]);
+            }
+        }
+        return backstr;
+    }
+
+
+    $(function(){
+        $.ajax({
+            url:"/schoolindex/getbiaoti",
+            data:{token:''},
+            type:"GET",
+            success:function (result) {
+                if(result.data){
+                    $("#biaoti").html(result.data);
+                }
+
+            }
+        });
+    });
+</script>
+</body>
+
+</html>

BIN
src/main/webapp/template/图书个别登记薄.xls


BIN
src/main/webapp/template/图书个别登记薄.xlsx


BIN
src/main/webapp/template/图书催还清单.xls


BIN
src/main/webapp/template/图书总括登记薄.xls


BIN
src/main/webapp/template/图书注销清单.xls


BIN
src/main/webapp/template/图书流通记录.xls


BIN
src/main/webapp/template/图书流通费用记录.xls


BIN
src/main/webapp/template/图书编目模板.xls


BIN
src/main/webapp/template/图书馆综合数据统计.xls


BIN
src/main/webapp/template/期刊合订本清单.xls


BIN
src/main/webapp/template/期刊征订模板.xls


BIN
src/main/webapp/template/馆藏清查模板.xls


+ 0 - 0
src/main/webapp/upload/temp/a.txt


BIN
src/main/webapp/upload/template/图书借还记录导入模板.xls


BIN
src/main/webapp/upload/template/图书回溯数据导入模板.xls


BIN
src/main/webapp/upload/template/图书编目模板.xls


BIN
src/main/webapp/upload/template/期刊回溯数据导入模板.xls


BIN
src/main/webapp/upload/template/藏书分类标准.xls


BIN
src/main/webapp/upload/template/读者信息导入模板.xls


+ 291 - 0
src/main/webapp/view/base-state/areaSum.html

@@ -0,0 +1,291 @@
+#@layout()
+#define main()
+<div class="areaSum clearfix" v-cloak>
+    <div class="jswxt">
+        图书管理系统
+    </div>
+    <div class="line"></div>
+    <div class="hztj">
+        汇总统计
+    </div>
+    <ul class="xxs clearfix">
+        <li>
+            <a href="schoolRegister">
+                <div class="clearfix"><span class="pull-left">学校数</span><i class="pull-right">●</i></div>
+                <div>{{summaryList.xxs}}</div>
+            </a>
+        </li>
+        <li>
+            <a class="nolink">
+            <div class="clearfix"><span class="pull-left">学生数</span><i class="pull-right">●</i></div>
+            <div>{{summaryList.xss||0}}</div>
+            </a>
+        </li>
+        <li>
+            <a href="readerQuery">
+            <div class="clearfix"><span class="pull-left">读者数</span><i class="pull-right">●</i></div>
+            <div>{{summaryList.dzs||0}}</div>
+            </a>
+        </li>
+        <li>
+            <a class="nolink">
+            <div class="clearfix"><span class="pull-left">图书管理员数</span><i class="pull-right">●</i></div>
+            <div>{{summaryList.tsglys||0}}</div>
+            </a>
+        </li>
+        <li>
+            <a class="nolink">
+            <div class="clearfix"><span class="pull-left">图书种数</span><i class="pull-right">●</i></div>
+            <div>{{summaryList.tszs||0}}</div>
+            </a>
+        </li>
+    </ul>
+    <ul class="tszcs clearfix">
+        <li>
+            <a href="libNumberStats">
+                <div>图书总册数:</div>
+                <p>{{summaryList.tszcs||0}}</p>
+            </a>
+        </li>
+        <li>
+            <a href="libNumberStats">
+                <div>期刊种数:</div>
+                <p>{{summaryList.qkzs||0}}</p>
+            </a>
+        </li>
+        <li>
+            <a class="nolink" href="javascript:;">
+                <div>缺书册数:</div>
+                <p>{{summaryList.qscs||0}}</p>
+            </a>
+        </li>
+        <li>
+            <a class="nolink" href="javascript:;">
+                <div>平均复本:</div>
+                <p>{{summaryList.pjfb?parseFloat(summaryList.pjfb).toFixed(2):0}}</p>
+            </a>
+        </li>
+        <li>
+            <a class="nolink" href="javascript:;">
+                <div>图书保障率:</div>
+                <p>{{summaryList.tsbzl?parseFloat(summaryList.tsbzl).toFixed(2)+"%":0}}</p>
+            </a>
+        </li>
+    </ul>
+    <div class="line"></div>
+    <div class="lttj clearfix">
+        <div class="one-row">流通统计</div>
+        <p class="dateSelect layui-form">
+            筛选时间:从
+            <input type="text" id="startDate" v-model="startDate" class="layui-input-inline layui-input" style="width: 80px;height: 20px;" placeholder="开始日期">
+            到
+            <input type="text" id="endDate" v-model="endDate" class="layui-input-inline layui-input" style="width: 80px;height: 20px;" placeholder="结束时间">
+            <button onclick="queryFlow()" class="layui-btn layui-btn-xs " style="height: 18px;font-size: 10px;">查询</button>
+        </p>
+        <ul class="dqjcsl">
+            <li>
+                <p><span></span>&nbsp;&nbsp;当前借出数量:</p>
+                <p>&nbsp;&nbsp;&nbsp;{{flowStatistics.dqjcsl}}</p>
+            </li>
+            <li>
+                <p><span></span>&nbsp;&nbsp;图书借出数量:</p>
+                <p>&nbsp;&nbsp;&nbsp;{{flowStatistics.tsjcsl}}</p>
+            </li>
+            <li>
+                <p><span></span>&nbsp;&nbsp;期刊借出数量:</p>
+                <p>&nbsp;&nbsp;&nbsp;{{flowStatistics.qkjcsl}}</p>
+            </li>
+        </ul>
+        <div class="rjjycs">
+            <p>人均借阅册数:<b>{{flowStatistics.rjjycs?flowStatistics.rjjycs.toFixed(2):0}}</b></p>
+            <div id="pleproNumber" class="rjjycs-echats" style="width: 280px;height:200px;"></div>
+        </div>
+    </div>
+    <div class="jrjb clearfix">
+        <div class="one-row">今日简报</div>
+        <p class="" style="height: 45px;">
+        </p>
+        <div class="rjjycs">
+            <div id="rjjycsChats" class="rjjycs-echats" style="width: 240px;height:200px;"></div>
+        </div>
+        <ul class="xzts">
+            <li><a href="libFlowStats"><i>1</i><b>{{dayBriefingList.jssl}}</b>借书数量</a></li>
+            <li><a href="libFlowStats"><i>2</i><b>{{dayBriefingList.hssl}}</b>还书数量</a></li>
+            <li><a href="libChangeStats"><i>3</i><b>{{dayBriefingList.xzsl}}</b>新增图书</a></li>
+            <li><a href="libChangeStats"><i>4</i><b>{{dayBriefingList.zxsl}}</b>注销图书</a></li>
+        </ul>
+    </div>
+</div>
+#end
+#define methods()
+<!--<script type="text/javascript" src="/lib/echarts-en.common.js"></script>-->
+<script type="text/javascript">
+    var flowStatistics;
+    var dayBriefingList;
+    var section = new Vue({
+        el: "#section",
+        data:{
+            endDate:'',
+            startDate:'',
+            summaryList:{
+                // xxs:1000
+            },
+            flowStatistics:{},
+            dayBriefingList:{},
+            circulationList:{}
+        },
+        methods: {
+
+        },
+        created:function(){
+            var that = this;
+            myAjax({url:"/region/summaryList"},function(result){
+                that.summaryList = result.data;      //汇总统计
+            });
+        },
+        mounted:function(){
+            var that = this;
+            myAjax({url:"/region/circulationList"},function(result){
+                that.flowStatistics = result.data;
+                flowStatistics =  result.data;
+                console.log(flowStatistics,123);
+            });
+            myAjax({url:"/region/dayBriefingList"},function(result){
+
+                that.dayBriefingList = result.data;  //今日简报
+                dayBriefingList = result.data;
+                console.log(dayBriefingList,456);
+            });
+        }
+    });
+
+    function echatsFun(ele,yValue,itemData){
+        var myChart = echarts.init(document.getElementById(ele),"light");
+        var option = {
+            title: {
+                // text: 'ECharts 入门示例'
+            },
+            label:{
+                fontSize:'8px'
+            },
+            grid:{
+                show:true,
+                top: '15px',
+                bottom: '50px',
+                left: '50px',
+                borderColor:"#f8f8f8"
+            },
+            xAxis: {
+                data: yValue,
+                splitLine:{ show:false },
+                axisLine:{
+                    lineStyle:{
+                        color:'#d2d2d2'
+                    }
+                },
+                axisLabel : {
+                    textStyle: {
+                        fontSize: '10px',
+                        color:'#666'
+                    },
+                    formatter : function(params){
+                        var newParamsName = "";// 最终拼接成的字符串
+                        var paramsNameNumber = params.length;// 实际标签的个数
+                        var provideNumber = 2;// 每行能显示的字的个数
+                        var rowNumber = Math.ceil(paramsNameNumber / provideNumber);// 换行的话,需要显示几行,向上取整
+                        if (paramsNameNumber > provideNumber) {
+                            /** 循环每一行,p表示行 */
+                            for (var p = 0; p < rowNumber; p++) {
+                                var tempStr = "";// 表示每一次截取的字符串
+                                var start = p * provideNumber;// 开始截取的位置
+                                var end = start + provideNumber;// 结束截取的位置
+                                // 此处特殊处理最后一行的索引值
+                                if (p == rowNumber - 1) {
+                                    // 最后一次不换行
+                                    tempStr = params.substring(start, paramsNameNumber);
+                                } else {
+                                    // 每一次拼接字符串并换行
+                                    tempStr = params.substring(start, end) + "\n";
+                                }
+                                newParamsName += tempStr;// 最终拼成的字符串
+                            }
+
+                        } else {
+                            // 将旧标签的值赋给新标签
+                            newParamsName = params;
+                        }
+                        //将最终的字符串返回
+                        return newParamsName
+                    }
+                }
+            },
+            yAxis: {
+                type: 'value',
+                splitLine:{ show:false },
+                axisLine:{
+                    lineStyle:{
+                        color:'#d2d2d2'
+                    }
+                },
+                axisLabel: {
+                    textStyle: {
+                        fontSize: '10px',
+                        color:'#666'
+                    },
+                    show: true,
+                    interval: 'auto',
+                    formatter: '{value} %'
+                },
+                // show: true
+            },
+            series: [
+                {
+                    barWidth: 20,
+                    type: 'bar',
+                    data: itemData,
+                    itemStyle:{
+                        normal:{
+                            color:'#608df2'
+                        }
+                    },
+                    label:{
+                        normal:{
+                            show:true,            //显示数字
+                            position: 'top'        //这里可以自己选择位置
+                        }
+                    }
+                }
+            ]
+        };
+        myChart.setOption(option);
+    };
+    function queryFlow(){
+        if(!$("#startDate").val()||!$("#endDate").val()) return layer.msg('请输入起始时间');
+        myAjax({url:"/region/circulationList",data:{ksrq:$("#startDate").val(),jsrq:$("#endDate").val()}},function(result){
+
+            flowStatistics = result.data;
+            echatsFun('pleproNumber',["读者到馆率","藏书利用率","文献利用率","读者阅读率"],[flowStatistics.dzdgl?flowStatistics.dzdgl.toFixed(2):0, flowStatistics.cslyl?flowStatistics.cslyl.toFixed(2):0, flowStatistics.wxlyl?flowStatistics.wxlyl.toFixed(2):0, flowStatistics.dzydl?flowStatistics.dzydl.toFixed(2):0]);
+        });
+    }
+    window.onload=function(){
+        var script = document.createElement('script');
+        script.type = 'text/javascript';
+        script.src = '/lib/echarts.simple.min.js';     //填自己的js路径
+        $('body').append(script);
+
+        //延时加载
+        setTimeout(function(){
+            console.log(flowStatistics,789);
+            echatsFun('pleproNumber',["读者到馆率","藏书利用率","文献利用率","读者阅读率"],[flowStatistics.dzdgl?flowStatistics.dzdgl.toFixed(2):0, flowStatistics.cslyl?flowStatistics.cslyl.toFixed(2):0, flowStatistics.wxlyl?flowStatistics.wxlyl.toFixed(2):0, flowStatistics.dzydl?flowStatistics.dzydl.toFixed(2):0]);
+            echatsFun('rjjycsChats',["图书借阅率","读者到馆率"],[dayBriefingList.jyl?dayBriefingList.jyl.toFixed(2):0, dayBriefingList.dgl?dayBriefingList.dgl.toFixed(2):0]);
+        },1500);
+
+        laydate.render({
+            elem: '#startDate' //指定元素
+        });
+        laydate.render({
+            elem: '#endDate' //指定元素
+        });
+    }
+</script>
+#end

+ 94 - 0
src/main/webapp/view/base-state/data-child/addBook.html

@@ -0,0 +1,94 @@
+#@layout()
+#define main()
+<div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="startDate">时间选择</label>
+        <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="">
+        <label for="endDate">到</label>
+        <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="">
+        &nbsp;&nbsp;&nbsp;&nbsp;
+        <input type="text" name="countent" class="layui-input-inline layui-input" placeholder="请输入题名或著者">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    console.log(getUrlParam("orgid"));
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date(),
+        done: function(value, date, endDate){
+
+        }
+    });
+    // searchForm.submit('submit(searchBtn)',"selectcount/schoolOmnibusList");
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        data.field.orgid = getUrlParam("orgid");
+        tableIns.reload({
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        layer.msg('查询成功', { icon: 1 });
+        return false;
+    });
+
+    myTable.list({
+        url:"/selectcount/bookNewlyAddedList",
+        elem:"#dataTable",
+        postData:{orgid:getUrlParam("orgid")},
+        toolbar:true,
+        cols: [
+            [ //表头新增
+                {type: 'numbers', title: '序号'}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field: 'title', title: '题名', align:'center'}
+                ,{field: 'author', title: '著者', align:'center'}
+                ,{field: 'publisher', title: '出版社', align:'center'}
+                ,{field: 'booknum',title: '数量', align:'center'}
+                ,{field: 'price',title: '金额(元)', align:'center'}
+                ,{field: 'createtime',title: '新增日期', align:'center',templet:function(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field: 'newsource',title: '新增来源', align:'center',templet:function(d){
+                    if(d.newsource == 52) {
+                        return "上级配发";
+                    } else if(d.newsource == 53) {
+                        return "学校购买";
+                    } else if(d.newsource == 54) {
+                        return "接收捐赠";
+                    } else {
+                        return "其他";
+                    }
+                }}
+            ]
+        ]
+    });
+</script>
+#end

+ 85 - 0
src/main/webapp/view/base-state/data-child/flowRecord.html

@@ -0,0 +1,85 @@
+#@layout()
+#define main()
+<div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="startDate">时间选择:</label>
+        <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+        <label for="endDate">到:</label>
+        <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    console.log(getUrlParam("orgid"));
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date(),
+        done: function(value, date, endDate){
+
+        }
+    });
+    // searchForm.submit('submit(searchBtn)',"selectcount/schoolOmnibusList");
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        data.field.orgid = getUrlParam("orgid");
+        tableIns.reload({
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        layer.msg('查询成功', { icon: 1 });
+        return false;
+    });
+
+    myTable.list({
+        url:"/selectcount/schoolJieyueRecordList",
+        elem:"#dataTable",
+        postData:{orgid:getUrlParam("orgid")},
+        toolbar:true,
+        cols: [
+            [ //表头
+                {type: 'numbers', title: '序号',rowspan:2}
+                // ,{field: 'flag', title: '文献类型',align:'center',templet:function(d){
+                //     return d.flag==0?"图书":"期刊";
+                // }}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field: 'title', title: '题名', align:'center'}
+                ,{field: 'realname', title: '读者姓名', align:'center'}
+                ,{field: 'cardnumber', title: '读者证号', align:'center'}
+                ,{field: 'createtime',title: '借书时间', align:'center',templet:function (d) {
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field: 'returntime',title: '还书时间', align:'center',templet:function(d){
+                    return d.returntime==null?"暂未还书":d.returntime.split(" ")[0];
+                }}
+                ,{field: 'continuenum',title: '续借次数', align:'center'}
+            ]
+        ]
+    });
+</script>
+#end

+ 62 - 0
src/main/webapp/view/base-state/data-child/libBookDetail.html

@@ -0,0 +1,62 @@
+#@layout()
+#define main()
+<div>
+    <form lay-filter="queryForm" class="query-form layui-form" id="queryForm">
+        <input type="hidden" name="orgid">
+        <b id="schoolName"> </b>
+        <br>
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <input type="text" name="title" class="layui-input-inline layui-input" style="width: 150px;" placeholder="正题名、著者、出版社">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    //console.log(getUrlParam("orgid"));
+
+    // searchForm.submit('submit(searchBtn)',"selectcount/schoolOmnibusList");
+
+
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        data.field.orgid = getUrlParam("orgid");
+        tableIns.reload({
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        layer.msg('查询成功', { icon: 1 });
+        return false;
+    });
+
+    myTable.list({
+        url:"/selectcount/booksNumDetailedList",
+        elem:"#dataTable",
+        postData:{orgid:getUrlParam("orgid")},
+        cols: [
+            [ //表头
+                {type: 'numbers', title: '序号',rowspan:2}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field: 'title', title: '正题名', align:'center'}
+                ,{field: 'author', title: '著者', align:'center'}
+                ,{field: 'publisher', title: '出版社', align:'center'}
+                ,{field: 'publishdate',title: '出版年月', align:'center'}
+                ,{field: 'price',title: '定价(元)', align:'center'}
+                ,{field: 'booknum',title: '数量', align:'center'}
+            ]
+        ]
+    });
+
+    $.get("/selectcount/schoolName",{orgid:getUrlParam("orgid")},function(result){
+        $("#schoolName").text(result.data.orgname+" 馆藏图书明细");
+    });
+</script>
+#end

+ 56 - 0
src/main/webapp/view/base-state/data-child/libJournalDetail.html

@@ -0,0 +1,56 @@
+#@layout()
+#define main()
+<div>
+<form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <input type="text" name="title" id="title" class="layui-input-inline layui-input" placeholder="题名、副题名、编辑部">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    console.log(getUrlParam("orgid"));
+
+    // searchForm.submit('submit(searchBtn)',"selectcount/schoolOmnibusList");
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        data.field.orgid = getUrlParam("orgid");
+
+        tableIns.reload({
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        layer.msg('查询成功', { icon: 1 });
+        return false;
+    });
+
+    myTable.list({
+        url:"/selectcount/qBooksNumDetailedList",
+        elem:"#dataTable",
+        postData:{orgid:getUrlParam("orgid")},
+        toolbar:true,
+        cols: [
+            [ //表头
+                {type: 'numbers', title: '序号',rowspan:2}
+                ,{field:'issn', title: 'ISSN', align:'center'}
+                ,{field: 'title', title: '刊名', align:'center'}
+               // ,{field: 'qs', title: '期数', align:'center'}
+                ,{field: 'bianjibu', title: '编辑部', align:'center'}
+                ,{field: 'tongyikanhao',title: '统一刊号', align:'center'}
+                ,{field: 'youfadaihao',title: '邮发代号', align:'center'}
+                ,{field: 'bookno',title: '索刊号', align:'center'}
+                ,{field: 'price',title: '定价(元)', align:'center'}
+            ]
+        ]
+    });
+</script>
+#end

+ 82 - 0
src/main/webapp/view/base-state/data-child/removeBook.html

@@ -0,0 +1,82 @@
+#@layout()
+#define main()
+<div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="startDate">时间选择:</label>
+        <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+        <label for="endDate">到:</label>
+        <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        &nbsp;&nbsp;&nbsp;&nbsp;
+        <input type="text" name="countent" class="layui-input-inline layui-input" placeholder="请输入题名或著者">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    console.log(getUrlParam("orgid"));
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date(),
+        done: function(value, date, endDate){
+
+        }
+    });
+    // searchForm.submit('submit(searchBtn)',"selectcount/schoolOmnibusList");
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        data.field.orgid = getUrlParam("orgid");
+        tableIns.reload({
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        layer.msg('查询成功', { icon: 1 });
+        return false;
+    });
+
+    myTable.list({
+        url:"/selectcount/bookCancelList",
+        elem:"#dataTable",
+        postData:{orgid:getUrlParam("orgid")},
+        toolbar:true,
+        cols: [
+            [
+                {type: 'numbers', title: '序号',rowspan:2}
+                ,{field: 'barcode',title: '条码', align:'center'}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field: 'title', title: '题名', align:'center'}
+                ,{field: 'author', title: '著者', align:'center'}
+                ,{field: 'publisher', title: '出版社', align:'center'}
+                ,{field: 'createtime',title: '注销日期', align:'center',templet:function(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+
+                }}
+                ,{field: 'reason',title: '注销原因', align:'center'}
+            ]
+        ]
+    });
+</script>
+#end

+ 92 - 0
src/main/webapp/view/base-state/data-child/sumRegister.html

@@ -0,0 +1,92 @@
+#@layout()
+#define main()
+<div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="startDate">时间选择</label>
+        <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+        <label for="endDate">到</label>
+        <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="dataTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    console.log(getUrlParam("orgid"));
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date(),
+        done: function(value, date, endDate){
+
+        }
+    });
+    // searchForm.submit('submit(searchBtn)',"selectcount/schoolOmnibusList");
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        data.field.orgid = getUrlParam("orgid");
+        tableIns.reload({
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        layer.msg('查询成功', { icon: 1 });
+        return false;
+    });
+
+
+    myTable.list({
+        url:"/selectcount/schoolOmnibusList",
+        postData:{orgid:getUrlParam("orgid")},
+        elem:"#dataTable",
+        toolbar:true,
+        done:function(){
+        },
+        cols: [
+            [
+                {type: 'numbers', title: '序号'},
+                {field: 'createtime', title: '日期',rowspan:2}
+                ,{field:'batchname', title: '登记号', align:'center',rowspan:2}
+                ,{field: 'zongzhongshu', title: '总种数',rowspan:2}
+                ,{field: 'zongceshu', title: '总册数', align:'center',rowspan:2}
+                ,{field: 'totalprice', title: '金额',rowspan:2}
+                ,{ title: 'A 马列主义毛泽东思想', align:'center',colspan:2,width:200}
+                ,{ title: 'B 哲学、宗教', align:'center',colspan:2}
+                ,{ title: 'C-K 社会科学', align:'center',colspan:2}
+                ,{title: 'N-X 自然科学', align:'center',colspan:2}
+                ,{ title: 'Z 综合性图书', align:'center',colspan:2}
+            ],
+            [
+                {field: 'type1_cs', title: '册数', align:'center',width:100}
+                ,{field: 'type1_zs',title: '种数', align:'center',width:100}
+                ,{field: 'type2_cs', title: '册数', align:'center'}
+                ,{field: 'type2_zs',title: '种数', align:'center'}
+                ,{field: 'type3_cs', title: '册数', align:'center'}
+                ,{field: 'type3_zs',title: '种数', align:'center'}
+                ,{field: 'type4_cs', title: '册数', align:'center'}
+                ,{field: 'type4_zs',title: '种数', align:'center'}
+                ,{field: 'type5_cs', title: '册数', align:'center'}
+                ,{field: 'type5_zs',title: '种数', align:'center'}
+            ]
+        ]
+    });
+</script>
+#end

+ 159 - 0
src/main/webapp/view/base-state/schoolData.html

@@ -0,0 +1,159 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">学校所在地</label>
+        <div class="layui-input-inline">
+            <select name="areatypeid" id="areaoptionView">
+
+            </select>
+        </div>
+        <label for="">学校类别</label>
+        <div class="layui-input-inline">
+            <select name="schoolcategoryid" id="typeoptionView">
+
+            </select>
+        </div>
+        <label for="">学校</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+        searchForm.init("areaoptionView","/org/areaType");
+        searchForm.init("typeoptionView","/org/schoolcategory");
+
+
+        //合计赋值
+        var qscs = 0;
+        $.ajax({
+            url: "/selectcount/standardBoookNumTotal",
+            type: "POST",
+            async:false,
+            data:{orgid:JSON.parse(sessionStorage.loginData).orgid,toporgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+            success: function(result) {
+                if(result.code==200){
+                    if(result.data){
+                        qscs = result.data.quekouBooknum;
+                        //if(result.data.quekouBooknum){$("#qscs").text(result.data.quekouBooknum);}
+                    }
+                }
+            }
+        });
+        console.log("qscs"+qscs);
+        function totalValue(sendData){
+            myAjax({url:"/selectcount/booksNumTotalList",data:sendData},function(result){
+                // $(".layui-table-total").find("td[data-field='category']").children().text(result.data.category||0);
+                $(".layui-table-total").find("td[data-field='tsglys']").children().text(result.data.tsglys||0);
+                $(".layui-table-total").find("td[data-field='lss']").children().text(result.data.lss||0);
+                $(".layui-table-total").find("td[data-field='xss']").children().text(result.data.xss||0);
+                $(".layui-table-total").find("td[data-field='dzs']").children().text(result.data.dzs||0);
+                $(".layui-table-total").find("td[data-field='tszs']").children().text(result.data.tszs||0);
+                $(".layui-table-total").find("td[data-field='tszcs']").children().text(result.data.tszcs||0);
+                $(".layui-table-total").find("td[data-field='sjcs']").children().text(result.data.tssjcs||0);
+                $(".layui-table-total").find("td[data-field='qscs']").children().text(result.data.qscs||0);
+                $(".layui-table-total").find("td[data-field='tsfbl']").children().text(result.data.tsfbl||0);
+                $(".layui-table-total").find("td[data-field='qkzs']").children().text(result.data.qkzs||0);
+            });
+        };
+        myTable.list({
+            url:"/selectcount/booksNumList",
+            elem:"#dataTable",
+             //postData:postData||{},
+            toolbar:"#tableHeader",
+            totalRow: true,
+            done:function(){
+                totalValue();
+            },
+            cols: [[ //表头
+                {type: 'numbers', title: '序号'}
+                ,{field: 'orgname', title: '学校名称',align:'center',edit:'text',width:170}
+                ,{field: 'category', title: '学校类别', align:'center', totalRowText: '合计',width:170}
+                ,{field: 'tsglys', title: '图书管理员数', align:'center',width:170,templet:function(d){
+                        return d.tsglys||0;
+                    }}
+                ,{field: 'lss', title: '教师数', align:'center',width:80,templet:function(d){
+                        return d.lss||0;
+                    }}
+                ,{field: 'xss', title: '学生数', align:'center',width:90,templet:function(d){
+                        return d.xss||0;
+                    }}
+                ,{field: 'dzs', title: '读者数', align:'center',width:90,templet:function(d){
+                        d.dzs=d.dzs||0;
+                        return '<a href="readerQuery?orgid='+d.orgid+'">'+d.dzs+'</a>';
+                    }}
+                ,{field: 'tszs', title: '图书种数', align:'center',width:90,templet:function(d){
+                        return d.tszs||0;
+                    }}
+                ,{field: 'tszcs', title: '图书册数', align:'center',width:90,templet:function(d){
+                        d.tszcs=d.tszcs||0;
+                        return '<a href="libBookDetail?orgid='+d.orgid+'">'+d.tszcs+'</a>';
+                    }}
+                ,{field: 'sjcs', title: '生均册数', align:'center',width:90,templet:function(d){
+                    // console.log(d);
+                    return d.sjcs?d.sjcs.toFixed(2):0;
+                    }}
+                ,{field: 'quekouBooknum', title: '缺书册数', align:'center',width:90,templet:function(d){
+                        d.quekouBooknum=d.quekouBooknum||0;
+                        return d.quekouBooknum;
+                    }}
+                ,{field: 'tsfbl', title: '图书复本率', align:'center',width:100,templet:function(d){
+                    return d.tsfbl?d.tsfbl.toFixed(2):0;
+                    }}
+                ,{field: 'qkzs', title: '期刊种数', align:'center',width:90,templet:function(d){
+                        d.qkzs=d.qkzs||0;
+                        return d.qkzs;
+                        //return '<a href="libJournalDetail?orgid='+d.orgid+'">'+d.qkzs+'</a>';
+                    }}
+                ,{title: '操作', align:'center',width: 394,templet:function(d){
+                        var a = '<a href="sumRegister?orgid='+d.orgid+'" class="layui-btn layui-btn-xs" style="text-decoration: none">总括登记</a>&nbsp;&nbsp;&nbsp;&nbsp;';
+                        var b = '<a href="flowRecord?orgid='+d.orgid+'" class="layui-btn layui-btn-xs" style="text-decoration: none">流通记录</a>&nbsp;&nbsp;&nbsp;&nbsp;';
+                        var c = '<a href="addBook?orgid='+d.orgid+'" class="layui-btn layui-btn-xs" style="text-decoration: none">新增图书</a>&nbsp;&nbsp;&nbsp;&nbsp;';
+                        var d = '<a href="removeBook?orgid='+d.orgid+'" class="layui-btn  layui-btn-danger layui-btn-xs" style="text-decoration: none">注销图书</a>';
+                    return a+b+c+d;
+                    }}
+            ]]
+        });
+        searchForm.linkage(JSON.parse(sessionStorage.loginData).orgid);
+
+        form.on('submit(searchBtn)', function(data){
+            data.field.token = sessionStorage.token;
+
+            if(data.field.orgid==JSON.parse(sessionStorage.loginData).orgid) data.field.orgid = '';
+            if(data.field.orgid==getUrlParam("orgid")) data.field.orgid = '';
+
+            table.reload("dataTable",{
+                where:data.field,
+                page: {
+                    curr: 1
+                },
+                done:function(result){
+                    if(result.code==200){
+                        totalValue(data.field);
+                        layer.msg('查询成功', { icon: 1 });
+                    }else {
+                        layer.msg(result.msg, { icon: 5 });
+                    }
+                }
+            });
+
+            return false;
+        });
+
+</script>
+#end

+ 522 - 0
src/main/webapp/view/base-state/schoolRegister.html

@@ -0,0 +1,522 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <form lay-filter="queryForm" id="cityFormQuery" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <!--<label for="">机构名称</label>
+        <input type="text" name="orgname" class="layui-input-inline layui-input" placeholder="">-->
+        <label for="">机构:</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        <!--<input type="text" name="teachorgid" value="1" style="display: none;">-->
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+    <form lay-filter="queryForm" id="schoolFormQuery" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">学校所在地</label>
+        <div class="layui-input-inline">
+            <select name="areatypeid" id="areaoptionView">
+
+            </select>
+        </div>
+        <label for="">学校类别</label>
+        <div class="layui-input-inline">
+            <select name="schoolcategoryid" id="typeoptionView">
+
+            </select>
+        </div>
+        <label for="">审核状态</label>
+        <div class="layui-input-inline">
+            <select name="status">
+                <option value="">全部</option>
+                <option value="0">待审核</option>
+                <option value="1">审核通过</option>
+                <option value="2">审核不通过</option>
+            </select>
+        </div>
+        <label for="">学校名称</label>
+        <input type="text" name="orgname" class="layui-input-inline layui-input" placeholder="">
+
+        <input type="text" id="orgId" name="orgid" style="display: none;">
+
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'mainTable'}"></table>
+</div>
+#end
+#define methods()
+<script type="text/html" id="tableSetBtn">
+    <div class="text-center "><!--layui-btn-group-->
+        <!--<button onclick="" data-d="{{d}}" class="layui-btn layui-btn-sm table-setbtn"><img src="/img/table-set-btn.png" alt=""></button>-->
+        <button onclick="myTable.editPrompt('点击单元格,即可修改。注:[ 审核状态 ] 不可修改')" class="layui-btn layui-btn-xs">修改</button>
+        <button onclick="myTable.resetPassword(this,'/org/passWordReset')" data-fid="{{d.id}}"
+                class="layui-btn layui-btn-xs">重置密码
+        </button>
+        <button onclick="shooldetele(this,'/org/delete')" data-fid="{{d.id}}"
+                class="layui-btn layui-btn-danger layui-btn-xs">注销
+        </button>
+    </div>
+</script>
+<script type="text/html" id="tableHeader">
+    <div class="layui-btn-container text-right">
+        <button onclick="myTable.addCell('/org/addOrUpdate','addCityCell')" id="addCityBtn"
+                class="layui-btn layui-btn-sm">新增
+        </button>
+        <button onclick="myTable.addCell('/org/addOrUpdate','addProvinceCell')" id="addProvinceBtn"
+                class="layui-btn layui-btn-sm">新增
+        </button>
+        <button onclick="myTable.addCell('/org/addOrUpdate')" id="addSchoolBtn" class="layui-btn  layui-btn-sm">新增
+        </button>
+    </div>
+</script>
+<script>
+    searchForm.linkage(getUrlParam("orgid") || JSON.parse(sessionStorage.loginData).orgid);
+    $("#orgId").val(JSON.parse(sessionStorage.loginData).orgid);
+
+
+    form.on('submit(searchBtn)', function (data) {
+        data.field.token = sessionStorage.token;
+        if (data.field.unitorgid) {
+            data.field.orgid = sessionStorage.unitOrgid || JSON.parse(sessionStorage.loginData).orgid;
+        }
+        judgeLevel(data.field.orgid);
+        myTable.list({
+            url: "/org/lists",
+            elem: "#dataTable",
+            postData: data.field,
+            toolbar: "#tableHeader",
+            cols: [tableCol]
+            ,
+            done: function (result) {
+                try {
+                    if (userLevel) {
+                        switch (userLevel) {
+                            case 1:
+                                $("#addCityBtn").show();
+                                $("#addProvinceBtn").hide();
+                                $("#addSchoolBtn").hide();
+                                break;
+                            case 2:
+                                $("#addCityBtn").hide();
+                                $("#addProvinceBtn").show();
+                                $("#addSchoolBtn").hide();
+                                break;
+                            default:
+                                $("#addCityBtn").hide();
+                                $("#addProvinceBtn").hide();
+                                $("#addSchoolBtn").show();
+                                break;
+                        }
+                    }
+                } catch (e) {
+
+                }
+                if (result.code == 200) {
+                    layer.msg('查询成功', {icon: 1});
+                } else {
+                    layer.msg('查询失败:' + result.msg, {icon: 5});
+                }
+            }
+        });
+        return false;
+    });
+
+    var tableCol;
+    var userLevel;
+    judgeLevel(JSON.parse(sessionStorage.loginData).orgid);
+
+    function judgeLevel(userOrgid) {
+        myAjax({url: "/org/orgLevel", data: {orgid: userOrgid}, async: false}, function (result) {
+            userLevel = result.data.orgtypeid;
+            switch (result.data.orgtypeid) {
+                case 1:
+                    tableCol = [
+                        {type: 'numbers', title: '序号'}
+                        , {field: 'orgname', title: '市(州)', align: 'center', edit: 'text', width: 110}
+                        , {field: 'number', title: '登录账号', align: 'center', width: 110}
+                        , {field: 'address', title: '地址', align: 'center'}
+                        , {
+                            field: 'schoolnum', title: '学校数', width: 100, align: 'center', templet: function (d) {
+                                if(d.schoolnum>0){
+                                    return "<a href='javascript:void(0);' onclick='tableReload(" + d.orgid + ")'>" + d.schoolnum + "</a>";
+                                } else {
+                                    return d.schoolnum;
+                                }
+                            }
+                        }
+                        , {field: 'students', title: '学生人数', align: 'center', width: 100}
+                        , {field: 'linkman', title: '联系人', align: 'center', edit: 'text', width: 100}
+                        , {field: 'linkphone', title: '联系电话', align: 'center', edit: 'text', width: 120}
+                        , {
+                            field: 'setbtn', title: '操作', align: 'center', width: 100, templet: function (d) {
+                                return "<button onclick=\"myTable.resetPassword(this,'/org/passWordReset')\" data-fid=" + d.id + " class=\"layui-btn layui-btn-xs\">重置密码</button>";
+                            }
+                        }
+                    ];
+
+                    break;
+                case 2:
+                    tableCol = [
+                        {type: 'numbers', title: '序号'}
+                        , {field: 'orgname', title: '县(区)', align: 'center', edit: 'text', width: 110}
+                        , {field: 'number', title: '登录账号', align: 'center', width: 110}
+                        , {field: 'address', title: '地址', align: 'center'}
+                        , {
+                            field: 'schoolnum', title: '学校数', width: 100, align: 'center', templet: function (d) {
+                                if(d.schoolnum>0){
+                                    return "<a href='javascript:void(0);' onclick='tableReload(" + d.orgid + ")'>" + d.schoolnum + "</a>";
+                                } else {
+                                    return d.schoolnum;
+                                }
+                            }
+                        }
+                        , {field: 'students', title: '学生数', align: 'center', width: 100}
+                        , {field: 'linkman', title: '联系人', align: 'center', edit: 'text', width: 100}
+                        , {field: 'linkphone', title: '联系电话', align: 'center', edit: 'text', width: 120}
+                        , {
+                            field: 'setbtn', title: '操作', align: 'center', templet: function (d) {
+                                return "<button onclick=\"myTable.resetPassword(this,'/org/passWordReset')\" data-fid=" + d.id + " class=\"layui-btn layui-btn-xs\">重置密码</button>";
+                            }
+                        }
+                    ];
+                    break;
+                default:
+                    tableCol = [ //表头
+                        {type: 'numbers', title: '序号'}
+                        , {field: 'orgname', title: '学校名称', align: 'center', edit: 'text'}
+                        , {field: 'category', title: '学校类别', align: 'center', event: 'dialogCell'}
+                        , {field: 'areatype', title: '所在地类别', align: 'center', event: 'dialogCellarea'}
+                        , {field: 'number', title: '登录账号', align: 'center', width: 110}
+                        , {field: 'teachers', title: '教师数', align: 'center', width: 100}
+                        , {field: 'students', title: '学生人数', align: 'center', width: 100}
+                        , {field: 'linkman', title: '联系人', align: 'center', edit: 'text', width: 100}
+                        , {field: 'linkphone', title: '联系电话', align: 'center', edit: 'text', width: 130}
+                        , {field: 'orgcode', title: '学校代码', align: 'center', edit: 'text', width: 120}
+                        , {field: 'rffectivetime', title: '有效期至', align: 'center'}
+                        , {
+                            title: '审核状态', align: 'center', templet: function (d) {
+                                if (d.status == 0) {
+                                    return '待审核';
+                                } else if (d.status == 1) {
+                                    return '审核通过';
+                                } else {
+                                    return '审核不通过';
+                                }
+                            }
+                        }
+                        , {templet: '#tableSetBtn', title: '操作', align: 'center', width: 203}
+                    ];
+                    break;
+            }
+        });
+    }
+
+    myTable.list({
+        url: "/org/lists",
+        elem: "#dataTable",
+        postData: {
+            orgid: JSON.parse(sessionStorage.loginData).orgid,
+            token: JSON.parse(sessionStorage.loginData).token
+        },
+        toolbar: "#tableHeader",
+        cols: [tableCol]
+    });
+
+    //表格跳转下级
+    function tableReload(arg) {
+        sessionStorage.unitOrgid = arg;
+        judgeLevel(arg);
+        tableIns.reload({
+            cols: [tableCol],
+            where: {orgid: arg},
+            page: {
+                curr: 1
+            },
+            done: function (result) {
+                if (result.code == 200) {
+                    $(".layui-table-tool-temp").remove();
+                    $(".layui-table").find("th[data-field=\"setbtn\"]").remove();
+                    $(".layui-table").find("td[data-field=\"setbtn\"]").remove();
+                    layer.msg('查询成功', {icon: 1});
+                } else {
+                    layer.msg('查询失败:' + result.msg, {icon: 5});
+                }
+            }
+        });
+
+    };
+    myTable.edit("/org/addOrUpdate");
+    //监听单元格事件
+    table.on('tool(mainTable)', function (obj) {
+        var data = obj.data;
+        layer.closeAll();
+        if (obj.event === 'dialogCell') {
+
+            var selectIndex = layer.open({
+                type: 1,
+                shade: false,
+                title: '学校类别',
+                area: ['360px', '400px'],
+                btn: ['确认', '取消'],
+                btnAlign: 'c',
+                content: '<form id="" class="query-form layui-form"><select id="abc" lay-filter="selectOne"></select></form>',
+                success: function (dialogEle) {
+                    searchForm.init("abc", "/org/schoolcategory");
+                    form.on('select(selectOne)', function (data) {
+                        window.Data = data;
+                    });
+                },
+                yes: function yes(index) {
+                    myAjax({
+                        url: "/org/addOrUpdate",
+                        dataType: 'json',
+                        data: {
+                            bean: _defineProperty({
+                                id: obj.data.id,
+                                schoolcategoryid: window.Data.value
+                            })
+                        }
+                    }, function (result) {
+                        if (result.code == 200) {
+                            layer.msg('操作成功', {icon: 1});
+                            tableIns.reload({
+                                page: {
+                                    curr: 1
+                                }
+                            });
+                            $("#addCityBtn").show();
+                            $("#addProvinceBtn").hide();
+                            $("#addSchoolBtn").hide();
+                        }
+                    });
+                    layer.close(selectIndex);
+
+                }
+            });
+        }
+        ;
+
+        if (obj.event === 'dialogCellarea') {
+            var selectIndexa = layer.open({
+                type: 1,
+                shade: false,
+                title: '学校类别',
+                area: ['360px', '400px'],
+                btn: ['确认', '取消'],
+                btnAlign: 'c',
+                content: '<form id="" class="query-form layui-form"><select id="abcd" lay-filter="selectTwo"></select></form>',
+                success: function (dialogEle) {
+                    searchForm.init("abcd", "/org/areaType");
+                    form.on('select(selectTwo)', function (data) {
+                        window.Data = data;
+                    });
+                },
+                yes: function yes(index) {
+                    myAjax({
+                        url: "/org/addOrUpdate",
+                        dataType: 'json',
+                        data: {
+                            bean: _defineProperty({
+                                id: obj.data.id,
+                                areatypeid: window.Data.value
+                            })
+                        }
+                    }, function (result) {
+                        if (result.code == 200) {
+                            layer.msg('操作成功', {icon: 1});
+                            tableIns.reload({
+                                page: {
+                                    curr: 1
+                                }
+                            });
+                            $("#addCityBtn").show();
+                            $("#addProvinceBtn").hide();
+                            $("#addSchoolBtn").hide();
+                        }
+                    });
+                    layer.close(selectIndexa);
+                }
+            });
+        }
+        ;
+    });
+
+    $(function () {
+
+        switch (userLevel) {
+            case 1:
+                $("#addCityBtn").show();
+                $("#addProvinceBtn").hide();
+                $("#addSchoolBtn").hide();
+                $("#schoolFormQuery").remove();
+                // debugger;
+                break;
+            case 2:
+                $("#addCityBtn").hide();
+                $("#addProvinceBtn").show();
+                $("#addSchoolBtn").hide();
+                $("#schoolFormQuery").remove();
+                break;
+            default:
+                $("#addCityBtn").hide();
+                $("#addProvinceBtn").hide();
+                $("#addSchoolBtn").show();
+                $("#cityFormQuery").remove();
+                searchForm.init("areaoptionView", "/org/areaType");
+                searchForm.init("typeoptionView", "/org/schoolcategory");
+                searchForm.init("areaoptionViewAdd", "/org/areaType");
+                searchForm.init("typeoptionViewAdd", "/org/schoolcategory");
+                break;
+        }
+    });
+
+    function shooldetele(that, url) {
+        layer.open({
+            title: '操作',
+            // type: 1,
+            content: '注销的场景一般为学校已撤并,且注销后学校所有信息都不再纳入统计,确定注销该学校吗?',
+            btn: ['确认', '取消'],
+            btnAlign: 'c',
+            yes: function yes(index) {
+                layer.close(index);
+                myAjax({
+                    url: url,
+                    dataType: 'json',
+                    data: {
+                        id: that.dataset.fid,
+                        orgid: JSON.parse(sessionStorage.loginData).orgid,
+                        token: JSON.parse(sessionStorage.loginData).token
+                    }
+                }, function (result) {
+                    if (result.code == 200) {
+                        layer.msg('操作成功', {icon: 1});
+                        tableIns.reload({
+                            page: {
+                                curr: 1
+                            }
+                        });
+                    } else {
+                        layer.msg('操作失败:' + result.msg, {icon: 5});
+                    }
+                });
+            }
+        });
+    }
+    $(function(){
+        pushHistory();
+        window.addEventListener("popstate", function(e) {
+            self.location.href="/page/schoolRegister"//根据自己的需求实现自己的功能
+        }, false);
+        function pushHistory() {
+            var state = {
+                title: "title",
+                url: "#"
+            };
+            window.history.pushState(state, "title", "#");
+        }
+    });
+</script>
+#end
+#define tableForm()
+<form class="layui-form" id="addCityCell" style="display: none;padding-top:10px;">
+    <div class="layui-form-item">
+        <label class="layui-form-label">市(州)名称</label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.orgname" lay-verify="required" placeholder="" autocomplete="off"
+                   class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">联系人</label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.linkman"  placeholder="" autocomplete="off"
+                   class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">联系电话</label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.linkphone"  placeholder="" autocomplete="off"
+                   class="layui-input">
+        </div>
+    </div>
+    <input type="text" name="bean.orgtypeid" value="2" style="display: none;">
+    <div class="layui-form-item">
+        <div class="layui-input-block text-center">
+            <button class="layui-btn layui-btn-sm" lay-submit lay-filter="addCityCell">提交</button>
+            <button type="reset" class="layui-btn layui-btn-sm">重置</button>
+        </div>
+    </div>
+</form>
+<form class="layui-form" id="addProvinceCell" style="display: none;">
+    <div class="layui-form-item">
+        <label class="layui-form-label">县(区)名称</label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.orgname" placeholder="" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">联系人</label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.linkman"  placeholder="" autocomplete="off"
+                   class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">联系电话</label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.linkphone"  placeholder="" autocomplete="off"
+                   class="layui-input">
+        </div>
+    </div>
+    <input type="text" name="bean.orgtypeid" value="3" style="display: none;">
+    <div class="layui-form-item">
+        <div class="layui-input-block text-center">
+            <button class="layui-btn layui-btn-sm" lay-submit lay-filter="addProvinceCell">提交</button>
+            <button type="reset" class="layui-btn  layui-btn-sm">重置</button>
+        </div>
+    </div>
+</form>
+<form class="layui-form" id="addCell" style="display: none;">
+    <div class="layui-form-item">
+        <label class="layui-form-label">学校名称</label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.orgname" lay-verify="required" placeholder="" autocomplete="off"
+                   class="layui-input">
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <label class="layui-form-label">学校类别</label>
+        <div class="layui-input-inline">
+            <select name="bean.schoolcategoryid" lay-verify="required" id="typeoptionViewAdd">
+
+            </select>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">所在地类别</label>
+        <div class="layui-input-inline">
+            <select name="bean.areatypeid" lay-verify="required" id="areaoptionViewAdd">
+
+            </select>
+        </div>
+    </div>
+    <input type="text" name="bean.orgtypeid" value="5" style="display: none;">
+    <div class="layui-form-item">
+        <div class="layui-input-block text-center">
+            <button class="layui-btn layui-btn-sm" lay-submit lay-filter="addCell">提交</button>
+            <button type="reset" class="layui-btn  layui-btn-sm">重置</button>
+        </div>
+    </div>
+</form>
+#end

+ 67 - 0
src/main/webapp/view/base-state/thisUnit.html

@@ -0,0 +1,67 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+</div>
+#end
+#define methods()
+<script>
+
+    table.render({
+        elem: '#dataTable'
+        ,url: '/org/thisUnit'
+        ,where:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token}
+        ,page: false
+        ,toolbar:true
+        ,defaultToolbar: ['filter', 'print', 'exports']
+        ,cols: [
+            [
+                {type: 'numbers', title: '序号'},
+                {field: 'orgname', title: '机构名称', align:'center',width:180}
+                ,{field:'loginname', title: '登录账号', align:'center',width:110}
+                ,{field:'address', title: '地址', align:'center'}
+                ,{field: 'linkman', title: '联系人', align:'center',edit: 'text',width:120}
+                ,{field: 'linkphone', title: '联系电话', align:'center',edit: 'text',width:120}
+
+            ]
+        ],
+        response: {
+            statusCode: 200 //规定成功的状态码,默认:0
+        }
+        ,parseData: function(res){ //res 即为原始返回的数据
+            return {
+                "code": res.code, //解析接口状态
+                // "msg": res.message, //解析提示文本
+                // "count": res.total, //解析数据长度
+                "data": res.data //解析数据列表
+            };
+        }
+    });
+
+    //监听单元格编辑
+    table.on('edit(mainTable)', function(obj){
+        var value = obj.value //得到修改后的值
+            ,id = obj.data.id //得到所在行所有键值
+            ,linkman = obj.data.linkman //得到字段
+            ,linkphone = obj.data.linkphone;
+        $.ajax({
+           url:"/org/unitEdit",
+           type:"POST",
+           data:{id:id,linkman:linkman,linkphone:linkphone},
+           success:function (result) {
+               if(result.code == 200){
+                   layer.msg('修改成功');
+               }
+           }
+        });
+    });
+
+</script>
+#end

File diff suppressed because it is too large
+ 2578 - 0
src/main/webapp/view/flow-manage/dailyBorrowing.html


File diff suppressed because it is too large
+ 2517 - 0
src/main/webapp/view/flow-manage/dailyBorrowing_aiface.html


File diff suppressed because it is too large
+ 2654 - 0
src/main/webapp/view/flow-manage/dailyBorrowing_face.html


File diff suppressed because it is too large
+ 2478 - 0
src/main/webapp/view/flow-manage/dailyBorrowing_rfid.html


File diff suppressed because it is too large
+ 2668 - 0
src/main/webapp/view/flow-manage/dailyBorrowing_rfidandface.html


+ 194 - 0
src/main/webapp/view/flow-manage/damagedBook.html

@@ -0,0 +1,194 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <div style="padding: 10px 0 0 0px;">
+            <label for="startDate">损书处理日期</label>
+
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width:100px;height: 30px;" placeholder="结束时间">
+        </div>
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+            <label for="">部门</label>
+            <div class="layui-input-inline" >
+                <select name="dept" id="dept">
+
+                </select>
+            </div>
+
+            <label for="">读者证号/姓名</label>
+            <input type="text" name="cardnumber" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;
+            <label for="">正题名</label>
+            <input type="text" name="title" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+            <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+        </div>
+
+    </form>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+
+
+    $.get("/orgdept/deptList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            $("#dept").append("<option value=''></option>");
+            result.data.forEach(function (item) {
+                $("#dept").append("<option value='"+item.id+"'>"+item.deptname+"</option>");
+            });
+            form.render('select');
+        }
+    });
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+    myTable.list({
+        url:"/jieyue/damagedBook",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        elem:"#dataTable",
+        toolbar:true,
+        cols: [
+            [
+                {type: 'numbers', title: '序号'},
+                {field:'barcode', title: '条码', align:'center'}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field: 'title', title: '正题名', align:'center'}
+                ,{field: 'bookno', title: '索书号', align:'center'}
+                ,{field: 'cardnumber', title: '读者证号', align:'center'}
+                ,{field:'realname', title: '姓名', align:'center'}
+                ,{field: 'deptname', title: '部门', align:'center'}
+                ,{field: 'createtime', title: '借阅日期', align:'center',templet:function(d){
+                    if(null != d.createtime && "" != d.createtime){
+                        return d.createtime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+                ,{field: 'returntime', title: '还书日期', align:'center',templet:function(d){
+                    if(null != d.returntime && "" != d.returntime){
+                        return d.returntime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+                ,{field:'remarks', title: '损书描述', align:'center'}
+                ,{field:'fcreatetime', title: '损书处理日期', align:'center',templet:function(d){
+                    if(null != d.fcreatetime && "" != d.fcreatetime){
+                        return d.fcreatetime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+
+            ]
+        ]
+    });
+
+    form.on('submit(exportExcel)', function(data){
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        var kssj = data.field.kssj;
+        var jssj = data.field.jssj;
+        var dept = data.field.dept;
+        var cardnumber = data.field.cardnumber;
+        var title = data.field.title;
+        var url = "/jieyue/exportDamagedBook?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != kssj) {
+            url += "&kssj="+kssj;
+        }
+        if("" != jssj) {
+            url += "&jssj="+jssj;
+        }
+        if("" != dept) {
+            url += "&dept="+dept;
+        }
+        if("" != cardnumber) {
+            url += "&cardnumber="+cardnumber;
+        }
+        if("" != title) {
+            url += "&title="+title;
+        }
+        window.open(url)
+    });
+    form.on('submit(searchBtn)', function(data){
+        if(data.field.month){
+
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        delete data.field.month;
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+</script>
+#end

+ 450 - 0
src/main/webapp/view/flow-manage/jieYueRecord.html

@@ -0,0 +1,450 @@
+#@layout()
+#define main()
+<div>
+    <!--<script type="text/html" id="optionTpl">-->
+        <!--<option value="">请选择</option>-->
+        <!--{{#  layui.each(d, function(index, item){ }}-->
+        <!--<option value="{{item.id}}">{{ item.text }}</option>-->
+        <!--{{#  }); }}-->
+    <!--</script>-->
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form" id="queryForm">
+        <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+            <ul class="layui-tab-title">
+            </ul>
+            <div class="layui-tab-content"></div>
+        </div>
+
+       <div class="layui-tab-item layui-show">
+            <input type="radio" name="record" value="1" title="全部记录" checked lay-filter="changeContent">
+            <input type="radio" name="record" value="2" title="仅显示当前在借记录" lay-filter="changeContent">
+            <input type="radio" name="record" value="3" title="仅显示借阅历史" lay-filter="changeContent">
+        </div>
+        <div style="padding: 10px 0 0 0px;" id="timediv">
+            <label for="startDate">时间选择:</label>
+            <input type="radio" name="month" value="1" title="近1个月" checked>
+            <input type="radio" name="month" value="6" title="近6个月">
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="" title="选择时间段">
+            <input type="text" disabled name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到:</label>
+            <input type="text" disabled name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        </div>
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+            <label for="">部门</label>
+            <div class="layui-input-inline" style="width: 150px;" >
+                <select name="dept" id="dept" lay-search="" style="width: 150px;">
+
+                </select>
+            </div>
+
+
+            <!--<label for="">年级</label>-->
+            <!--<div class="layui-input-inline" style="width: 150px;" >-->
+                <!--<select id="grade" name="bean.grade"  lay-verify="required" lay-search="" multiple>-->
+                <!--</select>-->
+            <!--</div>-->
+
+            <label for="">馆藏地</label>
+            <div class="layui-input-inline" style="width: 150px;" >
+                <select name="library" id="library" lay-search="" style="width: 150px;">
+
+                </select>
+            </div>
+
+            <label for="">是否超期</label>
+            <div class="layui-input-inline" >
+                <select name="overdue">
+                    <option value=''>全部</option>
+                    <option value='1'>是</option>
+                    <option value="2">否</option>
+                </select>
+            </div>
+            <label for="">读者证号/姓名</label>
+            <input type="text" name="cardnumber" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;
+            <label for="">正题名</label>
+            <input type="text" name="title" style="width: 200px;" class="layui-input-inline layui-input" placeholder="">
+
+            <label for="">条形码</label>
+            <input type="text" name="txm" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+            <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+            <button type="button" class="layui-btn layui-btn-sm"  id="importReader">借阅续传</button>
+            <button type="button" class="layui-btn layui-btn-sm"   onclick="downloadFile()">借阅续传模板下载</button>
+        </div>
+
+    </form>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+    var postdata={}
+    postdata["bean.id"]=JSON.parse(sessionStorage.loginData).orgid;
+    postdata["token"]=JSON.parse(sessionStorage.loginData).token;
+    $.ajax({
+        url: "/org/getById",
+        type: "get",
+        data: postdata,
+        traditional: true,//这里设置为true
+        success: function(result) {
+            console.log(result,99999)
+            if (result.code == 200) {
+                var schoolcategoryid = result.data.schoolcategoryid;
+                $("#grade").empty();
+                $("#grade").append("<option value='0'>毕业</option>");
+                if (schoolcategoryid == 1 || schoolcategoryid == 3 || schoolcategoryid == 6){
+                    $("#grade").append("<option value='1'>一年级</option>");
+                    $("#grade").append("<option value='2'>二年级</option>");
+                    $("#grade").append("<option value='3'>三年级</option>");
+                    $("#grade").append("<option value='4'>四年级</option>");
+                    $("#grade").append("<option value='5'>五年级</option>");
+                    $("#grade").append("<option value='6'>六年级</option>");
+                }
+                if (schoolcategoryid == 2 || schoolcategoryid == 3 || schoolcategoryid == 5 || schoolcategoryid == 6){
+                    $("#grade").append("<option value='7'>七年级</option>");
+                    $("#grade").append("<option value='8'>八年级</option>");
+                    $("#grade").append("<option value='9'>九年级</option>");
+                }
+                if (schoolcategoryid == 4 || schoolcategoryid == 5 || schoolcategoryid == 6){
+                    $("#grade").append("<option value='10'>高一年级</option>");
+                    $("#grade").append("<option value='11'>高二年级</option>");
+                    $("#grade").append("<option value='12'>高三年级</option>");
+                }
+            } else {
+                layer.msg('操作失败:' + result.msg, { icon: 5 });
+            }
+            form.render('select');
+        }
+    });
+
+
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/list-manage/jieYueRecord'\">图书</li>\n" +
+            "<li   onclick=\"window.location.href='/list-manage/jieYueTotal'\">图书借还汇总</li>");
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+    form.on('radio(changeContent)',function(data){
+        if(data.value == 2){
+            $("#timediv").css("display","none");
+        }else {
+            $("#timediv").css("display","block");
+        }
+    });
+    form.on('radio()',function(data){
+        if(data.value){
+            $("#startDate").attr("disabled","disabled");
+            $("#endDate").attr("disabled","disabled");
+        }else {
+            $("#startDate").removeAttr("disabled");
+            $("#endDate").removeAttr("disabled");
+        }
+    });
+
+    $.get("/orgdept/deptList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            $("#dept").append("<option value=''></option>");
+            result.data.forEach(function (item) {
+                $("#dept").append("<option value='"+item.id+"'>"+item.deptname+"</option>");
+            });
+            form.render('select');
+        }
+    });
+
+    $("#library").html("<option value=''>全部</option>");
+    $.get("/library/ajaxlibrarylist",function (data) {
+        $.each(data.data,function(index,obj){
+            $("#library").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+        });
+        form.render('select');
+    });
+
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+    function getQueryCondition(){
+        var d = {};
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name]=this.value;
+        });
+
+        switch(d.month){
+            case "1":
+                d["kssj"] = getDate(1);
+                break;
+            case "6":
+                d["kssj"]= getDate(6);
+                break;
+            case "12":
+                d["kssj"]= getDate(12);
+                break;
+            default:
+                break;
+        }
+
+        d["jssj"]=getDate(0);
+        d["orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        d["token"]=JSON.parse(sessionStorage.loginData).token;
+        console.log(d)
+        return d;
+    }
+
+    myTable.list({
+        url:"/jieyue/jieyueRecord",
+        postData:getQueryCondition(),
+        elem:"#dataTable",
+        toolbar:true,
+        id:"dataTable"
+        ,page: true
+        ,limits: [10,20,50,100,200,1000,2000]
+        ,cols: [
+            [
+                {type: 'numbers', title: '序号'}
+                ,{field:'barcode', title: '条码', align:'center', minWidth:100}
+                ,{field:'isbn', title: 'ISBN', align:'center',minWidth:155}
+                ,{field: 'title', title: '正题名', align:'center',minWidth:300}
+                ,{field: 'bookno', title: '索书号', align:'center',minWidth:125}
+                ,{field: 'price', title: '价格', align:'center',minWidth:125}
+                ,{field: 'cardnumber', title: '读者证号', align:'center',minWidth:110}
+                ,{field:'realname', title: '姓名', align:'center',minWidth:125}
+                ,{field: 'deptname', title: '部门', align:'center',minWidth:125}
+                ,{field: 'createtime', title: '借阅日期', align:'center',minWidth:125,sort: true,templet:function(d){
+                    if(null != d.createtime && "" != d.createtime){
+                        return d.createtime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+                ,{field: 'duetime', title: '应还日期', align:'center',minWidth:125,templet:function(d){
+                    if(null != d.duetime && "" != d.duetime){
+                        return d.duetime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+                ,{field:'returntime', title: '归还日期', align:'center',minWidth:125,templet:function(d){
+                    if(null != d.returntime && "" != d.returntime){
+                        return d.returntime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+                // ,{field:'isoverdue', title: '是否超期', align:'center',templet:function (d) {
+                //     return d.isoverdue == 1?"是":"否";
+                // }}
+            ]
+        ]
+    });
+    table.on('sort(mainTable)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
+        console.log(obj.field); //当前排序的字段名
+        console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
+
+        table.reload('dataTable', {
+            initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 layui 2.1.1 新增参数
+            ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
+                field: obj.field //排序字段   在接口作为参数字段  field order
+                ,order: obj.type //排序方式   在接口作为参数字段  field order
+            }
+        });
+
+    });
+    form.on('submit(exportExcel)', function(data){
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        var record = data.field.record;
+        var kssj = data.field.kssj;
+        var jssj = data.field.jssj;
+        var dept = data.field.dept;
+        var overdue = data.field.overdue;
+        var cardnumber = data.field.cardnumber;
+        var title = data.field.title;
+        var bm = data.field.bm;
+        var library = data.field.library;
+        var url = "/jieyue/exportJieyueRecord?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != record) {
+            url += "&record="+record;
+        }
+        if("" != kssj) {
+            url += "&kssj="+kssj;
+        }
+        if("" != jssj) {
+            url += "&jssj="+jssj;
+        }
+        if("" != dept) {
+            url += "&dept="+dept;
+        }
+        if("" != overdue) {
+            url += "&overdue="+overdue;
+        }
+        if("" != cardnumber) {
+            url += "&cardnumber="+cardnumber;
+        }
+        if("" != title) {
+            url += "&title="+title;
+        }
+        if("" != bm) {
+            url += "&bm="+bm;
+        }
+        if("" != library) {
+            url += "&library="+library;
+        }
+        window.open(url)
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        if(data.field.month){
+
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        delete data.field.month;
+        data.field.token = sessionStorage.token;
+        if(data.field['record']==2){
+            data.field["pageSize"]=100000;
+            table.reload("dataTable",{
+                where:data.field,
+                page: false,
+                done:function(result){
+                    if(result.code==200){
+                        layer.msg('查询成功', { icon: 1 });
+                    }else {
+                        layer.msg(result.msg, { icon: 5 });
+                    }
+                }
+            });
+        } else {
+            table.reload("dataTable",{
+                where:data.field,
+                page: {
+                    curr: 1
+                },
+                done:function(result){
+                    if(result.code==200){
+                        layer.msg('查询成功', { icon: 1 });
+                    }else {
+                        layer.msg(result.msg, { icon: 5 });
+                    }
+                }
+            });
+        }
+        return false;
+    });
+
+    var urls ="/jieyue/upload?token="+JSON.parse(sessionStorage.loginData).token+"&orgid="+JSON.parse(sessionStorage.loginData).orgid+"&ImportType=Excel";
+
+    upload.render({ //允许上传的文件后缀
+        elem: '#importReader'
+        ,url: urls
+        ,accept: 'file' //普通文件
+        ,exts: 'xlsx|xls' //只允许上传压缩文件
+        ,size:10240
+        ,done: function(res){
+            if(res.code==3){
+                window.location.href ="/"
+            }else if (res.code==200){
+                table.reload('dataTable',{
+                    where:getQueryCondition()
+                });
+                if (res.data != "" ){
+
+                    window.open("/file/downloadFile?filename="+encodeURI(res.data));
+                } else {
+
+                    layer.msg(res.msg, { icon: 1 });
+                }
+
+            }else{
+                layer.msg(res.msg, { icon: 1 });
+            }
+
+        }
+        ,error:function (index, upload) {
+            console.log(index)
+        }
+    });
+
+    //uploadFile();
+    // function uploadFile() {
+    //
+    //     var url ="/jieyue/upload?token="+JSON.parse(sessionStorage.loginData).token+"&orgid="+JSON.parse(sessionStorage.loginData).orgid+"&ImportType=Excel";
+    //
+    //     upload.render({ //允许上传的文件后缀
+    //         elem: '#importReader'
+    //         ,url: url
+    //         ,accept: 'file' //普通文件
+    //         ,exts: 'xlsx|xls' //只允许上传压缩文件
+    //         ,size:10240
+    //         ,done: function(res){
+    //             if(res.code==3){
+    //                 window.location.href ="/"
+    //             }else if (res.code==200){
+    //                 table.reload('dataTable',{
+    //                     where:getQueryCondition()
+    //                 });
+    //                 if (res.data != "" ){
+    //
+    //                     window.open("/file/downloadFile?filename="+encodeURI(res.data));
+    //                 } else {
+    //
+    //                     layer.msg(res.msg, { icon: 1 });
+    //                 }
+    //
+    //             }else{
+    //                 layer.msg(res.msg, { icon: 1 });
+    //             }
+    //             uploadFile();
+    //         }
+    //         ,error:function (index, upload) {
+    //             console.log(index)
+    //         }
+    //     });
+    // }
+
+    function downloadFile() {
+        window.open("/file/downloadFile?filename="+encodeURI('template/图书借还记录导入模板.xls'));
+    }
+</script>
+#end

+ 156 - 0
src/main/webapp/view/flow-manage/jieYueTotal.html

@@ -0,0 +1,156 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form" id="queryForm">
+        <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+            <ul class="layui-tab-title">
+            </ul>
+            <div class="layui-tab-content"></div>
+        </div>
+
+        <div style="padding: 10px 0 0 0px;" id="timediv">
+            <label>请选择时间段:</label>
+            <input type="text"  name="kssj" id="startDate" autocomplete="off" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到:</label>
+            <input type="text"  name="jssj" id="endDate" autocomplete="off" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        </div>
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+            <!--<label for="">部门</label>
+            <div class="layui-input-inline" style="width: 150px;" >
+                <select name="dept" id="dept" lay-search="" style="width: 150px;">
+
+                </select>
+            </div>
+            <label for="">班级</label>
+            <input type="text" name="bm" style="width: 130px;" class="layui-input-inline layui-input" placeholder="输入班级模糊查询">
+-->
+            <label for="">馆藏地</label>
+            <div class="layui-input-inline" style="width: 150px;" >
+                <select name="library" id="library" lay-search="" style="width: 150px;">
+
+                </select>
+            </div>
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        </div>
+
+    </form>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+
+
+        $( ".layui-tab-title" ).html("<li onclick=\"window.location.href='/list-manage/jieYueRecord'\">图书</li>\n" +
+            "<li  class=\"layui-this\" onclick=\"window.location.href='/list-manage/jieYueTotal'\">图书借还汇总</li>");
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+
+    $.get("/orgdept/deptList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            $("#dept").append("<option value=''></option>");
+            result.data.forEach(function (item) {
+                $("#dept").append("<option value='"+item.id+"'>"+item.deptname+"</option>");
+            });
+            form.render('select');
+        }
+    });
+
+    $("#library").html("<option value=''>全部</option>");
+    $.get("/library/ajaxlibrarylist",function (data) {
+        $.each(data.data,function(index,obj){
+            $("#library").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+        });
+        form.render('select');
+    });
+
+
+
+    function getQueryCondition(){
+        var d = {};
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name]=this.value;
+        });
+        d["orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        d["token"]=JSON.parse(sessionStorage.loginData).token;
+        console.log(d)
+        return d;
+    }
+
+    table.render({
+        url:"/jieyue/jieyuetotal",
+        where:getQueryCondition(),
+        elem:"#dataTable",
+        toolbar:false,
+        id:"dataTable"
+        ,page: false
+        ,cols: [
+            [
+                {type: 'numbers', title: '序号'}
+                ,{field:'jieshu', title: '总借书量', align:'center', minWidth:200}
+                ,{field:'huanshu', title: '总还书量', align:'center',minWidth:200}
+
+            ]
+        ]
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        }, parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
+            if(res.code==3){
+                window.location.href ="/"
+            }
+            return {
+                "code": res.code, //解析接口状态
+                "msg": res.msg, //解析提示文本
+                "data": res.data //解析数据列表
+            };
+        }
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        var kssj = $("#startDate").val();
+        if(kssj == ''){
+            layer.msg("请选择开始时间!");
+            return false;
+        }
+        var jssj = $("#endDate").val();
+        if(jssj == ''){
+            layer.msg("请选择结束时间!");
+            return false;
+        }
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+
+        return false;
+    });
+
+
+</script>
+#end

+ 310 - 0
src/main/webapp/view/flow-manage/loseBook.html

@@ -0,0 +1,310 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+
+
+        <div style="padding: 10px 0 0 0px;">
+            <label for="startDate">丢书处理日期</label>
+
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束日期">
+        </div>
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+            <label for="">部门</label>
+            <div class="layui-input-inline" >
+                <select name="dept" id="dept">
+
+                </select>
+            </div>
+            <label for="">是否注销</label>
+            <div class="layui-input-inline" >
+                <select name="cancel">
+                    <option value=''>全部</option>
+                    <option value='1'>是</option>
+                    <option value="2">否</option>
+                </select>
+            </div>
+            <label for="">读者证号/姓名</label>
+            <input type="text" name="cardnumber" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;
+            <label for="">正题名</label>
+            <input type="text" name="title" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+            <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+        </div>
+
+    </form>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+    <script type="text/html" id="toolbarDemo">
+        <div class="layui-btn-container">
+            <button class="layui-btn layui-btn-sm" lay-event="getCheckData">注销选中行</button>
+        </div>
+    </script>
+
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+
+    //工具栏事件
+    table.on('toolbar(mainTable)', function(obj){
+        switch(obj.event){
+            case 'getCheckData':
+                $.ajax({
+                    type:"post",
+                    url:"/jieyue/removeLoseBook",
+                    data:{detailids:detailids,token:JSON.parse(sessionStorage.loginData).token},
+                    traditional: true,
+                    success: function(result){
+                        if(result.code == 200){
+                            layer.msg(result.msg, { icon: 1 });
+                            table.reload("dataTable");
+                        }else if(result.code == 2){
+                            layer.msg(result.msg, { icon: 1 });
+                        }
+                    }});
+                break;
+            default:
+                break;
+        };
+    });
+</script>
+<script type="text/javascript">
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+
+
+    $.get("/orgdept/deptList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            $("#dept").append("<option value=''></option>");
+            result.data.forEach(function (item) {
+                $("#dept").append("<option value='"+item.id+"'>"+item.deptname+"</option>");
+            });
+            form.render('select');
+        }
+    });
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+    myTable.list({
+        url:"/jieyue/loseBook",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        elem:"#dataTable",
+        toolbar: '#toolbarDemo',
+        totalRow:true,
+        cols: [
+            [
+                {field:'checkBox',title: '全选', align:'center', templet:function(d){
+
+                    if(d.status==3){
+                        // return "<input type=\"checkbox\" lay-skin=\"primary\" disabled>";
+                        return "";
+                    }else {
+                        return "<input value="+d.detailid+" lay-filter=\"checkboxBtn\" type=\"checkbox\" lay-skin=\"primary\">";
+                    }
+                }},
+                {type: 'numbers', title: '序号'},
+                ,{field:'barcode', title: '条码', align:'center', minWidth:100}
+                ,{field:'isbn', title: 'ISBN', align:'center',minWidth:155}
+                ,{field: 'title', title: '正题名', align:'center',minWidth:300}
+                ,{field: 'bookno', title: '索书号', align:'center',minWidth:155}
+                ,{field: 'cardnumber', title: '读者证号', align:'center', minWidth:100}
+                ,{field:'realname', title: '姓名', align:'center', minWidth:100}
+                ,{field: 'deptname', title: '部门', align:'center', minWidth:130}
+                ,{field: 'fcreatetime', title: '借阅日期', align:'center', minWidth:125,templet:function(d){
+                    if(null != d.fcreatetime && "" != d.fcreatetime){
+                        return d.fcreatetime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+                ,{field: 'duetime', title: '应还日期', align:'center', minWidth:125,templet:function(d){
+                    if(null != d.duetime && "" != d.duetime){
+                        return d.duetime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+                ,{field:'remarks', title: '丢书原因', align:'center'}
+                ,{field:'createtime', title: '丢书处理日期', align:'center',templet:function(d){
+                    if(null != d.createtime && "" != d.createtime){
+                        return d.createtime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+                ,{field:'status', title: '是否注销', align:'center',templet:function (d) {
+                    return d.status == 3?"是":"否";
+                }}
+            ]
+        ],
+        done:function(result){
+            var all = "<input id=\"allcheckBox\" lay-filter=\"checkboxAll\" type=\"checkbox\" lay-skin=\"primary\">";
+            var allVal = [];
+            result.data.map(function(item,index){
+                allVal.push(item.detailid);
+            });
+            for(var i=0; i<result.data.length; i++){
+                // debugger;
+                if(result.data[i].status!=3){
+                    $(".layui-table-header").find("th[data-field='checkBox'] span").html(all);
+                    form.render('checkbox');
+                    break;
+                }
+            };
+            detailids = [];
+            form.on('checkbox(checkboxAll)', function(data){
+                if(data.elem.checked){
+                    detailids = [];
+                    $(".layui-table-box .layui-table-body").find("input[type='checkbox']").attr("checked","checked");
+                    result.data.map(function(item,index){
+                        detailids.push(item.detailid);
+                    })
+                    $(".layui-table-box .layui-table-body").find(".layui-form-checkbox").addClass("layui-form-checked");
+                }else {
+                    detailids = [];
+                    $(".layui-table-box .layui-table-body").find("input[type='checkbox']").removeAttr("checked");
+                    $(".layui-table-box .layui-table-body").find(".layui-form-checkbox").removeClass("layui-form-checked");
+                }
+            });
+            form.on('checkbox(checkboxBtn)', function(data){
+                console.log("result--"+data);
+                data.value = +data.value;
+                if(data.elem.checked){
+                    $(data.elem).attr("checked","checked");
+                    // if(detailids.length!=0){
+                    //     detailids.map(function(item,index){
+                    //         if(item==data.value){
+                                detailids.push(data.value);
+                            // }
+                    //     });
+                    // }
+                }else {
+                    detailids.map(function(item,index){
+                        if(item==data.value){
+                            detailids.splice(index,1);
+                        }
+                    });
+                    $(data.elem).removeAttr("checked");
+                    $(".layui-table-box .layui-table-header").find("input[type='checkbox']").removeAttr("checked");
+                    $(".layui-table-box .layui-table-header").find(".layui-form-checkbox").removeClass("layui-form-checked");
+                }
+                detailids.sort();
+                allVal.sort();
+                if(JSON.stringify(detailids) == JSON.stringify(allVal)){
+                    $(".layui-table-box .layui-table-header").find("input[type='checkbox']").attr("checked","checked");
+                    $(".layui-table-box .layui-table-header").find(".layui-form-checkbox").addClass("layui-form-checked");
+                }
+            });
+        }
+    });
+
+    form.on('submit(exportExcel)', function(data){
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        var kssj = data.field.kssj;
+        var jssj = data.field.jssj;
+        var dept = data.field.dept;
+        var cancel = data.field.cancel;
+        var cardnumber = data.field.cardnumber;
+        var title = data.field.title;
+        var url = "/jieyue/exportLoseBook?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != kssj) {
+            url += "&kssj="+kssj;
+        }
+        if("" != jssj) {
+            url += "&jssj="+jssj;
+        }
+        if("" != dept) {
+            url += "&dept="+dept;
+        }
+        if("" != cancel) {
+            url += "&cancel="+cancel;
+        }
+        if("" != cardnumber) {
+            url += "&cardnumber="+cardnumber;
+        }
+        if("" != title) {
+            url += "&title="+title;
+        }
+        window.open(url)
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        delete data.field.month;
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+
+</script>
+#end

+ 148 - 0
src/main/webapp/view/flow-manage/overdue.html

@@ -0,0 +1,148 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+
+        <div style="padding: 10px 0 0 0px;">
+            <label for="startDate">应还日期</label>
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width:100px;height: 30px;" placeholder="结束时间">
+            <label for="">馆藏地</label>
+            <div class="layui-input-inline">
+                <select name="libraryid" id="libraryid" lay-search="">
+
+                </select>
+            </div>
+        </div>
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+            <label for="">部门</label>
+            <div class="layui-input-inline" >
+                <select name="dept" id="dept" lay-search="" >
+
+                </select>
+            </div>
+
+            <label for="">姓名/证号</label>
+            <input type="text" name="queryStr" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;
+            <label for="">正题名</label>
+            <input type="text" name="title" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+            <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+        </div>
+
+    </form>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate'
+    });
+
+
+
+    $("#libraryid").append("<option value=''>全部</option>");
+    $.get("/library/ajaxlibrarylist",function (data) {
+        $.each(data.data,function(index,obj){
+            $("#libraryid").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+        });
+        form.render('select');
+    });
+
+    $.get("/orgdept/deptList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            $("#dept").append("<option value=''></option>");
+            result.data.forEach(function (item) {
+                $("#dept").append("<option value='"+item.id+"'>"+item.deptname+"</option>");
+            });
+            form.render('select');
+        }
+    });
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+    myTable.list({
+        url:"/jieyue/overdueList",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        elem:"#dataTable",
+        toolbar:true,
+        cols: [
+            [
+                {type: 'numbers', title: '序号'},
+                {field: 'title', title: '正题名', align:'center',minWidth:300}
+                ,{field:'barcode', title: '条码', align:'center'}
+                ,{field:'duetime', title: '应还日期', align:'center'}
+                ,{field: 'createtime', title: '借阅日期', align:'center'}
+                ,{field: 'deptname', title: '部门', align:'center'}
+                ,{field:'realname', title: '姓名', align:'center'}
+                ,{field: 'cardnumber', title: '读者证号', align:'center'}
+                ,{field: 'days', title: '超期天数', align:'center'}
+                ,{field: 'price', title: '定价(元)', align:'center'}
+            ]
+        ]
+    });
+
+    form.on('submit(exportExcel)', function(data){
+        var kssj = data.field.kssj;
+        var jssj = data.field.jssj;
+        var dept = data.field.dept;
+        var queryStr = data.field.queryStr;
+        var title = data.field.title;
+        var url = "/jieyue/exportOverdueList?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != kssj) {
+            url += "&kssj="+kssj;
+        }
+        if("" != jssj) {
+            url += "&jssj="+jssj;
+        }
+        if("" != dept) {
+            url += "&dept="+dept;
+        }
+        if("" != queryStr) {
+            url += "&queryStr="+queryStr;
+        }
+        if("" != title) {
+            url += "&title="+title;
+        }
+        window.open(url)
+    });
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+</script>
+#end

+ 64 - 0
src/main/webapp/view/flow-manage/rfidbarcode.html

@@ -0,0 +1,64 @@
+#@layout()
+#define main()
+
+
+<label>条码</label><input id="barcode" type="text" onkeydown="EnterPress(this)" maxlength="20">
+#end
+#define methods()
+
+<script>
+    var interval;
+
+    $("#barcode").focus();
+    function EnterPress(){
+        if (event.keyCode == 13) {//event是html的内置对象
+            interval=setInterval(function(){
+                var barcode=$("#barcode").val();
+                $.ajax({
+                    url: "http://localhost:8090/device/dll/writeBarCode",
+                    data:{pData:barcode},
+                    type: "GET",
+                    dataType: "jsonp", //指定服务器返回的数据类型
+                    jsonpCallback: "showData",  //指定回调函数名称
+                    success: function (data) {
+                        console.log(data)
+                        if (data.code==200){
+                            clearInterval(interval);
+                            writeRFI(barcode,data.data)
+                        } else{
+                            if(data.msg == '没有检测到图书!'){
+                                layer.msg("没有检测到图书,请确认馆员工作站硬件和软件服务是否正常开启");
+                            } else {
+                                layer.msg(data.msg);
+                            }
+                            console.log(data.msg);
+                        }
+                    }
+                    ,error:function(arg1){
+                        console.log(arg1)
+                    }
+                });
+            },1000);
+        }
+    }
+
+    function writeRFI(pBardcode,pRfid) {
+        $.ajax({
+            url: "/bookDetail/updateRFIFByBarCode",
+            data:{barcode:pBardcode,rfid:pRfid,token:JSON.parse(sessionStorage.loginData).token},
+            type: "GET",
+            success: function (data) {
+                if (data.code==200){
+                    layer.msg("条码写入成功!");
+                    $("#barcode").val("");
+                    $("#barcode").focus();
+                    clearInterval(interval);
+                } else{
+                    console.log(data.msg);
+                    layer.msg(data.msg);
+                }
+            }
+        });
+    }
+</script>
+#end

+ 267 - 0
src/main/webapp/view/hotbook/hotbook.html

@@ -0,0 +1,267 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+
+<form class="layui-form queryForm" action="" lay-filter="typeselect">
+    <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+   <!-- <div class="layui-inline">
+        <label class="layui-form-label">五大部类</label>
+        <div class="layui-input-inline" >
+            <select id="five" name="modules" lay-verify="required" lay-search=""  lay-filter="five">
+            </select>
+        </div>
+    </div>-->
+    <div class="layui-inline">
+        <label class="layui-form-label" style="width: 110px;">22基本大类</label>
+        <div class="layui-input-inline" >
+            <select id="twentyTwo" name="modules" lay-verify="required" lay-search=""  lay-filter="twentyTwo">
+            </select>
+        </div>
+    </div>
+</form>
+<script type="text/html" id="toolbarDemo">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" lay-event="addHotBook">添加</button>
+        <button class="layui-btn layui-btn-sm" lay-event="delHotBook">删除</button>
+    </div>
+</script>
+
+<table id="dataTable" lay-filter="dataTable" lay-data="{id: 'dataTable'}"></table>
+</div>
+#end
+#define methods()
+    <script>
+        var table = layui.table;
+        laydate.render({
+            elem: '#publishertime' //指定元素
+        });
+        var  datatable ={
+            title:"推荐书目",
+            url:"",
+            elem:"#dataTable",
+            toolbar:"#toolbarDemo",
+            cols: [[ //表头
+                {type:'checkbox'}
+                ,{type: 'numbers', title: '序号'}
+                // ,{field: 'id', title: 'id',align:'center', edit:'text',hide:true}
+                ,{field: 'isbn', title: 'ISBN',align:'center', edit:'text'}
+                ,{field: 'bookname', title: '图书名称',align:'center', edit:'text'}
+                ,{field: 'publisher', title: '出版单位', align:'center', edit:'text'}
+                ,{field: 'price', title: '定价', align:'center',edit:'text'}
+                ,{field: 'author', title: '作者', align:'center',edit:'text'}
+                ,{field: 'booktypename', title: '类别', align:'center',edit:'text'}
+                ,{field: 'publishertime', title: '出版时间', align:'center',edit:'text'}
+            ]]
+            ,page: true
+            ,response: {
+                statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+            },
+            parseData: function(result) {
+                //alert(JSON.stringify(result))
+                if(result.code==200){
+                    return {
+                        "code": result.code, //解析接口状态
+                        "msg": result.msg, //解析提示文本
+                        "count": result.data.totalRow, //解析数据长度
+                        "data": result.data.list //解析数据列表
+                    };
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            },
+        };
+
+        table.render(datatable);
+
+        $.get("/standardbooktype/selectType",function (data) {
+            // alert(JSON.stringify(data))
+            /*$.each(data.data.five,function(index,obj){
+               // alert(obj.id+"  "+obj.name)
+                $("#five").append("<option value='"+obj.id+"'>"+obj.name+"</option>");
+            });*/
+
+            $("#twentyTwo").append("<option value='ALL'>全部</option>");
+            $.each(data.data.twentyTwo,function(index,obj){
+                //alert(obj.id+"  "+obj.name)
+                $("#twentyTwo").append("<option value='"+obj.id+"'>"+obj.name+"</option>");
+                $("#booktype").append("<option value='"+obj.id+"'>"+obj.name+"</option>");
+            });
+            table.reload("dataTable",{url:"/hotBook/list?schooltype="+getQueryVariable("schooltype")+"&booktypeid="+$("#twentyTwo").val()});
+
+         //    form.render('select', 'typeselect');
+            form.render('select');
+        });
+
+        function getQueryVariable(variable)
+        {
+            var query = window.location.search.substring(1);
+            var vars = query.split("&");
+            for (var i=0;i<vars.length;i++) {
+                var pair = vars[i].split("=");
+                if(pair[0] == variable){return pair[1];}
+            }
+            return(false);
+        }
+
+
+
+        form.on('select(twentyTwo)', function(data){
+            var bookTypeid =data.value;
+           // alert(bookTypeid);
+             //执行渲染
+            table.reload("dataTable",{
+                    url:"/hotBook/list",
+                    where:{
+                        schooltype:getQueryVariable("schooltype"),
+                        booktypeid:bookTypeid
+                    }
+                }
+            )
+        });
+
+
+
+        //头工具栏事件
+        table.on('toolbar(dataTable)', function(obj){
+            var checkStatus = table.checkStatus(obj.config.id);
+            switch(obj.event){
+                case 'addHotBook':
+                    addHotBook(checkStatus.data);
+                    break;
+                case 'delHotBook':
+                    var data = checkStatus.data;
+                   // alert(JSON.stringify(data));
+                    $.post("/hotBook/delete",
+                    {
+                        hotbok:JSON.stringify(data)
+                    },
+                    function(data,status){
+                        if(data.code==200){
+                            layer.msg('操作成功', { icon: 1 });
+                            table.reload("dataTable",{url:"/hotBook/list?schooltype="+getQueryVariable("schooltype")+"&booktypeid="+$("#twentyTwo").val()});
+                        }else {
+                            layer.msg('保存失败', { icon: 1 });
+                        }
+                    });
+                    break;
+            };
+        });
+
+
+        function addHotBook(row) {
+            var dialogIndex = layer.open({
+                type: 1,
+                area: ['630px', '500px'],
+                content: layui.jquery('#hotbookfrom')
+            });
+
+
+            layui.form.val('hotbookfrom', {
+                "bean.isbn": "",
+                "bean.bookname": "",
+                "bean.publisher": "",
+                "bean.price": "",
+                "bean.author": "",
+                "bean.schooltype": getQueryVariable("schooltype"),
+                "bean.publishertime":""
+            });
+
+            //监听提交
+            layui.form.on('submit(addHotBook)', function (data) {
+               /* layer.alert(JSON.stringify(data.field), {
+                      title: '最终的提交信息'
+                })*/
+                $.post("/hotBook/addOrUpdate",
+                    data.field,
+                    function (data, status) {
+                        //  alert(JSON.stringify(data))
+                        if (data.code == 200) {
+                            //table.reload("dataTable",{url:"/hotBook/list?schooltype="+getQueryVariable("schooltype")+"&booktypeid="+$("#twentyTwo").val()});
+                            layer.msg('保存成功!', {icon: 1});
+                        } else {
+                            layer.msg('保存失败!', {icon: 1});
+                        }
+                    });
+                layer.close(dialogIndex);
+                return false;
+            });
+        }
+
+
+        var laydate = layui.laydate;
+
+        //常规用法
+        laydate.render({
+            elem: '#publishertime'
+        });
+
+        function fIsbn(value) {
+            $("#ISBN").val(fmtISBN(value));
+        }
+    </script>
+
+
+
+
+#end
+
+
+#define tableForm()
+
+
+
+#end
+
+
+<form class="layui-form" id="hotbookfrom" style="display: none;" lay-filter="hotbookfrom" >
+    <div class="layui-form-item" >
+        <label class="layui-form-label">ISBN</label>
+        <div class="layui-input-inline">
+            <input type="hidden"   id="schooltype" name="bean.schooltype"  >
+            <input type="text"  name="bean.isbn" id="ISBN" onblur="fIsbn(this.value)" placeholder="" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">图书名称</label>
+        <div class="layui-input-inline">
+            <input type="text" name="bean.bookname"  lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">出版单位</label>
+        <div class="layui-input-inline">
+            <input type="text" name="bean.publisher"  lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">定价</label>
+        <div class="layui-input-inline">
+            <input type="text" name="bean.price" placeholder="" autocomplete="off" class="layui-input" lay-verify="required|number"></textarea>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">作者</label>
+        <div class="layui-input-inline">
+            <input type="text" name="bean.author" placeholder="" autocomplete="off" class="layui-input" lay-verify="required"></input>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">出版时间</label>
+        <div class="layui-input-inline">
+            <input type="text" name="bean.publishertime" id="publishertime" lay-verify="required|date" placeholder="" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">类别</label>
+        <div class="layui-input-inline" >
+            <select name="bean.booktypeid" id="booktype"  lay-verify="required" lay-search=""  >
+            </select>
+        </div>
+    </div>
+    <div class="text-center">
+        <button class="layui-btn layui-btn-sm" lay-submit lay-filter="addHotBook">提交</button>
+        <button type="reset" class="layui-btn  layui-btn-sm">重置</button>
+    </div>
+</form>

+ 128 - 0
src/main/webapp/view/intelligentdevice/circulationRecord.html

@@ -0,0 +1,128 @@
+#@layout()
+#define main()
+<form lay-filter="queryForm" class="query-form layui-form">
+    <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+    <label>正题名</label>
+    <input type="text" name="title" id="title" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="">
+
+    <label>借书证</label>
+    <input type="text" name="cardnumber" id="cardnumber" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="">
+
+    <label for="startDate">日期</label>
+    <input type="text" name="starttime" id="startDate" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="">
+    <label for="endDate">至:</label>
+    <input type="text" name="endtime" id="endDate" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="">
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+    <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+
+</form>
+<table class="layui-hide" id="datatable" lay-filter="datatable"></table>
+#end
+
+#define methods()
+<script>
+
+
+    var url = location.search; //获取url中"?"符后的字串 ('?modFlag=business&role=1')
+    var theRequest = new Object();
+    if ( url.indexOf( "?" ) != -1 ) {
+        var str = url.substr( 1 ); //substr()方法返回从参数值开始到结束的字符串;
+        var strs = str.split( "&" );
+        for ( var i = 0; i < strs.length; i++ ) {
+            theRequest[ strs[ i ].split( "=" )[ 0 ] ] = ( strs[ i ].split( "=" )[ 1 ] );
+        }
+        console.log(theRequest);
+    }
+
+    function getQueryCondition(){
+        var d = {};
+        d["orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        d["token"]=JSON.parse(sessionStorage.loginData).token;
+        d["libraryid"]=theRequest.relationid;
+        return d;
+    }
+
+    // searchForm.submit('submit(searchBtn)',"/bookdiaobo/findDiaoboByLibraryId");
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = JSON.parse(sessionStorage.loginData).token;
+        data.field.orgid = JSON.parse(sessionStorage.loginData).orgid;
+        data.field.libraryid = theRequest.relationid;
+        table.reload('datatable',{
+            where:data.field
+        });
+        layer.msg('查询成功', { icon: 1 });
+        return false;
+    });
+
+    var laydate = layui.laydate;
+    //常规用法
+    table.render({
+        elem: '#datatable'
+        ,url:'/equipment/findCirculationRecord'
+        ,where:getQueryCondition()
+        // ,toolbar: '#toolbarDemo'
+        ,title: '用户数据表'
+        ,cols: [[
+            {type: 'numbers', title: '序号'},
+            {field:'title', title:'正题名' }
+            ,{field:'isbn', title:'ISBN'}
+            ,{field:'cardnumber', title:'借书证'}
+            ,{field:'realname', title:'姓名'}
+            ,{field:'deptname', title:'班级'}
+            ,{field:'createtime', title:'时间'}
+            ,{field:'relationid',hide:true}
+            ,{field:'status', title:'操作类型',templet: function(d){
+                    if (d.status==0){
+                        return"借书";
+                    }else if(d.status==1) {
+                        return "还书";
+                    }else {
+                        return "丢失";
+                    }
+                }}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            console.log(result.data.list)
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+
+        }
+    });
+    layui.use('laydate', function() {
+        var laydate = layui.laydate;
+
+        //常规用法
+        laydate.render({
+            elem: '#startDate'
+        });
+        laydate.render({
+            elem: '#endDate'
+        });
+
+    })
+</script>
+#end
+
+#define tableForm()
+
+
+#end
+

+ 175 - 0
src/main/webapp/view/intelligentdevice/mobileBookinfo.html

@@ -0,0 +1,175 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form class="layui-form" lay-filter="bookqueryform" id="bookqueryform">
+        <div class="layui-input-inline">
+
+            <label class="layui-form-label" style="width: 120px;">22个基本大类</label>
+            <div class="layui-input-inline" >
+                <select id="twentyTwo" name="bean.typeid"  lay-search=""  lay-filter="twentyTwo">
+                </select>
+            </div>
+            <label>ISBN</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.isbn" id="ISBN" onblur="fIsbn(this.value)" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <label>正题名</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.title" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <label>著者</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.author" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <label>出版社</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.publisher" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <label>索书号</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.bookno" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <input type="hidden" name="bookstatus" value="1">
+            <input type="hidden" name="status" value="0">
+            <input type="hidden" name="library" id="library" value="0">
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查&nbsp;&nbsp;询</button>
+        </div>
+    </form>
+</div>
+
+
+<table class="layui-hide" id="datatable" lay-filter="datatable"></table>
+#end
+#define methods()
+<script>
+
+</script>
+#end
+
+#define tableForm()
+
+
+<script>
+    var url = location.search; //获取url中"?"符后的字串 ('?modFlag=business&role=1')
+    var theRequest = new Object();
+    if ( url.indexOf( "?" ) != -1 ) {
+        var str = url.substr( 1 ); //substr()方法返回从参数值开始到结束的字符串;
+        var strs = str.split( "&" );
+        for ( var i = 0; i < strs.length; i++ ) {
+            theRequest[ strs[ i ].split( "=" )[ 0 ] ] = ( strs[ i ].split( "=" )[ 1 ] );
+        }
+        $("#library").val(theRequest.relationid);
+        console.log(theRequest);
+    }
+
+    $("#twentyTwo").append("<option value=''>全部</option>");
+    $.get("/standardbooktype/selectType",function (data) {
+        $.each(data.data.twentyTwo,function(index,obj){
+            $("#twentyTwo").append("<option value='"+obj.id+"'>"+obj.name+"</option>");
+        });
+        form.render('select');
+    });
+
+    function getQueryCondition() {
+        var d = {};
+        var t = $("#bookqueryform").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        d["bookstatus"]="1";
+        d["status"]="0";
+        d["orderby"]="a.createtime desc " ;
+        d["library"]=theRequest.relationid;
+        d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        return d;
+    }
+
+    table.render({
+        elem: '#datatable'
+        ,url:'/book/list'
+        ,where:getQueryCondition()
+        ,title: '用户数据表'
+        ,cols: [[
+            {type: 'numbers', title: '序号'},
+            {field:'isbn', title:'ISBN', }
+            ,{field:'title', title:'正题名'}
+            ,{field:'author', title:'著者'}
+            ,{field:'publisher', title:'出版社'}
+            ,{field:'publishaddress', title:'出版地'}
+            ,{field:'price', title:'定价(元)'}
+            ,{field:'bookno', title:'索书号' ,sort: true}
+            ,{field:'booknum', title:'复本数',sort: true}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+    table.on('tool(datatable)', function(obj){
+        var data = obj.data;
+        if(obj.event == 'edit'){
+            location.href="/list-manage/editBookList?id="+data.bookid+"&type=libraryedit";
+        }
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        data.field["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        table.reload('datatable',{
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        return false;
+    });
+
+    form.on('submit(exportBtn)', function(data){
+        var params ="orgid="+JSON.parse(sessionStorage.loginData).orgid;
+        for (var attr in data.field) {
+            params =params+ "&"+attr.substring(attr.indexOf(".")+1)+"="+data.field[attr];
+        }
+        var url ="/print/book_export?"+params;
+        window.open(url);
+        return false;
+    });
+
+    //监听排序事件
+    table.on('sort(datatable)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
+        console.log(obj.field); //当前排序的字段名
+        console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
+
+        var d =getQueryCondition();
+        d["orderby"]=obj.field + " " + (obj.type==null?" asc": obj.type);
+        console.log(d.orderby);
+        table.reload('datatable',{
+            where:d,
+            page: {
+                curr: 1
+            }
+        });
+    });
+
+    function fIsbn(value) {
+        $("#ISBN").val(fmtISBN(value));
+    }
+</script>
+#end

+ 194 - 0
src/main/webapp/view/library/barCodeChangeBook.html

@@ -0,0 +1,194 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class=" layui-form" id="queryForm">
+        <!--<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+            <ul class="layui-tab-title" style="color: #666666;">
+            </ul>
+            <div class="layui-tab-content"></div>
+        </div>-->
+
+
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+
+            <label>旧条码</label>
+            <div class="layui-input-inline">
+                <input type="text" id="oldbarcode" class="layui-input-inline layui-input" lay-verify="required"  placeholder="" autocomplete="off" oninput="value=value.replace(/[^\d]/g,'')">
+            </div>
+            <label>新条码</label>
+            <div class="layui-input-inline">
+                <input type="text" id="newbarcode" class="layui-input-inline layui-input"    placeholder="" autocomplete="off" oninput="value=value.replace(/[^\d]/g,'')" >
+            </div>
+            <button lay-submit lay-filter="barChangeBtn" class="layui-btn layui-btn-sm" >置换</button>
+        </div>
+    </form>
+
+    <form lay-filter="bookForm" class=" layui-form" id="bookForm">
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+            <div>
+                <div class="layui-form-item" >
+                    <label class="layui-form-label" style="width:150px;">条码</label>
+                    <div class="layui-input-inline">
+                        <input type="hidden" name="bookdetailid" id="bookdetailid">
+                        <input type="text" name="barcode"  id="barcode" class="layui-input-inline layui-input" style="width:150px;" placeholder="" readonly>
+                    </div>
+                </div>
+            </div>
+            <div>
+                <div class="layui-form-item" >
+                    <label class="layui-form-label" style="width:150px;">正题名</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="title" class="layui-input-inline layui-input" style="width:150px;" placeholder="" readonly>
+                    </div>
+                </div>
+                <div class="layui-form-item" >
+                    <label class="layui-form-label" style="width:150px;">索书号</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bookno" class="layui-input-inline layui-input" style="width:150px;" placeholder="" readonly>
+                    </div>
+                </div>
+            </div>
+            <div>
+                <div class="layui-form-item" >
+
+                        <label class="layui-form-label" style="width:150px;">著者 </label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="author" class="layui-input-inline layui-input" style="width:150px;" placeholder="" readonly>
+                        </div>
+
+                </div>
+                <div class="layui-form-item" >
+
+                        <label class="layui-form-label" style="width:150px;">定价</label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="price" class="layui-input-inline layui-input" style="width:150px;" placeholder="" readonly>
+                        </div>
+
+                </div>
+            </div>
+            <div>
+                <div class="layui-form-item" >
+                    <label class="layui-form-label" style="width:150px;">出版社</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="publisher" class="layui-input-inline layui-input" style="width:150px;" placeholder="" readonly>
+                    </div>
+                </div>
+                <div class="layui-form-item" >
+                    <label class="layui-form-label" style="width:150px;">馆藏地</label>
+                    <div class="layui-input-inline">
+                        <select name="libraryid" id="library"  disabled>
+                        </select>
+                    </div>
+                </div>
+            </div>
+            &nbsp;&nbsp;&nbsp;&nbsp;<a style="color: red">*</a>输入条码按回车查询
+        </div>
+    </form>
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+    $("#oldbarcode").focus();
+    $.get("/sysconfig/findSysConfig",function (data) {
+        if(data.data.OrgSetting && data.data.OrgSetting.tstiaoxinmaweishu != 0){
+            $("#oldbarcode").attr("maxlength",data.data.OrgSetting?data.data.OrgSetting.tstiaoxinmaweishu:0);
+            $("#newbarcode").attr("maxlength",data.data.OrgSetting?data.data.OrgSetting.tstiaoxinmaweishu:0);
+        }
+    });
+
+
+
+    $("#library").append("<option value=''>全部</option>");
+    $.get("/library/ajaxlibrarylist",function (data) {
+        $.each(data.data,function(index,obj){
+            $("#library").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+        });
+        form.render('select');
+    });
+
+    // $('#oldbarcode').bind('keyup', function(event) {
+    //     if (event.keyCode == "13") {
+    //         //回车执行查询
+    //         var value = $(this).val();
+    //         if (value == "") {
+    //             return;
+    //         }
+    //
+    //         $.get("/bookDetail/findBookByBarCode",{barcode: value,orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (data) {
+    //             console.log(data);
+    //             if (data.code==200){
+    //                 form.val("bookForm",data.data);
+    //             }else{
+    //                 $("#bookForm")[0].reset();
+    //                setTimeout(function () {
+    //                    layer.msg(data.msg, { icon: 1 });
+    //                },1000)
+    //             }
+    //         });
+    //         return false;
+    //     }
+    // });
+    // $("#oldbarcode").blur(function() {
+    //
+    //         var value = $(this).val();
+    //         if (value == "") {
+    //             return;
+    //         }
+    //
+    //         $.get("/bookDetail/findBookByBarCode",{barcode: value,orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (data) {
+    //             console.log(data);
+    //             if (data.code==200){
+    //                 form.val("bookForm",data.data);
+    //             }else{
+    //                 $("#bookForm")[0].reset();
+    //                 layer.msg(data.msg, { icon: 1 });
+    //             }
+    //         });
+    //         return false;
+    //
+    // });
+
+    form.on('submit(barChangeBtn)', function(data){
+        data.field.token = sessionStorage.token;
+
+        if ($("#newbarcode").val()==""){
+            $.get("/bookDetail/findBookByBarCode",{barcode: $("#oldbarcode").val(),orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (data) {
+                console.log(data);
+                if (data.code==200){
+                    form.val("bookForm",data.data);
+                    layer.msg('请输入新条码!', { icon: 1 });
+                    $("#newbarcode").focus();
+                }else{
+                    $("#bookForm")[0].reset();
+                    setTimeout(function () {
+                        layer.msg(data.msg, { icon: 2 });
+                    },1000)
+                }
+            });
+            return false;
+        }
+
+        if ($("#bookdetailid").val()==""){
+            layer.msg('请先查询图书!', { icon: 1 });
+            return false;
+        }
+        $.post("/bookDetail/updateBarCode",{bookdetailid:$("#bookdetailid").val(),newbarcode:$("#newbarcode").val(),orgid:JSON.parse(sessionStorage.loginData).orgid},function (data) {
+            if (data.code==200){
+                layer.msg('置换成功', { icon: 1 });
+                $("#bookForm")[0].reset();
+                // $("#barcode").val(data.data)
+                $("#newbarcode").val("")
+                $("#oldbarcode").val("");
+                $("#oldbarcode").focus();
+            }else{
+                layer.msg(data.msg, { icon: 1 });
+            }
+        });
+        return false;
+    });
+
+</script>
+#end

+ 239 - 0
src/main/webapp/view/library/cancelBook.html

@@ -0,0 +1,239 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class=" layui-form" id="queryForm">
+        <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+
+            <div class="layui-tab-content">
+                <div class="layui-tab-item layui-show" style="padding-top: 0px;">
+                    <input type="hidden" name="status" value="0">
+                    <input type="hidden" name="orgid">
+                    <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+                        <label for="">条码范围</label>
+                        <input type="text" name="barcode" style="width: 300px;" class="layui-input-inline layui-input" placeholder="">
+                        请键入条码或用逗号分隔的条码范围,例如:00000001,00000005,00000010-00000020
+                    </div>
+                    <label for="">馆藏地</label>
+                    <div class="layui-input-inline" >
+                        <select name="library" id="library">
+                        </select>
+                    </div>
+                    <label>ISBN</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.isbn" id="ISBN" onblur="fIsbn(this.value)" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <label>正题名</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.title" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <label>著者</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.author" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <label>出版社</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.publisher" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+                </div>
+            </div>
+        </div>
+
+    </form>
+    <table id="dataTable" lay-filter="dataTable" ></table>
+    <script type="text/html" id="toolbarDemo">
+        <div class="layui-btn-container">
+            <button class="layui-btn layui-btn-sm" lay-event="cancelBook">注销</button>
+        </div>
+    </script>
+
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+
+    var dialogIndex=-1;
+    var bookdetailIds = [];
+    var bookIDSet = new Set();
+    //工具栏事件
+    table.on('toolbar(dataTable)', function(obj){
+        var checkStatus = table.checkStatus(obj.config.id);
+        bookdetailIds = [];
+        bookIDSet = new Set();
+        for(var i=0;i<checkStatus.data.length;i++){
+            bookdetailIds.push(checkStatus.data[i].bookdetailid);
+            bookIDSet.add(checkStatus.data[i].bookid);
+        }
+        console.log(bookdetailIds);
+        if (bookdetailIds.length==0){
+            layer.msg('请选择需要注销图书!', { icon: 1 });
+            return;
+        }
+        switch(obj.event){
+            case 'cancelBook':
+                dialogIndex=layer.open({
+                    type: 1,
+                    area: ['350px', '300px'],
+                    content: $("#cancelbookfrom")
+                });
+                break;
+            default:
+                break;
+        };
+    });
+
+
+    form.on('submit(cancelBook)', function(data){
+        var reason=$("#reason").val();
+        if (reason==''){
+            layer.msg('请选择注销原因', { icon: 1 });
+            return false;
+        }
+        console.log(bookIDSet);
+        $.post("/bookDetail/bookStatus",{orgid:JSON.parse(sessionStorage.loginData).orgid, bookIDList:Array.from(bookIDSet) ,token:JSON.parse(sessionStorage.loginData).token,bookDetailIDList:bookdetailIds,status:3,reason:reason},function (data) {
+            console.log(data);
+            if (data.code==200){
+                layer.msg('注销成功', { icon: 1 });
+                table.reload('dataTable',{where:getQueryCondition()});
+                layer.close(dialogIndex);
+            }
+        });
+        return false;
+    });
+
+    $("#library").append("<option value=''>全部</option>");
+    $.get("/library/ajaxlibrarylist",function (data) {
+        $.each(data.data,function(index,obj){
+            $("#library").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+        });
+        form.render('select');
+    });
+
+
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+    function getQueryCondition() {
+        var d = {};
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        console.log(d);
+        return d;
+    }
+
+    table.render({
+        elem: '#dataTable'
+        ,url:'/bookDetail/list'
+        ,toolbar: '#toolbarDemo'
+        ,where:getQueryCondition()
+        ,title: '用户数据表'
+        ,cols: [[
+            {type:'checkbox'},
+            {type: 'numbers', title: '序号'}
+            ,{field:'barcode', title:'条码', minWidth:100}
+            ,{field:'isbn', title:'ISBN',minWidth:155 }
+            ,{field:'title', title:'正题名',minWidth:200}
+            ,{field:'author', title:'著者',minWidth:160}
+            ,{field:'publisher', title:'出版社',minWidth:200}
+            ,{field:'price', title:'定价(元)',minWidth:80}
+            ,{field:'totalpages', title:'页数',minWidth:80}
+            ,{field:'bookno', title:'索书号',minWidth:125}
+            ,{field:'library', title:'馆藏地点',minWidth:125}
+            ,{field:'status', title:'图书状态',minWidth:90,templet: function(d){
+                    if(d.status==0){
+                        return "在馆";
+                    }else if (d.status==1){
+                        return"借出";
+                    }else if (d.status==2){
+                        return"已预约";
+                    }else if (d.status==0){
+                        return"已注销";
+                    }else {
+                        return "已丢失";
+                    }
+                }}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code!=200){
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+
+    function fIsbn(value) {
+        $("#ISBN").val(fmtISBN(value));
+    }
+</script>
+#end
+<form class="layui-form" id="cancelbookfrom" style="display: none;" lay-filter="cancelbookfrom" >
+    <div class="layui-form-item" style=" margin-top: 20px">
+        <label class="layui-form-label" style="white-space:nowrap;width: auto;">注销原因</label>
+        <div class="layui-input-inline" >
+            <select name="reason" id="reason" lay-verify="required">
+                <option value=''></option>
+                <option value='剔旧'>剔旧</option>
+                <option value='丢失'>丢失</option>
+                <option value="损坏">损坏</option>
+                <option value="非法图书">非法图书</option>
+                <option value="不适宜图书">不适宜图书</option>
+                <option value="外观差">外观差</option>
+                <option value="无保存价值">无保存价值</option>
+                <option value="其它">其它</option>
+            </select>
+        </div>
+    </div>
+
+    <div class="layui-form-item" style="width:330px;text-align: center">
+        <div class="text-center" >
+            <button class="layui-btn" lay-submit lay-filter="cancelBook">注销</button>
+
+        </div>
+    </div>
+</form>

+ 689 - 0
src/main/webapp/view/library/editBookList.html

@@ -0,0 +1,689 @@
+#@layout()
+#define main()
+<style>
+    .addBookList {
+        /*border-top: 5px solid transparent;*/
+        /*border-bottom: 5px solid transparent;*/
+    }
+    .book-message {
+        min-width: 1100px;
+    }
+    .book-message > li {
+        float: left;
+        width: 32%;
+        margin: 2px 0;
+    }
+    .book-message > li label {
+        width: 115px;
+    }
+    div.layui-form-switch {
+        margin-top: 0;
+    }
+    /*#appendflag {*/
+        /*display: none;*/
+    /*}*/
+</style>
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <form lay-filter="queryForm" id="queryForm" class="query-form layui-form" >
+        <div class="layui-form-item">
+            <b>书目信息&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        </div>
+        <ul class="book-message clearfix">
+                <li>
+                    <label>ISBN</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="hidden" name="bean.id" >
+                    <input type="hidden" name="beanPlus.id"  >
+                    <input type="text" name="bean.isbn" id="isbn" class="layui-input-inline layui-input" style="width: 150px;" lay-verify="required" placeholder="输入ISBN搜索">
+                </li>
+                <li>
+                    <label >正题名</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.title" id="title" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="输入正题名搜索">
+                </li>
+
+                <li id="bltitletd">
+                    <label >并列题名</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.bltitle" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="subtitletd">
+                    <label >副题名</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.subtitle" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+
+                <li>
+                    <label >著者</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.author" id="author" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                </li>
+                <li id="authorworkmodetd">
+                    <label >著作方式</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.authorworkmodeid" id="authorworkmodeid">
+
+                        </select>
+                    </div>
+                </li>
+                <li id="authorguobietd">
+                    <label >国别或朝代</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.authorguobieid" id="authorguobieid">
+
+                        </select>
+                    </div>
+                </li>
+
+                <li id="otherauthortd">
+                    <label >其他责任者</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.otherauthor" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="workmodetd">
+                    <label >著作方式</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="beanPlus.workmodeid" id="workmodeid">
+
+                        </select>
+                    </div>
+                </li>
+                <li id="guobietd">
+                    <label >国别或朝代</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="beanPlus.guobieid" id="guobieid">
+
+                        </select>
+                    </div>
+                </li>
+
+                <li>
+                    <label >出版社</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.publisher" id="publisher" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                </li>
+                <li>
+                    <label >出版地</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.publishaddress" id="publishaddress" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                </li>
+                <li>
+                    <label >出版年月</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.publishdate" id="publishdate" class="layui-input-inline layui-input" style="width: 150px;" lay-verify="required" placeholder="">
+                </li>
+                <li id="editiontd">
+                    <label >版本版次</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.edition" id="edition" class="layui-input-inline layui-input" style="width: 150px;" placeholder="" onchange="setBookno()">
+                </li>
+
+                <li>
+                    <label >定价(元)</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.price" id="price" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                </li>
+                <li id="sizetd">
+                    <label >尺寸</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="beanPlus.sizeid" id="sizeid">
+
+                        </select>
+                    </div>
+                </li>
+                <li>
+                    <label >附件</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.filesurl" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+
+                <li id="languagetd">
+                    <label >语种</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="beanPlus.languageid" id="languageid">
+
+                        </select>
+                    </div>
+                </li>
+                <li>
+                    <label >页数</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.totalpages" id="totalpages" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="bindingtd">
+                    <label >装订形式</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="beanPlus.bindingid" id="bindingid">
+
+                        </select>
+                    </div>
+                </li>
+
+                <li id="congshumingtd">
+                    <label >丛书名</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.congshuming" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="congshuauthortd">
+                    <label >丛书责任者</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.congshuauthor" class="layui-input-inline layui-input" style="width: 150px;" placeholder="丛书责任者">
+                </li>
+                <li id="newsourcetd">
+                    <label >图书新增来源</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.newsource" id="newsource">
+
+                        </select>
+                    </div>
+                </li>
+
+                <!--<li>-->
+                    <!--<label >文献类型</label>-->
+                    <!--&nbsp;&nbsp;&nbsp;&nbsp;-->
+                    <!--<div class="layui-input-inline">-->
+                        <!--<select name="booktype" id="booktype">-->
+
+                        <!--</select>-->
+                    <!--</div>-->
+                <!--</li>-->
+                <li id="keywordtd">
+                    <label >主题词</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.keyword" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="fuzhudt">
+                    <label >附注</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.fuzhu" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+
+                <li style="position: relative;">
+                    <label >分类号</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="hidden" id="sortNumberHide" name="bean.typeid" >
+                    <input type="text" name="bean.typecode" id="sortNumber" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="" >
+                    <button type="button" onclick="sortSelect()" class="layui-btn layui-btn-xs" style="position: absolute;left: 266px;top: 5px;">...</button>
+                </li>
+                <li style="position: relative;">
+                    <label >书次号</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.shucihao" id="bookNumberValue" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                    <button type="button" onclick="bookNumberFun()" class="layui-btn layui-btn-xs" style="position: absolute;left: 266px; top: 5px;">...</button>
+                </li>
+                <li>
+                    <label >卷次</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.juanci" id="juanci" class="layui-input-inline layui-input" style="width: 150px;" placeholder="" >
+                </li>
+                <li>
+                    <label >册次</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="beanPlus.ceci" id="ceci" class="layui-input-inline layui-input" style="width: 150px;" placeholder="" >
+                </li>
+
+        </ul>
+        <fieldset class="layui-elem-field">
+            <div class="layui-field-box">
+                <!--<label >电子资源:<span>1111111</span></label>-->
+                &nbsp;&nbsp;&nbsp;&nbsp;
+                <label >索书号:<span id="bookno"></span></label>
+                &nbsp;&nbsp;&nbsp;&nbsp;
+                <label >复本数量:<span id="fubennum">0</span></label>
+            </div>
+        </fieldset>
+
+        <table class="layui-table">
+            <colgroup>
+                <col width="150">
+                <col width="200">
+                <col>
+            </colgroup>
+            <thead>
+            <tr>
+                <th>条码</th>
+                <th>馆藏地点</th>
+                <th>图书批次</th>
+                <th>状 态</th>
+            </tr>
+            </thead>
+            <tbody id="appendflag">
+            </tbody>
+        </table>
+
+        <div class="text-center">
+            <button type="button" onclick="history.go(-1)" class="layui-btn layui-btn-sm" lay-submit lay-filter="" >取 消</button>
+            <button type="button" class="layui-btn layui-btn-sm" lay-submit lay-filter="saveBtn">保 存</button>
+        </div>
+    </form>
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+    var params = {};
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        params[pair[0]]=pair[1];
+    }
+    var orgid = JSON.parse(sessionStorage.loginData).orgid;
+    var token = JSON.parse(sessionStorage.loginData).token;
+
+    $.ajax({
+        url:"/dict/findDict",
+        async:false,
+        success:function (result) {
+            if (result.code==200){
+                result.data.list0.forEach(function (item) {
+                    $("#authorworkmodeid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                    $("#workmodeid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list1.forEach(function (item) {
+                    $("#guobieid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                    $("#authorguobieid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list2.forEach(function (item) {
+                    $("#booktype").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list3.forEach(function (item) {
+                    $("#sizeid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list4.forEach(function (item) {
+                    $("#languageid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list5.forEach(function (item) {
+                    $("#bindingid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list6.forEach(function (item) {
+                    $("#newsource").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                form.render('select');
+            }
+        }
+    });
+
+
+    $.get("/orgBookField/getById",{orgid:orgid,token:token},function (result) {
+        if (result.code==200){
+            if(result.data.keyword != 1) {
+                $("#keywordtd").hide();
+            }
+            if(result.data.edition != 1) {
+                $("#editiontd").hide();
+            }
+            if(result.data.otherauthor != 1) {
+                $("#otherauthortd").hide();
+            }
+            if(result.data.newsource != 1) {
+                $("#newsourcetd").hide();
+            }
+            if(result.data.bltitle != 1) {
+                $("#bltitletd").hide();
+            }
+            if(result.data.subtitle != 1) {
+                $("#subtitletd").hide();
+            }
+            if(result.data.workmode != 1) {
+                $("#workmodetd").hide();
+            }
+            if(result.data.guobie != 1) {
+                $("#guobietd").hide();
+            }
+            if(result.data.size != 1) {
+                $("#sizetd").hide();
+            }
+            if(result.data.language != 1) {
+                $("#languagetd").hide();
+            }
+            if(result.data.binding != 1) {
+                $("#bindingtd").hide();
+            }
+            if(result.data.congshuming != 1) {
+                $("#congshumingtd").hide();
+            }
+            if(result.data.congshuauthor != 1) {
+                $("#congshuauthortd").hide();
+            }
+            if(result.data.fuzhu != 1) {
+                $("#fuzhudt").hide();
+            }
+        }
+    });
+
+    var bookpiciselecthtml;
+    var libraryselecthtml;
+
+    $.ajax({
+        url:"/book/initBookList",
+        async:false,
+        data:{orgid:orgid,token:token},
+        success:function (result) {
+            if (result.code == 200) {
+                if (result.data.piciList == "") {
+                    layer.msg("请先添加批次", {icon: 2});
+                    return;
+                }
+                bookpiciselecthtml = "<select>"
+                bookpiciselecthtml += "<option value=''></option>";
+                result.data.piciList.forEach(function (item) {
+                    bookpiciselecthtml += "<option value='" + item.id + "'>" + item.batchname + "</option>";
+                });
+                bookpiciselecthtml += "</select>"
+
+                libraryselecthtml = "<select>"
+                libraryselecthtml += "<option value=''></option>";
+                result.data.libraryList.forEach(function (item) {
+                    libraryselecthtml += "<option value='" + item.id + "'>" + item.library + "</option>"
+                });
+                libraryselecthtml += "</select>"
+
+                $("#isbn").focus();
+            }
+        }
+    });
+
+
+
+
+
+    $("#isbn").keydown(function() {
+        if(event.keyCode == "13") {
+            var value = $(this).val();
+            if(value=="") {
+                return;
+            }
+            $.get("/book/formatISBN",{isbn:value},function (result) {
+                if (result.code==200){
+                    $("#isbn").val(result.data);
+                }
+            });
+        }
+    });
+
+    function initselect(data){
+        if(undefined == data ) {
+            return;
+        }
+        form.val("queryForm",data);
+    }
+
+
+
+    function zuzhuang(barcode,status) { // type 0未上架 1 已上架 2 新增
+        var addhtmlstr = "";
+        addhtmlstr += "<tr>";
+        addhtmlstr += "<td>"+barcode+"</td>";
+        addhtmlstr += "<td>"+libraryselecthtml+"</td>";
+        addhtmlstr += "<td>"+bookpiciselecthtml+"</td>";
+        addhtmlstr += "<td>"+ (status==0?"在馆":status==1?"借出":status==2?"已预约":status==3?"已注销":status==4?"已丢失":"状态异常")+"</td></tr>";
+        return addhtmlstr;
+    }
+
+
+
+
+    function findDetailListById(id) {
+        $.get("/bookDetail/findDetailList",{orgid:orgid,token:token,id:id},function (result) {
+            if (result.code==200){
+                result.data.forEach(function (item) {
+                    $("#appendflag").prepend(zuzhuang(item.barcode,item.status));
+                    $("#appendflag tr:first").children('td').eq(1).children('select').val(item.libraryid);
+                    $("#appendflag tr:first").children('td').eq(2).children('select').val(item.piciid);
+
+                    $("#appendflag tr:first").children('td').eq(1).children('select').attr('disabled',true);
+                    $("#appendflag tr:first").children('td').eq(2).children('select').attr('disabled',true);
+                });
+                form.render("select");
+                form.render();
+                return false;
+            }
+        });
+    }
+
+
+    laydate.render({
+        elem: '#startDate',
+        value:new Date()
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+
+    //分类号选择
+    function sortSelect(){
+        layer.open({
+            type: 2,
+            area:['1100px','600px'],
+            title:"选择分类号",
+            content: "/view/list-manage/sortDialog.html",
+            btn:['确认','取消'],
+            btnAlign: 'r',
+            yes: function(index, layero){
+                var body = layer.getChildFrame('body', index);
+                var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:
+                if(iframeWin.sortValue){
+                    var sortValueId = iframeWin.sortValue.id;
+                    $("#sortNumberHide").val(sortValueId);
+                    $("#sortNumber").val(sortValueId).change();
+                    // $("#sortNumber");
+                    getbookNumberFun();
+                }else {
+                    layer.msg("请选择分类", { icon: 5 });
+                    return;
+                }
+                layer.close(index);
+            },
+            btn2: function(index, layero){
+                layer.close(index);
+            },
+            success:function(layero,index){
+
+
+            }
+        });
+    }
+
+    //书次号选择
+    function getbookNumberFun(){
+        if(!$("#sortNumber").val()) return;
+        $.get("/bookPici/findMaxShucihao",{orgid:orgid,token:token,typecode:$("#sortNumber").val()},function(result){
+            $("#bookNumberValue").val(result.data+1);
+        });
+    }
+
+    //索书号的值
+    $("#queryForm").find("input").on("change",function(){
+        var bookNumberValue = $("#bookNumberValue").val()?"/"+$("#bookNumberValue").val():"";
+        var juanci = $("#juanci").val()?":"+$("#juanci").val():"";
+        var reg = /^\+?[1-9][0-9]*$/;
+        if (""!=$("#juanci").val() && !reg.test($("#juanci").val())) {
+            layer.msg("卷次只能是正整数!", {icon: 2});
+            $("#juanci").focus();
+            return false;
+        }
+        var ceci = "";
+        if("" != juanci){
+            ceci = $("#ceci").val()?"("+$("#ceci").val()+")":"";
+        } else {
+            ceci = $("#ceci").val()?":"+$("#ceci").val():"";
+        }
+        if (""!=$("#ceci").val() && !reg.test($("#ceci").val())) {
+            layer.msg("册次只能是正整数!", {icon: 2});
+            $("#ceci").focus();
+            return false;
+        }
+        var reg = /^\+?[1-9][0-9]*$/;
+        if (undefined !=$("#edition").val() && ""!=$("#edition").val() && !reg.test($("#edition").val())) {
+            layer.msg("版本版次只能是正整数!", {icon: 2,time: 2000 });
+            $("#edition").focus();
+            return false;
+        }
+        var edition = parseInt($("#edition").val());
+        if(edition > 1) {
+            var bookno = $("#sortNumber").val()+bookNumberValue+"-"+edition+juanci+ceci;
+            $("#bookno").text(bookno);
+        } else {
+            var bookno = $("#sortNumber").val()+bookNumberValue+juanci+ceci;
+            $("#bookno").text(bookno);
+        }
+    });
+
+    function bookNumberFun(){
+        if(!$("#sortNumber").val()) return layer.msg("请先选择分类号", { icon: 2 });
+        layer.open({
+            type: 1,
+            area:['1100px','600px'],
+            title:"选择书次号",
+            content: $("#bookOrderNumber"),
+            btn:['取消'],
+            btnAlign: 'r',
+            yes: function(index, layero){
+                table.on('toolbar(dataTableBookNumber)', function(obj){
+                    var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
+                    $("#bookNumberValue").val(checkStatus.data[0].shucihao);
+                });
+                layer.close(index);
+            },
+            success:function(layero,index){
+                $.get("/bookPici/findShucihaoList",{orgid:orgid,token:token,typecode:$("#sortNumber").val()},function (result) {
+                    if (result.code == 200) {
+                        var data = result.data;
+                        console.log(data,123);
+                        table.render({
+                            elem: '#dataTableBookNumber'
+                            ,toolbar: '#toolbarBookNumber'
+                            ,data:data
+                            ,page: true //开启分页
+                            ,cols: [[ //表头
+                                {type: 'radio', title: '选择'},
+                                {type: 'numbers', title: '序号'}
+                                ,{field: 'shucihao', title: '书次号',align:'center'}
+                                ,{field: 'bookno', title: '索书号', align:'center'}
+                                ,{field: 'isbn', title: 'ISBN', align:'center'}
+                                ,{field: 'author', title: '著者', align:'center'}
+                                ,{field: 'publisher', title: '出版社', align:'center'}
+                                ,{field: 'title', title: '正题名', align:'center'}
+                                ,{field: 'price', title: '价格', align:'center'}
+                            ]]
+                        });
+                        table.on('toolbar(dataTableBookNumber)', function(obj){
+                            var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
+                            switch(obj.event){
+                                case "radioBookNumber":
+                                    console.log(checkStatus.data[0].shucihao,34);
+                                    $("#bookNumberValue").val(checkStatus.data[0].shucihao).change();
+                                    layer.close(index);
+                                    break;
+                            };
+                        });
+                    }
+                });
+            }
+        })
+    }
+
+
+    function fillBookInfo(id) {
+        $.get("/book/findBookInfo",{id:id},function (data) {
+            var d ={};
+            for (var attr in data.data) {
+                d[attr]=data.data[attr];
+            }
+            form.val("queryForm",d);
+            form.render('select');
+            $("#fubennum").html(data.data["bean.booknum"]);
+            $("#bookno").text(data.data["bean.bookno"]);
+
+            findDetailListById(id);
+
+        });
+    }
+
+
+    fillBookInfo(params.id);
+
+
+    form.on('submit(saveBtn)', function(data){
+        data.field.token=JSON.parse(sessionStorage.loginData).token
+        data.field["bean.bookno"]=$("#bookno").text();
+        $.post("/book/addOrUpdateBookBaseInfo",
+            data.field,
+            function (data, status) {
+                if (data.code == 200) {
+                    window.location.href ="/book/librarybook"
+                } else {
+                    if(data.code==3){
+                        window.location.href ="/"
+                    }
+                    layer.msg(data.msg, {icon: 1});
+                }
+            }
+        );
+        return false;
+    });
+
+
+</script>
+#end
+#define tableForm()
+<div class="layui-tab" id="bookListDialog" style="display: none;">
+    <ul class="layui-tab-title">
+        <li id="benxiaoli" class="layui-this">本校馆藏</li>
+        <li id="huisuli">回溯数据</li>
+        <li id="z3950li">Z39.50服务</li>
+    </ul>
+    <div class="layui-tab-content">
+        <div class="layui-tab-item layui-show">
+            <script type="text/html" id="toolbarOne">
+                <div class="layui-btn-container">
+                    <button class="layui-btn layui-btn-sm" lay-event="radioOne">下 载</button>
+                </div>
+            </script>
+            <table id="dataTableOne" lay-filter="dataTableOne"></table>
+        </div>
+        <div class="layui-tab-item">
+            <script type="text/html" id="toolbarTwo">
+                <div class="layui-btn-container">
+                    <button class="layui-btn layui-btn-sm" lay-event="radioTwo">下 载</button>
+                </div>
+            </script>
+            <table id="dataTableTwo" lay-filter="dataTableTwo"></table>
+        </div>
+        <div class="layui-tab-item">
+            <script type="text/html" id="toolbarThree">
+                <div class="layui-btn-container">
+                    <button class="layui-btn layui-btn-sm" lay-event="radioThree">下 载</button>
+                </div>
+            </script>
+            <table id="dataTableThree" lay-filter="dataTableThree"></table>
+        </div>
+    </div>
+</div>
+<!--书次号-->
+<div class="layui-tab" id="bookOrderNumber" style="display: none;">
+<script type="text/html" id="toolbarBookNumber">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" lay-event="radioBookNumber">确 定</button>
+    </div>
+</script>
+<table id="dataTableBookNumber" lay-filter="dataTableBookNumber"></table>
+</div>
+#end

+ 223 - 0
src/main/webapp/view/library/librarybook.html

@@ -0,0 +1,223 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+
+        <form class="layui-form" lay-filter="bookqueryform" id="bookqueryform">
+            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+                <ul class="layui-tab-title" style="color: #666666;">
+
+                </ul>
+                <div class="layui-tab-content">
+                    <div class="layui-tab-item layui-show" >
+                        <label class="layui-form-label" style="width: 120px;">22个基本大类</label>
+                        <div class="layui-input-inline" >
+                            <select id="twentyTwo" name="bean.typeid"  lay-search=""  lay-filter="twentyTwo">
+                            </select>
+                        </div>
+                        <label>ISBN</label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="bean.isbn" id="ISBN" onblur="fIsbn(this.value)" class="layui-input-inline layui-input" placeholder="">
+                        </div>
+                        <label>正题名</label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="bean.title" class="layui-input-inline layui-input" style="width:300px" placeholder="">
+                        </div>
+                        <label>著者</label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="bean.author" class="layui-input-inline layui-input" placeholder="">
+                        </div>
+                        <label>出版社</label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="bean.publisher" class="layui-input-inline layui-input" placeholder="">
+                        </div>
+                        <label>索书号</label>
+                        <div class="layui-input-inline">
+                            <input type="text" name="bean.bookno" class="layui-input-inline layui-input" placeholder="">
+                        </div>
+                        <label for="startDate">编目时间:</label>
+                        <input type="text" name="startDate" id="startDate" class="layui-input-inline layui-input" style="width: 100px;" placeholder="">
+                        <label for="endDate">到:</label>
+                        <input type="text" name="endDate" id="endDate" class="layui-input-inline layui-input" style="width: 100px;" placeholder="">
+                        <input type="hidden" name="bookstatus" value="1">
+                        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查&nbsp;&nbsp;询</button>
+                        <button lay-submit lay-filter="exportBtn" class="layui-btn layui-btn-sm">导出</button>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+
+
+<script type="text/html" id="barDemo">
+    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
+</script>
+
+<table class="layui-hide" id="datatable" lay-filter="datatable"></table>
+#end
+#define methods()
+<script>
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            if($("#endDate").val()!=''&&$("#endDate").val()<value){
+                layer.msg("结束时间不能小于开始时间");
+                $("#startDate").val("");
+            }
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        done: function(value, date, endDate){
+            if($("#startDate").val()!=''&&$("#startDate").val()>value){
+                layer.msg("开始时间不能大于结束时间");
+                $("#endDate").val("");
+            }
+        }
+    });
+</script>
+#end
+
+#define tableForm()
+
+
+<script>
+    if(sessionStorage.channelType == "blue") {
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/book/librarybook'\">图书(复本)</li>");
+    } else if(sessionStorage.channelType == "orange") {
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/book/librarybook\">图书(复本)</li>");
+    } else {
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/book/librarybook\">图书(复本)</li>\n" +
+            "                <li onclick=\"window.location.href='/book/librarybookSigle'\">图书(单本)</li>");
+    }
+
+
+    $("#twentyTwo").append("<option value=''>全部</option>");
+    $.get("/standardbooktype/selectType",function (data) {
+        $.each(data.data.twentyTwo,function(index,obj){
+            $("#twentyTwo").append("<option value='"+obj.id+"'>"+obj.name+"</option>");
+        });
+        form.render('select');
+    });
+
+
+    function getQueryCondition() {
+        var d = {};
+        var t = $("#bookqueryform").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        d["bookstatus"]="1";
+        d["orderby"]="a.createtime desc " ;
+
+        d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        console.log(d)
+        return d;
+    }
+
+    table.render({
+        elem: '#datatable'
+        ,url:'/book/list'
+        ,where:getQueryCondition()
+        ,title: '用户数据表'
+        ,cols: [[
+            {type: 'numbers', title: '序号'},
+            {field:'isbn', title:'ISBN', totalRowText: '合计',minWidth:155}
+            ,{field:'title', title:'正题名',minWidth:200}
+            ,{field:'author', title:'著者',minWidth:160}
+            ,{field:'publisher', title:'出版社',minWidth:200}
+            ,{field:'publishaddress', title:'出版地',minWidth:80}
+            ,{field:'price', title:'定价(元)',minWidth:80}
+            ,{field:'bookno', title:'索书号' ,sort: true,minWidth:125}
+            ,{field:'booknum', title:'复本数',sort: true,minWidth:90}
+            ,{field: 'right', title:'操作', toolbar: '#barDemo',minWidth:80}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,limits: [10,20,50,100,200]
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+
+
+
+    table.on('tool(datatable)', function(obj){
+        var data = obj.data;
+        if(obj.event == 'edit'){
+            location.href="/list-manage/editBookList?id="+data.bookid+"&type=libraryedit";
+        }
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        // table.reload('datatable',{
+        //     where:getQueryCondition(),
+        //     page: {
+        //         curr: 1
+        //     },
+        //     done: function () {
+        //         this.where = {};
+        //     }
+        // });
+
+
+        table.reload('datatable', {
+            where:getQueryCondition(),
+            page: {
+                curr: 1 //重新从第 1 页开始
+            }
+        });
+        return false;
+    });
+
+    form.on('submit(exportBtn)', function(data){
+        var params ="orgid="+JSON.parse(sessionStorage.loginData).orgid;
+        for (var attr in data.field) {
+            params =params+ "&"+attr.substring(attr.indexOf(".")+1)+"="+data.field[attr];
+        }
+        var url ="/print/book_export?"+params;
+        window.open(url);
+        return false;
+    });
+
+    //监听排序事件
+    table.on('sort(datatable)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
+        console.log(obj.field); //当前排序的字段名
+        console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
+
+        var d =getQueryCondition();
+        d["orderby"]=obj.field + " " + (obj.type==null?" asc": obj.type);
+        console.log(d.orderby);
+        table.reload('datatable',{
+            where:d,
+            page: {
+                curr: 1
+            }
+        });
+    });
+
+    function fIsbn(value) {
+        $("#ISBN").val(fmtISBN(value));
+    }
+</script>
+#end

+ 247 - 0
src/main/webapp/view/library/librayBookPlan.html

@@ -0,0 +1,247 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form" id="queryForm">
+        <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+            <ul class="layui-tab-title" style="color: #666666;">
+
+            </ul>
+            <div class="layui-tab-content">
+                <div class="layui-tab-item layui-show" >
+                    <input type="hidden" name="status" value="0">
+                    <label for="">条码范围:</label>
+                    <div class="layui-input-inline">
+                        <input style="width: 260px;" type="text" name="barcode" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <span style="color: red;margin-left: 200px">(可键入或扫入条码,多个条码请用逗号分隔,连续条码可用“-”号连接,例如 00000001,00000005,00000100-00000200,00000007)</span>
+                    <br>
+                    <div style="height: 20px;"></div>
+                    <label for="">&nbsp;&nbsp;&nbsp;馆藏地</label>
+                    <div class="layui-input-inline" >
+                        <select name="library" id="library">
+                        </select>
+                    </div>
+                    <label>ISBN</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.isbn" id="ISBN" onblur="fIsbn(this.value)" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <label>正题名</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.title" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <label>著者</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.author" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <label>出版社</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.publisher" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+                </div>
+            </div>
+        </div>
+
+
+    </form>
+    <table id="dataTable" lay-filter="dataTable" ></table>
+    <script type="text/html" id="toolbarDemo">
+        <div class="layui-btn-container">
+            <button class="layui-btn layui-btn-sm" lay-event="change">下架计划</button>
+        </div>
+    </script>
+
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+    /*if(sessionStorage.channelType == "blue") {
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/list-manage/libraryBookChange'\">图书</li>");
+    } else if(sessionStorage.channelType == "orange") {
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/list-manage/libraryBookChange'\">图书</li>");
+    } else {
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/list-manage/libraryBookChange'\">图书</li>\n" +
+            "                <li onclick=\"window.location.href='/list-manage/libraryPeriodicalChange'\">期刊</li>");
+    }*/
+    $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/list-manage/libraryBookChange'\">图书</li>");
+
+    var selectBookDetailList;
+    //工具栏事件
+    table.on('toolbar(dataTable)', function(obj){
+        var checkStatus = table.checkStatus(obj.config.id);
+        var bookDetailList = [];
+        for(var i=0;i<checkStatus.data.length;i++){
+            bookDetailList.push(checkStatus.data[i].bookdetailid);
+        }
+        if (bookDetailList.length==0){
+            layer.msg('请选择需要下架的记录', { icon: 1 });
+            return;
+        }
+        console.log(bookDetailList);
+        switch(obj.event){
+            case 'change':
+                selectBookDetailList=bookDetailList;
+                change();
+                break;
+            default:
+                break;
+        };
+    });
+
+    var dialogIndex=-1;
+
+    function change(){
+        dialogIndex=  layer.open({
+            type: 1,
+            area: ['360px', '300px'],
+            content: $("#libraryfrom")
+        });
+    }
+
+    $("#library").append("<option value=''>全部</option>");
+    $.get("/library/ajaxlibrarylist",function (data) {
+        $.each(data.data,function(index,obj){
+            $("#library").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+            $("#tolibrary").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+        });
+        form.render('select');
+    });
+
+
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+    function getQueryCondition() {
+        var d = {};
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        console.log(d);
+        return d;
+    }
+
+    table.render({
+        elem: '#dataTable'
+        ,url:'/bookDetail/list'
+        ,toolbar: '#toolbarDemo'
+        ,where:getQueryCondition()
+        ,title: '用户数据表'
+        ,cols: [[
+            {type:'checkbox'},
+            {type: 'numbers', title: '序号'}
+            ,{field:'barcode', title:'条码', }
+            ,{field:'isbn', title:'ISBN', }
+            ,{field:'title', title:'正题名'}
+            ,{field:'author', title:'著者'}
+            ,{field:'publisher', title:'出版社'}
+            ,{field:'price', title:'定价(元)'}
+            ,{field:'totalpages', title:'页数'}
+            ,{field:'bookno', title:'索书号'}
+            ,{field:'library', title:'馆藏地点'}
+            ,{field:'status', title:'图书状态',templet: function(d){
+                    if(d.status==0){
+                        return "在馆";
+                    }else if (d.status==1){
+                        return"借出";
+                    }else if (d.status==2){
+                        return"已预约";
+                    }else if (d.status==0){
+                        return"已注销";
+                    }else {
+                        return "已丢失";
+                    }
+                }}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+
+    form.on('submit(changeLibrary)', function(data){
+        console.log(selectBookDetailList);
+        var mc = $("#mc").val();
+
+        $.post("/bookDetail/bookplan",{
+                bookDetailIDList:selectBookDetailList,
+                mc:mc,
+                token:JSON.parse(sessionStorage.loginData).token,
+                orgid:JSON.parse(sessionStorage.loginData).orgid
+            },function (data) {
+                if (data.code==200){
+                    layer.msg('下架直接制定成功!', { icon: 1 });
+                    layer.close(dialogIndex);
+                    table.reload("dataTable",{ page: {
+                            curr: 1
+                    }});
+                }
+
+            }
+        );
+        return false;
+    });
+
+    function fIsbn(value) {
+        $("#ISBN").val(fmtISBN(value));
+    }
+</script>
+#end
+<form class="layui-form" id="libraryfrom" style="display: none; text-align: center" lay-filter="libraryfrom" >
+    <label style="width: 200px;">下架计划名称</label>
+    <div class="layui-input-inline" >
+        <input type="text" name="mc" id="mc" class="layui-input-inline layui-input" style="width: 150px;" lay-verify="required" placeholder="下架计划名称">
+        <a style="color: red">*</a>
+    </div>
+    <div class="text-center" id="tiaobobtn">
+        <button class="layui-btn layui-btn-sm" lay-submit lay-filter="changeLibrary">提交</button>
+        <button type="reset" class="layui-btn  layui-btn-sm">重置</button>
+    </div>
+</form>

+ 219 - 0
src/main/webapp/view/library/librayBookSigle.html

@@ -0,0 +1,219 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class=" layui-form" id="queryForm">
+        <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+            <ul class="layui-tab-title" style="color: #666666;">
+
+            </ul>
+            <div class="layui-tab-content">
+                <div class="layui-tab-item layui-show" >
+                    <input type="hidden" name="status" value="0,1,2,4">
+                    <label for="">条码范围:</label>
+                    <div class="layui-input-inline">
+                        <input style="width: 260px;" type="text" name="barcode" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <span style="color: red;margin-left: 200px">(可键入或扫入条码,多个条码请用逗号分隔,连续条码可用“-”号连接,例如 00000001,00000005,00000100-00000200,00000007)</span>
+                    <br>
+                    <div style="height: 20px;"></div>
+                    <label for="">&nbsp;&nbsp;&nbsp;馆藏地</label>
+                    <div class="layui-input-inline" >
+                        <select name="library" id="library">
+                        </select>
+                    </div>
+                    <label>ISBN</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.isbn" id="ISBN" onblur="fIsbn(this.value)" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <label>正题名</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.title" class="layui-input-inline layui-input" style="width:300px" placeholder="">
+                    </div>
+
+                </div>
+                <div class="layui-tab-item layui-show" >
+                    <label style="width:200px;">著者</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.author" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <label>出版社</label>
+                    <div class="layui-input-inline">
+                        <input type="text" name="bean.publisher" class="layui-input-inline layui-input" placeholder="">
+                    </div>
+                    <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm" id="searchBtn">查询</button>
+                </div>
+            </div>
+        </div>
+
+
+    </form>
+    <table id="dataTable" lay-filter="dataTable" ></table>
+
+
+
+</div>
+#end
+#define methods()
+<script type="text/html" id="barDemo">
+    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete"><i class="layui-icon layui-icon-delete"></i>删除</a>
+</script>
+<script type="text/javascript">
+
+    if(sessionStorage.channelType == "blue") {
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/book/librarybook'\">图书(复本)</li>");
+    } else if(sessionStorage.channelType == "orange") {
+        $( ".layui-tab-title" ).html("<li class=\"layui-this\"  onclick=\"window.location.href='/book/librarybook\">图书(复本)</li>");
+    } else {
+        $( ".layui-tab-title" ).html("<li  onclick=\"window.location.href='/book/librarybook'\">图书(复本)</li>\n" +
+            "                <li class=\"layui-this\"  onclick=\"window.location.href='/book/librarybookSigle'\">图书(单本)</li>");
+    }
+
+
+    $("#library").append("<option value=''>全部</option>");
+    $.get("/library/ajaxlibrarylist",function (data) {
+        $.each(data.data,function(index,obj){
+            $("#library").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+        });
+        form.render('select');
+    });
+
+    table.on('tool(dataTable)', function(obj){
+        var data = obj.data;
+        if(obj.event == 'edit'){
+            location.href="/list-manage/editBookList?id="+data.bookid+"&type=libraryedit";
+        }
+        if(obj.event == 'delete'){
+            layer.confirm('是否确认删除?', function (index) {
+                $.ajax({
+                    url:"/bookDetail/deleteByDetailId",
+                    // type:"POST",
+                    data:{orgid:JSON.parse(sessionStorage.loginData).orgid,id:data.bookdetailid},
+                    success:function (result) {
+                        if(result.code == 200){
+                            layer.msg('删除成功', { icon: 1,time: 1500 }, function(){
+
+                                $("#searchBtn").click();
+                            });
+                        }else {
+                            layui.use('layer', function() {
+                                var layer = layui.layer;
+                                layer.msg(result.msg, { icon: 5 });
+                            });
+                        }
+                    }
+                });
+            });
+        }
+    });
+
+    function getQueryCondition() {
+        var d = {};
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        return d;
+    }
+
+    table.render({
+        elem: '#dataTable'
+        ,url:'/bookDetail/list'
+        ,where:getQueryCondition()
+        ,totalRow:true
+        ,cols: [[
+            {type:'checkbox'},
+            {type: 'numbers', title: '序号',minWidth:60}
+            ,{field:'barcode', title:'条码',minWidth:120,totalRowText:'总计' ,sort: true}
+            ,{field:'isbn', title:'ISBN',minWidth: 180 }
+            ,{field:'title', title:'正题名',minWidth: 300}
+            ,{field:'author', title:'著者',minWidth: 200}
+            ,{field:'publisher', title:'出版社',minWidth: 200}
+            ,{field:'price', title:'定价(元)',minWidth: 90}
+            ,{field:'totalpages', title:'页数',minWidth: 80}
+            ,{field:'bookno', title:'索书号',minWidth: 130}
+            ,{field:'library', title:'馆藏地点',minWidth: 130}
+            ,{field:'bookshelfinfoStr', title:'层架号',minWidth: 120}
+            ,{field:'status', title:'图书状态',minWidth:120,templet: function(d){
+                    if(d.status==0){
+                        return "在馆";
+                    }else if (d.status==1){
+                        return"借出";
+                    }else if (d.status==2){
+                        return"已预约";
+                    }else if (d.status==4){
+                        return"已丢失";
+                    }
+                }}
+            ,{field: 'right', title:'操作', minWidth:160,toolbar: '#barDemo'}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        },
+        done:function(result){
+            console.log(result);
+            totalValue(getQueryCondition());
+        }
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        return false;
+    });
+    table.on('sort(dataTable)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
+        console.log(obj.field); //当前排序的字段名
+        console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
+        console.log(this); //当前排序的 th 对象
+
+        //尽管我们的 table 自带排序功能,但并没有请求服务端。
+        //有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
+        table.reload('dataTable', {
+            initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
+            ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
+                field: "order by "+obj.field+" "+obj.type //排序字段
+                ,order: obj.type //排序方式
+            }
+        });
+
+        //layer.msg('服务端排序。order by '+ obj.field + ' ' + obj.type);
+    });
+    function totalValue(sendData){
+        //  console.log(sendData);
+        myAjax({url:"/bookDetail/booktotal",data:sendData},function(result){
+            $(".layui-table-total").find("td[data-field='isbn']").children().text("总册数:"+result.data.tszcs+" 册"||0+" 册");
+            $(".layui-table-total").find("td[data-field='title']").children().text("图书种数:"+result.data.tszs+" 种"||0+" 种");
+            $(".layui-table-total").find("td[data-field='price']").children().text("总价格:"+result.data.price+" 元"||0+" 元");
+        });
+    };
+
+    function fIsbn(value) {
+        $("#ISBN").val(fmtISBN(value));
+    }
+</script>
+#end

+ 476 - 0
src/main/webapp/view/library/removeBook.html

@@ -0,0 +1,476 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class=" layui-form layui-tab"  class="" >
+
+        <div style="padding: 10px 0 0 0px;">
+            <label for="startDate">时间选择:</label>
+            <input type="radio" name="month" value="1" title="近1个月" checked>
+            <input type="radio" name="month" value="6" title="近6个月">
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="" title="选择时间段">
+            <input type="text" disabled name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 80px;" placeholder="开始日期">
+            <label for="endDate">到</label>
+            <input type="text" disabled name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;" placeholder="结束时间">
+        </div>
+
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+            <label for="">22个基本大类</label>
+            <div class="layui-input-inline" >
+                <select name="booktype" id="booktype">
+
+                </select>
+            </div>
+            <label for="">馆藏地</label>
+            <div class="layui-input-inline" >
+                <select name="library" id="library">
+
+                </select>
+            </div>
+            <label for="">注销原因</label>
+            <div class="layui-input-inline" >
+                <select name="reason" id="reason">
+                    <option value=''>全部</option>
+                    <option value='剔旧'>剔旧</option>
+                    <option value='丢失'>丢失</option>
+                    <option value="损坏">损坏</option>
+                    <option value="非法图书">非法图书</option>
+                    <option value="不适宜图书">不适宜图书</option>
+                    <option value="外观差">外观差</option>
+                    <option value="无保存价值">无保存价值</option>
+                    <option value="其它">其它</option>
+                </select>
+            </div>
+
+            <label for="">条码</label>
+            <input type="text" name="barcode" id="barcodebind" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            <label for="">正题名</label>
+            <input type="text" name="title" style="width: 150px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+            <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+            <button lay-submit type="button" class="layui-btn layui-btn-sm"  lay-filter="printBtn" >打印</button>
+        </div>
+    </form>
+    <div class="layui-tab-item layui-show">
+        <span id="totalprice" style="padding-left: 5%;color: red;"></span>
+    </div>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+    <script type="text/html" id="toolbarDemo">
+        <div class="layui-btn-container">
+            <button class="layui-btn layui-btn-sm" lay-event="getCheckData">恢复</button>
+        </div>
+    </script>
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+
+    //获取url参数方法
+    function getQueryString(name) {
+        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+        var r = window.location.search.substr(1).match(reg);
+        if (r != null) return unescape(r[2]);
+        return "";
+    }
+
+    //工具栏事件
+    table.on('toolbar(mainTable)', function(obj){
+        var checkStatus = table.checkStatus(obj.config.id);
+        var zxids = [];
+        for(var i=0;i<checkStatus.data.length;i++){
+            zxids.push(checkStatus.data[i].zxid);
+        }
+        switch(obj.event){
+            case 'getCheckData':
+                $.ajax({
+                    type:"post",
+                    url:"/jieyue/recoveryRemoveBook",
+                    data:{zxid:zxids},
+                    traditional: true,
+                    success: function(result){
+                        if(result.code == 200){
+                            // layer.alert(result.msg);
+                            layer.msg(result.msg, { icon: 1,time: 2000 });
+                            location.reload();
+                        }else if(result.code == 2){
+                            layer.alert(result.msg);
+                        }
+                    }});
+                break;
+            default:
+                break;
+        };
+    });
+</script>
+<script type="text/javascript">
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+    form.on('radio()',function(data){
+        if(data.value){
+            $("#startDate").attr("disabled","disabled");
+            $("#endDate").attr("disabled","disabled");
+        }else {
+            $("#startDate").removeAttr("disabled");
+            $("#endDate").removeAttr("disabled");
+        }
+    });
+
+    $("#booktype").append("<option value=''>全部</option>");
+    $.get("/standardbooktype/selectType",function (data) {
+        var booktype = getQueryString("booktype");
+        $.each(data.data.twentyTwo,function(index,obj){
+            if(obj.id == booktype && booktype!="")
+                $("#booktype").append("<option value='"+obj.id+"' selected>"+obj.name+"</option>");
+            else
+                $("#booktype").append("<option value='"+obj.id+"'>"+obj.name+"</option>");
+        });
+        form.render('select');
+    });
+    $("#library").append("<option value=''>全部</option>");
+    $.get("/library/ajaxlibrarylist",function (data) {
+        $.each(data.data,function(index,obj){
+            $("#library").append("<option value='"+obj.id+"'>"+obj.text+"</option>");
+        });
+        form.render('select');
+    });
+
+    $.get("/orgdept/deptList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            $("#dept").append("<option value=''></option>");
+            result.data.forEach(function (item) {
+                $("#dept").append("<option value='"+item.id+"'>"+item.deptname+"</option>");
+            });
+            form.render('select');
+        }
+    });
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+    form.on('submit(exportExcel)', function(data){
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        var kssj = data.field.kssj;
+        var jssj = data.field.jssj;
+        var booktype = data.field.booktype;
+        var library = data.field.library;
+        var reason = data.field.reason;
+        var barcode = data.field.barcode;
+        var title = data.field.title;
+        var url = "/jieyue/exportRemoveBook?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != kssj) {
+            url += "&kssj="+kssj;
+        }
+        if("" != jssj) {
+            url += "&jssj="+jssj;
+        }
+        if("" != booktype) {
+            url += "&booktype="+booktype;
+        }
+        if("" != library) {
+            url += "&library="+library;
+        }
+        if("" != reason) {
+            url += "&reason="+reason;
+        }
+        if("" != barcode) {
+            url += "&barcode="+barcode;
+        }
+        if("" != title) {
+            url += "&title="+title;
+        }
+        window.open(url)
+    });
+
+    $(function () {
+        //获取默认参数
+        var booktype = getQueryString("booktype");//图书分类
+        var reason = getQueryString("reason");//注销原因
+        $("#reason").val(unescape(reason));
+
+        var monthindex = getQueryString("month");
+        var kssj = getQueryString("kssj");
+        $("#startDate").val(kssj);
+        if(kssj==""&&monthindex==""){
+            $("input[name='month']:eq(0)").attr("checked",'checked');
+        }else{
+            if(monthindex=="1"){
+                $("input[name='month']:eq(0)").attr("checked","checked");//设置选中
+            }else if(monthindex=="6"){
+                $("input[name='month']:eq(1)").attr("checked","checked");//设置选中
+            }else if(monthindex=="12"){
+                $("input[name='month']:eq(2)").attr("checked","checked");//设置选中
+            }else{
+                $("input[name='month']:eq(3)").attr("checked","checked");//设置选中
+            }
+        }
+
+        var jssj = getQueryString("jssj");
+        $("#endDate").val(jssj);
+
+        if(monthindex!=""){
+            kssj = getDate(parseInt(monthindex))
+        }
+
+        var psotdata = {
+            orgid:JSON.parse(sessionStorage.loginData).orgid,
+            token:JSON.parse(sessionStorage.loginData).token,
+            booktype:booktype,
+            reason:reason,
+            kssj:getDate(1),
+            jssj:jssj
+        }
+
+        myTable.list({
+            url:"/jieyue/removeBook",
+            postData:psotdata,
+            elem:"#dataTable",
+            toolbar: '#toolbarDemo',
+            totalRow:true,
+            cols: [
+                [
+                    {type:'checkbox'},
+                    {type: 'numbers', title: '序号'}
+                    ,{field:'barcode', title: '条码', align:'center', minWidth:100}
+                    ,{field: 'title', title: '正题名', align:'center',minWidth:200}
+                    ,{field: 'author', title: '著者', align:'center',minWidth:160}
+                    ,{field: 'publisher', title: '出版社', align:'center',minWidth:200}
+                    ,{field:'bookno', title: '索书号', align:'center',minWidth:125}
+                    ,{field: 'price', title: '定价(元)', align:'center',minWidth:80}
+                    ,{field: 'library', title: '馆藏地', align:'center',minWidth:125}
+                    ,{field: 'reason', title: '注销原因', align:'center',minWidth:125}
+                    ,{field:'createtime', title: '注销日期', align:'center',minWidth:125}
+                ]
+            ],
+        });
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        var barcode = formatsmt(data.field.barcode);
+        $("#barcodebind").val(barcode);
+        data.field.barcode = barcode;
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        delete data.field.month;
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                    data.field.orgid = JSON.parse(sessionStorage.loginData).orgid;
+                    $.ajax({
+                        url:"/jieyue/removeBookTotalPrice",
+                        type:"POST",
+                        data:data.field,
+                        success:function (result) {
+                            if(result.code == 200){
+                                var totalprice = "注销总金额(元):"+result.data;
+                                $("#totalprice").text(totalprice);
+                            }
+                        }
+                    });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+    $.ajax({
+        url:"/jieyue/removeBookTotalPrice",
+        type:"POST",
+        data:{orgid:JSON.parse(sessionStorage.loginData).orgid},
+        success:function (result) {
+            if(result.code == 200){
+                var totalprice = "注销总金额(元):"+result.data;
+                $("#totalprice").text(totalprice);
+            }
+        }
+    });
+
+    var orgid = JSON.parse(sessionStorage.loginData).orgid;
+    var token = JSON.parse(sessionStorage.loginData).token;
+    var tstiaoxinmaweishu = 0;
+    var tstiaoxingmaqianzhui = 0;
+    var jieshuzhengweishu = 0;
+    var jieshuzhengqianzhui = 0;
+    var qktiaoxingmaweishu = 0;
+    var qktiaoxingmaqianzhui = 0;
+
+    $.get("/book/orgSetting",{orgid:orgid,token:token},function (result) {
+        if (result.code==200){
+            tstiaoxinmaweishu = result.data.tstiaoxinmaweishu;
+            tstiaoxingmaqianzhui = result.data.tstiaoxingmaqianzhui;
+            jieshuzhengweishu = result.data.jieshuzhengweishu;
+            jieshuzhengqianzhui = result.data.jieshuzhengqianzhui;
+            qktiaoxingmaweishu = result.data.qktiaoxingmaweishu;
+            qktiaoxingmaqianzhui = result.data.qktiaoxingmaqianzhui;
+            if(tstiaoxingmaqianzhui == null || tstiaoxingmaqianzhui == "null"){
+                tstiaoxingmaqianzhui = "";
+            }
+            if(qktiaoxingmaqianzhui == null || qktiaoxingmaqianzhui == "null"){
+                qktiaoxingmaqianzhui = "";
+            }
+            if(jieshuzhengqianzhui == null || jieshuzhengqianzhui == "null"){
+                jieshuzhengqianzhui = "";
+            }
+        }
+    });
+
+    function formatsmt(code) {
+        if (code == null || code == "") {
+            return code;
+        }
+        var str = "000000000000000000000000000";
+        if (null != tstiaoxinmaweishu && tstiaoxinmaweishu >= code.length) {
+            var buling = str.substr(0, tstiaoxinmaweishu - code.length);
+            return tstiaoxingmaqianzhui + buling + code;
+        } else {
+            return code;
+        }
+    };
+    $('#barcodebind').bind('keypress',function(event){
+        //13 代表的是回车健 
+        if(event.keyCode == 13)
+        {
+            var barcode = formatsmt($(this).val());
+            $(this).val(barcode);
+        }
+    });
+
+
+    form.on('submit(printBtn)', function(data){
+
+        var barcode = formatsmt(data.field.barcode);
+        $("#barcodebind").val(barcode);
+        data.field.barcode = barcode;
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        delete data.field.month;
+        data.field.token = sessionStorage.token;
+        data.field.orgid = JSON.parse(sessionStorage.loginData).orgid;
+
+
+        var hideCols = [];
+        $(".layui-table tr:eq(0) th").each(function (i) {
+            if ($(this).attr('class')=='layui-hide'){
+                hideCols.push($(this).attr('data-field'))
+            }
+        });
+
+        console.log(hideCols);
+
+        $.get("/jieyue/removeBookPrint",data.field,function (data) {
+            console.log(data);
+            var printWin = window.open('打印窗口', '_blank')
+                ,style = ['<style>'
+                ,'body{font-size: 12px; color: #666;}'
+                ,'table{width: 100%; border-collapse: collapse; border-spacing: 0;}'
+                ,'th,td{line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: left; font-size: 12px; color: #666;}'
+                ,'a{color: #666; text-decoration:none;}'
+                ,'*.layui-hide{display: none}'
+                ,'</style>'].join('');
+
+            var html = "<table>";
+            html +="<tr>" +
+                ($.inArray('barcode', hideCols)==-1? "<td>条码</td>":"") +
+                ($.inArray('title', hideCols)==-1?"<td>题名</td>":"") +
+                ($.inArray('author', hideCols)==-1?"<td>著者</td>":"")+
+                ($.inArray('publisher', hideCols)==-1?"<td>出版社</td>":"") +
+                ($.inArray('bookno', hideCols)==-1?"<td>索书号</td>":"") +
+                ($.inArray('price', hideCols)==-1?"<td>定价(元)</td>":"") +
+                ($.inArray('library', hideCols)==-1?"<td>馆藏地</td>":"") +
+                ($.inArray('reason', hideCols)==-1?"<td>注销原因</td>":"") +
+                ($.inArray('createtime', hideCols)==-1?"<td>注销日期</td>":"") +
+                "</tr>";
+            data.data.forEach(function (item) {
+                html +="<tr>" +
+                        ($.inArray('barcode', hideCols)==-1? "<td>"+item.barcode+"</td>":"") +
+                        ($.inArray('title', hideCols)==-1?"<td>"+item.title+"</td>":"") +
+                        ($.inArray('author', hideCols)==-1?"<td>"+item.author+"</td>":"")+
+                        ($.inArray('publisher', hideCols)==-1?"<td>"+item.publisher+"</td>":"") +
+                        ($.inArray('bookno', hideCols)==-1?"<td>"+item.bookno+"</td>":"") +
+                        ($.inArray('price', hideCols)==-1?"<td>"+item.price+"</td>":"") +
+                        ($.inArray('library', hideCols)==-1?"<td>"+item.library+"</td>":"") +
+                        ($.inArray('reason', hideCols)==-1?"<td>"+item.reason+"</td>":"") +
+                        ($.inArray('createtime', hideCols)==-1?"<td>"+item.createtime+"</td>":"") +
+                    "</tr>";
+            });
+            html+="</table>"
+            printWin.document.write(style + html);
+            printWin.document.close();
+            printWin.print();
+            printWin.close();
+        });
+    });
+</script>
+#end

File diff suppressed because it is too large
+ 1426 - 0
src/main/webapp/view/list-manage/addBookList.html


+ 234 - 0
src/main/webapp/view/list-manage/bookBackData.html

@@ -0,0 +1,234 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+
+
+    <script type="text/html" id="bookToolbar">
+        <button type="button" class="layui-btn" onclick="downloadFile()">图书模板下载</button>
+        <button type="button" class="layui-btn" id="importBookExcel">Excel导入图书</button>
+        <button type="button" class="layui-btn" id="importBookMarc">Marc导入图书</button>
+        <button type="button" class="layui-btn" id="addBook" onclick="addBook()">预编</button>
+        <button type="button" class="layui-btn" onclick="deleteBook()">删除</button>
+    </script>
+
+    <script type="text/html" id="bookbar">
+        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
+    </script>
+
+    <form class="layui-form" lay-filter="bookqueryform" id="bookqueryform">
+
+        <div style="margin-top: 2px;">
+            <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+            <label for="">ISBN</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.isbn" id="ISBN" onblur="fIsbn(this.value)" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <label for="">正题名</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.title" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <label for="">著者</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.author" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <label for="">出版社</label>
+            <div class="layui-input-inline">
+                <input type="text" name="bean.publisher" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <button lay-submit lay-filter="searchBookBtn" class="layui-btn layui-btn-sm">查&nbsp;&nbsp;询</button>
+        </div>
+    </form>
+    <table class="layui-hide" id="bookdatatable" lay-filter="bookdatatable"></table>
+</div>
+
+
+</div>
+#end
+#define methods()
+<script type="text/javascript">
+
+
+    function getQueryCondition(id) {
+        var d = {};
+        var t = $("#"+id).serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        console.log(d);
+        return d;
+    }
+
+
+    table.render({
+        elem: '#bookdatatable'
+        ,url:'/bookyubian/list'
+        ,where:getQueryCondition("bookqueryform")
+        ,toolbar:'#bookToolbar'
+        ,title: '图书回溯数据'
+        ,cols: [[
+            {type:'checkbox'},
+            {type: 'numbers', title: '序号'}
+            ,{field:'isbn', title:'ISBN',minWidth:155}
+            ,{field:'title', title:'正题名',minWidth:200}
+            ,{field:'author', title:'著者',minWidth:160}
+            ,{field:'publisher', title:'出版社',minWidth:200}
+            ,{field:'publishaddress', title:'出版地',minWidth:80}
+            ,{field:'edition', title:'版本版次',minWidth:100}
+            ,{field:'typecode', title:'分类号',minWidth:80}
+            ,{field:'totalpages', title:'页数',minWidth:80}
+            ,{field:'price', title:'定价(元)',minWidth:80}
+            ,{field: 'right', title:'操作', toolbar: '#bookbar',minWidth:80}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+
+
+    form.on('submit(searchBookBtn)', function(data){
+        data.field["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        table.reload("bookdatatable",{
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        })
+        return false;
+    });
+
+
+    importBookExcel();
+
+    function importBookExcel(){
+        upload.render({ //允许上传的文件后缀
+            elem: '#importBookExcel'
+            ,url: "/bookyubian/upload/?token="+JSON.parse(sessionStorage.loginData).token+"&orgid="+JSON.parse(sessionStorage.loginData).orgid
+            ,accept: 'file' //普通文件
+            ,size:10240
+            ,exts: 'xlsx|xls' //只允许上传excel文件
+            ,done: function(res){
+                if(res.code==3){
+                    window.location.href ="/"
+                }else if (res.code==200){
+                    layer.msg(res.msg, { icon: 1 });
+                    table.reload("bookdatatable",{
+                        where:getQueryCondition("bookqueryform")
+                    })
+                    if (res.data!=""){
+                        window.open("/file/downloadFile?filename="+encodeURI(res.data));
+                    }
+                }else{
+                    layer.msg(res.msg, { icon: 1 });
+                }
+                importBookExcel();
+            }
+            ,error:function (index, upload) {
+                console.log(index)
+            }
+        });
+    }
+
+
+    upload.render({ //允许上传的文件后缀
+        elem: '#importBookMarc'
+        ,url: "/bookyubian/uploadMarc/?token="+JSON.parse(sessionStorage.loginData).token+"&orgid="+JSON.parse(sessionStorage.loginData).orgid
+        ,accept: 'file' //普通文件
+        ,size:10240
+        ,exts: 'iso' //只允许上传excel文件
+        ,done: function(res){
+            if(res.code==3){
+                window.location.href ="/"
+            }else if (res.code==200){
+
+                if(res.data == "导入成功") {
+                    layer.msg(res.data, { icon: 1 });
+                }else if (res.data != ""){
+                    window.open("/file/downloadFile?filename="+encodeURI(res.data));
+                } else {
+                    layer.msg(res.data, { icon: 1 });
+                }
+                table.reload("bookdatatable",{
+                    where:getQueryCondition("bookqueryform")
+                })
+            }else{
+                layer.msg(res.msg, { icon: 1 });
+            }
+
+        }
+        ,error:function (index, upload) {
+            console.log(index)
+        }
+    });
+
+
+    function deleteBook(){
+        var checkStatus = table.checkStatus("bookdatatable");
+        var bookids = [];
+        for(var i=0;i<checkStatus.data.length;i++){
+            bookids.push(checkStatus.data[i].id);
+        }
+        if (bookids.length==0){
+            layer.msg('请选择需要删除的记录', { icon: 1 });
+            return;
+        }
+
+        layer.confirm('是否确定删除?', function(index){
+            $.post("/bookyubian/delete",{bookIDList:bookids},function(data) {
+                table.reload("bookdatatable",{
+                    where:getQueryCondition("bookqueryform")
+                    , page: {
+                        curr: 1 //重新从第 1 页开始
+                    }
+                })
+                layer.close(index);
+            });
+        });
+    }
+
+
+    table.on('tool(bookdatatable)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
+        var data = obj.data //获得当前行数据
+            ,layEvent = obj.event; //获得 lay-event 对应的值
+        console.log(data);
+        console.log(layEvent);
+        if ('edit' ==layEvent){
+            location.href="/list-manage/bookBaseInfo?type=edit&id="+obj.data["id"];
+        }
+    });
+
+
+
+    function downloadFile() {
+        window.open("/file/downloadFile?filename="+encodeURI('template/图书回溯数据导入模板.xls'));
+    }
+
+    function addBook() {
+        location.href="/list-manage/bookBaseInfo";
+    }
+
+    function fIsbn(value) {
+        $("#ISBN").val(fmtISBN(value));
+    }
+</script>
+#end

+ 690 - 0
src/main/webapp/view/list-manage/bookBaseInfo.html

@@ -0,0 +1,690 @@
+#@layout()
+#define main()
+<style>
+    .addBookList {
+        /*border-top: 5px solid transparent;*/
+        /*border-bottom: 5px solid transparent;*/
+    }
+    .book-message {
+        min-width: 1100px;
+    }
+    .book-message > li {
+        float: left;
+        width: 32%;
+        margin: 5px 0;
+    }
+    .book-message > li label {
+        width: 115px;
+    }
+    div.layui-form-switch {
+        margin-top: 0;
+    }
+    /*#appendflag {*/
+        /*display: none;*/
+    /*}*/
+</style>
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <form lay-filter="queryForm" id="queryForm" class="query-form layui-form" >
+        <div class="layui-form-item">
+            <b>书目信息&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        </div>
+        <ul class="book-message clearfix">
+                <li>
+                    <label>ISBN</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="hidden" name="bean.id" >
+                    <input type="text" name="bean.isbn" id="isbn" class="layui-input-inline layui-input" style="width: 150px;" lay-verify="required" placeholder="" onblur="setisbn()">
+                    <a style="color: red">*</a>
+                </li>
+                <li>
+                    <label >正题名</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.title" id="title" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                    <a style="color: red">*</a>
+                </li>
+
+                <li id="bltitletd">
+                    <label >并列题名</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.bltitle" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="subtitletd">
+                    <label >副题名</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.subtitle" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+
+                <li>
+                    <label >第一责任者</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.author" id="author" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                    <a style="color: red">*</a>
+                </li>
+                <li id="authorworkmodetd">
+                    <label >著作方式</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.authorworkmodeid" id="authorworkmodeid">
+
+                        </select>
+                    </div>
+                </li>
+                <li id="authorguobietd">
+                    <label >国别或朝代</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.authorguobieid" id="authorguobieid">
+
+                        </select>
+                    </div>
+                </li>
+
+                <li id="otherauthortd">
+                    <label >其他责任者</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.otherauthor" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="workmodetd">
+                    <label >著作方式</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.workmodeid" id="workmodeid">
+
+                        </select>
+                    </div>
+                </li>
+                <li id="guobietd">
+                    <label >国别或朝代</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.guobieid" id="guobieid">
+
+                        </select>
+                    </div>
+                </li>
+
+                <li>
+                    <label >出版社</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.publisher" id="publisher" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                    <a style="color: red">*</a>
+                </li>
+                <li>
+                    <label >出版地</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.publishaddress" id="publishaddress" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                    <a style="color: red">*</a>
+                </li>
+                <li>
+                    <label >出版年月</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.publishdate" id="publishdate" class="layui-input-inline layui-input" style="width: 150px;" lay-verify="required" placeholder="">
+                    <a style="color: red">*</a>
+                </li>
+                <li id="editiontd">
+                    <label >版本版次</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.edition" id="edition" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+
+                <li>
+                    <label >定价(元)</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.price" id="price" class="layui-input-inline layui-input" lay-verify="required|number" style="width: 150px;" placeholder="">
+                    <a style="color: red">*</a>
+                </li>
+                <li id="sizetd">
+                    <label >尺寸</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.sizeid" id="sizeid">
+                        </select>
+                    </div>
+                </li>
+                <li>
+                    <label >页数</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.totalpages" id="totalpages" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="bindingtd">
+                    <label >装订形式</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.bindingid" id="bindingid">
+
+                        </select>
+                    </div>
+                </li>
+                <li id="congshumingtd">
+                    <label >丛书名</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.congshuming" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="congshuauthortd">
+                    <label >丛书责任者</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.congshuauthor" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="newsourcetd">
+                    <label >图书新增来源</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <div class="layui-input-inline">
+                        <select name="bean.newsource" id="newsource">
+
+                        </select>
+                    </div>
+                </li>
+
+                <li id="keywordtd">
+                    <label >主题词</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.keyword" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li id="fuzhudt">
+                    <label >附注</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.fuzhu" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+
+                <li style="position: relative;">
+                    <label >分类号</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="hidden" id="sortNumberHide" name="bean.typeid" >
+                    <input type="text" name="bean.typecode" id="sortNumber" class="layui-input-inline layui-input" lay-verify="required" style="width: 150px;" placeholder="">
+                    <button type="button" onclick="sortSelect()" class="layui-btn layui-btn-xs" style="position: absolute;left: 235px; top: 5px;">...</button>
+                    <a style="color: red">*</a>
+                </li>
+                <li style="position: relative;">
+                    <label >书次号</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.shucihao" id="bookNumberValue" class="layui-input-inline layui-input" lay-verify="required|number" style="width: 150px;" placeholder="">
+                    <button type="button" onclick="bookNumberFun()" class="layui-btn layui-btn-xs" style="position: absolute;left: 235px; top: 5px;">...</button>
+                    <a style="color: red">*</a>
+                </li>
+                <li>
+                    <label >卷次</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.juanci" id="juanci" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+                <li>
+                    <label >册次</label>
+                    &nbsp;&nbsp;&nbsp;&nbsp;
+                    <input type="text" name="bean.ceci" id="ceci" class="layui-input-inline layui-input" style="width: 150px;" placeholder="">
+                </li>
+
+        </ul>
+
+
+
+        <div class="text-center" style="margin-top: 10px;">
+            <button type="button" onclick="history.go(-1)" class="layui-btn layui-btn-sm">取 消</button>
+            <button type="button" class="layui-btn layui-btn-sm" lay-submit lay-filter="saveBtn">保 存</button>
+        </div>
+    </form>
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+    function setisbn(){
+        var testisbn = $("#isbn").val();
+        if(testisbn.length==13||testisbn.length==10){
+            $.get("/book/formatISBN",{isbn:testisbn},function (result) {
+                if (result.code==200){
+                    $("#isbn").val(result.data);
+                }
+            });
+        }
+    }
+
+    var dataTabName;
+
+    function navTab(name) {
+        dataTabName=name;
+    }
+
+    var params = {};
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        params[pair[0]]=pair[1];
+    }
+    var orgid = JSON.parse(sessionStorage.loginData).orgid;
+    var token = JSON.parse(sessionStorage.loginData).token;
+
+    $.ajax({
+        url:"/dict/findDict",
+        async:false,
+        success:function (result) {
+            if (result.code==200){
+                result.data.list0.forEach(function (item) {
+                    $("#authorworkmodeid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                    $("#workmodeid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list1.forEach(function (item) {
+                    $("#guobieid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                    $("#authorguobieid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list2.forEach(function (item) {
+                    $("#booktype").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list3.forEach(function (item) {
+                    $("#sizeid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list4.forEach(function (item) {
+                    $("#languageid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list5.forEach(function (item) {
+                    $("#bindingid").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                result.data.list6.forEach(function (item) {
+                    $("#newsource").append("<option value='"+item.id+"'>"+item.name+"</option>");
+                });
+                form.render('select');
+            }
+        }
+    });
+
+
+    $.get("/orgBookField/getById",{orgid:orgid,token:token},function (result) {
+        if (result.code==200 && result.data){
+            if(result.data.keyword != 1) {
+                $("#keywordtd").html("");
+            }
+           /* if(result.data.edition != 1) {
+                $("#editiontd").html("");
+            }*/
+            if(result.data.otherauthor != 1) {
+                $("#otherauthortd").hide();
+            }
+            if(result.data.newsource != 1) {
+                $("#newsourcetd").hide();
+            }
+            if(result.data.bltitle != 1) {
+                $("#bltitletd").hide();
+            }
+            if(result.data.subtitle != 1) {
+                $("#subtitletd").hide();
+            }
+            if(result.data.workmode != 1) {
+                $("#workmodetd").hide();
+            }
+            if(result.data.guobie != 1) {
+                $("#guobietd").hide();
+            }
+            if(result.data.size != 1) {
+                $("#sizetd").hide();
+            }
+            if(result.data.language != 1) {
+                $("#languagetd").hide();
+            }
+            if(result.data.binding != 1) {
+                $("#bindingtd").hide();
+            }
+            if(result.data.congshuming != 1) {
+                $("#congshumingtd").hide();
+            }
+            if(result.data.congshuauthor != 1) {
+                $("#congshuauthortd").hide();
+            }
+            if(result.data.fuzhu != 1) {
+                $("#fuzhudt").hide();
+            }
+        }
+    });
+
+    var libraryselecthtml;
+
+    $.ajax({
+        url:"/book/initBookList",
+        async:false,
+        data:{orgid:orgid,token:token},
+        success:function (result) {
+            if (result.code == 200) {
+
+                libraryselecthtml = "<select>"
+                libraryselecthtml += "<option value=''></option>";
+                result.data.libraryList.forEach(function (item) {
+                    libraryselecthtml += "<option value='" + item.id + "'>" + item.library + "</option>"
+                });
+                libraryselecthtml += "</select>"
+
+                $("#isbn").focus();
+            }
+        }
+    });
+
+
+
+
+
+    $("#isbn,#title").keydown(function() {
+        if(event.keyCode == "13") {
+            var value = $(this).val();
+            if(value=="") {
+                return;
+            }
+            var type = 1;
+            if($(this).attr("name")=="bean.title"){
+                type = 2;
+            }
+
+            layer.open({
+                type: 1,
+                area:['1100px','600px'],
+                title:"选择",
+                content: $('#bookListDialog'),
+                btn:['下载','取消'],
+                btnAlign: 'r',
+                yes:function(index, layero){
+                    downloaddata();
+                    layer.close(index);
+                },
+                no:function(index, layero){
+
+                },
+                success:function(dom,index){
+                    $.get("/book/findBookListByISBNOrZTM",{orgid:orgid,token:token,queryStr:value,queryType:type},function (result) {
+                        bookMessageGetVal(result.data.zList.list,'dataTableThree');
+                        function bookMessageGetVal(data,elem){
+                            table.render({
+                                elem: '#'+elem
+                                ,data:data
+                                ,cols: [[ //表头
+                                    {type: 'radio', title: '选择'},
+                                    {type: 'numbers', title: '序号'}
+                                    ,{field: 'bean.isbn', title: 'ISBN',align:'center'}
+                                    ,{field: 'bean.title', title: '正题名', align:'center'}
+                                    ,{field: 'bean.author', title: '著者', align:'center'}
+                                    ,{field: 'bean.publisher', title: '出版社', align:'center'}
+                                    ,{field: 'bean.publishdate', title: '出版年月', align:'center'}
+                                    ,{field: 'beanPlus.totalpages', title: '页数', align:'center'}
+                                    ,{field: 'beanPlus.sizeid', title: '尺寸', align:'center'}
+                                    ,{field: 'bean.typecode', title: '分类号', align:'center'}
+                                    ,{field: 'bean.price', title: '定价(元)', align:'center'}
+                                ]]
+                                ,response: {
+                                    statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+                                }
+                                ,request: {
+                                    pageName: 'pageNumber' //页码的参数名称,默认:page
+                                    , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+                                }
+                            });
+                        }
+                    });
+                }
+            });
+        }
+    });
+
+    function initselect(data){
+        if(undefined == data ) {
+            return;
+        }
+        form.val("queryForm",data);
+    }
+
+    laydate.render({
+        elem: '#startDate',
+        value:new Date()
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+
+    //分类号选择
+    function sortSelect(){
+        layer.open({
+            type: 2,
+            area:['1100px','600px'],
+            title:"选择分类号",
+            content: "/view/list-manage/sortDialog.html",
+            btn:['确认','取消'],
+            btnAlign: 'r',
+            yes: function(index, layero){
+                var body = layer.getChildFrame('body', index);
+                var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:
+                if(iframeWin.sortValue){
+                    var sortValueId = iframeWin.sortValue.id;
+                    $("#sortNumberHide").val(sortValueId);
+                    $("#sortNumber").val(sortValueId).change();
+                    // $("#sortNumber");
+                    getbookNumberFun();
+                }else {
+                    layer.msg("请选择分类", { icon: 5 });
+                    return;
+                }
+                layer.close(index);
+            },
+            btn2: function(index, layero){
+                layer.close(index);
+            },
+            success:function(layero,index){
+
+
+            }
+        });
+    }
+
+    //书次号选择
+    function getbookNumberFun(){
+        if(!$("#sortNumber").val()) return;
+        $.get("/bookPici/findMaxShucihao",{orgid:orgid,token:token,typecode:$("#sortNumber").val()},function(result){
+            console.log(result);
+            $("#bookNumberValue").val(result.data+1);
+            var bookNumberValue = $("#bookNumberValue").val()?"/"+$("#bookNumberValue").val():"";
+            var juanci = $("#juanci").val()?":"+$("#juanci").val():"";
+            var ceci = $("#ceci").val()?"("+$("#ceci").val()+")":"";
+            var edition = parseInt($("#edition").val());
+            if(edition > 1) {
+                var bookno = $("#sortNumber").val()+bookNumberValue+"-"+edition+juanci+ceci;
+                $("#bookno").text(bookno);
+            } else {
+                var bookno = $("#sortNumber").val()+bookNumberValue+juanci+ceci;
+                $("#bookno").text(bookno);
+            }
+        });
+    }
+    function bookNumberFun(){
+        if(!$("#sortNumber").val()) return layer.msg("请先选择分类号", { icon: 2 });
+        layer.open({
+            type: 1,
+            area:['1100px','600px'],
+            title:"选择书次号",
+            content: $("#bookOrderNumber"),
+            btn:['确定','取消'],
+            btnAlign: 'r',
+            yes: function(index, layero){
+                var checkStatus = table.checkStatus("dataTableBookNumber"); //获取选中行状态
+                if(JSON.stringify(checkStatus.data) =='[]' ){
+                    layer.msg("请选择记录!")
+                    return;
+                }
+                $("#bookNumberValue").val(checkStatus.data[0].shucihao);
+                layer.close(index);
+            },
+            no: function(index, layero){
+
+            },
+            success:function(layero,index){
+                $.get("/bookPici/findShucihaoList",{orgid:orgid,token:token,typecode:$("#sortNumber").val()},function (result) {
+                    if (result.code == 200) {
+                        var data = result.data;
+                        console.log(data,123);
+                        table.render({
+                            elem: '#dataTableBookNumber'
+                            ,toolbar: '#toolbarBookNumber'
+                            ,data:data.list
+                            ,page: true //开启分页
+                            ,cols: [[ //表头
+                                {type: 'radio', title: '选择'},
+                                {type: 'numbers', title: '序号'}
+                                ,{field: 'shucihao', title: '书次号',align:'center'}
+                                ,{field: 'bookno', title: '索书号', align:'center'}
+                                ,{field: 'isbn', title: 'ISBN', align:'center'}
+                                ,{field: 'author', title: '著者', align:'center'}
+                                ,{field: 'publisher', title: '出版社', align:'center'}
+                                ,{field: 'title', title: '正题名', align:'center'}
+                                ,{field: 'price', title: '价格', align:'center'}
+                            ]]
+                        });
+
+                    }
+                });
+            }
+        })
+    }
+
+
+    function fillBookInfo(id) {
+        $.get("/bookyubian/findBookInfo",{id:id},function (data) {
+            console.log(data);
+            var d ={};
+            for (var attr in data.data) {
+                d["bean."+attr]=data.data[attr];
+            }
+            form.val("queryForm",d);
+            form.render('select');
+
+        });
+    }
+
+    if (params.type='edit'){
+        fillBookInfo(params.id);
+    }
+
+
+
+    form.on('submit(saveBtn)', function(data){
+        if("" == $("#price").val()) {
+            layer.msg("价格不能为空", {icon: 2});
+            $("#price").focus();
+            return;
+        }else{
+            var exp = /^([1-9][\d]{0,7}|0)(\.[\d]{1,2})?$/;
+            if(!exp.test($("#price").val())){
+                layer.msg("价格格式不正确", {icon: 2});
+                $("#price").focus();
+                return;
+            }
+        }
+        var reg = /^\+?[1-9][0-9]{0,5}$/;
+        if (undefined !=$("#edition").val() && ""!=$("#edition").val() && !reg.test($("#edition").val())) {
+            layer.msg("版本版次只能是正整数!", {icon: 2,time: 2000 });
+            $("#edition").focus();
+            return;
+        }
+        var juanci = $("#juanci").val();
+        var ceci = $("#ceci").val();
+        var totalpages = $("#totalpages").val();
+        if (""!=juanci && !reg.test(juanci)) {
+            layer.msg("请输入正确卷次", {icon: 2});
+            $("#juanci").focus();
+            return false;
+        }
+        if (""!=ceci && !reg.test(ceci)) {
+            layer.msg("请输入正确册次", {icon: 2});
+            $("#ceci").focus();
+            return false;
+        }
+        if (""!=totalpages && !reg.test(totalpages)) {
+            layer.msg("请输入正确页数", {icon: 2});
+            $("#totalpages").focus();
+            return false;
+        }
+        data.field.token=JSON.parse(sessionStorage.loginData).token;
+        data.field["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        $.post("/bookyubian/saveOrUpdate",
+            data.field,
+            function (data, status) {
+                if (data.code == 200) {
+                    window.location.href ="/list-manage/bookBackData"
+                } else {
+                    if(data.code==3){
+                        window.location.href ="/"
+                    }
+                    layer.msg(data.msg, {icon: 1});
+                }
+            }
+        );
+        return false;
+    });
+
+    function downloaddata() {
+        var checkStatus = table.checkStatus("dataTableThree"); //获取选中行状态
+        var data = checkStatus.data;  //获取选中行数据
+
+
+        $.get("/book/getZ3950Server",{orgid:orgid,token:token,z3950serverid:data[0]["z3950id"]},function(result12) {
+            if (result12.code == 200) {
+                initselect(result12.data);
+                getbookNumberFun();
+                uploadFlag = false;
+                if(result12.data.lastdate != '' && result12.data.lastdate != undefined){
+                    layer.open({
+                        content: '<div id="lastdateInfo">\n' +
+                            '    <a id="desc">'+ "z3950帐号将于" + result12.data.lastdate + "到期" +'</a><br>\n' +
+                            '    <input type="checkbox" id="notRemind"><a>不再提示</a>\n' +
+                            '</div>'
+                        , area: ['300px', '200px']
+                        , btn: ['确定', '取消']
+                        , yes: function (index, layero) {
+                            if($('#notRemind').is(':checked')) {
+                                $.ajax({
+                                    url: "/book/notRemindZ3950",
+                                    type: "POST",
+                                    data:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+                                    success: function(result) {
+                                        if(result.code==200) {
+                                            layer.msg('操作成功', { icon: 1 });
+                                        } else {
+                                            layer.msg('操作失败', { icon: 5 });
+                                        }
+                                    }
+                                });
+                            }
+                            layer.close(index);
+                        }
+                    });
+                }
+            } else {
+                layer.msg(result12.msg, {icon: 2,time: 3000 });
+            }
+        });
+        $("#isbn").change();
+    }
+    $(".book-message li").each(function () {
+        if ($(this).text()==" ") {
+            // alert(1)
+        }
+    })
+
+
+</script>
+#end
+#define tableForm()
+<div class="layui-tab" id="bookListDialog" style="display: none;">
+    <ul class="layui-tab-title "  lay-showPercent="yes">
+        <li id="z3950li" class="layui-this" >Z39.50服务<span id="z3950span"></span><i id="fuwutips" class="layui-icon layui-icon-help" lay-tips="关于图书馆的制度" lay-offset="50"></i></li>
+    </ul>
+    <div class="layui-tab-content">
+        <div id="z3950div" class="layui-tab-item layui-show"   >
+            <table id="dataTableThree" lay-filter="dataTableThree"></table>
+        </div>
+    </div>
+</div>
+<!--书次号-->
+<div class="layui-tab" id="bookOrderNumber" style="display: none;">
+<table id="dataTableBookNumber" lay-filter="dataTableBookNumber"></table>
+</div>
+#end

+ 293 - 0
src/main/webapp/view/list-manage/bookList.html

@@ -0,0 +1,293 @@
+#@layout()
+#define main()
+<style>
+
+</style>
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <script type="text/html" id="bookToolbar">
+        <button type="button" class="layui-btn layui-btn-sm" onclick="addBook()">新增图书编目</button>
+        <button type="button" class="layui-btn layui-btn-sm" onclick="downloadFile('Book')">图书编目模板下载</button>
+        <button type="button" class="layui-btn layui-btn-sm" id="importBookExcel" >馆藏导入</button>
+        <button type="button" class="layui-btn layui-btn-sm" onclick="exportBookExcel()" style="margin-left: 10px">导出</button>
+        <button type="button" class="layui-btn layui-btn-danger layui-btn-sm" onclick="checkdelete()" style="margin-left: 10px">批量删除</button>
+        <button type="button" class="layui-btn layui-btn-sm"  id="importBookMarc" style="margin-left: 10px">Marc导入图书</button>
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <div>
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">编目人员</label>
+        <div class="layui-input-inline">
+            <select name="catalogUserId" id="userList">
+
+            </select>
+        </div>
+        <label for="startDate">条码</label>
+        <input type="text" name="barcode" id="barcode" class="layui-input-inline layui-input" style="height: 30px;" placeholder="">
+
+        <label for="startDate">正题名</label>
+        <input type="text" name="titlestr" id="titlestr" class="layui-input-inline layui-input"  placeholder="">
+        <label for="startDate">著者</label>
+        <input type="text" name="authorstr" id="authorstr" class="layui-input-inline layui-input" style="height: 30px;" placeholder="">
+        <p></p>
+        </div>
+        <div style="margin-top: 5px;">
+        <label for="startDate">出版社</label>
+        <input type="text" name="publisherstr" id="publisherstr" class="layui-input-inline layui-input" style="height: 30px;" placeholder="">
+
+        <label for="startDate">编目时间</label>
+        <input type="text" name="startTime" id="startDate" class="layui-input-inline layui-input" style="height: 30px;" placeholder="">
+        <label for="endDate">到:</label>
+        <input type="text" name="endTime" id="endDate" class="layui-input-inline layui-input" style="height: 30px;" placeholder="">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        </div>
+    </form>
+
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+</div>
+#end
+#define methods()
+<script type="text/html" id="barDemo">
+    <a class="layui-btn layui-btn-xs" lay-event="detail">查看</a>
+    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
+</script>
+<script type="text/javascript">
+
+    $.get("/book/initBookList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            operatorid = result.data.operatorid;
+            $("#userList").append("<option value=''></option>");
+            $("#libraryList").append("<option value=''></option>");
+            result.data.userList.forEach(function (item) {
+                if(item.id == operatorid){
+                    $("#userList").append("<option selected value='"+item.id+"'>"+item.realname+"</option>");
+                }else {
+                    $("#userList").append("<option value='"+item.id+"'>"+item.realname+"</option>");
+                }
+
+            });
+            result.data.libraryList.forEach(function (item) {
+                $("#libraryList").append("<option value='"+item.id+"'>"+item.library+"</option>");
+            });
+            form.render('select');
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate'
+    });
+
+    myTable.list({
+        url:"/book/findBookList",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token,catalogUserId:1},
+        elem:"#dataTable",
+        toolbar:'#bookToolbar',
+        id:"dataTable"
+        ,cols: [
+            [   {type:'checkbox'}
+                ,{type: 'numbers', title: '序号',minWidth:70}
+                ,{field:'isbn', title: 'ISBN', align:'center',minWidth:155}
+                ,{field:'title', title: '正题名', align:'center',minWidth:200}
+                ,{field: 'author', title: '著者', align:'center',minWidth:160}
+                ,{field: 'publisher', title: '出版社', align:'center',minWidth:200}
+                ,{field: 'price', title: '定价(元)', align:'center',minWidth:80}
+                ,{field:'bookno', title: '索书号', align:'center',minWidth:120}
+                ,{field:'counts', title: '复本数', align:'center',minWidth:80}
+                ,{field: 'createtime', title: '编目时间', align:'center',minWidth:120,templet:function(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field: 'realname', title: '编目人', align:'center',minWidth:120}
+                ,{field: 'right', width: 165, align:'center', toolbar: '#barDemo',minWidth:140,}
+            ]
+        ]
+    });
+    var queryObj = null;
+
+        form.on('submit(searchBtn)', function(data){
+
+            data.field.token = sessionStorage.token;
+            queryObj = data.field;
+            console.log(queryObj)
+            table.reload("dataTable",{
+                where:data.field,
+                page: {
+                    curr: 1
+                },
+                done:function(result){
+                    if(result.code==200){
+                        layer.msg('查询成功', { icon: 1 });
+                        uploadFile();
+                    }else {
+                        layer.msg(result.msg, { icon: 5 });
+                    }
+                }
+            });
+            return false;
+
+        });
+
+    upload.render({ //允许上传的文件后缀
+        elem: '#importBookMarc'
+        ,url: "/book/uploadMarc/?token="+JSON.parse(sessionStorage.loginData).token+"&orgid="+JSON.parse(sessionStorage.loginData).orgid
+        ,accept: 'file' //普通文件
+        ,size:30240
+        ,exts: 'iso' //只允许上传excel文件
+        ,done: function(res){
+            if(res.code==3){
+                window.location.href ="/"
+            }else if (res.code==200){
+
+                layer.msg(res.data, { icon: 1 });
+                // if(res.data == "导入成功") {
+                // }else if (res.data != ""){
+                //     window.open("/file/downloadFile?filename="+encodeURI(res.data));
+                // } else {
+                //     layer.msg(res.data, { icon: 1 });
+                // }
+                // table.reload("bookdatatable",{
+                //     where:getQueryCondition("bookqueryform")
+                // })
+            }else{
+                layer.msg(res.msg, { icon: 1 });
+            }
+
+        }
+        ,error:function (index, upload) {
+            console.log(index)
+        }
+    });
+
+    function addBook (){
+        location.href="/list-manage/addBookList";
+    }
+
+    function getQueryCondition() {
+        var d = {};
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        console.log(d);
+        return d;
+    }
+    //批量删除
+    function checkdelete(){
+        layer.confirm('是否确认批量删除选中数据?', function (index) {
+            var checkStatus = table.checkStatus('dataTable')
+                ,data = checkStatus.data;
+            var id=[] ;
+            //layer.alert(JSON.stringify(data));
+            for (let i=0;i<data.length;i++){
+                id.push(data[i].id)
+            }
+            $.ajax({
+                url:"/book/deleteBookByIds",
+                type:"get",
+                data:{orgid:JSON.parse(sessionStorage.loginData).orgid,ids:id.toString()},
+                success:function (result) {
+                    if(result.code == 200){
+                        layer.msg(result.msg, { icon: 1 });
+                        table.reload('dataTable', {
+                            url:'/book/findBookList'
+                            ,page: {
+                                curr: 1 //重新从第 1 页开始
+                            }
+                        });
+                    }
+                }
+            });
+        });
+    }
+    //监听行工具事件
+    table.on('tool(mainTable)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
+        var data = obj.data //获得当前行数据
+            ,layEvent = obj.event; //获得 lay-event 对应的值
+        if(layEvent === 'detail'){
+            location.href="/list-manage/addBookList?id="+data.id+"&type=1";
+        }else if(layEvent === 'edit'){
+            location.href="/list-manage/addBookList?id="+data.id+"&type=2";
+        }
+    });
+    uploadFile();
+    function uploadFile() {
+
+        var url ="/book/uploadFileToBook?token="+JSON.parse(sessionStorage.loginData).token+"&orgid="+JSON.parse(sessionStorage.loginData).orgid;
+
+        upload.render({ //允许上传的文件后缀
+            elem: '#importBookExcel'
+            ,url: url
+            ,accept: 'file' //普通文件
+            ,exts: 'xlsx|xls' //只允许上传excel文件
+            ,done: function(res){
+                if(res.code==3){
+                    window.location.href ="/"
+                }else if (res.code==200){
+
+                    layer.msg(res.msg, { icon: 1 });
+                    table.reload('dataTable',{
+                        where:getQueryCondition()
+
+                    });
+
+                    if (res.data!=""){
+                        window.open("/file/downloadFile?filename="+encodeURI(res.data));
+
+                    }else{
+
+                        layer.msg(res.msg, { icon: 1 });
+                    }
+                }else{
+                    layer.msg(res.msg, { icon: 1 });
+                }
+                uploadFile();
+            }
+            ,error:function (index, upload) {
+                console.log(index)
+            }
+        });
+    }
+
+    function exportBookExcel (){
+        var catalogUserId = $("#userList").val();
+        var guancangId = $("#libraryList").val();
+        var startDate = $("#startDate").val();
+        var endDate = $("#endDate").val();
+        var url = "/book/exportBookList?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != catalogUserId) {
+            url += "&catalogUserId="+catalogUserId;
+        }
+        if("" != guancangId && undefined != guancangId) {
+            url += "&guancangId="+guancangId;
+        }
+        if("" != startDate) {
+            url += "&startTime="+startDate;
+        }
+        if("" != endDate) {
+            url += "&endTime="+endDate;
+        }
+        window.open(url);
+    }
+
+    function downloadFile(type) {
+        if (type=='Book'){
+            window.open("/file/downloadFile?filename=template/"+encodeURI('图书编目模板.xls'));
+        }
+    }
+</script>
+#end

File diff suppressed because it is too large
+ 1104 - 0
src/main/webapp/view/list-manage/bookMarkPrint.html


+ 199 - 0
src/main/webapp/view/list-manage/bookPenaltyList.html

@@ -0,0 +1,199 @@
+#@layout()
+#define main()
+<div>
+        <script type="text/html" id="optionTpl">
+            <option value="">请选择</option>
+            {{#  layui.each(d, function(index, item){ }}
+            <option value="{{item.id}}">{{ item.text }}</option>
+            {{#  }); }}
+        </script>
+
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">姓名/证号</label>
+        <div class="layui-input-inline">
+            <input type="text" id="queryStr" name="queryStr" style=" width: 120px;" class="layui-input-inline layui-input" placeholder="">
+        </div>
+        <label for="">费用类型</label>
+        <div class="layui-input-inline">
+            <select name="type" id="type">
+                <option value="">全部</option>
+                <option value="0">丢书</option>
+                <option value="1">损书</option>
+                <option value="2">超期</option>
+            </select>
+        </div>
+        <label for="">欠款类型</label>
+        <div class="layui-input-inline">
+            <select name="penaltystatus">
+                <option value="">全部</option>
+                <option value="0">记账</option>
+                <option value="1">已交</option>
+                <option value="2">退还</option>
+                <option value="3">记账退还</option>
+            </select>
+        </div>
+        <label for="startDate">时间选择:</label>
+        <input type="text" name="startTime" id="startDate" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="">
+        <label for="endDate">到:</label>
+        <input type="text" name="endTime" id="endDate" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <button lay-submit lay-filter="exportExcel" class="layui-btn layui-btn-sm">导出</button>
+    </form>
+    <span id="sumprice">应缴合计:0元</span>
+
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+    $.get("/book/initBookList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            $("#userList").append("<option value=''></option>");
+            $("#libraryList").append("<option value=''></option>");
+            result.data.userList.forEach(function (item) {
+                $("#userList").append("<option value='"+item.id+"'>"+item.realname+"</option>");
+            });
+            result.data.libraryList.forEach(function (item) {
+                $("#libraryList").append("<option value='"+item.id+"'>"+item.library+"</option>");
+            });
+            form.render('select');
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate'
+    });
+
+    myTable.list({
+        url:"/bookPenalty/bookPenaltyList",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        elem:"#dataTable",
+        toolbar:true,
+        cols: [
+            [
+                {type: 'numbers', title: '序号'},
+                //0 丢书 1 损书 2 超期
+                {field:'type', title: '费用类型', align:'center',minWidth: 90,templet:function(d){
+                        if(d.type==0){
+                            return "丢书";
+                        }else if(d.type==1) {
+                            return "损书";
+                        }else if(d.type==2) {
+                            return "超期";
+                        }else {
+                            return "";
+                        }
+                    }}
+                ,{field:'cardnumber', title: '读者证号',minWidth:90, align:'center'}
+                ,{field:'realname', title: '姓名', minWidth:100,align:'center'}
+                ,{field:'deptname', title: '部门', minWidth:120,align:'center'}
+                ,{field:'barcode', title: '书刊条码',minWidth:100, align:'center'}
+                ,{field:'title', title: '正题名', align:'center',minWidth:300}
+                ,{field: 'price', title: '定价', align:'center',minWidth: 80}
+                ,{field: 'jieyuetime', title: '借阅日期', align:'center',minWidth: 135}
+                ,{field: 'createtime', title: '费用发生时间', align:'center',minWidth: 135,templet:function(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field:'penaltyamount', title: '应缴金额', align:'center',minWidth: 90}
+                ,{field:'penaltystatus', title: '缴费状态', align:'center',minWidth:80,templet:function(d){
+                    if(d.penaltystatus==0){
+                        return "<a style='color: red'>记账</a>";
+                    }else if(d.penaltystatus==1) {
+                        return "已交";
+                    }else if(d.penaltystatus==2) {
+                        return "退还";
+                    }else if(d.penaltystatus==3) {
+                        return "记账退还";
+                    }else {
+                        return "";
+                    }
+                }}
+            ]
+        ]
+    });
+    var queryObj = null;
+    form.on('submit(searchBtn)', function(data){
+
+        data.field.token = sessionStorage.token;
+        data.field.orgid = JSON.parse(sessionStorage.loginData).orgid;
+        queryObj = data.field;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                    $.ajax({
+                        url:"/bookPenalty/bookPenaltySumPrice",
+                        type:"POST",
+                        data:queryObj,
+                        success:function (result) {
+                            if(result.code == 200){
+                                if(result.data.sumpeice){
+                                    $("#sumprice").text("应缴合计:"+result.data.sumpeice+"元");
+                                }
+
+                            }
+                        }
+                    })
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+
+    form.on('submit(exportExcel)', function(data){
+        var queryStr = data.field.queryStr;
+        var startTime = data.field.startTime;
+        var endTime = data.field.endTime;
+        var type = data.field.type;
+        var url = "/bookPenalty/exportBookPenaltyList?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != startTime) {
+            url += "&startTime="+startTime;
+        }
+        if("" != endTime) {
+            url += "&endTime="+endTime;
+        }
+        if("" != queryStr){
+            url += "&queryStr="+queryStr;
+        }
+        if("" != type){
+            url += "&type="+type;
+        }
+        window.open(url)
+    });
+
+
+    $.ajax({
+        url:"/bookPenalty/bookPenaltySumPrice",
+        type:"POST",
+        data:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        success:function (result) {
+            if(result.code == 200){
+                if(result.data.sumpeice){
+                    $("#sumprice").text("应缴合计:"+result.data.sumpeice+"元");
+                }
+
+            }
+        }
+    })
+
+</script>
+#end

+ 486 - 0
src/main/webapp/view/list-manage/bookPrintTemp.html

@@ -0,0 +1,486 @@
+
+<style>
+    *{margin:0px;}
+</style>
+    <table id="datatable" border="0" style="border-spacing: 0mm;">
+
+    </table>
+
+<script type="text/javascript" src="/lib/layui/layui.all.js"></script>
+<script>
+    var $ = layui.$;
+    var laytpl = layui.laytpl;
+    function markList(res,lieshu){
+        lieshu = parseInt(lieshu);
+        var html='';
+        var a = res.data.length%lieshu;
+        if(a > 0){
+            var b = lieshu-a;
+            for(var c=0;c<b;c++){
+                res.data.push({"bookno":''});
+            }
+        }
+        for(var i=0;i<res.data.length;i+=lieshu){
+            if((i)%(lieshu*10)==0 && i!=0){
+                html+='<tr style="">' +
+                    '<td name="temp1" height="161.7" style="width:36.65mm;text-align: center;" colspan="'+lieshu+'"></td>' +
+
+                    '</tr>';
+            }
+            html+='<tr style="">' ;
+            if(lieshu >= 1){
+                var bookno1 = res.data[i].bookno;
+                var barcode = res.data[i].barcode;
+                var temp1=[bookno1,""];
+                if(bookno1 != undefined && bookno1.indexOf("/")>-1){
+                    var ttt=bookno1.split("/");
+                    temp1[0] = ttt[0];
+                    temp1[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp1[0]+'<br>'+temp1[1]+'<br>'+res.data[i+0].barcode+'</td>' ;
+            }
+            if(lieshu >=2){
+                var bookno2 = res.data[i+1].bookno;
+                var temp2=[bookno2,""];
+                if(bookno2 != undefined && bookno2.indexOf("/")>-1){
+                    var ttt=bookno2.split("/");
+                    temp2[0] = ttt[0];
+                    temp2[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp2[0]+'<br>'+temp2[1]+'<br>'+res.data[i+1].barcode+'</td>' ;
+            }
+            if(lieshu >=3){
+                var bookno3 = res.data[i+2].bookno;
+                var temp3=[bookno3,""];
+                if(bookno3 != undefined && bookno3.indexOf("/")>-1){
+                    var ttt=bookno3.split("/");
+                    temp3[0] = ttt[0];
+                    temp3[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp3[0]+'<br>'+temp3[1]+'<br>'+res.data[i+2].barcode+'</td>' ;
+            }
+            if(lieshu>=4){
+                var bookno4 = res.data[i+3].bookno;
+                var temp4=[bookno4,""];
+                if(bookno4 != undefined && bookno4.indexOf("/")>-1){
+                    var ttt=bookno4.split("/");
+                    temp4[0] = ttt[0];
+                    temp4[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp4[0]+'<br>'+temp4[1]+'<br>'+res.data[i+3].barcode+'</td>';
+            }
+            if(lieshu >=5){
+                var bookno5 = res.data[i+4].bookno;
+                var temp5=[bookno5,""];
+                if(bookno5 != undefined && bookno5.indexOf("/")>-1){
+                    var ttt=bookno5.split("/");
+                    temp5[0] = ttt[0];
+                    temp5[1] = ttt[1];
+                }
+                html+= '<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp5[0]+'<br>'+temp5[1]+'<br>'+res.data[i+4].barcode+'</td>';
+            }
+            html+= '</tr>';
+        }
+        $("#datatable").html("");
+        $("#datatable").append(html);
+        init();
+    }
+    function markListNo(res,lieshu){
+        lieshu = parseInt(lieshu);
+        var html='';
+        var a = res.data.length%lieshu;
+        if(a > 0){
+            var b = lieshu-a;
+            for(var c=0;c<b;c++){
+                res.data.push({"bookno":''});
+            }
+        }
+        for(var i=0;i<res.data.length;i+=lieshu){
+            if((i)%(lieshu*10)==0 && i!=0){
+                html+='<tr style="">' +
+                    '<td name="temp1" height="161.7" style="width:36.65mm;text-align: center;" colspan="'+lieshu+'"></td>' +
+
+                    '</tr>';
+            }
+            html+='<tr style="">';
+            for(var x = 0;x<lieshu;x++){
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+res.data[i+x].bookno+'</td>' ;
+            }
+            html+= '</tr>';
+
+        }
+        $("#datatable").html("");
+        $("#datatable").append(html);
+        init();
+
+    }
+    function markListSort(res,lieshu){
+        lieshu = parseInt(lieshu);
+        var html='';
+        var a = res.data.length%lieshu;
+        if(a > 0){
+            var b = lieshu-a;
+            for(var c=0;c<b;c++){
+                res.data.push({"bookno":''});
+            }
+        }
+        for(var i=0;i<res.data.length;i+=lieshu){
+            if((i)%(lieshu*10)==0 && i!=0){
+                html+='<tr style="">' +
+                    '<td name="temp1" height="161.7" style="width:36.65mm;text-align: center;" colspan="'+lieshu+'"></td>' +
+                    '</tr>';
+            }
+            html+='<tr style="">' ;
+            if(lieshu >= 1){
+                var bookno1 = res.data[i].bookno;
+                var barcode = res.data[i].barcode;
+                var temp1=[bookno1,""];
+                if(bookno1 != undefined && bookno1.indexOf("/")>-1){
+                    var ttt=bookno1.split("/");
+                    temp1[0] = ttt[0];
+                    temp1[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp1[0]+'<br>'+temp1[1]+'</td>' ;
+            }
+            if(lieshu >=2){
+                var bookno2 = res.data[i+1].bookno;
+                var temp2=[bookno2,""];
+                if(bookno2 != undefined && bookno2.indexOf("/")>-1){
+                    var ttt=bookno2.split("/");
+                    temp2[0] = ttt[0];
+                    temp2[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp2[0]+'<br>'+temp2[1]+'</td>' ;
+            }
+            if(lieshu >=3){
+                var bookno3 = res.data[i+2].bookno;
+                var temp3=[bookno3,""];
+                if(bookno3 != undefined && bookno3.indexOf("/")>-1){
+                    var ttt=bookno3.split("/");
+                    temp3[0] = ttt[0];
+                    temp3[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp3[0]+'<br>'+temp3[1]+'</td>' ;
+            }
+            if(lieshu>=4){
+                var bookno4 = res.data[i+3].bookno;
+                var temp4=[bookno4,""];
+                if(bookno4 != undefined && bookno4.indexOf("/")>-1){
+                    var ttt=bookno4.split("/");
+                    temp4[0] = ttt[0];
+                    temp4[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp4[0]+'<br>'+temp4[1]+'</td>';
+            }
+            if(lieshu >=5){
+                var bookno5 = res.data[i+4].bookno;
+                var temp5=[bookno5,""];
+                if(bookno5 != undefined && bookno5.indexOf("/")>-1){
+                    var ttt=bookno5.split("/");
+                    temp5[0] = ttt[0];
+                    temp5[1] = ttt[1];
+                }
+                html+= '<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp5[0]+'<br>'+temp5[1]+'</td>';
+            }
+            html+= '</tr>';
+
+
+
+        }
+        $("#datatable").html("");
+        $("#datatable").append(html);
+        init();
+    }
+    function markListFour(res,lieshu){
+        lieshu = parseInt(lieshu);
+        var html='';
+        var a = res.data.length%lieshu;
+        if(a > 0){
+            var b = lieshu-a;
+            for(var c=0;c<b;c++){
+                res.data.push({"bookno":''});
+            }
+        }
+        for(var i=0;i<res.data.length;i+=lieshu){
+            if((i)%(lieshu*10)==0 && i!=0){
+                html+='<tr style="">' +
+                    '<td name="temp1" height="161.7" style="width:36.65mm;text-align: center;" colspan="'+lieshu+'"></td>' +
+                    '</tr>';
+            }
+            html+='<tr style="">' ;
+            if(lieshu >= 1){
+                var bookno1 = res.data[i].bookno;
+                var barcode = res.data[i].barcode;
+                var temp1=[bookno1,""];
+                if(bookno1 != undefined && bookno1.indexOf("/")>-1){
+                    var ttt=bookno1.split("/");
+                    temp1[0] = ttt[0];
+                    temp1[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp1[0]+'/'+temp1[1]+'<br>'+res.data[i+0].barcode+'</td>' ;
+            }
+            if(lieshu >=2){
+                var bookno2 = res.data[i+1].bookno;
+                var temp2=[bookno2,""];
+                if(bookno2 != undefined && bookno2.indexOf("/")>-1){
+                    var ttt=bookno2.split("/");
+                    temp2[0] = ttt[0];
+                    temp2[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp2[0]+'/'+temp2[1]+'<br>'+res.data[i+1].barcode+'</td>' ;
+            }
+            if(lieshu >=3){
+                var bookno3 = res.data[i+2].bookno;
+                var temp3=[bookno3,""];
+                if(bookno3 != undefined && bookno3.indexOf("/")>-1){
+                    var ttt=bookno3.split("/");
+                    temp3[0] = ttt[0];
+                    temp3[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp3[0]+'/'+temp3[1]+'<br>'+res.data[i+2].barcode+'</td>' ;
+            }
+            if(lieshu>=4){
+                var bookno4 = res.data[i+3].bookno;
+                var temp4=[bookno4,""];
+                if(bookno4 != undefined && bookno4.indexOf("/")>-1){
+                    var ttt=bookno4.split("/");
+                    temp4[0] = ttt[0];
+                    temp4[1] = ttt[1];
+                }
+                html+='<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp4[0]+'/'+temp4[1]+'<br>'+res.data[i+3].barcode+'</td>';
+            }
+            if(lieshu >=5){
+                var bookno5 = res.data[i+4].bookno;
+                var temp5=[bookno5,""];
+                if(bookno5 != undefined && bookno5.indexOf("/")>-1){
+                    var ttt=bookno5.split("/");
+                    temp5[0] = ttt[0];
+                    temp5[1] = ttt[1];
+                }
+                html+= '<td name="content"  style="width:36.65mm;height: 25.4mm;text-align: center;" >'+temp5[0]+'/'+temp5[1]+'<br>'+res.data[i+4].barcode+'</td>';
+            }
+            html+= '</tr>';
+
+
+
+        }
+        $("#datatable").html("");
+        $("#datatable").append(html);
+        init();
+
+    }
+    function kuandujia(){
+        var content =  $("td[name='content']");
+        if(content){
+            for(var i=0;i<content.length;i++){
+                var a = content[i];
+                var b= a.style.width;
+                var c = b.replace("mm","");
+                c = parseFloat(c)+0.5;
+                a.style.width=c+"mm";
+                localStorage.setItem("content_width",a.style.width);
+            }
+        }
+    }
+    function kuandujian(){
+        var content =  $("td[name='content']");
+        if(content){
+            for(var i=0;i<content.length;i++){
+                var a = content[i];
+                var b= a.style.width;
+                var c = b.replace("mm","");
+                c = parseFloat(c)-0.5;
+                a.style.width=c+"mm";
+                localStorage.setItem("content_width",a.style.width);
+            }
+        }
+    }
+    function gaodujia(){
+        var content =  $("td[name='content']");
+        if(content){
+            for(var i=0;i<content.length;i++){
+                var a = content[i];
+                var b= a.style.height;
+                var c = b.replace("mm","");
+                c = parseFloat(c)+0.5;
+                a.style.height=c+"mm";
+                localStorage.setItem("content_height",a.style.height);
+            }
+        }
+    }
+    function gaodujian(){
+        var content =  $("td[name='content']");
+        if(content){
+            for(var i=0;i<content.length;i++){
+                var a = content[i];
+                var b= a.style.height;
+                var c = b.replace("mm","");
+                c = parseFloat(c)-0.5;
+                a.style.height=c+"mm";
+                localStorage.setItem("content_height",a.style.height);
+            }
+        }
+    }
+    function initpage() {
+
+    }
+    function zhengtishangyi(){
+        var num = $("#datatable").css("margin-top");
+        num = num.replace("px","").trim();
+        if(num<=3.77953){
+        }else{
+            var a = (parseFloat(num)-3.78);
+            $("#datatable").css("margin-top",a+"px");
+            localStorage.setItem("margin_top",$("#datatable").css("margin-top"));
+        }
+
+        var temp1 = $("td[name='temp1']")
+        if(temp1[0]){
+            var trheight = temp1[0].height ;
+            if(num>=(42*3.78)){
+            }else{
+                var b = (parseFloat(trheight)-3.78);
+                $("td[name='temp1']").attr("height",b+"px");
+                localStorage.setItem("temp1_height",$("#datatable").css(b+"px"));
+            }
+        }
+    }
+    function zhengtixiayi(){
+        var num = $("#datatable").css("margin-top");
+        num = num.replace("px","").trim();
+        if(num>=(42*3.78)){
+        }else{
+            var a = (parseFloat(num)+3.78);
+            $("#datatable").css("margin-top",a+"px");
+            localStorage.setItem("margin_top",$("#datatable").css("margin-top"));
+        }
+        var temp1 = $("td[name='temp1']")
+        if(temp1[0]){
+            var trheight = temp1[0].height ;
+            if(num>=(42*3.78)){
+            }else{
+                var b = (parseFloat(trheight)+3.78);
+                $("td[name='temp1']").attr("height",b+"px");
+                localStorage.setItem("temp1_height",b+"px");
+            }
+        }
+    }
+    function zuoyi(){
+        var num = $("#datatable").css("margin-left");
+        var a = (parseFloat(num)-3.78);
+        $("#datatable").css("margin-left",a+"px");
+        localStorage.setItem("margin_left",$("#datatable").css("margin-left"));
+    }
+    function youyi(){
+        var num = $("#datatable").css("margin-left");
+        var a = (parseFloat(num)+3.78);
+        $("#datatable").css("margin-left",a+"px");
+        localStorage.setItem("margin_left",$("#datatable").css("margin-left"));
+    }
+
+    function a_jia(){
+        var num = $("#datatable").css("font-size");
+        num = num.replace('px','');
+        var a = (parseFloat(num)+1);
+        $("#datatable").css("font-size",a+"px");
+        localStorage.setItem("font-size",$("#datatable").css("font-size"));
+    }
+    function a_jian(){
+        var num = $("#datatable").css("font-size");
+        num = num.replace('px','');
+        var a = (parseFloat(num)-1);
+        $("#datatable").css("font-size",a+"px");
+        localStorage.setItem("font-size",$("#datatable").css("font-size"));
+    }
+    function b_jia(){
+        var num = $("#datatable").css("font-weight");
+        var a = (parseFloat(num)+100);
+        $("#datatable").css("font-weight",a);
+        localStorage.setItem("font-weight",$("#datatable").css("font-weight"));
+    }
+    function b_jian(){
+        var num = $("#datatable").css("font-weight");
+        var a = (parseFloat(num)-100);
+        $("#datatable").css("font-weight",a);
+        localStorage.setItem("font-weight",$("#datatable").css("font-weight"));
+    }
+    function liudibai(){
+        $("td[name='temp1']").attr("height",161.7);
+        localStorage.setItem("temp1_height",161.7);
+        var content =  $("td[name='content']");
+        if(content){
+            for(var i=0;i<content.length;i++){
+                var a = content[i];
+                a.style.height="25.4mm";
+                localStorage.setItem("content_height",25.4+"mm");
+            }
+        }
+    }
+    function buliudibai(){
+        $("td[name='temp1']").attr("height",0);
+        localStorage.setItem("temp1_height",0);
+        var content =  $("td[name='content']");
+        if(content){
+
+            for(var i=0;i<content.length;i++){
+                var a = content[i];
+                a.style.height="29.67777777mm";
+                localStorage.setItem("content_height",29.67777777+"mm");
+            }
+        }
+
+    }
+
+
+
+    function init(){
+
+        if(localStorage.getItem("font-size")){
+            $("#datatable").css("font-size",localStorage.getItem("font-size"));
+        }else{
+            $("#datatable").css("font-size","16px");
+        }
+        if(localStorage.getItem("font-weight")){
+            $("#datatable").css("font-weight",localStorage.getItem("font-weight"));
+        }else{
+            $("#datatable").css("font-weight","400");
+        }
+        if(localStorage.getItem("margin_left")){
+            $("#datatable").css("margin-left",localStorage.getItem("margin_left"));
+        }else{
+            $("#datatable").css("margin-left","35px");
+        }
+        if(localStorage.getItem("margin_top")){
+            $("#datatable").css("margin-top",localStorage.getItem("margin_top"));
+        }else{
+            $("#datatable").css("margin-top","0px");
+        }
+        if(localStorage.getItem("temp1_height")){
+            $("td[name='temp1']").attr("height",localStorage.getItem("temp1_height"));
+        }else{
+            $("td[name='temp1']").attr("height",161.7);
+        }
+        var content =  $("td[name='content']");
+        if(content){
+
+            for(var i=0;i<content.length;i++){
+                var a = content[i];
+
+                if(localStorage.getItem("content_width")){
+                    a.style.width=localStorage.getItem("content_width");
+                }else{
+                    a.style.width="36.7mm";
+                }
+
+
+                if(localStorage.getItem("content_height")){
+                    a.style.height=localStorage.getItem("content_height");
+                }else{
+                    a.style.height="25.4mm";
+                }
+
+            }
+        }
+    }
+
+</script>

+ 145 - 0
src/main/webapp/view/list-manage/bookPrintTemp_bak.html

@@ -0,0 +1,145 @@
+<style>
+    body ,ul ,li ,div  {
+        margin: 0;
+        padding: 0;
+    }
+    ul {
+        display: flex;
+        flex-wrap: wrap;
+        margin-left: 0mm;
+        margin-right: 0mm;
+        margin-top: 0mm;
+        width: 183mm;
+    }
+    ul >li {
+        position: relative;
+        overflow: hidden;
+        width:36.6mm;
+        height: 25.5mm;
+        text-align: center;
+        line-height: 25.5mm;
+        /*box-sizing: border-box;*/
+        padding: -2mm 0 -2mm 0;
+        border: 0px solid #000;
+
+    }
+    .clearfix:after {
+        clear: both;
+    }
+    .clearfix:after,
+    .clearfix:before {
+        display: table;
+        content: " ";
+    }
+    .clearfix {
+        zoom: 1;
+        margin-top:-2mm;
+    }
+    ul li > div {
+        font-weight: bold;
+        font-size: 4.5mm;
+        font-family:"宋体";
+    }
+    ul li:nth-child(5n-4) div{
+        margin-left: -25px;
+    }
+    ul li:nth-child(5n) div{
+        margin-left: -15px;
+    }
+</style>
+<ul class="clearfix" id="view">
+    <!--<li>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--</li>-->
+
+</ul>
+<script id="bookMarkTemp" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+    <li>
+        <div>{{ item.bookno.split("/")[0] || ""}}</div>
+        <div>{{ item.bookno.split("/")[1] || "" }}</div>
+        <div>{{ item.barcode || "" }}</div>
+    </li>
+    {{#  }); }}
+</script>
+<script id="bookMarkNo" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+    <li>
+        <!--<div>{{ item.bookno.split("/")[0] || ""}}</div>-->
+        <div>{{ item.bookno || "" }}</div>
+        <!--<div>{{ item.barcode || "" }}</div>-->
+    </li>
+    {{#  }); }}
+</script>
+<script id="bookMarkSort" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+
+    <li>
+        <div>{{ item.bookno.split("/")[0] || ""}}</div>
+        <div>{{ item.bookno.split("/")[1] || "" }}</div>
+        <!--<div>{{ item.barcode || "" }}</div>-->
+    </li>
+    {{#  }); }}
+</script>
+<script type="text/javascript" src="/lib/layui/layui.all.js"></script>
+<script>
+    var $ = layui.$;
+    var laytpl = layui.laytpl;
+    function markList(res){
+        laytpl(bookMarkTemp.innerHTML).render(res.data, function(html){
+            document.getElementById('view').innerHTML = html;
+        });
+        initpage();
+        $("#view").css("margin-top","-5.5mm");
+    }
+    function markListNo(res){
+        laytpl(bookMarkNo.innerHTML).render(res.data, function(html){
+            document.getElementById('view').innerHTML = html;
+        });
+        initpage();
+        $("#view").css("margin-top","-2mm");
+    }
+    function markListSort(res){
+        laytpl(bookMarkSort.innerHTML).render(res.data, function(html){
+            document.getElementById('view').innerHTML = html;
+        });
+        initpage();
+        $("#view").css("margin-top","-2mm");
+    }
+    function kuandujia(){
+        $('ul >li').each(function(){
+            $(this).width($(this).width()+1);
+            localStorage.setItem("subiaokuan",$(this).width()+1);
+        });
+    }
+    function kuandujian(){
+        $('ul >li').each(function(){
+            $(this).width($(this).width()-1);
+            localStorage.setItem("subiaokuan",$(this).width()-1);
+        });
+    }
+    function gaodujia(){
+        $('ul >li').each(function(){
+            $(this).height($(this).height()+1);
+            localStorage.setItem("subiaogao",$(this).height()+1);
+        });
+    }
+    function gaodujian(){
+        $('ul >li').each(function(){
+            $(this).height($(this).height()-1);
+            localStorage.setItem("subiaogao",$(this).height()-1);
+        });
+    }
+    function initpage() {
+        $('ul >li').each(function () {
+            if(localStorage.getItem("subiaokuan") != null && localStorage.getItem("subiaokuan") != undefined) {
+                $(this).width(localStorage.getItem("subiaokuan"));
+            }
+            if(localStorage.getItem("subiaogao") != null && localStorage.getItem("subiaogao") != undefined) {
+                $(this).height(localStorage.getItem("subiaogao"));
+            }
+        });
+    }
+</script>

+ 151 - 0
src/main/webapp/view/list-manage/bookShelf.html

@@ -0,0 +1,151 @@
+#@layout()
+#define main()
+<div>
+        <script type="text/html" id="optionTpl">
+            <option value="">请选择</option>
+            {{#  layui.each(d, function(index, item){ }}
+            <option value="{{item.id}}">{{ item.text }}</option>
+            {{#  }); }}
+        </script>
+
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">编目人员</label>
+        <div class="layui-input-inline">
+            <select name="catalogUserId" id="userList">
+
+            </select>
+        </div>
+        <label for="">馆藏地</label>
+        <div class="layui-input-inline">
+            <select name="guancangId" id="libraryList">
+
+            </select>
+        </div>
+
+        <label for="startDate">编目日期</label>
+        <input type="text" name="startTime" id="startDate" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="开始日期">
+        <label for="endDate">到:</label>
+        <input type="text" name="endTime" id="endDate" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="结束日期">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <button type="button" class="layui-btn layui-btn-sm" onclick="upperShelf()">上架</button>
+    </form>
+
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+    $.get("/book/initBookList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            operatorid = result.data.operatorid;
+            $("#userList").append("<option value=''></option>");
+            $("#libraryList").append("<option value=''></option>");
+            result.data.userList.forEach(function (item) {
+                if(item.id == operatorid){
+                    $("#userList").append("<option selected value='"+item.id+"'>"+item.realname+"</option>");
+                }else {
+                    $("#userList").append("<option value='"+item.id+"'>"+item.realname+"</option>");
+                }
+
+            });
+            result.data.libraryList.forEach(function (item) {
+                $("#libraryList").append("<option value='"+item.id+"'>"+item.library+"</option>");
+            });
+            form.render('select');
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate'
+    });
+
+    myTable.list({
+        url:"/book/findBookList",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token,catalogUserId:1},
+        elem:"#dataTable",
+        toolbar:true,
+        cols: [
+            [
+                {type: 'numbers', title: '序号'}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field:'title', title: '正题名', align:'center'}
+                ,{field: 'author', title: '著者', align:'center'}
+                ,{field: 'publisher', title: '出版社', align:'center'}
+                ,{field: 'price', title: '定价(元)', align:'center'}
+                ,{field:'bookno', title: '索书号', align:'center'}
+                ,{field:'counts', title: '复本数', align:'center'}
+                ,{field: 'createtime', title: '编目时间', align:'center',templet:function(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field: 'realname', title: '编目人', align:'center'}
+            ]
+        ]
+    });
+    var queryObj = null;
+    form.on('submit(searchBtn)', function(data){
+
+        data.field.token = sessionStorage.token;
+        queryObj = data.field;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+    function upperShelf (){
+        layer.confirm('确认上架吗?', {icon: 3, title:'提示'}, function(index){
+            //do something
+            if(queryObj == null){
+                $.get("/book/upperShelf",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+                    if(result.code==200){
+                        layer.msg('操作成功', { icon: 1 });
+                        setTimeout(function(){location.reload();},1500);
+                    }else {
+                        layer.msg(result.msg, { icon: 5 });
+                    }
+                });
+            }else {
+                $.get("/book/upperShelf",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token,
+                    catalogUserId:queryObj.catalogUserId,
+                    guancangId:queryObj.guancangId,
+                    startTime:queryObj.startTime,
+                    endTime:queryObj.endTime},function (result) {
+                    if(result.code==200){
+                        layer.msg('操作成功', { icon: 1 });
+                        setTimeout(function(){location.reload();},1500);
+                    }else {
+                        layer.msg(result.msg, { icon: 5 });
+                    }
+                });
+            }
+
+        });
+
+
+
+    }
+
+
+</script>
+#end

+ 221 - 0
src/main/webapp/view/list-manage/bookpici.html

@@ -0,0 +1,221 @@
+#@layout()
+#define main()
+
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+
+
+
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <div class="layui-tab-item layui-show">
+            批次号 &nbsp;
+            <input type="text" name="batchname" style="width: 200px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;
+            建立人&nbsp;
+            <input type="text" name="realname" style="width: 200px;" class="layui-input-inline layui-input" placeholder="">
+            &nbsp;&nbsp;&nbsp;
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+
+
+        </div>
+
+    </form>
+
+    <script type="text/html" id="barDemo">
+        <a class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
+        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
+    </script>
+
+    <script type="text/html" id="tableHeader">
+        <div class="layui-btn-container text-right">
+            <button type="button"  lay-event="add" onclick="add()" class="layui-btn layui-btn-sm">新增</button>
+        </div>
+    </script>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+
+
+</div>
+
+#end
+#define methods()
+
+<script type="text/javascript">
+
+    myTable.list({
+        url:"/bookPici/picilist",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        elem:"#dataTable",
+        toolbar:"#tableHeader",
+        cols: [
+            [
+                {type: 'numbers', title: '序号'}
+                ,{field:'batchname', title: '批次号', align:'center'}
+                ,{field:'name', title: '图书来源', align:'center'}
+                ,{field: 'createtime', title: '建立日期', align:'center',templet:function(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field: 'realname', title: '建立人', align:'center'}
+                ,{field: 'remarks', title: '备注', align:'center'}
+                ,{field: 'right', title:'操作', toolbar: '#barDemo'}
+            ]
+        ]
+    });
+
+    form.on('submit(searchBtn)', function(data){
+
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+
+    $.get("/dict/list",{type:6},function (result) {
+        if (result.code==200){
+            $("#librarysource").append("<option value=''></option>");
+            result.data.forEach(function (item) {
+                $("#librarysource").append("<option value='"+item.id+"'>"+item.name+"</option>");
+            });
+            form.render('select');
+        }
+    });
+
+    function addMessage(){
+        myTable.addCell('/bookPici/addOrUpdate','addCell',function(){
+            $("#editCellBtn").remove();
+            $("#orgidInput").val(JSON.parse(sessionStorage.loginData).orgid);
+        });
+    };
+
+
+</script>
+<script>
+    table.on('tool(mainTable)', function(obj){
+        var data = obj.data;
+        if(obj.event == 'del'){
+            layer.confirm('是否确认删除?', function(index){
+                delReader(obj);
+                layer.close(index)
+            });
+        }else if (obj.event=="edit"){
+            editReader(obj);
+        }
+    });
+    var id = null;
+    function editReader(obj){
+        id = obj.data.id;
+        var d ={};
+        for (var attr in obj.data) {
+            d["bean."+attr]=obj.data[attr];
+        }
+
+        form.val("addCell",d);
+        dialogIndex = layer.open({
+            type: 1,
+            area: ['450px', '300px'],
+            content: $("#addCell"),
+
+        });
+    }
+
+    function delReader(obj){
+        var d ={};
+        d["bean.id"]=obj.data.id;
+        $.post("/bookPici/delete",
+            d,
+            function(data,status){
+                if(data.code==200){
+                    layer.msg("操作成功");
+                    setTimeout(function(){location.reload();},1500);
+                }else {
+                    if(data.code==3){
+                        window.location.href ="/"
+                    }
+                    layer.msg(data.msg, { icon: 2 });
+                }
+            }
+        );
+    }
+
+    var dialogIndex=-1;
+    function add(){
+        $("#addCell")[0].reset();
+        form.render();
+        dialogIndex=  layer.open({
+            type: 1,
+            area: ['450px', '300px'],
+            content: $("#addCell")
+        });
+    }
+    form.on('submit(addCell)', function(data){
+        data.field.token=JSON.parse(sessionStorage.loginData).token;
+        data.field["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        data.field["bean.id"]=id;
+        $.post("/bookPici/addOrUpdate",
+            data.field,
+            function (data, status) {
+                if (data.code == 200) {
+                    layer.msg("保存成功");
+                    setTimeout(function(){location.reload();},1500);
+                    layer.close(dialogIndex);
+                }
+            }
+        );
+        return false;
+    });
+</script>
+#end
+#define tableForm()
+<form class="layui-form" lay-filter="addCell" id="addCell" style="display: none;">
+    <div class="layui-form-item" style="margin-top: 10px;">
+        <label class="layui-form-label" style="white-space:nowrap;width: auto;">图书批次号<span style="color: red">*</span></label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.batchname" lay-verify="required" placeholder="必填项" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label"  style="white-space:nowrap;width: auto;">图书来源<span style="color: red">*</span></label>
+        <div class="layui-input-block" style="width: 187px;">
+        <select name="bean.dictid" lay-verify="required" id="librarysource" style="width: 100px;">
+
+        </select>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">备注</label>
+        <div class="layui-input-block">
+            <input type="text" name="bean.remarks" autocomplete="off" class="layui-input">
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <div class="layui-input-block text-center">
+            <button class="layui-btn layui-btn-sm" lay-submit lay-filter="addCell">提交</button>
+            <button type="reset" class="layui-btn  layui-btn-sm">重置</button>
+        </div>
+    </div>
+    <input type="text" style="display: none;" id="orgidInput" name="orgid">
+
+</form>
+#end

+ 416 - 0
src/main/webapp/view/list-manage/checkBookList.html

@@ -0,0 +1,416 @@
+#@layout()
+#define main()
+<style>
+    .layui-btn-disabled{
+        color: #c9c9c9 !important;
+    }
+</style>
+<div>
+    <div id="navTitle" class="nav-title"></div>
+
+    <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+        <ul class="layui-tab-title">
+            <li class="layui-this">缺失图书</li>
+            <li>注销图书</li>
+        </ul>
+        <div class="layui-tab-content" style="height: 100px;">
+            <div class="layui-tab-item layui-show">
+                <div id="mylifes" class="layui-upload" style="padding: 5px" >
+                    <button type="button" class="layui-btn" id="testList">请选择文件</button>
+                    <div class="layui-upload-list">
+                        <table class="layui-table">
+                            <thead>
+                            <tr><th>文件名</th>
+                                <th>大小</th>
+                                <th>状态</th>
+                                <th>操作</th>
+                            </tr></thead>
+                            <tbody id="demoList"></tbody>
+                        </table>
+                    </div>
+                    <button type="button" class="layui-btn " id="testListAction" >开始上传</button>
+                    <button type="button" id="tablist" class="layui-btn layui-btn-disabled" onclick="tablist()" disabled>查询列表</button>
+                    <button lay-submit lay-filter="bat" id="zhuxiao" class="layui-btn layui-btn-disabled" onclick="zhuxiao()" disabled>批量注销</button>
+                </div>
+                <table class="layui-hide" id="datatable" lay-filter="datatable"></table>
+            </div>
+            <div class="layui-tab-item">
+                <div id="mylifes2" class="layui-upload" style="padding: 5px" >
+                    <button type="button" class="layui-btn " id="testList2">请选择文件</button>
+                    <div class="layui-upload-list">
+                        <table class="layui-table">
+                            <thead>
+                            <tr><th>文件名</th>
+                                <th>大小</th>
+                                <th>状态</th>
+                                <th>操作</th>
+                            </tr></thead>
+                            <tbody id="demoList2"></tbody>
+                        </table>
+                    </div>
+                    <button type="button" class="layui-btn" id="testListAction2">开始上传</button>
+                    <button type="button" id="tablist2" class="layui-btn layui-btn-disabled" onclick="tablist2()" disabled>查询列表</button>
+                    <button lay-submit lay-filter="bat" id="zhuxiao2" class="layui-btn layui-btn-disabled" onclick="zhuxiao2()" disabled>批量注销</button>
+                </div>
+                <table class="layui-hide" id="datatable2" lay-filter="datatable2"></table>
+            </div>
+        </div>
+    </div>
+</div>
+#end
+#define methods()
+#end
+
+#define tableForm()
+
+
+<script>
+    var form = layui.form
+        ,layer = layui.layer
+        ,layedit = layui.layedit
+        ,laydate = layui.laydate
+        ,tree = layui.tree
+        ,util = layui.util
+        ,table = layui.table;
+    var datalist;
+    table.render({
+        elem: '#datatable'
+        ,data:'datalist'
+        //,url:'/book/list'
+        ,data:{orgid:JSON.parse(sessionStorage.loginData).orgid}
+        ,title: '用户数据表'
+        ,cols: [[
+            {type: 'numbers', title: '序号'},
+            {field:'isbn', title:'ISBN', totalRowText: '合计'}
+            ,{field:'barcode', title:'条码' ,sort: true}
+            ,{field:'title', title:'正题名'}
+            ,{field:'author', title:'著者'}
+            ,{field:'publisher', title:'出版社'}
+            ,{field:'bookno', title:'索书号' ,sort: true}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,id:'tableReload'
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+
+
+    });
+    //监听排序事件
+    table.on('sort(datatable)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
+        console.log(obj.field); //当前排序的字段名
+        console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
+        var orderby = "order by " +obj.field +" "+obj.type
+        table.reload('tableReload', {
+            url:'/checkBook/findList'//
+            //data:res.data.list
+            ,page: {
+                curr: 1 //重新从第 1 页开始
+            }
+            ,where:{
+                orgid:JSON.parse(sessionStorage.loginData).orgid,orderby:orderby
+            }
+
+        }, 'data');
+    });
+    //监听排序事件
+    table.on('sort(datatable2)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
+        console.log(obj.field); //当前排序的字段名
+        console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
+        var orderby = "order by " +obj.field +" "+obj.type
+        table.reload('tableReload', {
+            url:'/checkBook/findListEx'//
+            //data:res.data.list
+            ,page: {
+                curr: 1 //重新从第 1 页开始
+            }
+            ,where:{
+                orgid:JSON.parse(sessionStorage.loginData).orgid,orderby:orderby
+            }
+
+        }, 'data');
+    });
+
+    table.render({
+        elem: '#datatable2'
+        ,data:'datalist'
+        //,url:'/book/list'
+        ,data:{orgid:JSON.parse(sessionStorage.loginData).orgid}
+        ,title: '用户数据表'
+        ,cols: [[
+            {type: 'numbers', title: '序号'},
+            {field:'isbn', title:'ISBN', totalRowText: '合计'}
+            ,{field:'barcode', title:'条码' ,sort: true}
+            ,{field:'title', title:'正题名'}
+            ,{field:'author', title:'著者'}
+            ,{field:'publisher', title:'出版社'}
+            ,{field:'bookno', title:'索书号' ,sort: true}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,id:'tableReload2'
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+    function zhuxiao() {
+        $.ajax({
+            url:"/checkBook/findZhuxiaoCount",
+            data:{orgid:JSON.parse(sessionStorage.loginData).orgid},
+            type:"POST",
+            success:function (result) {
+                if(result.code == 200){
+                    layer.confirm('查询到图书'+result.data.ct+'册,确定进行注销吗?', function(index){
+                        $.ajax({
+                            url:"/checkBook/batchZhuxiao",
+                            data:{orgid:JSON.parse(sessionStorage.loginData).orgid},
+                            type:"POST",
+                            success:function (result) {
+                                if(result.code == 200){
+
+                                    layer.alert('成功注销图书'+result.data+'册',function () {
+                                        location.reload()
+                                    })
+                                }else {
+                                    layer.msg(result.msg, { icon: 2 });
+                                }
+                                layer.close(index)
+                            }
+                        });
+                        layer.close(index);
+                    });
+                }else {
+                    layer.msg(result.msg, { icon: 2 });
+                }
+                layer.close(index)
+            }
+        });
+    }
+    function zhuxiao2() {
+        $.ajax({
+            url:"/checkBook/findZhuxiaoCountEx",
+            data:{orgid:JSON.parse(sessionStorage.loginData).orgid},
+            type:"POST",
+            success:function (result) {
+                if(result.code == 200){
+                    layer.confirm('查询到图书'+result.data.ct+'册,确定进行注销吗?', function(index){
+                        $.ajax({
+                            url:"/checkBook/batchZhuxiaoEx",
+                            data:{orgid:JSON.parse(sessionStorage.loginData).orgid},
+                            type:"POST",
+                            success:function (result) {
+                                if(result.code == 200){
+
+                                    layer.alert('成功注销图书'+result.data+'册',function () {
+                                        location.reload()
+                                    })
+                                }else {
+                                    layer.msg(result.msg, { icon: 2 });
+                                }
+                                layer.close(index)
+                            }
+                        });
+                        layer.close(index);
+                    });
+                }else {
+                    layer.msg(result.msg, { icon: 2 });
+                }
+                layer.close(index)
+            }
+        });
+
+    }
+
+    $("#testListAction").click(function () {
+        if ($("#demoList").html()==""){
+            layer.msg("请选择文件", { icon: 2 });
+        }
+    })
+    $("#testListAction2").click(function () {
+        if ($("#demoList2").html()==""){
+            layer.msg("请选择文件", { icon: 2 });
+        }
+    })
+    //多文件列表示例
+    var demoListView = $('#demoList')
+        ,uploadListIns = upload.render({
+        elem:'#testList'
+        ,url:'/checkBook/findListByUploadFiles'//Ex
+        ,data:{orgid:JSON.parse(sessionStorage.loginData).orgid}
+        ,accept: 'file'
+        ,exts: 'txt|xls|xlsx' //只允许上传txt
+        ,multiple: true
+        ,auto: false
+        ,bindAction: '#testListAction'
+        ,choose: function(obj){
+            var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
+            //读取本地文件
+            obj.preview(function(index, file, result){
+                var tr = $(['<tr id="upload-'+ index +'">'
+                    ,'<td>'+ file.name +'</td>'
+                    ,'<td>'+ (file.size/1024).toFixed(1) +'kb</td>'
+                    ,'<td>等待上传</td>'
+                    ,'<td>'
+                    ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
+                    ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
+                    ,'</td>'
+                    ,'</tr>'].join(''));
+
+                //单个重传
+                tr.find('.demo-reload').on('click', function(){
+                    obj.upload(index, file);
+                });
+
+                //删除
+                tr.find('.demo-delete').on('click', function(){
+                    delete files[index]; //删除对应的文件
+                    tr.remove();
+                    uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
+                });
+
+                demoListView.append(tr);
+            });
+        }
+        ,done: function(res, index, upload){
+            console.log(res)
+            if(res.code == 200){ //上传成功
+                $("#zhuxiao").removeClass('layui-btn-disabled').removeAttr('disabled');
+                $("#tablist").removeClass('layui-btn-disabled').removeAttr('disabled');
+                var tr = demoListView.find('tr#upload-'+ index)
+                    ,tds = tr.children();
+                tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
+                tds.eq(3).html(''); //清空操作
+                return delete this.files[index]; //删除文件队列已经上传成功的文件
+
+            }
+            this.error(index, upload);
+        }
+        ,error: function(index, upload){
+            var tr = demoListView.find('tr#upload-'+ index)
+                ,tds = tr.children();
+            tds.eq(2).html('<span style="color: #FF5722;">上传失败</span>');
+            tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
+        }
+    });
+    //文件上传2
+    var demoListView2 = $('#demoList2')
+        ,uploadListIns = upload.render({
+        elem:'#testList2'
+        ,url:'/checkBook/findListByUploadFilesEx'//
+        ,data:{orgid:JSON.parse(sessionStorage.loginData).orgid}
+        ,accept: 'file'
+        ,exts: 'txt|xls|xlsx' //只允许上传txt
+        ,multiple: true
+        ,auto: false
+        ,bindAction: '#testListAction2'
+        ,choose: function(obj){
+            var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
+            //读取本地文件
+            obj.preview(function(index, file, result){
+                var tr = $(['<tr id="upload-'+ index +'">'
+                    ,'<td>'+ file.name +'</td>'
+                    ,'<td>'+ (file.size/1024).toFixed(1) +'kb</td>'
+                    ,'<td>等待上传</td>'
+                    ,'<td>'
+                    ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
+                    ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
+                    ,'</td>'
+                    ,'</tr>'].join(''));
+
+                //单个重传
+                tr.find('.demo-reload').on('click', function(){
+                    obj.upload(index, file);
+                });
+
+                //删除
+                tr.find('.demo-delete').on('click', function(){
+                    delete files[index]; //删除对应的文件
+                    tr.remove();
+                    uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
+                });
+
+                demoListView2.append(tr);
+            });
+        }
+        ,done: function(res, index, upload){
+            console.log(res)
+            if(res.code == 200){ //上传成功
+                $("#zhuxiao2").removeClass('layui-btn-disabled').removeAttr('disabled');
+                $("#tablist2").removeClass('layui-btn-disabled').removeAttr('disabled');
+                var tr = demoListView2.find('tr#upload-'+ index)
+                    ,tds = tr.children();
+                tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
+                tds.eq(3).html(''); //清空操作
+                return delete this.files[index]; //删除文件队列已经上传成功的文件
+
+            }
+            this.error(index, upload);
+        }
+        ,error: function(index, upload){
+            var tr = demoListView2.find('tr#upload-'+ index)
+                ,tds = tr.children();
+            tds.eq(2).html('<span style="color: #FF5722;">上传失败</span>');
+            tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
+        }
+    });
+    function tablist() {
+        table.reload('tableReload', {
+            url:'/checkBook/findList'//
+            //data:res.data.list
+            ,page: {
+                curr: 1 //重新从第 1 页开始
+            }
+            ,where:{
+            orgid:JSON.parse(sessionStorage.loginData).orgid
+            }
+
+        }, 'data');
+    }
+    function tablist2() {
+        table.reload('tableReload2', {
+            url:'/checkBook/findListEx'//
+            //data:res.data.list
+            ,page: {
+                curr: 1 //重新从第 1 页开始
+            }
+            ,where:{
+                orgid:JSON.parse(sessionStorage.loginData).orgid
+            }
+
+        }, 'data');
+    }
+</script>
+#end

+ 23 - 0
src/main/webapp/view/list-manage/journalBackData.html

@@ -0,0 +1,23 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+
+
+    </form>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+
+</script>
+#end

+ 241 - 0
src/main/webapp/view/list-manage/journalMarkPrint.html

@@ -0,0 +1,241 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title">
+        <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+            <ul class="layui-tab-title" style="color: #666666">
+                <li  onclick="window.location.href='/list-manage/bookMarkPrint'">图书打印</li>
+                <li class="layui-this" onclick="window.location.href='/list-manage/journalMarkPrint'">期刊打印</li>
+            </ul>
+            <div class="layui-tab-content"></div>
+        </div>
+    </div>
+
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <label for="">馆藏地</label>
+        <div class="layui-input-inline">
+            <select name="library" id="library">
+
+            </select>
+        </div>
+        <label for="">编目人员</label>
+        <div class="layui-input-inline">
+            <select name="username" id="username">
+
+            </select>
+        </div>
+
+        <label for="">刊名</label>
+        <div class="layui-input-inline">
+            <input type="text" name="title" style="width: 100px;" class="layui-input-inline layui-input" placeholder="">
+        </div>
+        &nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <div class="layui-tab-item layui-show" style="padding-top: 25px;">
+            <label for="">条码范围</label>
+            <input type="text" name="barcode1" style="width: 100px;" class="layui-input-inline layui-input" placeholder="">
+            至
+            <input type="text" name="barcode2" style="width: 100px;" class="layui-input-inline layui-input" placeholder="">
+        </div>
+    </form>
+    <table class="layui-hide" id="datatable" lay-filter="datatable"></table>
+</div>
+
+
+<script type="text/html" id="tableHeader">
+    <div class="layui-btn-container text-right">
+        <button type="button" onclick="priceBook()" class="layui-btn layui-btn-sm">书标打印</button>
+    </div>
+</script>
+#end
+#define methods()
+<script>
+    //设置馆藏地和编目人员下拉框
+    $.get("/book/initBookList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+            $("#username").append("<option value=''></option>");
+            $("#library").append("<option value=''></option>");
+            result.data.userList.forEach(function (item) {
+                //默认加载当前登录人员
+        //          if(item.id == JSON.parse(sessionStorage.loginData).id)
+        //              $("#username").append("<option value='"+item.id+"' selected>"+item.realname+"</option>");
+        //          else
+                    $("#username").append("<option value='"+item.id+"'>"+item.realname+"</option>");
+            });
+            result.data.libraryList.forEach(function (item) {
+                $("#library").append("<option value='"+item.id+"'>"+item.library+"</option>");
+            });
+            form.render('select');
+        }
+    });
+
+    //初始where条件
+    function getQueryCondition() {
+        var d = {};
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+            alert(this.name);
+        });
+        d["orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+        d["userid"]=JSON.parse(sessionStorage.loginData).id;
+        return d;
+    }
+    //获取数据
+    var markList = {};
+    var arrDetele = [];
+    var windowresult = {};
+    table.render({
+        elem: '#datatable'
+        ,url:'/periodical/periodicalmarkPrinting'
+        ,where:getQueryCondition()
+        ,toolbar: '#tableHeader'
+        ,title: '用户数据表'
+        ,cols: [[
+            {type:'checkbox'},
+            {type: 'numbers', title: '序号'}
+            ,{field:'barcode', title:'合订条码', }
+            ,{field:'issn', title:'ISSN', }
+            ,{field:'kanming', title:'刊名'}
+            ,{field:'bookno', title:'索刊号'}
+            ,{field:'bianjibu', title:'编辑部'}
+            ,{field:'niandu', title:'年度'}
+            ,{field:'qizhiqi', title:'起止期'}
+            ,{field:'queqi', title:'缺期'}
+            ,{field:'price', title:'价格(元)'}
+            ,{field:'library', title:'馆藏地点'}
+            ,{field:'hedingpiciid', title:'合订批次'}
+            ,{field:'hedingtime', title:'合订时间',templet:function(d){
+                    if(null != d.hedingtime && "" != d.hedingtime){
+                        return d.hedingtime.split(" ")[0];
+                    } else {
+                        return "";
+                    }
+                }}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+    //打印
+    function priceBook(){
+        if(arrDetele.length>0){
+            markList.data = arrDetele;
+        }else {
+            if(queryObj){
+                queryObj.orgid = JSON.parse(sessionStorage.loginData).orgid;
+                myAjax({
+                    url:"/periodical/periodicalmarkPrintingS",
+                    data:queryObj,
+                    async:false
+                },function(result){
+                    markList = result;
+                });
+            }else {
+                myAjax({
+                    url:"/periodical/periodicalmarkPrintingS",
+                    data:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+                    async:false
+                },function(result){
+                    markList = result;
+                });
+            }
+        }
+        layer.open({
+            type: 2,
+            title:"书标打印",
+            area:['700px','500px'],
+            btn:['打印预览','样式一','样式二','样式三'],
+            content: "/view/list-manage/journalPrintTemp.html",
+            success:function(layero,index){
+                var iframeWin = window[layero.find('iframe')[0]['name']];
+                iframeWin.markListSort(markList);
+            },
+            yes: function(index, layero){
+                var body = layer.getChildFrame('body', index);
+                var iframeWin = window[layero.find('iframe')[0]['name']];
+                iframeWin.print();
+                // markList=[];
+            },
+            btn2:function(index, layero){
+                var iframeWin = window[layero.find('iframe')[0]['name']];
+                iframeWin.markListSort(markList);
+                return false
+            },
+            btn3:function(index, layero){
+                var iframeWin = window[layero.find('iframe')[0]['name']];
+                iframeWin.markListNo(markList);
+                return false
+            },
+            btn4:function(index, layero){
+                var iframeWin = window[layero.find('iframe')[0]['name']];
+                iframeWin.markList(markList);
+                return false
+            }
+        });
+    }
+
+    //点击选中
+    table.on('checkbox(mainTable)', function(obj){
+        if(obj.checked){
+            arrDetele.push(obj.data);
+            if(obj.type=="all"){
+                arrDetele = [];
+                windowresult.data.map(function(item,index){
+                    arrDetele.push(item);
+                })
+            }
+        }else {
+            arrDetele.map(function(item,index){
+                if(item==obj.data){
+                    arrDetele.splice(index,1);
+                }
+            })
+            if(obj.type=="all"){
+                arrDetele = [];
+            }
+        }
+    });
+    //查询
+    var queryObj = null;
+    form.on('submit(searchBtn)', function(data){
+
+        data.field.token = sessionStorage.token;
+        queryObj = data.field;
+        table.reload("datatable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    markList= result;
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+</script>
+#end

+ 100 - 0
src/main/webapp/view/list-manage/journalPrintTemp.html

@@ -0,0 +1,100 @@
+<style>
+    body ,ul ,li ,div  {
+        margin: 0;
+        padding: 0;
+    }
+    ul {
+        margin-left: 13mm;
+        margin-right: 14mm;
+        /*margin-top: 5mm;*/
+        width: 210mm;
+    }
+    ul >li {
+        float: left;
+        white-space: nowrap;
+        overflow: hidden;
+        width: 39.5mm;
+        height: 27mm;
+        text-align: center;
+        box-sizing: border-box;
+        padding: 8mm 0 2mm 0;
+        /*border: 1px solid #000;*/
+
+    }
+    .clearfix:after {
+        clear: both;
+    }
+    .clearfix:after,
+    .clearfix:before {
+        display: table;
+        content: " ";
+    }
+    .clearfix {
+        zoom: 1;
+    }
+    ul li > div {
+        font-weight: bold;
+        font-size: 4.5mm;
+        height: 4.5mm;
+        line-height: 4.5mm;
+        font-family:"宋体";
+    }
+</style>
+<ul class="clearfix" id="view">
+    <!--<li>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--</li>-->
+
+</ul>
+<script id="bookMarkTemp" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+    <li>
+        <div>{{ item.bookno || ""}}</div>
+    </li>
+    {{#  }); }}
+</script>
+<script id="bookMarkNo" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+    <li>
+        <div>{{ item.bookno || "" }}</div>
+        <div>{{ item.zhongcihao|| "" }}</div>
+    </li>
+    {{#  }); }}
+</script>
+<script id="bookMarkSort" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+    <li>
+        <div>{{ item.bookno || ""}}</div>
+        <div>{{ item.zhongcihao|| "" }}</div>
+        <div>{{ item.barcode || "" }}</div>
+    </li>
+    {{#  }); }}
+</script>
+<script type="text/javascript" src="/lib/layui/layui.all.js"></script>
+<script>
+    var $ = layui.$;
+    var laytpl = layui.laytpl;
+    function markList(res){
+
+        console.log(res.data)
+        laytpl(bookMarkTemp.innerHTML).render(res.data, function(html){
+            console.log(res.data)
+            document.getElementById('view').innerHTML = html;
+        });
+    }
+    function markListNo(res){
+
+        console.log(res.data)
+        laytpl(bookMarkNo.innerHTML).render(res.data, function(html){
+            document.getElementById('view').innerHTML = html;
+        });
+    }
+    function markListSort(res){
+        console.log(res.data)
+        laytpl(bookMarkSort.innerHTML).render(res.data, function(html){
+            document.getElementById('view').innerHTML = html;
+        });
+    }
+</script>

+ 382 - 0
src/main/webapp/view/list-manage/listCount.html

@@ -0,0 +1,382 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="startDate">时间选择:</label>
+        <input type="text" name="startTime" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+        <label for="endDate">到:</label>
+        <input type="text" name="endTime" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+    <table border="1px" class="layui-table class-22" id="item">
+        <tr>
+            <td colspan="1">五大部类</td>
+            <td colspan="1">22个基本类</td>
+            <td colspan="1">种数</td>
+            <td colspan="1">总册数</td>
+            <td colspan="1">图书分类比例</td>
+        </tr>
+        <tr>
+            <td colspan="1">第一大类</td>
+            <td colspan="1">A马克思主义、列宁主义、毛泽东思想、邓小平理论</td>
+            <td colspan="1" id="A">0</td>
+            <td colspan="1" id="A1">0</td>
+            <td colspan="1" id="ratio0">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">第二大类</td>
+            <td colspan="1">B哲学、宗教</td>
+            <td colspan="1" id="B">0</td>
+            <td colspan="1" id="B1">0</td>
+            <td colspan="1" id="ratio1">0</td>
+        </tr>
+        <tr>
+            <td rowspan="9">第三大类</td>
+            <td colspan="1">C社会科学总论</td>
+            <td colspan="1" id="C">0</td>
+            <td colspan="1" id="C1">0</td>
+            <td rowspan="9" id="ratio2">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">D政治法律</td>
+            <td colspan="1" id="D">0</td>
+            <td colspan="1" id="D1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">E军事</td>
+            <td colspan="1" id="E">0</td>
+            <td colspan="1" id="E1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">F经济</td>
+            <td colspan="1" id="F">0</td>
+            <td colspan="1" id="F1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">G文化科学、教育、体育</td>
+            <td colspan="1" id="G">0</td>
+            <td colspan="1" id="G1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">H语言、文字</td>
+            <td colspan="1" id="H">0</td>
+            <td colspan="1" id="H1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">I文学</td>
+            <td colspan="1" id="I">0</td>
+            <td colspan="1" id="I1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">J艺术</td>
+            <td colspan="1" id="J">0</td>
+            <td colspan="1" id="J1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">K历史、地理</td>
+            <td colspan="1" id="K">0</td>
+            <td colspan="1" id="K1">0</td>
+        </tr>
+        <tr>
+            <td rowspan="10">第四大类</td>
+            <td colspan="1">N自然科学总论</td>
+            <td colspan="1" id="N">0</td>
+            <td colspan="1" id="N1">0</td>
+            <td rowspan="10" id="ratio3">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">O数理科学和化学</td>
+            <td colspan="1" id="O">0</td>
+            <td colspan="1" id="O1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">P天文学、地球科学</td>
+            <td colspan="1" id="P">0</td>
+            <td colspan="1" id="P1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">Q生物科学</td>
+            <td colspan="1" id="Q">0</td>
+            <td colspan="1" id="Q1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">R医药、卫生</td>
+            <td colspan="1" id="R">0</td>
+            <td colspan="1" id="R1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">S农业科学</td>
+            <td colspan="1" id="S">0</td>
+            <td colspan="1" id="S1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">T工业技术</td>
+            <td colspan="1" id="T">0</td>
+            <td colspan="1" id="T1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">U交通运输</td>
+            <td colspan="1" id="U">0</td>
+            <td colspan="1" id="U1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">V航空、航天</td>
+            <td colspan="1" id="V">0</td>
+            <td colspan="1" id="V1">0</td>
+        </tr>
+        <tr>
+            <td colspan="1">X环境科学、安全科学</td>
+            <td colspan="1" id="X">0</td>
+            <td colspan="1" id="X1">0</td>
+        </tr>
+        <tr>
+            <td rowspan="1">第五大类</td>
+            <td colspan="1">Z综合性图书</td>
+            <td colspan="1" id="Z">0</td>
+            <td colspan="1" id="Z1">0</td>
+            <td rowspan="1" id="ratio4">0</td>
+        </tr>
+        <tr style="color: red">
+            <td rowspan="1">合计</td>
+            <td colspan="1">0</td>
+            <td colspan="1" id="zs">0</td>
+            <td colspan="1" id="cs">0</td>
+            <td rowspan="1"></td>
+        </tr>
+    </table>
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+    var startdate = new Date();
+    startdate.setDate(startdate.getMonth()-1);
+    laydate.render({
+        elem: '#startDate',
+        value:startdate
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+    // function pageTable(data){
+    //     var allTd = $("#dataTable tbody").find("tr");
+    //
+    //     allTd.map(function(index,item,arr){
+    //         $($(item).children()[2]).text("0");
+    //         $($(item).children()[3]).text("0");
+    //         $($(item).children()[4]).text("0");
+    //
+    //     });
+    //     myAjax({url:"/book/listCount",data:data,async:false},function(result){
+    //         if(result.code==200){
+    //             var zsTotal = null;
+    //             var zcsTotal = null;
+    //             var priceTotal = null;
+    //             result.data.forEach(function(item,index,arr){
+    //                 for(var i = 65; i<91; i++){
+    //                     var strName = String.fromCharCode(i);
+    //                     strName = "tr[data-sort="+strName+"]";
+    //                     if(item.gname){
+    //                         if(item.gname.charCodeAt(0)==i){
+    //                             zsTotal += item.zs;
+    //                             zcsTotal += item.zcs;
+    //                             priceTotal += item.price;
+    //                             var elem = $("#dataTable").find(strName).children();
+    //                             $(elem[2]).text(item.zs);
+    //                             $(elem[3]).text(item.zcs);
+    //                             $(elem[4]).text(item.price);
+    //                         }
+    //                     }
+    //                 }
+    //             });
+    //             $("#zsTotal").html(zsTotal);
+    //             $("#zcsTotal").html(zcsTotal);
+    //             if(priceTotal){
+    //                 $("#priceTotal").html(priceTotal.toFixed(2));
+    //             }
+    //
+    //         }
+    //     });
+    //     // myAjax({url:"/book/listCountTotal",data:data,async:false},function(result){
+    //     //     if(result.code==200){
+    //     //         var elem = $("#dataTable").find("tr[data-total='A']").children();
+    //     //         $(elem[2]).text(result.data[0].zs);
+    //     //         $(elem[3]).text(result.data[0].zcs);
+    //     //         if(result.data[0].price){
+    //     //             $(elem[4]).text(result.data[0].price);
+    //     //         }else {
+    //     //             $(elem[4]).text(0);
+    //     //         }
+    //     //
+    //     //     }
+    //     // });
+    //     table.init('mainTable',{
+    //         limit: 24,
+    //         toolbar:true
+    //     });
+    // }
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.orgid = JSON.parse(sessionStorage.loginData).orgid;
+        data.field.token = JSON.parse(sessionStorage.loginData).token;
+        pageTable(data.field);
+        return false;
+    });
+    pageTable({orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token});
+
+    // var totalcs =0;
+    // var totalzs =0;
+    // var cs_1 = 0;
+    // var zs_1 = 0;
+    // var zs_2 = 0;
+    // var cs_2 = 0;
+    // var zs_3 = 0;
+    // var cs_3 = 0;
+    // var zs_4 = 0;
+    // var cs_4 = 0;
+    // var zs_5 = 0;
+    // var cs_5 = 0;
+    function pageTable(data) {
+
+        var totalcs =0;
+        var totalzs =0;
+        var cs_1 = 0;
+        var zs_1 = 0;
+        var zs_2 = 0;
+        var cs_2 = 0;
+        var zs_3 = 0;
+        var cs_3 = 0;
+        var zs_4 = 0;
+        var cs_4 = 0;
+        var zs_5 = 0;
+        var cs_5 = 0;
+        // totalcs =0;
+        // totalzs =0;
+        // cs_1 = 0;
+        // zs_1 = 0;
+        // zs_2 = 0;
+        // cs_2 = 0;
+        // zs_3 = 0;
+        // cs_3 = 0;
+        // zs_4 = 0;
+        // cs_4 = 0;
+        // zs_5 = 0;
+        // cs_5 = 0;
+        $.ajax({
+            url: "/book/listCount",
+            type: "POST",
+            data: data,
+            traditional: true,
+            success: function (result) {
+                //window.location.reload()
+                if (result.code == 200) {
+                    $("#A").text("0");
+                    $("#A1").text("0");
+                    $("#B").text("0");
+                    $("#B1").text("0");
+                    $("#C").text("0");
+                    $("#C1").text("0");
+                    $("#D").text("0");
+                    $("#D1").text("0");
+                    $("#E").text("0");
+                    $("#E1").text("0");
+                    $("#F").text("0");
+                    $("#F1").text("0");
+                    $("#G").text("0");
+                    $("#G1").text("0");
+                    $("#H").text("0");
+                    $("#H1").text("0");
+                    $("#I").text("0");
+                    $("#I1").text("0");
+                    $("#J").text("0");
+                    $("#J1").text("0");
+                    $("#K").text("0");
+                    $("#K1").text("0");
+                    $("#N").text("0");
+                    $("#N1").text("0");
+                    $("#O").text("0");
+                    $("#O1").text("0");
+                    $("#P").text("0");
+                    $("#P1").text("0");
+                    $("#Q").text("0");
+                    $("#Q1").text("0");
+                    $("#R").text("0");
+                    $("#R1").text("0");
+                    $("#S").text("0");
+                    $("#S1").text("0");
+                    $("#T").text("0");
+                    $("#T1").text("0");
+                    $("#U").text("0");
+                    $("#U1").text("0");
+                    $("#V").text("0");
+                    $("#V1").text("0");
+                    $("#X").text("0");
+                    $("#X1").text("0");
+                    $("#Z").text("0");
+                    $("#Z1").text("0");
+                    for (var i = 0; i < result.data.length; i++) {
+                        var id = result.data[i].id;
+                        if (id != null) {
+                            $("#" + id).text(result.data[i].zs);
+                            $("#" + id + "1").text(result.data[i].cs);
+                            //totalcs += result.data[i].cs;
+                            //totalzs += result.data[i].zs;
+                            console.log(result.data[i].cs);
+                            if (id == 'A') {
+                                zs_1 += result.data[i].zs;
+                                cs_1 += result.data[i].cs;
+                                totalcs += result.data[i].cs;
+                                totalzs += result.data[i].zs;
+                            } else if (id == 'B') {
+                                zs_2 += result.data[i].zs;
+                                cs_2 += result.data[i].cs;
+                                totalcs += result.data[i].cs;
+                                totalzs += result.data[i].zs;
+                            } else if (id == 'C' || id == 'D' || id == 'E' || id == 'F' || id == 'G' || id == 'H' || id == 'I' || id == 'J' || id == 'K') {
+                                zs_3 += result.data[i].zs;
+                                cs_3 += result.data[i].cs;
+                                totalcs += result.data[i].cs;
+                                totalzs += result.data[i].zs;
+                            } else if (id == 'N' || id == 'O' || id == 'P' || id == 'Q' || id == 'R' || id == 'S' || id == 'T' || id == 'U' || id == 'V' || id == 'X') {
+                                zs_4 += result.data[i].zs;
+                                cs_4 += result.data[i].cs;
+                                totalcs += result.data[i].cs;
+                                totalzs += result.data[i].zs;
+                            } else if (id == 'Z') {
+                                zs_5 = result.data[i].zs;
+                                cs_5 = result.data[i].cs;
+                                totalcs += result.data[i].cs;
+                                totalzs += result.data[i].zs;
+                            }
+                        }
+                    }
+                    $("#zs").text(totalzs);
+                    $("#cs").text(totalcs);
+                    if (totalcs == 0) {
+                        $("#ratio0").text("0%");
+                        $("#ratio1").text("0%");
+                        $("#ratio2").text("0%");
+                        $("#ratio3").text("0%");
+                        $("#ratio4").text("0%");
+                    } else {
+
+                        $("#ratio0").text(((cs_1 / totalcs) * 100).toFixed(2) + "%");
+                        $("#ratio1").text(((cs_2 / totalcs) * 100).toFixed(2) + "%");
+                        $("#ratio2").text(((cs_3 / totalcs) * 100).toFixed(2) + "%");
+                        $("#ratio3").text(((cs_4 / totalcs) * 100).toFixed(2) + "%");
+                        $("#ratio4").text(((cs_5 / totalcs) * 100).toFixed(2) + "%");
+                    }
+
+                }
+            }
+        });
+    }
+</script>
+#end

+ 101 - 0
src/main/webapp/view/list-manage/removeBookPrintTemp.html

@@ -0,0 +1,101 @@
+<style>
+    body ,ul ,li ,div  {
+        margin: 0;
+        padding: 0;
+    }
+    ul {
+        margin-left: 13mm;
+        margin-right: 14mm;
+        /*margin-top: 5mm;*/
+        width: 210mm;
+    }
+    ul >li {
+
+        display: flex;
+        justify-content: space-between;
+        overflow: hidden;
+        text-align: left;
+        box-sizing: border-box;
+        padding: 8mm 0 2mm 0;
+        /*border: 1px solid #000;*/
+
+    }
+    .clearfix{
+        border: 1px solid #CCCCCC;
+    }
+
+    ul li > div {
+
+        font-weight: bold;
+        font-size: 4.5mm;
+        height: 4.5mm;
+        line-height: 4.5mm;
+        font-family:"宋体";
+    }
+    table{width: 100%; border-collapse: collapse; border-spacing: 0;}
+    th,td{line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: left; font-size: 12px; color: #666;}
+</style>
+<table class="clearfix" id="view">
+    <!--<li>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--<div>A711/1-2版:1</div>-->
+    <!--</li>-->
+
+</table>
+<script id="bookMarkTemp" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+    <tr>
+        <td>{{ item.bookno || ""}}</td>
+    </tr>
+    {{#  }); }}
+</script>
+<script id="bookMarkNo" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+    <tr>
+        <td>{{ item.bookno || "" }}</td>
+        <td>{{ item.zhongcihao|| "" }}</td>
+    </tr>
+    {{#  }); }}
+</script>
+<script id="bookMarkSort" type="text/html">
+
+    {{#  layui.each(d, function(index, item){ }}
+    <tr>
+        <td>{{ item.barcode || ""}}</td>
+        <td>{{ item.kanming|| "" }}</td>
+        <td>{{ item.bianjibu || "" }}</td>
+        <td>{{ item.bookno || ""}}</td>
+        <td>{{ item.price|| "" }}</td>
+        <td>{{ item.library || "" }}</td>
+        <td>{{ item.reason || ""}}</td>
+        <td>{{ item.createtime|| "" }}</td>
+    </tr>
+    {{#  }); }}
+</script>
+<script type="text/javascript" src="/lib/layui/layui.all.js"></script>
+<script>
+    var $ = layui.$;
+    var laytpl = layui.laytpl;
+    function markList(res){
+
+        console.log(res.data)
+        laytpl(bookMarkTemp.innerHTML).render(res.data, function(html){
+            console.log(res.data)
+            document.getElementById('view').innerHTML = html;
+        });
+    }
+    function markListNo(res){
+
+        console.log(res.data)
+        laytpl(bookMarkNo.innerHTML).render(res.data, function(html){
+            document.getElementById('view').innerHTML = html;
+        });
+    }
+    function markListSort(res){
+        console.log(res.data.list)
+        laytpl(bookMarkSort.innerHTML).render(res.data.list, function(html){
+            document.getElementById('view').innerHTML = html;
+        });
+    }
+</script>

+ 67 - 0
src/main/webapp/view/list-manage/sortDialog.html

@@ -0,0 +1,67 @@
+<!--<link rel="stylesheet" href="/lib/css/zTree/demo.css" type="text/css">-->
+<link rel="stylesheet" href="/lib/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css">
+
+<div>
+    <ul id="treeDemo" class="ztree"></ul>
+</div>
+<script type="text/javascript" src="/lib/zTree/js/jquery-1.4.4.min.js"></script>
+<script type="text/javascript" src="/lib/zTree/js/jquery.ztree.core.js"></script>
+<script>
+    var zNodes;
+    $.get("/booktype/find22Type",function(result){
+        result.data.map(function(item, index){
+            item.name = item.parentid +"--"+ item.name;
+            if(item.childnode==1){
+                item.childnode=true;
+            }else {
+
+            }
+        });
+        zNodes = result.data;
+        $(document).ready(function(){
+            zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
+        });
+    })
+
+    var zTreeObj;
+    //异步后数据处理
+    function ajaxResponseData(treeId, parentNode, responseData){
+        responseData.map(function(item,index){
+            item.parentid = item.id;
+            item.name = item.id+"--"+item.name;
+        });
+        return responseData;
+    }
+    //点击节点回调
+    var sortValue;
+    function nodeOnClick(event,treeId,treeNode){
+        sortValue = treeNode;
+    }
+    var setting = {
+        showLine : true,
+        data:{
+            key: {
+                isParent: "childnode"
+            }
+        },
+        async:{
+            enable:true,
+            contentType:"application/x-www-form-urlencoded",
+            url:"/booktype/findByParentId",
+            autoParam: ["parentid"],
+            dataFilter:ajaxResponseData,
+
+        },
+        simpleData:{
+            enable: true,
+            idKey: "parentid"
+        },
+        callback:{
+            onClick: nodeOnClick
+        }
+
+    };
+    // zTree 的数据属性,深入使用请参考 API 文档(zTreeNode 节点数据详解)
+
+
+</script>

+ 85 - 0
src/main/webapp/view/list-manage/sysmkf.html

@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <link rel="stylesheet" href="/lib/layui/css/layui.css">
+</head>
+<script type="text/javascript" src="/lib/layui/layui.all.js"></script>
+<div style="width: 50%">
+
+    <table class="layui-hide" id="datatable" lay-filter="datatable" ></table>
+</div>
+<script>
+    var table =layui.table;
+    var $ = layui.$;
+
+    table.render({
+        elem: '#datatable'
+        ,url:'/sysmkf/findListByOrgid'
+        ,where:{token:JSON.parse(sessionStorage.loginData).token}
+        ,cols: [[
+            {type: 'numbers', title: '序号'}
+            ,{field:'fieldid', title:'marc分类代码', edit: 'text' }
+            ,{field:'subfieldid', title:'子分类代码', edit: 'text'}
+            ,{field:'cnfield', title:'说明'}
+        ]]
+        ,page: false
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            console.log(result);
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.length, //解析数据长度
+                    "data": result.data //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+    //监听单元格编辑
+    table.on('edit(datatable)', function(obj){
+        var value = obj.value //得到修改后的值
+            ,data = obj.data //得到所在行所有键值
+            ,field = obj.field; //得到字段
+        if(field == 'fieldid' && value.length > 6){
+            layer.alert("最大长度不能超过6",{title:'提示',btn:['确定']},function () {
+                location.reload()
+                // table.reload('datatable',{token:JSON.parse(sessionStorage.loginData).token});
+            })
+            return;
+        }
+        if(field == 'subfieldid' && value.length > 2){
+            layer.alert("最大长度不能超过2",{title:'提示',btn:['确定']},function () {
+                location.reload()
+                // table.reload('datatable',{token:JSON.parse(sessionStorage.loginData).token});
+            })
+            return;
+        }
+        data.token=JSON.parse(sessionStorage.loginData).token;
+        $.post("/sysmkf/updateSysmkfInfo",
+            data,
+            function (data, status) {
+                if (data.code == 200) {
+                    table.reload('datatable',{token:JSON.parse(sessionStorage.loginData).token});
+                } else {
+                    if(data.code==3){
+                        window.location.href ="/"
+                    }
+                }
+            }
+        );
+    });
+
+
+</script>
+
+<body>
+
+</body>
+
+</html>
+

+ 136 - 0
src/main/webapp/view/print/mulukadayin.html

@@ -0,0 +1,136 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form class="layui-form queryform" lay-filter="queryform">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <input type="hidden" id="orgid" name="orgid">
+        <input type="hidden" id="token" name="token">
+        <input type="text" name="title" id="title" class="layui-input-inline layui-input" style="width: 150px;" placeholder="正题名">
+        <input type="text" name="isbn" id="ISBN" onblur="fIsbn(this.value)" class="layui-input-inline layui-input" style="width: 150px;" placeholder="ISBN">
+        <input type="text" name="bookno" id="bookno" class="layui-input-inline layui-input" style="width: 150px;" placeholder="索书号">
+        <input type="text" name="publisher" id="publisher" class="layui-input-inline layui-input" style="width: 150px;" placeholder="出版社">
+        <input type="text" name="typecode" id="typecode" class="layui-input-inline layui-input" style="width: 150px;" placeholder="分类号">
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <button lay-submit lay-filter="priceBtn" class="layui-btn layui-btn-sm">目录卡打印</button>
+    </form>
+</div>
+<script type="text/html" id="tableHeader">
+    <div class="layui-btn-container text-right">
+
+    </div>
+</script>
+<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
+#end
+#define methods()
+<script>
+    var d = {};
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        d[pair[0]]=pair[1];
+    };
+    d["orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+    d["token"]=JSON.parse(sessionStorage.loginData).token;
+    $("#orgid").val(JSON.parse(sessionStorage.loginData).orgid);
+    $("#token").val(JSON.parse(sessionStorage.loginData).token);
+    var tableIns = table.render({
+        elem: '#dataTable'
+        ,url:'/print/mulukadayin'
+        ,where:d
+        ,toolbar: '#tableHeader'
+        ,title: '目录卡打印'
+        ,cols: [[
+            {type:'checkbox'},
+            {type: 'numbers', title: '序号'}
+            ,{field:'bookno', title:'索书号'}
+            ,{field:'title', title:'正题名',minWidth:300}
+            ,{field:'bltitle', title:'并列题名',hide:true}
+            ,{field:'subtitle', title:'副题名',hide:true}
+            ,{field:'author', title:'著者'}
+            ,{field:'otherauthor', title:'其他责任者',hide:true}
+            /*,{field:'publishaddress', title:'出版地'}*/
+            ,{field:'publisher', title:'出版社'}
+            /*,{field:'publishdate', title:'出版时间'}*/
+            ,{field:'totalpages', title:'页数'}
+            ,{field:'sizeid', title:'尺寸',hide:true}
+            ,{field:'congshuming', title:'丛书名',hide:true}
+            ,{field:'congshuauthor', title:'丛书责任者',hide:true}
+            ,{field:'fuzhu', title:'附注',hide:true}
+            ,{field:'isbn', title:'ISBN'}
+            ,{field:'price', title:'价格'}
+            ,{field:'keyword', title:'主题词',hide:true}
+            /*,{field:'typecode', title:'分类号'}*/
+        ]],
+        limits:[50,100,150,200],
+        limit:50
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+    searchForm.submit('submit(searchBtn)',"/print/mulukadayin");
+
+
+    form.on('submit(priceBtn)', function(data){
+       /* console.log(data.field); //当前容器的全部表单字段,名值对形式:{name: value}
+        data.field.orgid= JSON.parse(sessionStorage.loginData).orgid;
+        data.field.token= JSON.parse(sessionStorage.loginData).token;
+        $.get("/print/mulukadayin_all",data.field,function(result){
+            if(result.code==200){
+                priceBook(result.data);
+            }
+        });*/
+        var checkStatus = table.checkStatus("dataTable");
+        priceBook(checkStatus.data);
+        return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
+    });
+    //打印
+    function priceBook(arg){
+
+        if (arg.length==0){
+            layer.msg("请勾选打印内容", {icon: 2})
+            return false;
+        }
+        layer.open({
+            type: 2,
+            title:"目录卡打印",
+            area:['140mm','100mm'],
+            btn:['打印预览'],
+            content: "/view/print/mulukadayinTemp.html",
+            success:function(layero,index){
+                var iframeWin = window[layero.find('iframe')[0]['name']];
+                iframeWin.markList(arg);
+                console.log(layero.html())
+            },
+            yes: function(index, layero){
+                var body = layer.getChildFrame('body', index);
+                var iframeWin = window[layero.find('iframe')[0]['name']];
+                iframeWin.print();
+            }
+        });
+    }
+    function fIsbn(value) {
+        $("#ISBN").val(fmtISBN(value));
+    }
+</script>
+#end

+ 114 - 0
src/main/webapp/view/print/mulukadayinTemp.html

@@ -0,0 +1,114 @@
+<style>
+    body ,ul ,li ,div ,p  {
+        margin: 0;
+        padding: 0;
+    }
+    ul#view {
+
+        /*margin-top: 5mm;*/
+        width: 125mm;
+    }
+    ul#view >li {
+        /*white-space: nowrap;*/
+        /*overflow: hidden;*/
+        width: 125mm;
+        height: 75mm;
+        text-align: center;
+        box-sizing: border-box;
+        padding: 20mm 5mm 5mm 5mm;
+
+    }
+    .clearfix:after {
+        clear: both;
+    }
+    .clearfix:after,
+    .clearfix:before {
+        display: table;
+        content: " ";
+    }
+    .clearfix {
+        zoom: 1;
+    }
+    .lf {
+        float: left;
+        width: 20mm;
+    }
+    .lf> p ,.rg> p{
+        font-size: 4mm;
+        text-align: left;
+    }
+    .rg> p {
+        text-indent: 4mm;
+    }
+    .rg {
+        float: right;
+        width: 85mm;
+    }
+</style>
+<ul id="view">
+    <!--<li class="clearfix">-->
+        <!--<div class="lf">-->
+            <!--<p>G624</p>-->
+            <!--<p>1</p>-->
+            <!--<p>1(1)</p>-->
+        <!--</div>-->
+        <!--<div class="rg">-->
+            <!--<p>直播语文</p>-->
+            <!--<p>低年级语文学习必备</p>-->
+            <!--<p>ISBN978</p>-->
+            <!--<p>I.直...II</p>-->
+            <!--<p>000777</p>-->
+        <!--</div>-->
+    <!--</li>-->
+    <!--<div style="page-break-after:always;"></div>-->
+    <!--<li class="clearfix">-->
+        <!--<div class="lf">-->
+            <!--<p>G624</p>-->
+            <!--<p>1</p>-->
+            <!--<p>1(1)</p>-->
+        <!--</div>-->
+        <!--<div class="rg">-->
+            <!--<p>直播语文</p>-->
+            <!--<p>低年级语文学习必备</p>-->
+            <!--<p>ISBN978</p>-->
+            <!--<p>I.直...II</p>-->
+            <!--<p>000777</p>-->
+        <!--</div>-->
+    <!--</li>-->
+</ul>
+<script id="bookMarkTemp" type="text/html">
+    {{#  layui.each(d, function(index, item){ }}
+    <li class="clearfix">
+        <div class="lf">
+            <p>{{item.typecode}}</p>
+            <p>{{item.shucihao||""}}</p>
+            <p>{{item.juanci?""+item.juanci+"":""}}{{item.ceci?"("+item.ceci+")":""}}</p>
+        </div>
+        <div class="rg">
+            <p>{{item.title||""}}{{item.bltitle?"="+item.bltitle:""}}{{item.subtitle?"·—"+item.subtitle:""}}
+                {{item.authorworkmodeid?"/"+item.authorworkmodeid:""}}{{item.otherauthor?";"+item.otherauthor:""}}{{item.workmodeid?item.workmodeid:""}}{{item.publishaddress?"·—"+item.publishaddress:""}}{{item.publisher?":"+item.publisher:""}}
+                {{item.publishdate?","+item.publishdate:""}}
+            </p>
+            <p>{{item.totalpages?item.totalpages+"页;":"页;"}}{{item.sizeid?item.sizeid+"":""}}{{item.congshuming?"·—("+item.congshuming+item.congshuauthor+")":""}}</p>
+            <p>{{item.fuzhu||""}}</p>
+            <p> </p>
+            <p>{{item.isbn?"ISBN"+item.isbn+":":""}}{{item.price?"¥"+item.price+"元":""}}</p>
+            <p> </p>
+            <p>{{item.title?"I."+item.title.split("")[0]+"...":"I."}}{{item.author?"II."+item.author.split("")[0]+"...":"II."}}{{item.keyword?"III."+item.keyword:"III."}}{{item.typecode?"IV."+item.typecode:"IV."}}</p>
+            <p style="margin-left: -34mm;">{{item.barcodeList?item.barcodeList.join(","):""}}</p>
+        </div>
+    </li>
+    <div style="page-break-after:always;"></div>
+    {{#  }); }}
+</script>
+<script type="text/javascript" src="/lib/layui/layui.all.js"></script>
+<script>
+    var $ = layui.$;
+    var laytpl = layui.laytpl;
+    function markList(res){
+
+        laytpl(bookMarkTemp.innerHTML).render(res, function(html){
+            document.getElementById('view').innerHTML = html;
+        });
+    }
+</script>

+ 120 - 0
src/main/webapp/view/print/shubenmuludayin.html

@@ -0,0 +1,120 @@
+<style>
+    body {
+        font-size: 12px;
+        color: #666;
+    }
+
+    table {
+        width: 100%;
+        border-collapse: collapse;
+        border-spacing: 0;
+    }
+
+    th, td {
+        line-height: 20px;
+        padding: 9px 15px;
+        border: 1px solid #ccc;
+        text-align: center;
+        font-size: 12px;
+        color: #666;
+    }
+
+    a {
+        color: #666;
+        text-decoration: none;
+    }
+
+    .layui-hide {
+        display: none
+    }
+</style>
+<table>
+    <thead>
+    <tr>
+        <th>索书号</th>
+        <th>正题名</th>
+        <th>著者</th>
+        <th>出版社</th>
+        <th>定价(元)</th>
+        <th>复本数</th>
+        <th>馆藏地</th>
+    </tr>
+    </thead>
+    <tbody id="tbodtr">
+    <tr>
+
+    </tr>
+    </tbody>
+</table>
+<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
+<script>
+    function  diurl(name) {
+        var  reg = new  RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+        var  result = window.location.search.substr(1).match(reg);
+        return result ? decodeURIComponent(result[2]) : null;
+    }
+    var starttime = diurl("starttime");
+    var endtime = diurl("endtime");
+    var libraryid =diurl("libraryid");
+    var bookno = diurl("bookno");
+
+    $.ajax({
+        url: "/print/shubenshimuludayin_list_print",
+        type: "get",
+        data: {token: JSON.parse(sessionStorage.loginData).token,starttime:starttime,endtime:endtime,libraryid:libraryid,bookno:bookno},
+        success: function (result) {
+            if (result.code == 200) {
+
+                for (var i = 0; i < result.data.length; i++) {
+                    var str = result.data[i];
+                    var strtime = str.createtime;
+                    var newDate = /\d{4}-\d{1,2}-\d{1,2}/g.exec(strtime)
+                    if (str) {
+                        if (str.bookno == null) {
+                            str.bookno = "";
+                        }
+                        if (str.title == null) {
+                            str.title = "";
+                        }
+                        if (str.author == null) {
+                            str.author = "";
+                        }
+                        if (str.publisher == null) {
+                            str.publisher = "";
+                        }
+                        if (str.publishdate == null) {
+                            str.publishdate = "";
+                        }
+                        if (str.library == null) {
+                            str.library = "";
+                        }
+                        if (str.totalpages == null) {
+                            str.totalpages = "";
+                        }
+                        if (str.price == null) {
+                            str.price = "";
+                        }
+                        if (str.booknum == null) {
+                            str.booknum = "";
+                        }
+                    }
+                    var html1 = "<tr>\n" +
+                    "                    <td>" + str.bookno + "</td>\n" +
+                    "                    <td>" + str.title + "</td>\n" +
+                    "                    <td>" + str.author + "</td>\n" +
+                    "                    <td>" + str.publisher + "</td>\n" +
+                    "                    <td>" + str.price + "</td>\n" +
+                    "                    <td>" + str.booknum + "</td>\n" +
+                    "                    <td>" + str.library + "</td>\n" +
+                    "                </tr>";
+                    $("#tbodtr").append(html1);
+                }
+
+            }
+        }
+    });
+
+    function iframePrint() {    //添加打印事件
+        window.print();
+    }
+</script>

+ 251 - 0
src/main/webapp/view/print/shubenshimuludayin.html

@@ -0,0 +1,251 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <div class="layui-form" lay-filter="queryform">
+        <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">馆藏地</label>
+        <div class="layui-input-inline">
+            <select name="libraryid" id="libraryid">
+
+            </select>
+        </div>
+        <input type="text" name="starttime" id="starttime" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+        到:
+        <input type="text" name="endtime" id="endtime" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+            <label>索书号</label>
+            <div class="layui-input-inline">
+                <input type="text" id="bookno" name="bookno" class="layui-input-inline layui-input" placeholder="">
+            </div>
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+            <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+            <button type="button"  class="layui-btn layui-btn-sm" id="shubenmuludayin">打印</button>
+        </form>
+    </div>
+</div>
+<iframe style="display: none" frameborder="0" id="printIframe" name="printIframe" ></iframe>
+<iframe style="display: none"  frameborder="0" id="prichekbox" name="prichekbox" ></iframe>
+<script type="text/html" id="toolbarDemo">
+</script>
+<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
+#end
+#define methods()
+<script>
+    searchForm.init("libraryid","/library/ajaxlibrarylist");
+    //常规用法
+    laydate.render({
+        elem: '#starttime',
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endtime',
+        done: function(value, date, endDate){
+
+        }
+    });
+
+    var d = {};
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        d[pair[0]]=pair[1];
+    }
+    d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+    d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+    var tableIns = table.render({
+        elem: '#dataTable'
+        ,url:'/print/shubenshimuludayin_list'
+        ,where:d
+        ,toolbar: '#toolbarDemo'
+        ,title: '图书个别登记簿'
+        ,cols: [[
+            {type: 'checkbox'},
+            {type: 'numbers', title: '序号'}
+            ,{field:'bookno', title:'索书号',sort:true,minWidth:130}
+            // ,{field:'isbn', title:'ISBN'}
+            ,{field:'title', title:'正题名',sort:true,minWidth: 300}
+            ,{field:'author', title:'著者',minWidth: 150}
+            ,{field:'publisher', title:'出版社',minWidth: 200}
+            ,{field:'price', title:'定价(元)',minWidth: 90}
+            ,{field:'booknum', title:'复本数',minWidth: 90}
+            ,{field:'library', title:'馆藏地',minWidth: 180}
+            ,{field:'isbn', title:'ISBN',hide:true}
+            ,{field:'edition', title:'版本版次',hide:true}
+            ,{field:'totalpages', title:'页数',hide:true}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+    form.on('submit(exportExcel)', function(data){
+        var starttime = data.field.starttime;
+        var endtime = data.field.endtime;
+        var libraryid = data.field.libraryid;
+        var bookno = data.field.bookno;
+        var url = "/print/shubenshimuludayin_export?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != starttime) {
+            url += "&starttime="+starttime;
+        }
+        if("" != endtime) {
+            url += "&endtime="+endtime;
+        }
+        if("" != libraryid) {
+            url += "&libraryid="+libraryid;
+        }
+        if("" != bookno) {
+            url += "&bookno="+bookno;
+        }
+        window.open(url)
+    });
+    searchForm.submit('submit(searchBtn)',"/print/shubenshimuludayin_list");
+
+    //禁用前端自动排序,以便由服务端直接返回排序好的数据
+    table.render({
+        elem: '#id'
+        ,autoSort: false //禁用前端自动排序。注意:该参数为 layui 2.4.4 新增
+        //,… //其它参数省略
+    });
+
+    //监听排序事件
+    table.on('sort(dataTable)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
+        console.log(obj.field); //当前排序的字段名
+        console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
+        console.log(this); //当前排序的 th 对象
+
+        //尽管我们的 table 自带排序功能,但并没有请求服务端。
+        //有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
+        table.reload('dataTable', {
+            initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
+            ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
+                field: "order by "+obj.field+" "+obj.type //排序字段
+                ,order: obj.type //排序方式
+            }
+        });
+
+        //layer.msg('服务端排序。order by '+ obj.field + ' ' + obj.type);
+    });
+    $("#shubenmuludayin").on("click",function(){
+        var checkStatus = table.checkStatus('dataTable');
+        var table1="<table id='chekbox' style='width: 100%; border-collapse: collapse; border-spacing: 0;font-size: 12px; color: #666;'>";
+            table1 +="<tr>";
+                table1 = table1+"<th style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>索书号</th>";
+                table1 = table1+"<th style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>正题名</th>";
+                table1 = table1+"<th style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>著者</th>";
+                table1 = table1+"<th style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>出版社</th>";
+                table1 = table1+"<th style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>定价(元)</th>";
+                table1 = table1+"<th style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>复本数</th>";
+                table1 = table1+"<th style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>馆藏地</th>";
+            table1 +="</tr>";
+        for(var i=0;i<checkStatus.data.length;i++) {
+            var str = checkStatus.data[i];
+            var strtime = str.createtime;
+            var newDate = /\d{4}-\d{1,2}-\d{1,2}/g.exec(strtime)
+            if (str) {
+                if (str.bookno == null) {
+                    str.bookno = "";
+                }
+                if (str.title == null) {
+                    str.title = "";
+                }
+                if (str.author == null) {
+                    str.author = "";
+                }
+                if (str.publisher == null) {
+                    str.publisher = "";
+                }
+                if (str.publishdate == null) {
+                    str.publishdate = "";
+                }
+                if (str.library == null) {
+                    str.library = "";
+                }
+                if (str.totalpages == null) {
+                    str.totalpages = "";
+                }
+                if (str.price == null) {
+                    str.price = "";
+                }
+                if (str.booknum == null) {
+                    str.booknum = "";
+                }
+            }
+            table1 += "<tr>";
+                table1 = table1+"<td style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>"+str.bookno+"</td>";
+                table1 = table1+"<td style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>"+str.title+"</td>";
+                table1 = table1+"<td style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>"+str.author+"</td>";
+                table1 = table1+"<td style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>"+str.publisher+"</td>";
+                table1 = table1+"<td style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>"+str.price+"</td>";
+                table1 = table1+"<td style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>"+str.booknum+"</td>";
+                table1 = table1+"<td style='line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;'>"+str.library+"</td>";
+            table1+="</tr>";
+        }
+        table1+="</table>";
+        var doc = document.getElementById("prichekbox").contentDocument;
+        doc.write('<div>' + table1+ '</div>');
+        doc.write('<script type="text/javascript">' +
+            function iframePrint() {
+                window.print();
+            }+";"
+            + '<\/script>');
+        doc.close();
+       // $("#prichekbox").append(table1);
+
+        if (checkStatus.data.length==0){
+            var starttime = $("#starttime").val();
+            var endtime = $("#endtime").val();
+            var libraryid = $("#libraryid").val();
+            var bookno = $("#bookno").val();
+            var url = "/view/print/shubenmuludayin.html?1=1";
+            if("" != starttime) {
+                url += "&starttime="+starttime;
+            }
+            if("" != endtime) {
+                url += "&endtime="+endtime;
+            }
+            if("" != libraryid) {
+                url += "&libraryid="+libraryid;
+            }
+            if("" != bookno) {
+                url += "&bookno="+bookno;
+            }
+            $("#printIframe").attr("src",url);
+
+            document.getElementById('printIframe').contentWindow.iframePrint();
+        }else {
+            document.getElementById('prichekbox').contentWindow.iframePrint();
+        }
+    })
+</script>
+#end

+ 139 - 0
src/main/webapp/view/print/tushugebiedengjibu.html

@@ -0,0 +1,139 @@
+#@layout()
+#define main()
+<div>
+    <div id="navTitle" class="nav-title"></div>
+        <form class="layui-form" lay-filter="queryform">
+            <!--<form lay-filter="queryForm" class="query-form layui-form">-->
+            <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+            <label for="">馆藏地</label>
+            <div class="layui-input-inline">
+                <select name="guancangId" id="libraryList">
+
+                </select>
+            </div>
+            <label for="startDate">编目时间:</label>
+            <input type="text" autocomplete="off" name="startDate" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到:</label>
+            <input type="text" autocomplete="off" name="endDate" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+            <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+            <!--<button type="button" class="layui-btn layui-btn-sm" id="tushudengjidayin">打印</button>
+            </form>-->
+        </form>
+    </div>
+<iframe style="display: none" src="/view/print/tushugebiedengjidayin.html" frameborder="0" id="printIframe" name="printIframe" ></iframe>
+<script type="text/html" id="toolbarDemo">
+</script>
+<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
+
+#end
+#define methods()
+<script>
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            if($("#endDate").val()!=''&&$("#endDate").val()<value){
+                layer.msg("结束时间不能小于开始时间");
+                $("#startDate").val("");
+            }
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        done: function(value, date, endDate){
+            if($("#startDate").val()!=''&&$("#startDate").val()>value){
+                layer.msg("开始时间不能大于结束时间");
+                $("#endDate").val("");
+            }
+        }
+    });
+    $.get("/book/initBookList",{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},function (result) {
+        if (result.code==200){
+
+            $("#libraryList").append("<option value=''></option>");
+
+            result.data.libraryList.forEach(function (item) {
+                $("#libraryList").append("<option value='"+item.id+"'>"+item.library+"</option>");
+            });
+            form.render('select');
+        }
+    });
+
+    $.ajax({
+        url: "/jieyue/curdate",
+        async: false,
+        success: function (result) {
+            laydate.render({
+                value:result.data[1]
+                ,isInitValue: true
+            });
+        }
+    });
+    myTable.list({
+        url:"/print/tushugebiedengjibu_list",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        elem:"#dataTable",
+        toolbar:true,
+        cols: [
+            [
+                {type: 'numbers', title: '序号'},
+                {field:'createtime', title: '日期', align:'center'}
+                ,{field:'barcode', title: '条码', align:'center'}
+                // ,{field:'bookno', title: '索书号', align:'center'}
+                ,{field: 'title', title: '正题名', align:'center',minWidth:300}
+                ,{field:'author', title: '著者', align:'center'}
+                ,{field:'edition', title: '版本版次', align:'center'}
+                // ,{field: 'publisher', title: '出版社', align:'center'}
+                // ,{field: 'publishdate', title: '出版年月', align:'center'}
+                ,{field: 'newsource', title: '图书来源', align:'center'}
+                // ,{field: 'totalpages', title: '页数', align:'center'}
+                ,{field:'price', title: '定价(元)', align:'center'}
+                // ,{field:'fuzhu', title: '附注', align:'center'}
+            ]
+        ]
+    });
+
+    form.on('submit(searchBtn)', function(data){
+
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+
+    form.on('submit(exportExcel)', function(data){
+        var guangcangId = $("#libraryList").val();
+        var url = "/print/tushugebiedengjibu_export?orgid="+JSON.parse(sessionStorage.loginData).orgid;
+        if("" != guangcangId){
+            url += "&guangcangId="+guangcangId;
+        }
+        if($("#startDate").val() != ""){
+            url += "&starttime="+$("#startDate").val();
+        }
+        if($("#endDate").val() != ""){
+            url += "&endtime="+$("#endDate").val();
+        }
+        window.open(url)
+    });
+    // searchForm.submit('submit(searchBtn)',"/print/tushugebiedengjibu_list");
+
+
+    $("#tushudengjidayin").on("click",function(){
+        document.getElementById('printIframe').contentWindow.iframePrint();
+    })
+</script>
+#end

+ 92 - 0
src/main/webapp/view/print/tushugebiedengjidayin.html

@@ -0,0 +1,92 @@
+<style>
+    body{font-size: 12px; color: #666;}
+    table{width: 100%; border-collapse: collapse; border-spacing: 0;}
+    th,td{line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;}
+    a{color: #666; text-decoration:none;}
+    .layui-hide{display: none}
+</style>
+<table>
+    <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 id="tbodtr">
+    <tr>
+
+    </tr>
+    </tbody>
+</table>
+<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
+<script>
+    $.ajax({
+        url:"/print/tushugebiedengjibu_list_print",
+        type:"get",
+        data:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        success:function (result) {
+            if(result.code == 200){
+
+                for(var i=0;i<result.data.length;i++){
+                    var str = result.data[i];
+                    var strtime=str.createtime;
+                    var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(strtime)
+                    if(str){
+                        if(str.barcode == null){
+                            str.barcode = "";
+                        }
+                        if(str.title == null){
+                            str.title = "";
+                        }
+                        if(str.author == null){
+                            str.author = "";
+                        }
+                        if(str.publisher == null){
+                            str.publisher = "";
+                        }
+                        if(str.publishdate == null){
+                            str.publishdate = "";
+                        }
+                        if(str.newsource == null){
+                            str.newsource = "";
+                        }
+                        if(str.totalpages == null){
+                            str.totalpages = "";
+                        }
+                        if(str.price == null){
+                            str.price = "";
+                        }
+                        if(str.fuzhu == null){
+                            str.fuzhu = "";
+                        }
+                    }
+                    var html1 = "<tr>\n" +
+                        "                    <td>"+newDate+"</td>\n" +
+                        "                    <td>"+str.barcode+"</td>\n" +
+                        "                    <td>"+str.title+"</td>\n" +
+                        "                    <td>"+str.author+"</td>\n" +
+                        "                    <td>"+str.publisher+"</td>\n" +
+                        "                    <td>"+str.publishdate+"</td>\n" +
+                        "                    <td>"+str.newsource+"</td>\n" +
+                        "                    <td>"+str.totalpages+"</td>\n" +
+                        "                    <td>"+str.price+"</td>\n" +
+                        "                    <td>"+str.fuzhu+"</td>\n" +
+                        "                </tr>";
+                    $("#tbodtr").append(html1);
+                }
+
+            }
+        }
+    });
+    function iframePrint(){    //添加打印事件
+        window.print();
+    }
+</script>

+ 155 - 0
src/main/webapp/view/print/tushuzhuxiaobaobiao.html

@@ -0,0 +1,155 @@
+#@layout()
+#define main()
+    <div id="navTitle" class="nav-title"></div>
+    <div class="layui-form" lay-filter="queryform">
+        <!--<form lay-filter="queryForm" class="query-form layui-form">-->
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <input type="text" name="starttime" id="starttime" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+        <label for="endtime">到:</label>
+        <input type="text" name="endtime" id="endtime" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+        <button type="button" lay-submit="" lay-filter="*" class="layui-btn layui-btn-sm" id="tushuzhuxioadayin">打印</button>
+        <!--</form>-->
+    </div>
+<iframe style="display: none" src="/view/print/tushuzhuxiaodayin.html" frameborder="0" id="printIframe" name="printIframe" ></iframe>
+<script type="text/html" id="toolbarDemo">
+</script>
+<div class="layui-tab-item layui-show">
+    <span id="totalprice" style="padding-left: 5%;color: red;"></span>
+</div>
+<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
+#end
+#define methods()
+<script>
+    var startdate = new Date();
+    var enddate = new Date();
+    startdate.setDate(startdate.getDate()-365);
+    var laydate = layui.laydate;
+    //常规用法
+    laydate.render({
+        elem: '#starttime',
+        value:startdate,
+        done: function(value, date, endDate){
+        }
+    });
+    laydate.render({
+        elem: '#endtime',
+        value:enddate,
+        done: function(value, date, endDate){
+        }
+    });
+
+    var d = {};
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        d[pair[0]]=pair[1];
+    }
+    d["bean.orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+    var tableIns = table.render({
+        elem: '#dataTable'
+        ,url:'/print/tushuzhuxiaobaobiao_list'
+        ,where:d
+        ,toolbar: '#toolbarDemo'
+        ,title: '图书注销报表'
+        ,cols: [[
+            {type: 'numbers', title: '序号'},
+            {field:'barcode', title:'条码',minWidth:100}
+            ,{field:'isbn', title:'ISBN',minWidth: 155}
+            ,{field:'title', title:'正题名',minWidth: 300}
+            ,{field:'author', title:'著者',minWidth: 150}
+            ,{field:'publisher', title:'出版社',minWidth: 200}
+            ,{field:'publishdate', title:'出版年月',minWidth: 120}
+            ,{field:'bookno', title:'索书号',minWidth: 120}
+            ,{field:'price', title:'定价(元)',minWidth: 90}
+            ,{field:'library', title:'馆藏地',minWidth: 180}
+            ,{field:'reason', title:'注销原因',minWidth: 120}
+            ,{field:'createtime', title:'注销日期',minWidth: 120}
+            ,{field:'realname', title:'操作员',minWidth: 120}
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+    form.on('submit(exportExcel)', function(data){
+        var starttime = data.field.starttime;
+        var endtime = data.field.endtime;
+        var url = "/print/tushuzhuxiaobaobiao_export?orgid="+JSON.parse(sessionStorage.loginData).orgid+"&token="+JSON.parse(sessionStorage.loginData).token;
+        if("" != starttime) {
+            url += "&starttime="+starttime;
+        }
+        if("" != endtime) {
+            url += "&endtime="+endtime;
+        }
+        window.open(url)
+    });
+
+
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                    data.field.orgid = JSON.parse(sessionStorage.loginData).orgid;
+                    $.ajax({
+                        url:"/print/tushuzhuxiaobaobiao_totalprice",
+                        type:"POST",
+                        data:data.field,
+                        success:function (result) {
+                            if(result.code == 200){
+                                var totalprice = "注销总金额(元):"+result.data;
+                                $("#totalprice").text(totalprice);
+                            }
+                        }
+                    });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+    $.ajax({
+        url:"/print/tushuzhuxiaobaobiao_totalprice",
+        type:"POST",
+        data:{orgid:JSON.parse(sessionStorage.loginData).orgid},
+        success:function (result) {
+            if(result.code == 200){
+                var totalprice = "注销总金额(元):"+result.data;
+                $("#totalprice").text(totalprice);
+            }
+        }
+    });
+    $("#tushuzhuxioadayin").on("click",function(){
+        document.getElementById('printIframe').contentWindow.iframePrint();
+    })
+</script>
+#end

+ 94 - 0
src/main/webapp/view/print/tushuzhuxiaodayin.html

@@ -0,0 +1,94 @@
+<style>
+    body{font-size: 12px; color: #666;}
+    table{width: 100%; border-collapse: collapse; border-spacing: 0;}
+    th,td{line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;}
+    a{color: #666; text-decoration:none;}
+    .layui-hide{display: none}
+</style>
+<table>
+    <thead>
+    <tr>
+        <th>条码</th>
+        <th>ISBN</th>
+        <th>正题名</th>
+        <th>著者</th>
+        <th>出版社</th>
+        <th>定价(元)</th>
+        <th>索书号</th>
+        <th>馆藏地</th>
+        <th>注销原因</th>
+        <th>注销日期</th>
+        <th>操作员</th>
+    </tr>
+    </thead>
+    <tbody id="tbodtr">
+    <tr>
+
+    </tr>
+    </tbody>
+</table>
+<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
+<script>
+    $.ajax({
+        url:"/print/tushuzhuxiaobaobiao_list_print",
+        type:"get",
+        data:{token:JSON.parse(sessionStorage.loginData).token},
+        success:function (result) {
+            if(result.code == 200){
+
+                for(var i=0;i<result.data.length;i++){
+                    var str = result.data[i];
+                    var strtime=str.createtime;
+                    var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(strtime)
+                    if(str){
+                        if(str.bookno == null){
+                            str.bookno = "";
+                        }
+                        if(str.title == null){
+                            str.title = "";
+                        }
+                        if(str.author == null){
+                            str.author = "";
+                        }
+                        if(str.publisher == null){
+                            str.publisher = "";
+                        }
+                        if(str.publishdate == null){
+                            str.publishdate = "";
+                        }
+                        if(str.library == null){
+                            str.library = "";
+                        }
+                        if(str.totalpages == null){
+                            str.totalpages = "";
+                        }
+                        if(str.price == null){
+                            str.price = "";
+                        }
+                        if(str.booknum == null){
+                            str.booknum = "";
+                        }
+                    }
+                    var html1 = "<tr>\n" +
+                        "                    <td>"+str.barcode+"</td>\n" +
+                        "                    <td>"+str.isbn+"</td>\n" +
+                        "                    <td>"+str.title+"</td>\n" +
+                        "                    <td>"+str.author+"</td>\n" +
+                        "                    <td>"+str.publisher+"</td>\n" +
+                        "                    <td>"+str.price+"</td>\n" +
+                        "                    <td>"+str.bookno+"</td>\n" +
+                        "                    <td>"+str.library+"</td>\n" +
+                        "                    <td>"+str.reason+"</td>\n" +
+                        "                    <td>"+str.createtime+"</td>\n" +
+                        "                    <td>"+str.realname+"</td>\n" +
+                        "                </tr>";
+                    $("#tbodtr").append(html1);
+                }
+
+            }
+        }
+    });
+    function iframePrint(){    //添加打印事件
+        window.print();
+    }
+</script>

+ 109 - 0
src/main/webapp/view/print/tushuzondengjidayin.html

@@ -0,0 +1,109 @@
+<style>
+    body{font-size: 12px; color: #666;}
+    table{width: 100%; border-collapse: collapse; border-spacing: 0;}
+    th,td{line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: center; font-size: 12px; color: #666;}
+    a{color: #666; text-decoration:none;}
+    .layui-hide{display: none}
+</style>
+<table>
+    <thead>
+    <tr>
+        <th rowspan="2">日期</th>
+        <th rowspan="2">图书批次</th>
+        <th rowspan="2">总种数</th>
+        <th rowspan="2">总册数</th>
+        <th rowspan="2">金额</th>
+        <th colspan="2">A 马列主义毛泽东思想</th>
+        <th colspan="2">B 哲学、宗教</th>
+        <th colspan="2">C-K 社会科学</th>
+        <th colspan="2">N-X 自然科学</th>
+        <th colspan="2">Z 综合性图书</th>
+    </tr>
+    <tr>
+        <th>册数</th>
+        <th>种数</th>
+        <th>册数</th>
+        <th>种数</th>
+        <th>册数</th>
+        <th>种数</th>
+        <th>册数</th>
+        <th>种数</th>
+        <th>册数</th>
+        <th>种数</th>
+    </tr>
+    </thead>
+    <tbody id="tbodtr">
+    <tr>
+
+    </tr>
+    </tbody>
+</table>
+<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
+<script>
+    $.ajax({
+        url:"/print/tushuzongkuodengjibu_list_print",
+        type:"get",
+        data:{token:JSON.parse(sessionStorage.loginData).token},
+        success:function (result) {
+            if(result.code == 200){
+
+                for(var i=0;i<result.data.length;i++){
+                    var str = result.data[i];
+                    var strtime=str.createtime;
+                    var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(strtime)
+                    if(str){
+                        if(str.barcode == null){
+                            str.barcode = "";
+                        }
+                        if(str.title == null){
+                            str.title = "";
+                        }
+                        if(str.author == null){
+                            str.author = "";
+                        }
+                        if(str.publisher == null){
+                            str.publisher = "";
+                        }
+                        if(str.publishdate == null){
+                            str.publishdate = "";
+                        }
+                        if(str.newsource == null){
+                            str.newsource = "";
+                        }
+                        if(str.totalpages == null){
+                            str.totalpages = "";
+                        }
+                        if(str.price == null){
+                            str.price = "";
+                        }
+                        if(str.fuzhu == null){
+                            str.fuzhu = "";
+                        }
+                    }
+                    var html1 = "<tr>\n" +
+                        "                    <td>"+newDate+"</td>\n" +
+                        "                    <td>"+str.batchname+"</td>\n" +
+                        "                    <td>"+str.zongzhongshu+"</td>\n" +
+                        "                    <td>"+str.zongceshu+"</td>\n" +
+                        "                    <td>"+str.totalprice+"</td>\n" +
+                        "                    <td>"+str.type1_cs+"</td>\n" +
+                        "                    <td>"+str.type1_zs+"</td>\n" +
+                        "                    <td>"+str.type2_cs+"</td>\n" +
+                        "                    <td>"+str.type2_zs+"</td>\n" +
+                        "                    <td>"+str.type3_cs+"</td>\n" +
+                        "                    <td>"+str.type3_zs+"</td>\n" +
+                        "                    <td>"+str.type4_cs+"</td>\n" +
+                        "                    <td>"+str.type4_zs+"</td>\n" +
+                        "                    <td>"+str.type5_cs+"</td>\n" +
+                        "                    <td>"+str.type5_zs+"</td>\n" +
+                        "                </tr>";
+                    $("#tbodtr").append(html1);
+                }
+
+            }
+        }
+    });
+    function iframePrint(){    //添加打印事件
+        window.print();
+    }
+</script>

+ 124 - 0
src/main/webapp/view/print/tushuzongkuodengjibu.html

@@ -0,0 +1,124 @@
+#@layout()
+#define main()
+<style>
+    div.layui-table-page {
+        display: none;
+    }
+</style>
+<div>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <input type="text" name="starttime" id="starttime" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期" autocomplete="off">
+        <label for="endtime">到:</label>
+        <input type="text" name="endtime" id="endtime" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间" autocomplete="off">
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <button lay-submit type="button" class="layui-btn layui-btn-sm" lay-filter="exportExcel">导出</button>
+        <button type="button" lay-submit="" lay-filter="*" class="layui-btn layui-btn-sm" id="tushuzondengjidayin">打印</button>
+    </form>
+    <iframe style="display: none" src="/view/print/tushuzondengjidayin.html" frameborder="0" id="printIframe" name="printIframe" ></iframe>
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+</div>
+#end
+#define methods()
+<script>
+    var linkuserLevel;
+    // var readerQueryJudge = linkuserLevel||JSON.parse(sessionStorage.userLevel);
+    var laydate = layui.laydate;
+    //常规用法
+    laydate.render({
+        elem: '#starttime',
+        done: function(value, date, endDate){
+            //console.log(value); //得到日期生成的值,如:2017-08-18
+            //console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            //console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endtime',
+        done: function(value, date, endDate){
+
+        }
+    });
+
+
+    myTable.list({
+        url:"/print/tushuzongkuodengjibu_list",
+        postData:{},
+        elem:"#dataTable",
+        totalRow: true,
+        done:function(){
+        },
+        cols: [
+            [ //表头
+                {type: 'numbers', title: '序号'},
+                {field: 'createtime', title: '日期',rowspan:2,templet:function(d){
+                        if(d.createtime){
+                            return d.createtime.split(" ")[0];
+                        }else {
+                            return d.createtime;
+                        }
+                    }}
+                ,{field:'batchname', title: '图书批次', align:'center',rowspan:2}
+                ,{field: 'zongzhongshu', title: '总种数',rowspan:2}
+                ,{field: 'zongceshu', title: '总册数', align:'center',rowspan:2}
+                ,{field: 'totalprice', title: '金额',rowspan:2}
+                ,{ title: 'A 马列主义毛泽东思想', align:'center',colspan:2,width:200}
+                ,{ title: 'B 哲学、宗教', align:'center',colspan:2}
+                ,{ title: 'C-K 社会科学', align:'center',colspan:2}
+                ,{title: 'N-X 自然科学', align:'center',colspan:2}
+                ,{ title: 'Z 综合性图书', align:'center',colspan:2}
+            ],
+            [ //表头
+                {field: 'type1_cs', title: '册数', align:'center',width:100}
+                ,{field: 'type1_zs',title: '种数', align:'center',width:100}
+                ,{field: 'type2_cs', title: '册数', align:'center'}
+                ,{field: 'type2_zs',title: '种数', align:'center'}
+                ,{field: 'type3_cs', title: '册数', align:'center'}
+                ,{field: 'type3_zs',title: '种数', align:'center'}
+                ,{field: 'type4_cs', title: '册数', align:'center'}
+                ,{field: 'type4_zs',title: '种数', align:'center'}
+                ,{field: 'type5_cs', title: '册数', align:'center'}
+                ,{field: 'type5_zs',title: '种数', align:'center'}
+            ]
+        ]
+    });
+    form.on('submit(exportExcel)', function(data){
+        var starttime = data.field.starttime;
+        var endtime = data.field.endtime;
+        var url = "/print/tushuzongkuodengjibu_export?orgid="+JSON.parse(sessionStorage.loginData).orgid;
+        if("" != starttime) {
+            url += "&starttime="+starttime;
+        }
+        if("" != endtime) {
+            url += "&endtime="+endtime;
+        }
+        window.open(url)
+    });
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+
+    $("#tushuzondengjidayin").on("click",function(){
+        document.getElementById('printIframe').contentWindow.iframePrint();
+    })
+</script>
+#end

+ 157 - 0
src/main/webapp/view/query-stats/addStats.html

@@ -0,0 +1,157 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">学校所在地</label>
+        <div class="layui-input-inline">
+            <select name="areatypeid" id="areaoptionView">
+
+            </select>
+        </div>
+        <label for="">学校类别</label>
+        <div class="layui-input-inline">
+            <select name="schoolcategoryid" id="typeoptionView">
+
+            </select>
+        </div>
+        <label for="">学校</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        <!--<input type="text" name="orgid" id="searchBtnorgid"style="display: none;" >-->
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <div style="padding: 10px 0 0 40px;">
+            <label for="startDate">时间选择</label>
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width:100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        </div>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    searchForm.init("areaoptionView","/org/areaType");
+    searchForm.init("typeoptionView","/org/schoolcategory");
+    var linkuserLevel;
+    if(getUrlParam("orgid")){
+        judgeLevel(getUrlParam("orgid"));
+    }
+    var readerQueryJudge = linkuserLevel||JSON.parse(sessionStorage.userLevel);
+
+    switch(readerQueryJudge){
+        case 1:
+            window.location.href = "addStatsState";
+            break;
+        case 2:
+            window.location.href = "addStatsCity";
+            break;
+        default:
+            break;
+    };
+
+
+
+    var startdate = new Date();
+    startdate.setMonth(startdate.getMonth()-1);
+    laydate.render({
+        elem: '#startDate',
+        value:startdate
+    });
+
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+    //合计赋值
+    function totalValue(sendData){
+        myAjax({url:"/selectcount/incrementSummarylTotalList",data:sendData},function(result){
+            $(".layui-table-total").find("td[data-field='students']").children().text(result.data.students||0);
+            $(".layui-table-total").find("td[data-field='dzs']").children().text(result.data.dzs||0);
+            $(".layui-table-total").find("td[data-field='tssl']").children().text(result.data.tssl||0);
+            $(".layui-table-total").find("td[data-field='jcsl']").children().text(result.data.jcsl||0);
+            $(".layui-table-total").find("td[data-field='sjcs']").children().text(result.data.sjcs?result.data.sjcs.toFixed(2):0);
+            $(".layui-table-total").find("td[data-field='rjjycs']").children().text(result.data.rjjycs?result.data.rjjycs.toFixed(2):0);
+            $(".layui-table-total").find("td[data-field='nddz']").children().text(result.data.nddz?result.data.nddz.toFixed(2):0);
+        });
+    };
+    myTable.list({
+        url:"/selectcount/incrementSummarylListProvinces",
+        postData:{orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid},
+        elem:"#dataTable",
+        totalRow: true,
+        done:function(){
+            totalValue({orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid});
+        },
+        cols: [
+            [ //表头
+                {type: 'numbers', title: '序号',rowspan:2}
+                ,{field: 'orgname', title: '学校名称',align:'center'}
+                ,{field:'category', title: '学校类别', align:'center',totalRowText:"合计"}
+                ,{field: 'students', title: '学生数', align:'center',templet:function(d){
+                    return d.students||0;
+                }}
+                ,{field: 'dzs', title: '读者数', align:'center',templet:function(d){
+                    return d.dzs||0;
+                }}
+                ,{field: 'tssl', title: '图书数量(册)', width:130,align:'center',templet:function(d){
+                    return d.tssl||0;
+                }}
+                ,{field: 'jcsl', title: '借出数量(册)',  width:130,align:'center',templet:function(d){
+                    return d.jcsl||0;
+                }}
+                ,{field: 'sjcs',title: '生均册数', width:120, align:'center',templet:function(d){
+                    return d.sjcs?d.sjcs.toFixed(2):0;
+                }}
+                ,{field: 'rjjycs', title: ' 人均借阅册数', width:130, align:'center',templet:function(d){
+                    return d.rjjycs?d.rjjycs.toFixed(2):0;
+                }}
+                ,{field: 'nddz', title: '生均年递增量(较上一年比较)', align:'center',templet:function(d){
+                    return d.nddz?d.nddz.toFixed(2):0;
+                }}
+
+            ]
+        ]
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        console.log($("[lay-filter='layLinkage']").val());
+        data.field.schoolid = $("[lay-filter='layLinkage']").val();
+        data.field.token = sessionStorage.token;
+        data.field.orgid = JSON.parse(sessionStorage.loginData).orgid;
+
+        table.reload("dataTable",{
+            // url:"/selectcount/collectionSearch",
+            where:_extends(data.field,{
+                orgid:data.field.orgid || getUrlParam("orgid")
+            }),
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    totalValue(data.field);
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+    //$("#searchBtnorgid").val(getUrlParam("orgid") || JSON.parse(sessionStorage.loginData).orgid);
+    searchForm.linkage(getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid);
+</script>
+#end

+ 131 - 0
src/main/webapp/view/query-stats/addStatsCity.html

@@ -0,0 +1,131 @@
+<!--#@layout()-->
+<!--#define main()-->
+<!--<div>-->
+
+    <!--<div id="navTitle" class="nav-title"></div>-->
+    <!--<form lay-filter="queryForm" class="query-form layui-form">-->
+        <!--<b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>-->
+
+        <!--<label for="">机构</label>-->
+        <!--<div style="display: inline-block;" id="linkDiv"></div>-->
+
+        <!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-->
+        <!--<button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm layui-btn-normal">查询</button>-->
+        <!--<div style="padding: 10px 0 0 40px;">-->
+            <!--<label for="startDate">时间选择:</label>-->
+            <!--<input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="开始日期">-->
+            <!--<label for="endDate">到:</label>-->
+            <!--<input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 80px;height: 30px;" placeholder="结束时间">-->
+        <!--</div>-->
+    <!--</form>-->
+
+    <!--<div class="line"></div>-->
+    <!--<table id="dataTable" lay-filter="mainTable"></table>-->
+<!--</div>-->
+<!--#end-->
+<!--#define methods()-->
+
+<!--<script>-->
+    <!--var linkuserLevel;-->
+
+
+    <!--// var readerQueryJudge = linkuserLevel||JSON.parse(sessionStorage.userLevel);-->
+    <!--laydate.render({-->
+        <!--elem: '#startDate'-->
+    <!--});-->
+    <!--laydate.render({-->
+        <!--elem: '#endDate',-->
+        <!--value:new Date()-->
+    <!--});-->
+
+    <!--//合计赋值-->
+    <!--function totalValue(sendData){-->
+        <!--myAjax({url:"/selectcount/incrementSummarylTotalList",data:sendData},function(result){-->
+            <!--$(".layui-table-total").find("td[data-field='students']").children().text(result.data.students||0);-->
+            <!--$(".layui-table-total").find("td[data-field='dzs']").children().text(result.data.dzs||0);-->
+            <!--$(".layui-table-total").find("td[data-field='tssl']").children().text(result.data.tssl||0);-->
+            <!--$(".layui-table-total").find("td[data-field='jcsl']").children().text(result.data.jcsl||0);-->
+            <!--$(".layui-table-total").find("td[data-field='sjcs']").children().text(result.data.sjcs?result.data.sjcs.toFixed(2):0);-->
+            <!--$(".layui-table-total").find("td[data-field='rjjycs']").children().text(result.data.rjjycs?result.data.rjjycs.toFixed(2):0);-->
+            <!--$(".layui-table-total").find("td[data-field='nddz']").children().text(result.data.nddz?result.data.nddz.toFixed(2):0);-->
+        <!--});-->
+    <!--};-->
+    <!--myTable.list({-->
+        <!--url:"/selectcount/incrementSummarylListProvinces",-->
+        <!--elem:"#dataTable",-->
+        <!--postData:{orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid},-->
+        <!--totalRow: true,-->
+        <!--done:function(){-->
+            <!--totalValue({orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid});-->
+        <!--},-->
+        <!--cols: [-->
+            <!--[ //表头-->
+                <!--{type: 'numbers', title: '序号',rowspan:2}-->
+                <!--,{field:'orgname', title: '机构名称', align:'center',totalRowText:"合计",templet:function(d){-->
+                    <!--return "<a href='addStats?orgid="+d.orgid+"'>"+d.orgname+"</a>";-->
+                <!--}}-->
+                <!--,{field: 'students', title: '学生数', align:'center',templet:function(d){-->
+                    <!--return d.students||0;-->
+                <!--}}-->
+                <!--,{field: 'dzs', title: '读者数', align:'center',templet:function(d){-->
+                    <!--return d.dzs||0;-->
+                <!--}}-->
+                <!--,{field: 'tssl', title: '图书数量(册)', align:'center',templet:function(d){-->
+                    <!--return d.tssl||0;-->
+                <!--}}-->
+                <!--,{field: 'jcsl', title: '借出数量(册)', align:'center',templet:function(d){-->
+                    <!--return d.jcsl||0;-->
+                <!--}}-->
+                <!--,{field: 'sjcs',title: '生均册数', align:'center',templet:function(d){-->
+                    <!--return d.sjcs?d.sjcs.toFixed(2):0;-->
+                <!--}}-->
+                <!--,{field: 'rjjycs', title: '人均借阅册数', align:'center',templet:function(d){-->
+                    <!--return d.rjjycs?d.rjjycs.toFixed(2):0;-->
+                <!--}}-->
+                <!--,{field: 'nddz', title: '生均年递增量(较上一年比较)', align:'center',templet:function(d){-->
+                    <!--return d.nddz?d.nddz.toFixed(2):0;-->
+                <!--}}-->
+
+            <!--]-->
+        <!--]-->
+    <!--});-->
+
+    <!--form.on('submit(searchBtn)', function(data){-->
+        <!--data.field.token = sessionStorage.token;-->
+
+        <!--judgeLevel(data.field.orgid);-->
+        <!--switch(linkuserLevel){-->
+            <!--case 1:-->
+                <!--// window.location.href = "addStatsState";-->
+                <!--break;-->
+            <!--case 2:-->
+                <!--// window.location.href = "addStatsCity";-->
+                <!--break;-->
+            <!--default:-->
+
+                <!--window.location.href = "addStats?orgid="+data.field.orgid;-->
+                <!--break;-->
+        <!--};-->
+
+
+        <!--table.reload("dataTable",{-->
+            <!--// url:"/selectcount/collectionSearch",-->
+            <!--where:data.field,-->
+            <!--page: {-->
+                <!--curr: 1-->
+            <!--},-->
+            <!--done:function(result){-->
+                <!--if(result.code==200){-->
+                    <!--totalValue(data.field);-->
+                    <!--layer.msg('查询成功', { icon: 1 });-->
+                <!--}else {-->
+                    <!--layer.msg(result.msg, { icon: 5 });-->
+                <!--}-->
+            <!--}-->
+        <!--});-->
+        <!--return false;-->
+    <!--});-->
+
+    <!--searchForm.linkage(getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid);-->
+<!--</script>-->
+<!--#end-->

+ 155 - 0
src/main/webapp/view/query-stats/addStatsState.html

@@ -0,0 +1,155 @@
+#@layout()
+#define main()
+<div>
+
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">机构</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <div style="padding: 10px 0 0 40px;">
+            <label for="startDate">时间选择:</label>
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到:</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        </div>
+    </form>
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+
+    var startdate = new Date();
+    startdate.setMonth(startdate.getMonth()-1);
+    laydate.render({
+        elem: '#startDate',
+        value:startdate
+    });
+
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+    var linkuserLevel;
+
+    // laydate.render({
+    //     elem: '#startDate'
+    // });
+    // laydate.render({
+    //     elem: '#endDate',
+    //     value:new Date()
+    // });
+
+    //合计赋值
+    function totalValue(sendData){
+        myAjax({url:"/selectcount/incrementSummarylTotalList",data:sendData},function(result){
+            $(".layui-table-total").find("td[data-field='students']").children().text(result.data.students||0);
+            $(".layui-table-total").find("td[data-field='dzs']").children().text(result.data.dzs||0);
+            $(".layui-table-total").find("td[data-field='tssl']").children().text(result.data.tssl||0);
+            $(".layui-table-total").find("td[data-field='jcsl']").children().text(result.data.jcsl||0);
+            $(".layui-table-total").find("td[data-field='sjcs']").children().text(result.data.sjcs?result.data.sjcs.toFixed(2):0);
+            $(".layui-table-total").find("td[data-field='rjjycs']").children().text(result.data.rjjycs?result.data.rjjycs.toFixed(2):0);
+            $(".layui-table-total").find("td[data-field='nddz']").children().text(result.data.nddz?result.data.nddz.toFixed(2):0);
+        });
+    };
+    myTable.list({
+        url:"/selectcount/incrementSummarylListProvinces",
+        elem:"#dataTable",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        totalRow: true,
+        done:function(){
+            totalValue({orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token});
+        },
+        cols: [
+            [
+                {type: 'numbers', title: '序号',rowspan:2}
+                ,{field:'orgname', title: '机构名称', align:'center',totalRowText:"合计",width:200,templet:function(d){
+                    //return "<a href='addStatsCity?orgid="+d.orgid+"'>"+d.orgname+"</a>";
+                    if(d.orgtypeid == 5){
+                        return d.orgname;
+                    }else {
+                        return '<a href="javascript:showChild('+d.orgid +',' + d.orgtypeid+')">' + d.orgname + '</a>';
+                    }
+                }}
+                ,{field: 'students', title: '学生数', align:'center',width:120,templet:function(d){
+                    return d.students||0;
+                }}
+                ,{field: 'dzs', title: '读者数', align:'center',width:120,templet:function(d){
+                    return d.dzs||0;
+                }}
+                ,{field: 'tssl', title: '图书数量(册)',width:130, align:'center',templet:function(d){
+                    return d.tssl||0;
+                }}
+                ,{field: 'jcsl', title: '借出数量(册)',width:130, align:'center',templet:function(d){
+                    return d.jcsl||0;
+                }}
+                ,{field: 'sjcs',title: '生均册数', width:120,align:'center',templet:function(d){
+                    return d.sjcs?d.sjcs.toFixed(2):0;
+                }}
+                ,{field: 'rjjycs', title: '人均借阅册数',width:130, align:'center',templet:function(d){
+                    return d.rjjycs?d.rjjycs.toFixed(2):0;
+                }}
+                ,{field: 'nddz', title: '生均年递增量(较上一年比较)',align:'center',templet:function(d){
+                    return d.nddz?d.nddz.toFixed(2):0;
+                }}
+
+            ]
+        ]
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    totalValue(data.field);
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+    function showChild( corgid,orgtypeid){
+        judgeLevel(corgid);
+        var d = {};
+        var t = $('#queryform').serializeArray();
+        var params='';
+        $.each(t, function () {
+            if (this.name=='orgid'){
+
+            }else {
+                d[this.name] = this.value;
+                params=params+this.name+'='+this.value+'&';
+            }
+        });
+        if (3==orgtypeid) {
+            window.location.href="addStats?"+params+"orgid="+corgid;
+            return;
+        }
+
+        d['orgid']=corgid;
+        // alert(JSON.stringify(d));
+        table.reload('dataTable',{
+            where:d,
+            done:function(){
+                totalValue(d);
+            }
+            ,page: {
+                pageNumber: 1 //重新从第 1 页开始
+            }
+        });
+    }
+    searchForm.linkage(JSON.parse(sessionStorage.loginData).orgid);
+</script>
+#end

+ 41 - 0
src/main/webapp/view/query-stats/bookRecommendList.html

@@ -0,0 +1,41 @@
+#@layout()
+#define main()
+<div>
+
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+        <label for="">学校</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+
+    myTable.list({
+        url:"/bookrecommend/recommendList",
+        elem:"#dataTable",
+        toolbar:"#tableHeader",
+        cols: [[ //表头
+            {type: 'numbers', title: '序号'}
+            ,{field: 'isbn', title: 'ISBN',align:'center'}
+            ,{field: 'bookname', title: '题名', align:'center'}
+            ,{field: 'author', title: '著者', align:'center'}
+            ,{field: 'publisher', title: '出版社', align:'center'}
+            ,{field: 'orgname', title: '荐购学校', align:'center'}
+
+        ]]
+    });
+
+    searchForm.linkage(JSON.parse(sessionStorage.loginData).orgid);
+    searchForm.submit('submit(searchBtn)',"/bookrecommend/recommendList");
+</script>
+#end

+ 99 - 0
src/main/webapp/view/query-stats/bookRecommendReviewList.html

@@ -0,0 +1,99 @@
+#@layout()
+#define main()
+<div>
+
+    <div id="navTitle" class="nav-title"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+
+    myTable.list({
+        url:"/bookrecommend/reviewList",
+        elem:"#dataTable",
+        toolbar:"#tableHeader",
+        cols: [[ //表头
+            {type: 'numbers', title: '序号'}
+            ,{field: 'isbn', title: 'ISBN',align:'center'}
+            ,{field: 'bookname', title: '题名', align:'center'}
+            ,{field: 'author', title: '著者', align:'center'}
+            ,{field: 'publisher', title: '出版社', align:'center'}
+            ,{field: 'status', title: '状态', align:'center',templet: function(d){
+                    if (d.status==1){
+                        return"已审核";
+                    }else if (d.status==0){
+                        return"未审核";
+                    }
+                }}
+            ,{title: '操作', align:'center',templet:function(d){
+                    if(d.status==0){
+                        d= JSON.stringify(d);
+                        return "<button type='button' class='lostBookFun layui-btn layui-btn-xs' onclick='reviewInfo("+d+")'>审核</button>"
+                    } else {
+                        return ""
+                    }
+                }}
+        ]],
+        done:function(){
+            window.reviewInfo = function(arg){
+                $("#isbn").val(arg.isbn);
+                $("#bookname").val(arg.bookname);
+                $("#author").val(arg.author);
+                $("#publisher").val(arg.publisher);
+                layer.open({  //预约取图书
+                    type: 1,
+                    area:['300px','300px'],
+                    btn:['通过','取消'],
+                    content: $('#bookrecommend'),
+                    yes:function(index, layero){
+                        var param={
+                            orgid:JSON.parse(sessionStorage.loginData).orgid,
+                            token:JSON.parse(sessionStorage.loginData).token
+                        };
+                        param["bean.id"] = arg.id;
+                        param["bean.isbn"]=$("#isbn").val();
+                        param["bean.bookname"]=$("#bookname").val();
+                        param["bean.author"]=$("#author").val();
+                        param["bean.publisher"]=$("#publisher").val();
+                        $.post("/bookrecommend/review",param,function (data) {
+                            if (data.code==200){
+                                location.reload();
+                            }
+                        });
+                    },
+                    btn2:function(index, layero){
+                        layer.close(index);
+                    }
+                });
+                form.render();
+            }
+        }
+    });
+
+    searchForm.submit('submit(searchBtn)',"/bookrecommend/list");
+
+    function fIsbn(value) {
+        $("#isbn").val(fmtISBN(value));
+    }
+</script>
+#end
+<div id="bookrecommend" class="areaSum clearfix dialog-form" style="display: none;">
+    <form class="query-form layui-form clearfix" id="readerBookForm" lay-filter="readerBookForm">
+        <input type="hidden" name="type" id="type">
+        <div>
+            <label for="">ISBN:</label><input type="text" class="layui-input-inline layui-input" style="width: 150px;height: 30px; margin-bottom: 10px" placeholder="" id="isbn" name="isbn">
+        </div>
+        <div>
+            <label for="">题名:</label><input type="text" class="layui-input-inline layui-input" style="width: 150px;height: 30px;margin-bottom: 10px" placeholder="" id="bookname" name="bookname">
+        </div>
+        <div>
+            <label for="">作者:</label><input type="text" class="layui-input-inline layui-input" style="width: 150px;height: 30px;margin-bottom: 10px" placeholder="" id="author" name="author">
+        </div>
+        <div>
+            <label for="">出版社:</label><input type="text" class="layui-input-inline layui-input" style="width: 150px;height: 30px;margin-bottom: 10px" placeholder="" id="publisher" name="publisher">
+        </div>
+
+    </form>
+</div>

+ 91 - 0
src/main/webapp/view/query-stats/child/readerDetail.html

@@ -0,0 +1,91 @@
+#@layout()
+#define main()
+<div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <b id="readerName"> </b>
+        <br>
+        <br>
+        <label for="startDate">时间选择</label>
+        <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+        <label for="endDate">到</label>
+        <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    console.log(getUrlParam("orgid"));
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date(),
+        done: function(value, date, endDate){
+
+        }
+    });
+    // searchForm.submit('submit(searchBtn)',"selectcount/schoolOmnibusList");
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        data.field.readerid = getUrlParam("readerid");
+        tableIns.reload({
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    layer.msg('查询成功', { icon: 1 });
+                }
+            }
+        });
+        return false;
+    });
+
+    myTable.list({
+        url:"/selectcount/readerJieyue",
+        elem:"#dataTable",
+        postData:{readerid:getUrlParam("readerid")},
+        cols: [
+            [ //表头
+                {type: 'numbers', title: '序号',rowspan:2}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field: 'title', title: '题名', align:'center'}
+                ,{field: 'author', title: '著者', align:'center'}
+                ,{field: 'publisher', title: '出版社', align:'center'}
+                ,{title: '借书时间', align:'center',templet:function(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{title: '还书时间', align:'center',templet:function(d){
+                    return d.returntime?d.returntime.split(" ")[0]:"暂未还书";
+                }}
+            ]
+        ]
+    });
+    $.get("/selectcount/readerName",{readerid:getUrlParam("readerid")},function(result){
+        $("#readerName").text(result.data.realname+" 借阅记录明细");
+    });
+
+</script>
+#end

+ 224 - 0
src/main/webapp/view/query-stats/libChange.html

@@ -0,0 +1,224 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+        <label for="">机构</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm ">查询</button>
+        <div style="padding: 10px 0 0 50px;">
+            <label for="startDate">时间选择</label>
+            <input type="radio" name="month" value="1" title="近1个月" checked>
+            <input type="radio" name="month" value="6" title="近6个月">
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="0" title="选择时间段">
+            <input type="text" name="kssj" id="startDate" disabled class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到</label>
+            <input type="text" name="jssj" id="endDate" disabled class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        </div>
+    </form>
+    <table id="oneTable" lay-filter="oneTable"></table>
+
+</div>
+#end
+#define methods()
+
+<script>
+
+    // var linkuserLevel;
+    // if(getUrlParam("orgid")) {
+    //     judgeLevel(getUrlParam("orgid"));
+    // }
+    // var readerQueryJudge = linkuserLevel||JSON.parse(sessionStorage.userLevel);
+    // switch(readerQueryJudge){
+    //     case 1:
+    //         //window.location.href = "libChange";
+    //         break;
+    //     case 2:
+    //         window.location.href = "libChangeCity";
+    //         break;
+    //     case 3:
+    //         window.location.href = "libChangeStats";
+    //         break;
+    //     default:
+    //         // window.location.href = "readerQuery";
+    //         break;
+    // };
+
+    form.on('radio()', function(data){
+        if(data.value == 0){
+            $("#startDate").removeAttr("disabled");
+            $("#endDate").removeAttr("disabled");
+        }else {
+            $("#startDate").attr("disabled","disabled");
+            $("#endDate").attr("disabled","disabled");
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+    function totalValue(corgid,orgtypeid){
+        var d = {};
+        var t = $('form').serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        if (3==orgtypeid) {
+            window.location.href="libChangeStats?orgid="+corgid;
+            return;
+        }
+        if (5==orgtypeid) {
+            window.location.href="libChangeStats?orgid="+corgid+"&kssj="+d.kssj+"&jssj="+d.jssj+"&month="+d.month;
+            return;
+        }
+        d['orgid']=corgid['orgid'];
+        var month = $('input:radio:checked').val();
+        if(month){
+            switch(month){
+                case "0":
+                    d.kssj = $("#startDate").val();
+                    d.jssj = $("#endDate").val();
+                    break;
+                case "1":
+                    d.kssj = getDate(1);
+                    break;
+                case "6":
+                    d.kssj = getDate(6);
+                    break;
+                case "12":
+                    d.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        myAjax({url:"/selectcount/booksChangeSummaryTotalList",data:d},function(result){
+            $(".layui-table-total").find("td[data-field='qcs']").children().text(result.data.qcs);
+            $(".layui-table-total").find("td[data-field='xzs']").children().text(result.data.xzs);
+            $(".layui-table-total").find("td[data-field='zxs']").children().text(result.data.zxs);
+            $(".layui-table-total").find("td[data-field='qms']").children().text(result.data.qms);
+        });
+    };
+    myTable.list({
+        url:"/selectcount/booksChangeProvincesList",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token,kssj:getDate($('input:radio:checked').val())},
+        elem:"#oneTable",
+        toolbar:true,
+        totalRow: true,
+        done:function(){
+            totalValue({orgid:JSON.parse(sessionStorage.loginData).orgid});
+        },
+        cols: [
+            [
+                {type: 'numbers', title: '序号'}
+                ,{field:'orgname', title: '单位名称', align:'center',templet:function(d){
+                    //return "<a href='libChangeCity?orgid="+d.orgid+"'>"+d.orgname+"</a>";
+                    return '<a href="javascript:showChild('+d.orgid +',' + d.orgtypeid+')">' + d.orgname + '</a>';
+                }, totalRowText: '合计'}
+                ,{field:'qcs', title: '期初数(册)', align:'center'}
+                ,{field: 'xzs', title: '新增(册)', align:'center'}
+                ,{field: 'zxs', title: '注销(册)', align:'center'}
+                ,{field: 'qms', title: '期末数(册)', align:'center'}
+            ]
+        ]
+    });
+
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        delete data.field.month;
+        var month = $('input:radio:checked').val();
+        if(month != 0) {
+            delete data.field.jssj ;
+        }
+        table.reload("oneTable",{
+            // url:"/selectcount/collectionSearch",
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    totalValue(data.field);
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+    function showChild( corgid,orgtypeid){
+
+        // var params='';
+        var d = {};
+        var t = $('form').serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        if (3==orgtypeid) {
+            window.location.href="libChangeStats?orgid="+corgid;
+            return;
+        }
+        if (5==orgtypeid) {
+            window.location.href="libChangeStats?orgid="+corgid+"&kssj="+d.kssj+"&jssj="+d.jssj+"&month="+d.month;
+            return;
+        }
+
+        d['orgid']=corgid;
+        // alert(JSON.stringify(d));
+        table.reload('oneTable',{
+            where:d,
+            done:function(){
+                totalValue(corgid,orgtypeid);
+            }
+            ,page: {
+                pageNumber: 1 //重新从第 1 页开始
+            }
+        });
+    }
+    searchForm.linkage(JSON.parse(sessionStorage.loginData).orgid);
+</script>
+#end

+ 149 - 0
src/main/webapp/view/query-stats/libChangeCity.html

@@ -0,0 +1,149 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+        <label for="">机构</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <div style="padding: 10px 0 0 50px;">
+            <label for="startDate">时间选择:</label>
+            <input type="radio" name="month" value="1" title="近1个月" checked>
+            <input type="radio" name="month" value="6" title="近6个月">
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="" title="选择时间段">
+            <input type="text" name="kssj" id="startDate" disabled class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到:</label>
+            <input type="text" name="jssj" id="endDate" disabled class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        </div>
+    </form>
+    <table id="oneTable" lay-filter="oneTable"></table>
+
+</div>
+#end
+#define methods()
+
+<script>
+
+    var linkuserLevel;
+    if(getUrlParam("orgid")) {
+        judgeLevel(getUrlParam("orgid"));
+    }
+    var readerQueryJudge = linkuserLevel||JSON.parse(sessionStorage.userLevel);
+    switch(readerQueryJudge){
+        case 1:
+            //window.location.href = "libChange";
+            break;
+        case 2:
+            //window.location.href = "libChangeCity";
+            break;
+        case 3:
+            window.location.href = "libChangeSchool";
+            break;
+        default:
+            // window.location.href = "readerQuery";
+            break;
+    };
+
+    form.on('radio()', function(data){
+        console.log(data.elem); //得到radio原始DOM对象
+        console.log(data.value); //被点击的radio的value值
+        if(!data.value){
+            $("#startDate").removeAttr("disabled");
+            $("#endDate").removeAttr("disabled");
+        }else {
+            $("#startDate").attr("disabled","disabled");
+            $("#endDate").attr("disabled","disabled");
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+
+
+    myTable.list({
+        url:"/selectcount/booksChangeProvincesList",
+        postData:{orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        elem:"#oneTable",
+        toolbar:true,
+        totalRow: true,
+        done:function(result){
+            var qichuceshu = 0;
+            var zhuxiaoshu = 0;
+            var cinzengceshu = 0;
+            var qimoceshu = 0;
+            for(var i=0;i<result.data.length;i++){
+                qichuceshu+=result.data[i].qcs;
+                cinzengceshu+=result.data[i].xzs;
+                zhuxiaoshu+=result.data[i].zxs;
+                qimoceshu+=result.data[i].qms;
+            }
+
+            $(".layui-table-total").find("td[data-field='qcs']").children().text(qichuceshu);
+            $(".layui-table-total").find("td[data-field='xzs']").children().text(cinzengceshu);
+            $(".layui-table-total").find("td[data-field='zxs']").children().text(zhuxiaoshu);
+            $(".layui-table-total").find("td[data-field='qms']").children().text(qimoceshu);
+        },
+        cols: [
+            [
+                {type: 'numbers', title: '序号'}
+                ,{field:'orgname', title: '单位名称', align:'center',templet:function(d){
+                    return "<a href='libChangeStats?orgid="+d.orgid+"'>"+d.orgname+"</a>";
+                }, totalRowText: '合计'}
+                ,{field:'qcs', title: '期初数(册)', align:'center'}
+                ,{field: 'xzs', title: '新增(册)', align:'center'}
+                ,{field: 'zxs', title: '注销(册)', align:'center'}
+                ,{field: 'qms', title: '期末数(册)', align:'center'}
+            ]
+        ]
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+
+
+        table.reload("oneTable",{
+            // url:"/selectcount/collectionSearch",
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    totalValue(data.field);
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        return false;
+    });
+    function totalValue(sendData){
+        myAjax({url:"/selectcount/booksChangeSummaryTotalList",data:sendData},function(result){
+            $(".layui-table-total").find("td[data-field='qcs']").children().text(result.data.qcs);
+            $(".layui-table-total").find("td[data-field='xzs']").children().text(result.data.xzs);
+            $(".layui-table-total").find("td[data-field='zxs']").children().text(result.data.zxs);
+            $(".layui-table-total").find("td[data-field='qms']").children().text(result.data.qms);
+        });
+    };
+
+    searchForm.linkage(getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid);
+</script>
+#end

+ 293 - 0
src/main/webapp/view/query-stats/libChangeStats.html

@@ -0,0 +1,293 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">学校所在地</label>
+        <div class="layui-input-inline">
+            <select name="areatypeid" id="areaoptionView">
+
+            </select>
+        </div>
+        <label for="">学校类别</label>
+        <div class="layui-input-inline">
+            <select name="schoolcategoryid" id="typeoptionView">
+
+            </select>
+        </div>
+        <label for="" id="dis">学校</label>
+        <div id="linkDiv" style="display: inline-block;"></div>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <div style="padding: 10px 0 0 50px;">
+            <label for="startDate">时间选择</label>
+            <input type="radio" name="month" value="1" title="近1个月" checked>
+            <input type="radio" name="month" value="6" title="近6个月">
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="" title="选择时间段">
+            <input type="text" name="kssj" id="startDate" disabled class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到</label>
+            <input type="text" name="jssj" id="endDate" disabled class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+        </div>
+    </form>
+
+    <div class="line"></div>
+    <div class="layui-tab layui-tab-brief">
+        <ul class="layui-tab-title">
+            <li class="layui-this">学校汇总统计</li>
+            <li>新增记录</li>
+            <li>注销记录</li>
+        </ul>
+        <div class="layui-tab-content">
+            <div class="layui-tab-item layui-show">
+                <table id="oneTable" lay-filter="oneTable"></table>
+            </div>
+            <div class="layui-tab-item">
+                <table id="twoTable" lay-filter="twoTable"></table>
+            </div>
+            <div class="layui-tab-item">
+                <table id="threeTable" lay-filter="threeTable"></table>
+            </div>
+        </div>
+    </div>
+
+</div>
+#end
+#define methods()
+
+<script>
+
+    var url = location.search; //获取url中"?"符后的字串 ('?modFlag=business&role=1')
+    var theRequest = new Object();
+    if ( url.indexOf( "?" ) != -1 ) {
+        var str = url.substr( 1 ); //substr()方法返回从参数值开始到结束的字符串;
+        var strs = str.split( "&" );
+        for ( var i = 0; i < strs.length; i++ ) {
+            theRequest[ strs[ i ].split( "=" )[ 0 ] ] = ( strs[ i ].split( "=" )[ 1 ] );
+        }
+    }
+    var kssj = theRequest.kssj;
+    var jssj = theRequest.jssj;
+    var month  = theRequest.month;
+
+
+    if(kssj != null && kssj != 'undefined'){
+        $("input[name=month][value='']").attr("checked",true);
+        $("#startDate").val(kssj);
+        $("#endDate").val(jssj);
+    }
+    if(month != null){
+        if(month == 1){
+            $("input[name=month][value='1']").attr("checked",true);
+            kssj = getDate(1);
+        }else if(month == 6){
+            $("input[name=month][value='6']").attr("checked",true);
+            kssj = getDate(6);
+        }else if(month == 12){
+            $("input[name=month][value='12']").attr("checked",true);
+            kssj = getDate(12);
+        }
+    }
+
+    function getDate(month){
+        var nowdate = new Date();
+        nowdate.setMonth(nowdate.getMonth()-month);
+        var y = nowdate.getFullYear();
+        var m = nowdate.getMonth()+1;
+        if(m<10) m="0"+m;
+        var d = nowdate.getDate();
+        if(d<10) d="0"+d;
+        return y+'-'+m+'-'+d;
+    }
+
+
+    var linkuserLevel;
+    if(getUrlParam("orgid")) {
+        judgeLevel(getUrlParam("orgid"));
+    }
+    // var readerQueryJudge = linkuserLevel||JSON.parse(sessionStorage.userLevel);
+    // switch(readerQueryJudge){
+    //     case 1:
+    //         window.location.href = "libChange";
+    //         break;
+    //     case 2:
+    //         window.location.href = "libChangeCity";
+    //         break;
+    //     case 3:
+    //         //window.location.href = "libChangeStats";
+    //         break;
+    //     default:
+    //         // window.location.href = "readerQuery";
+    //         break;
+    // };
+
+    searchForm.init("areaoptionView","/org/areaType");
+    searchForm.init("typeoptionView","/org/schoolcategory");
+
+    form.on('radio()', function(data){
+        if(!data.value){
+            $("#startDate").removeAttr("disabled");
+            $("#endDate").removeAttr("disabled");
+        }else {
+            $("#startDate").attr("disabled","disabled");
+            $("#endDate").attr("disabled","disabled");
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate'
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date()
+    });
+    var nullVal;
+    myTable.list({
+        url:"/selectcount/booksChangeProvincesList",
+        postData:{orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token,kssj:kssj,jssj:$("#endDate").val()},
+        elem:"#oneTable",
+        toolbar:true,
+        done:function(result){
+            console.log(result);
+            nullVal = result.data[0].orgname;
+        },
+        cols: [
+            [
+                {type: 'numbers', title: '序号'}
+                ,{field:'orgname', title: '机构名称', align:'center',width:180}
+                ,{field:'qcs', title: '期初数(册)', align:'center'}
+                ,{field: 'xzs', title: '新增(册)', align:'center'}
+                ,{field: 'zxs', title: '注销(册)', align:'center'}
+                ,{field: 'qms', title: '期末数(册)', align:'center'}
+            ]
+        ]
+    });
+    myTable.list({
+        url:"/selectcount/booksNewlyAddedList",
+        postData:{orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token,kssj:kssj,jssj:$("#endDate").val()},
+        elem:"#twoTable",
+        toolbar:true,
+        cols: [
+            [ //表头新增
+                {type: 'numbers', title: '序号'}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field: 'title', title: '题名', align:'center'}
+                ,{field: 'author', title: '著者', align:'center'}
+                ,{field: 'publisher', title: '出版社', align:'center'}
+                ,{field: 'fbs',title: '复本数', align:'center'}
+                ,{field: 'price',title: '定价(元)', align:'center'}
+            ]
+        ]
+    });
+    myTable.list({
+        url:"/selectcount/booksCancelList",
+        postData:{orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token,kssj:kssj,jssj:$("#endDate").val()},
+        elem:"#threeTable",
+        toolbar:true,
+        cols: [
+            [ //表头 注销
+                {type: 'numbers', title: '序号'}
+                ,{field: 'barcode',title: '条码', align:'center'}
+                ,{field:'isbn', title: 'ISBN', align:'center'}
+                ,{field: 'title', title: '题名', align:'center'}
+                ,{field: 'author', title: '著者', align:'center'}
+                ,{field: 'publisher', title: '出版社', align:'center'}
+                ,{field: 'createtime',title: '注销日期', align:'center',templet:function(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field: 'reason',title: '注销原因', align:'center'}
+            ]
+        ]
+    });
+
+    form.on('submit(searchBtn)', function(data){
+
+        if(data.field.month){
+            switch(data.field.month){
+                case "1":
+                    data.field.kssj = getDate(1);
+                    break;
+                case "6":
+                    data.field.kssj = getDate(6);
+                    break;
+                case "12":
+                    data.field.kssj = getDate(12);
+                    break;
+                default:
+                    break;
+            }
+        }
+        delete data.field.month;
+        data.field.token = sessionStorage.token;
+
+        table.reload("oneTable",{
+            // url:"/selectcount/collectionSearch",
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    // totalValue(data.field);
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+        table.reload("twoTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        table.reload("threeTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        return false;
+    });
+
+    var val = searchForm.linkage(getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid);
+
+
+
+    // var linkDiv = document.getElementById("linkDiv").value;
+    // console.log("linkDiv --> "+linkDiv);
+    // if(!searchForm.linkage(getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid)){
+    //     console.log(searchForm.linkage(getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid));
+    //     $("#dis").hide();
+    // }
+    setTimeout(function(){
+        myAjax({
+            url:"/selectcount/linkAge",
+            data:{orgid:getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid},
+            async:false
+        },function(result){
+
+            if(result.data.length==0){
+                // $("#linkDiv").html('<option value="100009" disabled="" selected="">'+nullVal+'</option>');
+                $("#linkDiv").html('<input type="text" disabled value="'+nullVal+'" style="width: 200px;" class="layui-input-inline layui-input">');
+                form.render('select');
+            }
+        });
+
+    },3000);
+
+</script>
+#end

+ 121 - 0
src/main/webapp/view/query-stats/libFlowStats.html

@@ -0,0 +1,121 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <div style="padding: 10px 0 0 50px;">
+            <input type="hidden" name="orgid">
+            <label for="startDate">时间选择</label>
+            <input type="radio" name="month" value="1" title="近1个月">
+            <input type="radio" name="month" value="6" title="近6个月" checked>
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="" title="选择时间段">
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+            <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        </div>
+
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    searchForm.init("areaoptionView","/org/areaType");
+    searchForm.init("typeoptionView","/org/schoolcategory");
+
+    var d = {};
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        d[pair[0]]=pair[1];
+    }
+
+    form.val('queryForm',d);
+
+    form.on('radio()', function(data){
+        //console.log(data.elem); //得到radio原始DOM对象
+       // console.log(data.value); //被点击的radio的value值
+        if(!data.value){
+            $("#startDate").removeAttr("disabled");
+            $("#endDate").removeAttr("disabled");
+        }else {
+            $("#startDate").attr("disabled","disabled");
+            $("#endDate").attr("disabled","disabled");
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date(),
+        done: function(value, date, endDate){
+
+        }
+    });
+
+
+
+
+    myTable.list({
+        url:"/selectcount/schoolsJieyueRecordList",
+        elem:"#dataTable",
+        postData:d,
+        toolbar:true,
+        cols: [
+            [ //表头
+                {type: 'numbers', title: '序号',rowspan:2}
+                // ,{field:'flag', title: '文献类型', align:'center',templet:function(d){
+                //     return d.flag==0?"图书":"期刊";
+                // }}
+                ,{field:'isbn', title: 'ISBN', align:'center',width:200}
+                ,{field: 'title', title: '题名', align:'center',width:200}
+                ,{field: 'realname', title: '读者姓名', align:'center',width:180}
+                ,{field: 'cardnumber', title: '读者证号', align:'center',width:180}
+                ,{field: 'createtime',title: '借书时间', align:'center',width:180,templet(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field: 'returntime',title: '还书时间', align:'center',width:180,templet(d){
+                    return d.returntime =='' || d.returntime ==null?"" :d.returntime.split(" ")[0];
+                }}
+                ,{field: 'continuenum',title: '续借次数', align:'center'}
+                ,{field: 'orgname',title: '所在图书馆', align:'center',width:180}
+            ]
+        ]
+    });
+
+    layui.form.val('queryForm',d);
+    layui.form.render();
+
+    searchForm.submit('submit(searchBtn)',"/selectcount/schoolsJieyueRecordList");
+
+
+</script>
+#end

+ 0 - 0
src/main/webapp/view/query-stats/libFlowStatsCity.html


+ 141 - 0
src/main/webapp/view/query-stats/libFlowStatsR.html

@@ -0,0 +1,141 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <input type="hidden" name="status" value="1,2">
+        <input type="hidden" name="orgid" >
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">学校所在地</label>
+        <div class="layui-input-inline">
+            <select name="areatypeid" id="areaoptionView">
+
+            </select>
+        </div>
+        <label for="">学校类别</label>
+        <div class="layui-input-inline">
+            <select name="schoolcategoryid" id="typeoptionView">
+
+            </select>
+        </div>
+        <label for="">学校</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <div style="padding: 10px 0 0 50px;">
+            <label for="startDate">时间选择:</label>
+            <input type="radio" name="month" value="1" title="近1个月">
+            <input type="radio" name="month" value="6" title="近6个月" checked>
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="" title="选择时间段">
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到:</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+            <!--<label for="">文献类型</label>-->
+            <!--<div class="layui-input-inline">-->
+                <!--<select name="wxlx">-->
+                    <!--<option value="">请选择</option>-->
+                    <!--<option value="0">图书</option>-->
+                    <!--<option value="1">期刊</option>-->
+                <!--</select>-->
+            <!--</div>-->
+        </div>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    searchForm.init("areaoptionView","/org/areaType");
+    searchForm.init("typeoptionView","/org/schoolcategory");
+
+    var d = {status:'1,2'};
+    var query = window.location.search.substring(1);
+    var vars = query.split("&");
+    for (var i=0;i<vars.length;i++) {
+        var pair = vars[i].split("=");
+        d[pair[0]]=pair[1];
+    }
+    form.val(d);
+
+    form.on('radio()', function(data){
+        //console.log(data.elem); //得到radio原始DOM对象
+       // console.log(data.value); //被点击的radio的value值
+        if(!data.value){
+            $("#startDate").removeAttr("disabled");
+            $("#endDate").removeAttr("disabled");
+        }else {
+            $("#startDate").attr("disabled","disabled");
+            $("#endDate").attr("disabled","disabled");
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date(),
+        done: function(value, date, endDate){
+
+        }
+    });
+
+    myTable.list({
+        url:"/selectcount/schoolsJieyueRecordList",
+        elem:"#dataTable",
+        postData:d,
+        toolbar:true,
+        cols: [
+            [ //表头
+                {type: 'numbers', title: '序号',rowspan:2}
+                // ,{field:'flag', title: '文献类型', align:'center',templet:function(d){
+                //     return d.flag==0?"图书":"期刊";
+                // }}
+                ,{field:'isbn', title: 'isbn', align:'center'}
+                ,{field: 'title', title: '题名', align:'center',width:270}
+                ,{field: 'realname', title: '读者姓名', align:'center'}
+                ,{field: 'cardnumber', title: '读者证号', align:'center'}
+                ,{field: 'createtime',title: '借书时间', align:'center',templet(d){
+                    if(d.createtime){
+                        return d.createtime.split(" ")[0];
+                    }else {
+                        return d.createtime;
+                    }
+                }}
+                ,{field: 'returntime',title: '还书时间', align:'center',templet(d){
+                    return d.returntime =='' || d.returntime ==null?"" :d.returntime.split(" ")[0];
+                }}
+                ,{field: 'continuenum',title: '续借次数', align:'center'}
+                ,{field: 'orgname',title: '所在图书馆', align:'center'}
+            ]
+        ]
+    });
+
+    layui.form.val('queryForm',d);
+    layui.form.render();
+
+    searchForm.submit('submit(searchBtn)',"/selectcount/schoolsJieyueRecordList");
+
+
+</script>
+#end

+ 94 - 0
src/main/webapp/view/query-stats/libFlowStatsState.html

@@ -0,0 +1,94 @@
+#@layout()
+#define main()
+<div>
+
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">机构</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <div style="padding: 10px 0 0 50px;">
+            <label for="startDate">时间选择:</label>
+            <input type="radio" name="month" value="1" title="近1个月">
+            <input type="radio" name="month" value="6" title="近6个月" checked>
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="" title="选择时间段">
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到:</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+
+        </div>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+
+    var linkuserLevel;
+
+
+
+    myTable.list({
+        url:"/selectcount/schoolsJieyueRecordList",
+        elem:"#dataTable",
+        postData:{orgid:JSON.parse(sessionStorage.loginData).orgid,token:JSON.parse(sessionStorage.loginData).token},
+        toolbar:"#tableHeader",
+        cols: [[ //表头
+            {type: 'numbers', title: '序号'}
+            ,{field: 'orgname', title: '单位名称',align:'center',templet:function(d){
+                    return "<a href='readerQueryCity?orgid="+d.orgid+"'>"+d.orgname+"</a>"
+                }}
+            ,{field: 'dzs', title: '借书数量', align:'center'}
+            ,{field: 'dzs', title: '还书数量', align:'center'}
+
+        ]]
+    });
+
+    searchForm.linkage(JSON.parse(sessionStorage.loginData).orgid);
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+
+        judgeLevel(data.field.orgid);
+        switch(linkuserLevel){
+            case 1:
+                // window.location.href = "libFlowStatsState?orgid="+linkuserLevel;
+                break;
+            case 2:
+                window.location.href = "libFlowStatsCity?orgid="+data.field.orgid;
+                break;
+            default:
+                window.location.href = "libFlowStats?orgid="+data.field.orgid;
+                break;
+        };
+
+
+        table.reload("dataTable",{
+            // url:"/selectcount/collectionSearch",
+            where:data.field,
+            page: {
+                curr: 1
+            },
+            done:function(result){
+                if(result.code==200){
+                    totalValue(data.field);
+                    layer.msg('查询成功', { icon: 1 });
+                }else {
+                    layer.msg(result.msg, { icon: 5 });
+                }
+            }
+        });
+
+        return false;
+    });
+
+
+</script>
+#end

+ 150 - 0
src/main/webapp/view/query-stats/libFlowStatsreport.html

@@ -0,0 +1,150 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form id="queryform" lay-filter="queryForm" class="query-form layui-form">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+        <label for="">机构</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+        <div style="padding: 10px 0 0 50px;">
+            <label for="startDate">时间选择:</label>
+            <input type="radio" name="month" value="1" title="近1个月" checked>
+            <input type="radio" name="month" value="6" title="近6个月">
+            <input type="radio" name="month" value="12" title="近1年">
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <input type="radio" name="month" value="" title="选择时间段">
+            <input type="text" name="kssj" id="startDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="开始日期">
+            <label for="endDate">到:</label>
+            <input type="text" name="jssj" id="endDate" class="layui-input-inline layui-input" style="width: 100px;height: 30px;" placeholder="结束时间">
+            <!--<label for="">文献类型</label>-->
+            <!--<div class="layui-input-inline">-->
+                <!--<select name="wxlx">-->
+                    <!--<option value="">请选择</option>-->
+                    <!--<option value="0">图书</option>-->
+                    <!--<option value="1">期刊</option>-->
+                <!--</select>-->
+            <!--</div>-->
+        </div>
+    </form>
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    searchForm.init("areaoptionView","/org/areaType");
+    searchForm.init("typeoptionView","/org/schoolcategory");
+
+    form.on('radio()', function(data){
+        //console.log(data.elem); //得到radio原始DOM对象
+       /// console.log(data.value); //被点击的radio的value值
+        if(!data.value){
+            $("#startDate").removeAttr("disabled");
+            $("#endDate").removeAttr("disabled");
+        }else {
+            $("#startDate").attr("disabled","disabled");
+            $("#endDate").attr("disabled","disabled");
+        }
+    });
+
+    laydate.render({
+        elem: '#startDate',
+        ready:function(){
+            console.log('时间')
+        },
+        done: function(value, date, endDate){
+            console.log(value); //得到日期生成的值,如:2017-08-18
+            console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
+            console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
+        }
+    });
+    laydate.render({
+        elem: '#endDate',
+        value:new Date(),
+        done: function(value, date, endDate){
+
+        }
+    });
+
+    var d = {};
+    var t = $('#queryform').serializeArray();
+    $.each(t, function () {
+        d[this.name] = this.value;
+    });
+
+    myTable.list({
+        url:"/selectcount/schoolsJieyueReportRecordList",
+        elem:"#dataTable",
+        postData:d,
+        toolbar:true,
+        //dopage:false,
+        cols: [
+            [
+                {type: 'numbers', title: '序号'},
+                {field:'orgname', title: '单位名称', align:'center'}
+                ,{title: '借书数量', align:'center', templet: function (d) {
+                    return '<a href="javascript:showChild('+d.orgid +',' + d.orgtypeid+',' + 0+')">' + d.outcnt + '</a>';
+                    }
+                }
+                ,{title: '还书数量', align:'center', templet: function (d) {
+                        return '<a href="javascript:showChild('+d.orgid +',' + d.orgtypeid+',' + 1+')">'  + d.incnt + '</a>';
+                    }
+                }
+            ]
+        ]
+    });
+
+    function showChild( corgid,orgtypeid,status){
+        console.log("orgtypeid="+orgtypeid+"status"+status);
+        var d = {};
+        var t = $('#queryform').serializeArray();
+        var params='';
+        $.each(t, function () {
+            if (this.name=='orgid'){
+
+            }else {
+                d[this.name] = this.value;
+                params=params+this.name+'='+this.value+'&';
+            }
+        });
+
+        if (5==orgtypeid) {
+
+            if(status == 0){
+                window.location.href="libFlowStats?"+params+"orgid="+corgid;
+                return;
+            }else if(status == 1) {
+
+                window.location.href="libFlowStatsR?"+params+"orgid="+corgid;
+                return;
+            }
+
+        }
+        d['orgid']=corgid;
+       // alert(JSON.stringify(d));
+
+        table.reload('dataTable',{
+            where:d
+            ,page: {
+                pageNumber: 1 //重新从第 1 页开始
+            }
+        });
+    }
+
+    searchForm.submit('submit(searchBtn)',"/selectcount/schoolsJieyueRecordList");
+
+    searchForm.linkage(JSON.parse(sessionStorage.loginData).orgid);
+</script>
+#end

+ 181 - 0
src/main/webapp/view/query-stats/libNumberStats.html

@@ -0,0 +1,181 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form" id="queryForm">
+        <input type="hidden" id="curorgid">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+        <label for="">学校所在地</label>
+        <div class="layui-input-inline">
+            <select name="areatypeid" id="areaoptionView">
+
+            </select>
+        </div>
+        <label for="">学校类别</label>
+        <div class="layui-input-inline">
+            <select name="schoolcategoryid" id="typeoptionView">
+
+            </select>
+        </div>
+
+        <label for="">学校</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+
+<script>
+    searchForm.init("areaoptionView","/org/areaType");
+    searchForm.init("typeoptionView","/org/schoolcategory");
+
+
+
+    function getRequestParams() {
+        var d = {};
+        var query = window.location.search.substring(1);
+        var vars = query.split("&");
+        for (var i=0;i<vars.length;i++) {
+            var pair = vars[i].split("=");
+            d[pair[0]]=pair[1];
+        }
+        return d;
+    }
+
+    form.val('queryForm',getRequestParams());
+    $("#curorgid").val(getRequestParams()["orgid"]);
+
+    function getQueryCondition() {
+        var d = {};
+        d["token"]=JSON.parse(sessionStorage.loginData).token;
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        var orgid=$("#curorgid").val();
+        if ( ! ('orgid' in d) ){
+            if (orgid==''){
+                d["orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+            }else {
+                d["orgid"]=orgid;
+            }
+        }
+        console.log(d)
+        return d;
+    }
+
+    //合计赋值
+    function totalValue(sendData){
+        myAjax({url:"/selectcount/booksNumReportTotalList",data:sendData},function(result){
+            $(".layui-table-total").find("td[data-field='xss']").children().text(result.data.xss||0);
+            $(".layui-table-total").find("td[data-field='dzs']").children().text(result.data.dzs||0);
+            $(".layui-table-total").find("td[data-field='tszcs']").children().text(result.data.tszcs||0);
+            $(".layui-table-total").find("td[data-field='tsfbl']").children().text(result.data.tsfbl?result.data.tsfbl.toFixed(2):"");
+            $(".layui-table-total").find("td[data-field='tssjcs']").children().text(result.data.tssjcs);
+            $(".layui-table-total").find("td[data-field='qkzs']").children().text(result.data.qkzs||0);
+        });
+    };
+
+
+    table.render({
+        url:"/selectcount/booksNumList",
+        where:getQueryCondition(),
+        elem:"#dataTable",
+        toolbar:"#tableHeader",
+        totalRow: true,
+        done:function(){
+            totalValue(getQueryCondition());
+        },
+        cols: [[ //表头
+            {type: 'numbers', title: '序号'},
+           {field: 'orgname', title: '学校名称', align: 'center', totalRowText: '合计'}
+            , {field: 'category', title: '学校类别', align: 'center'}
+            , {field: 'xss', title: '学生数', align: 'center'}
+            , {field: 'dzs', title: '读者数', align: 'center'}
+            , {field:'tszcs',title: '图书数量(册)', width:130, align: 'center', templet: function (d) {
+                    if(d.tszcs){
+                        return '<a href="libBookDetail?orgid=' + d.orgid + '">' + d.tszcs + '</a>';
+                    }else{
+                        return "0";
+                    }
+                }
+            }
+            , {field: 'tsfbl', title: '平均复本数',width:130, align: 'center',templet:function (d) {
+                    if(d.tsfbl){
+                        return d.tsfbl.toFixed(2);
+                    }else{
+                        return "0";
+                    }
+                }}
+            , {field:'tssjcs',
+                title: '生均册数', align: 'center',width:120, templet: function (d) {
+                    if(d.sjcs){
+                        return d.sjcs.toFixed(2);
+                    }else{
+                        return "0";
+                    }
+
+                }
+            }
+            , {field:'qkzs', title: '期刊数量(种)',width:130, align: 'center',  templet: function (d) {
+                    return d.qkzs;
+                }
+            }
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        if (data.field.orgid== getRequestParams()["orgid"]){
+            data.field.orgid=$("#curorgid").val();
+        }else if (data.field.orgid=='undefined'){
+            data.field.orgid=JSON.parse(sessionStorage.loginData).orgid;
+        }
+        console.log(data.field);
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        return false;
+    });
+    //searchForm.linkage(getRequestParams()["orgid"]);
+    searchForm.linkage(getUrlParam("orgid")||JSON.parse(sessionStorage.loginData).orgid);
+</script>
+#end

+ 10 - 0
src/main/webapp/view/query-stats/libNumberStatsCity.html

@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<body>
+
+</body>
+</html>

+ 10 - 0
src/main/webapp/view/query-stats/libNumberStatsState.html

@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<body>
+
+</body>
+</html>

+ 156 - 0
src/main/webapp/view/query-stats/libNumberStatsreport.html

@@ -0,0 +1,156 @@
+#@layout()
+#define main()
+<div>
+    <script type="text/html" id="optionTpl">
+        <option value="">请选择</option>
+        {{#  layui.each(d, function(index, item){ }}
+        <option value="{{item.id}}">{{ item.text }}</option>
+        {{#  }); }}
+    </script>
+    <div id="navTitle" class="nav-title"></div>
+    <form lay-filter="queryForm" class="query-form layui-form" id="queryForm">
+        <input type="hidden" id="curorgid">
+        <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+        <label for="">机构</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </form>
+
+
+
+    <div class="line"></div>
+    <table id="dataTable" lay-filter="mainTable"></table>
+</div>
+#end
+#define methods()
+<script>
+    searchForm.init("areaoptionView","/org/areaType");
+    searchForm.init("typeoptionView","/org/schoolcategory");
+
+    function getQueryCondition() {
+        var d = {};
+        d["token"]=JSON.parse(sessionStorage.loginData).token;
+        var t = $("#queryForm").serializeArray();
+        $.each(t, function () {
+            d[this.name] = this.value;
+        });
+        var orgid=$("#curorgid").val();
+        if ( ! ('orgid' in d) ){
+            if (orgid==''){
+                d["orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+            }else {
+                d["orgid"]=orgid;
+            }
+        }
+        return d;
+    }
+
+
+    //合计赋值
+    function totalValue(sendData){
+        myAjax({url:"/selectcount/booksNumReportTotalList",data:sendData},function(result){
+            $(".layui-table-total").find("td[data-field='xss']").children().text(result.data.xss||0);
+            $(".layui-table-total").find("td[data-field='dzs']").children().text(result.data.dzs||0);
+            $(".layui-table-total").find("td[data-field='tszcs']").children().text(result.data.tszcs||0);
+            $(".layui-table-total").find("td[data-field='tssjcs']").children().text(result.data.tssjcs);
+            $(".layui-table-total").find("td[data-field='qkzs']").children().text(result.data.qkzs||0);
+        });
+    };
+
+    table.render({
+        url:"/selectcount/booksNumReportList",
+        where:getQueryCondition(),
+        elem:"#dataTable",
+        totalRow: true,
+        done:function(){
+            totalValue(getQueryCondition())
+        },
+        toolbar:"#tableHeader",
+        cols: [[
+            {type: 'numbers', title: '序号'},
+            {field: 'orgname', title: '单位名称', align: 'center' ,totalRowText: '合计'}
+            , {field: 'xss', title: '学生数', align: 'center'}
+            , {field: 'dzs', title: '读者数', align: 'center'}
+            , {field:'tszcs',
+                title: '图书数量(册)', width:130, align: 'center', templet: function (d) {
+                    if (d.orgtypeid==5){
+                        return '<a href="libBookDetail?orgid=' + d.orgid + '">' + d.tszcs + '</a>';
+                    }else {
+                        return '<a href="javascript:showChild('+d.orgid +',' + d.orgtypeid+')">' + d.tszcs + '</a>';
+                    }
+                }
+            }
+            , {field:'tssjcs',
+                title: '生均册数', width:120, align: 'center', templet: function (d) {
+                    if (d.tssjcs){
+                        return d.tssjcs.toFixed(2);
+                    }
+                    return "";
+                }
+            }
+            , {field:'qkzs',
+                title: '期刊数量(种)', width:130, align: 'center', templet: function (d) {
+                    return d.qkzs;
+                }
+            }
+        ]]
+        ,request: {
+            pageName: 'pageNumber' //页码的参数名称,默认:page
+            , limitName: 'pageSize' //每页数据量的参数名,默认:limit
+        }
+        ,page: true
+        ,response: {
+            statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
+        },
+        parseData: function(result) {
+            //alert(JSON.stringify(result))
+            if(result.code==200){
+                return {
+                    "code": result.code, //解析接口状态
+                    "msg": result.msg, //解析提示文本
+                    "count": result.data.totalRow, //解析数据长度
+                    "data": result.data.list //解析数据列表
+                };
+            }else {
+                layer.msg(result.msg, { icon: 5 });
+            }
+        }
+    });
+
+    function showChild( corgid,orgtypeid){
+        if (3==orgtypeid) {
+            window.location.href="libNumberStats?orgid="+corgid;
+            return;
+        }
+        $("#curorgid").val(corgid);
+        var params =getQueryCondition();
+        table.reload('dataTable',{
+            where:params
+            ,page: {
+                pageNumber: 1 //重新从第 1 页开始
+            }
+        });
+    }
+
+
+    form.on('submit(searchBtn)', function(data){
+        data.field.token = sessionStorage.token;
+        if (data.field.orgid== JSON.parse(sessionStorage.loginData).orgid || data.field.orgid ==''){
+            data.field.orgid=$("#curorgid").val();
+        }
+        if (data.field.orgid ==''){
+            data.field.orgid=JSON.parse(sessionStorage.loginData).orgid;
+        }
+        console.log(data);
+        table.reload("dataTable",{
+            where:data.field,
+            page: {
+                curr: 1
+            }
+        });
+        return false;
+    });
+    searchForm.linkage(JSON.parse(sessionStorage.loginData).orgid);
+</script>
+#end

+ 123 - 0
src/main/webapp/view/query-stats/libQuery.html

@@ -0,0 +1,123 @@
+#@layout()
+#define main()
+<div>
+    <div class="query-form layui-form">
+    <div id="navTitle" class="nav-title"></div>
+    <div class="layui-tab">
+        <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+        <ul class="layui-tab-title" style="color: #666;">
+            <li class="layui-this">检索</li>
+            <li >高级检索</li>
+        </ul>
+        <div class="layui-tab-content">
+            <div class="layui-tab-item layui-show">
+                <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b> &nbsp;&nbsp;
+                <input type="text" name="countent" style="width: 200px;" class="layui-input-inline layui-input" placeholder="题名,作者,出版社,ISBN">
+            </div>
+            <div class="layui-tab-item">
+                <b>查询&nbsp;&nbsp;&nbsp;&nbsp;</b>
+
+                    <label for="" style="padding-left: 12px;">题名</label>
+                    <input type="text" name="bean.title" class="layui-input-inline layui-input" placeholder="">
+                    <label for="">作者</label>
+                    <input type="text" name="bean.author" class="layui-input-inline layui-input" placeholder="">
+                    <label for="">出版社</label>
+                    <input type="text" name="bean.publisher" class="layui-input-inline layui-input" placeholder="">
+                    <label for="">ISBN</label>
+                    <input type="text" name="bean.isbn" id="ISBN" onblur="fIsbn(this.value)" class="layui-input-inline layui-input" placeholder="">
+
+            </div>
+        </div>
+        </div>
+    </div>
+    <div style="padding-left: 10px;">
+        <label for="">机构</label>
+        <div style="display: inline-block;" id="linkDiv"></div>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button lay-submit lay-filter="searchBtn" class="layui-btn layui-btn-sm">查询</button>
+    </div>
+    </div>
+    <table id="dataTable" lay-filter="mainTable" lay-data="{id: 'dataTable'}"></table>
+
+
+
+</div>
+#end
+#define methods()
+
+<script type="text/javascript">
+
+    layer.msg("请输入检索条件开始查询");
+
+    myTable.list({
+        url:"",
+        elem:"#dataTable",
+        data:[],
+        // postData:{orgid:1000000000},
+        text:{none:"请输入检索条件"},
+        toolbar:"#tableHeader",
+        cols: [[ //表头
+            {type: 'numbers', title: '序号'}
+            ,{field: 'isbn', title: 'ISBN',align:'center'}
+            ,{field: 'title', title: '题名', align:'center'}
+            ,{field: 'author', title: '著者', align:'center'}
+            ,{field: 'publisher', title: '出版社', align:'center'}
+            ,{field: 'orgname', title: '所在图书馆', align:'center'}
+            ,{title: '馆藏情况', align:'center',templet:function(d){
+                return '馆藏数:'+d.gcs+'&nbsp;&nbsp;可借数:'+d.kjs;
+                }}
+        ]]
+    });
+    searchForm.linkage(JSON.parse(sessionStorage.loginData).orgid);
+    // searchForm.submit('submit(searchBtn)',"/org/list");
+
+    var tabIndex = 0;
+    element.on('tab', function(data){
+        tabIndex = data.index;
+    });
+    form.on('submit(searchBtn)', function(data){
+
+        data.field.token = sessionStorage.token;
+        // data.field.orgid = data.field.orgid||JSON.parse(sessionStorage.loginData).orgid;
+        if(tabIndex==0){
+            //data.field["orgid"]=JSON.parse(sessionStorage.loginData).orgid;
+            data.field["token"]=JSON.parse(sessionStorage.loginData).token
+            data.field["bean.title"]='';
+            data.field["bean.author"]='';
+            data.field["bean.publisher"]='';
+            data.field["bean.isbn"]='';
+            table.reload("dataTable",{
+                url:"/selectcount/collectionSearch",
+                where:data.field,
+                page: {
+                    curr: 1
+                },
+                done:function(result){
+                    if(result.code==200){
+                        layer.msg('查询成功', { icon: 1 });
+                    }
+                }
+            });
+        }else {
+            data.field.countent='';
+            table.reload("dataTable",{
+                url:"/selectcount/collectionSenSearch",
+                where:data.field,
+                page: {
+                    curr: 1
+                },
+                done:function(result){
+                    if(result.code==200){
+                        layer.msg('查询成功', { icon: 1 });
+                    }
+                }
+            });
+        }
+        return false;
+    });
+
+    function fIsbn(value) {
+        $("#ISBN").val(fmtISBN(value));
+    }
+</script>
+#end

+ 0 - 0
src/main/webapp/view/query-stats/libSortDetail.html


Some files were not shown because too many files changed in this diff