From 4e703e5c6117f9502043cf659dbc03e8da9254c4 Mon Sep 17 00:00:00 2001
From: 李天宇 <876263681@qq.com>
Date: 星期六, 09 十一月 2024 10:24:07 +0800
Subject: [PATCH] #update 新增日出入库明细汇总

---
 src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java         |   11 
 src/main/java/com/zy/asrs/entity/ViewWorkInAllBean.java         |   64 ++++
 src/main/webapp/views/report/viewWorkInTtl.html                 |   86 ++++++
 src/main/webapp/static/js/report/workOutTtl.js                  |  214 +++++++++++++++
 src/main/resources/mapper/ViewWorkInMapper.xml                  |  109 +++++++
 src/main/java/com/zy/asrs/entity/ViewWorkInBean.java            |    1 
 src/main/webapp/views/report/viewWorkOutTtl.html                |   86 ++++++
 src/main/webapp/static/js/common.js                             |   11 
 src/main/webapp/static/js/report/workInTtl.js                   |  214 +++++++++++++++
 src/main/java/com/zy/asrs/controller/ReportQueryController.java |   42 +++
 10 files changed, 837 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ReportQueryController.java b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
index 945baa4..ed003c4 100644
--- a/src/main/java/com/zy/asrs/controller/ReportQueryController.java
+++ b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
@@ -250,4 +250,46 @@
 		return R.ok(exportSupport(list, fields));
 	}
 
+	@RequestMapping("/viewWorkOutTtlList.action")
+	public R viewWorkOutTtlList(ViewWorkInAllBean bean){
+		List<ViewWorkInAllBean> list = reportQueryMapper.queryViewWorkOutTtlList(bean);
+		int count = reportQueryMapper.getViewWorkOutTtlCount(bean);
+		Page<ViewWorkInAllBean> page = new Page<>();
+		page.setRecords(list);
+		page.setTotal(count);
+		return R.ok(page);
+	}
+
+	@RequestMapping("/viewWorkOutTtlExport.action")
+	@ManagerAuth(memo = "鏃ュ嚭搴撴槑缁嗘眹鎬荤粺璁″鍑�")
+	public R viewWorkOutTtlExport(@RequestBody JSONObject param){
+		List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+		@SuppressWarnings("unchecked")
+		ViewWorkInAllBean bean = Cools.conver((Map<? extends String, ?>) param.get("exportData"), ViewWorkInAllBean.class);
+		bean.setQuery_date(bean.getQuery_date());
+		List<ViewWorkInAllBean> list = reportQueryMapper.getViewWorkOutTtlAll(bean);
+		return R.ok(exportSupport(list, fields));
+	}
+
+	@RequestMapping("/viewWorkInTtlList.action")
+	public Map<String,Object> viewWorkInTtlList(ViewWorkInAllBean bean){
+		List<ViewWorkInAllBean> list = reportQueryMapper.queryViewWorkInTtlList(bean);
+		int count = reportQueryMapper.getViewWorkInTtlCount(bean);
+		Page<ViewWorkInAllBean> page = new Page<>();
+		page.setRecords(list);
+		page.setTotal(count);
+		return R.ok(page);
+	}
+
+	@RequestMapping("/viewWorkInTtlExport.action")
+	@ManagerAuth(memo = "鏃ュ叆搴撴槑缁嗘眹鎬荤粺璁″鍑�")
+	public R viewWorkInTtlExport(@RequestBody JSONObject param){
+		List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+		@SuppressWarnings("unchecked")
+		ViewWorkInAllBean bean = Cools.conver((Map<? extends String, ?>) param.get("exportData"), ViewWorkInAllBean.class);
+		bean.setQuery_date(bean.getQuery_date());
+		List<ViewWorkInAllBean> list = reportQueryMapper.getViewWorkInTtlAll(bean);
+		return R.ok(exportSupport(list, fields));
+	}
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/ViewWorkInAllBean.java b/src/main/java/com/zy/asrs/entity/ViewWorkInAllBean.java
new file mode 100644
index 0000000..c98fe24
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ViewWorkInAllBean.java
@@ -0,0 +1,64 @@
+package com.zy.asrs.entity;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 鍏ュ簱鎬绘暟缁熻
+ * @author lty
+ */
+@Data
+public class ViewWorkInAllBean {
+
+    private int pageNumber;
+    private int pageSize;
+
+    private String begin_date;
+    private String end_date;
+    private String query_date;
+
+    private Integer row;
+    @ApiModelProperty(value= "宸ヤ綔鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date io_date;
+
+    @ApiModelProperty(value= "鏁伴噺")
+    private Double anfme;
+
+    @ApiModelProperty(value= "鍝佸彿")
+    private String matnr;
+
+    @ApiModelProperty(value= "鍝佸悕")
+    private String maktx;
+
+    @ApiModelProperty(value= "鎵瑰彿")
+    private String batch;
+
+    @ApiModelProperty(value= "瑙勬牸")
+    private String specs;
+
+    @ApiModelProperty(value= "绫诲瀷")
+    private String brand;
+
+    @ApiModelProperty(value= "鍗曚綅")
+    private String unit;
+
+    public void setQuery_date(String query_date) {
+        this.query_date = query_date;
+        if (query_date.contains(" - ")) {
+            String[] dates = query_date.split(" - ");
+            this.begin_date = dates[0];
+            this.end_date = dates[1];
+
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/ViewWorkInBean.java b/src/main/java/com/zy/asrs/entity/ViewWorkInBean.java
index b42717d..4881438 100644
--- a/src/main/java/com/zy/asrs/entity/ViewWorkInBean.java
+++ b/src/main/java/com/zy/asrs/entity/ViewWorkInBean.java
@@ -72,7 +72,6 @@
 	private String color;
 
 	@ApiModelProperty(value= "绫诲瀷")
-//    @ApiModelProperty(value= "鍝佺墝")
 	private String brand;
 
 	@ApiModelProperty(value= "鍗曚綅")
diff --git a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
index 6a804db..d69421f 100644
--- a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -80,4 +80,15 @@
 	Integer selectWorkCountInSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
 
 	Integer selectWorkCountOutSum(String matnr, @Param("start") String startTime, @Param("end") String endTime);
+
+	public List<ViewWorkInAllBean> queryViewWorkInTtlList(ViewWorkInAllBean viewWorkIn);
+
+	public int getViewWorkInTtlCount(ViewWorkInAllBean viewWorkIn);
+
+	public List<ViewWorkInAllBean> getViewWorkInTtlAll(ViewWorkInAllBean viewWorkIn);
+
+	public List<ViewWorkInAllBean> queryViewWorkOutTtlList(ViewWorkInAllBean viewWorkOut);
+	public int getViewWorkOutTtlCount(ViewWorkInAllBean viewWorkOut);
+	//涓嶅垎椤垫煡璇㈡墍鏈変俊鎭紝鐢ㄤ簬excel瀵煎嚭
+	public List<ViewWorkInAllBean> getViewWorkOutTtlAll(ViewWorkInAllBean viewWorkOut);
 }
diff --git a/src/main/resources/mapper/ViewWorkInMapper.xml b/src/main/resources/mapper/ViewWorkInMapper.xml
index e63997b..8086065 100644
--- a/src/main/resources/mapper/ViewWorkInMapper.xml
+++ b/src/main/resources/mapper/ViewWorkInMapper.xml
@@ -144,5 +144,114 @@
 	<include refid="viewWorkInConditionSql"></include>
 	Order by a.io_time desc
 </select>
+<sql id="viewWorkInTtlConditionSql">
 
+	<if test="matnr!=null and matnr!='' ">
+		and matnr like '%' + #{matnr} + '%'
+	</if>
+	<if test="maktx!=null and maktx!='' ">
+		and (maktx like '%' + #{maktx} + '%'
+		or matnr like '%' + #{maktx} + '%'
+		or maktx like '%' + #{maktx} + '%'
+		or specs like '%' + #{maktx} + '%'
+		or anfme like '%' + #{maktx} + '%'
+		or batch like '%' + #{maktx} + '%'
+		or brand like '%' + #{maktx} + '%'
+		or unit like '%' + #{maktx} + '%'
+		)
+	</if>
+	<if test="begin_date!=null and begin_date!='' ">
+		<![CDATA[
+		and io_date >= #{begin_date}
+		]]>
+	</if>
+	<if test="end_date!=null and end_date!='' ">
+		<![CDATA[
+		and io_date <= #{end_date}
+		]]>
+	</if>
+</sql>
+<sql id="viewWorkOutTtlConditionSql">
+
+	<if test="matnr!=null and matnr!='' ">
+		and matnr like '%' + #{matnr} + '%'
+	</if>
+	<if test="maktx!=null and maktx!='' ">
+		and (maktx like '%' + #{maktx} + '%'
+		or matnr like '%' + #{maktx} + '%'
+		or maktx like '%' + #{maktx} + '%'
+		or specs like '%' + #{maktx} + '%'
+		or anfme like '%' + #{maktx} + '%'
+		or batch like '%' + #{maktx} + '%'
+		or brand like '%' + #{maktx} + '%'
+		or unit like '%' + #{maktx} + '%'
+		)
+	</if>
+	<if test="begin_date!=null and begin_date!='' ">
+		<![CDATA[
+		and io_date >= #{begin_date}
+		]]>
+	</if>
+	<if test="end_date!=null and end_date!='' ">
+		<![CDATA[
+		and io_date <= #{end_date}
+		]]>
+	</if>
+</sql>
+<select id="queryViewWorkInTtlList" parameterType="com.zy.asrs.entity.ViewWorkInAllBean" resultType="com.zy.asrs.entity.ViewWorkInAllBean">
+	select
+	*
+	from (
+	select
+	ROW_NUMBER() OVER(Order by t.io_date desc) as row
+	, *
+	from (
+	select *
+	from asr_wrkin_ttl_view
+	where 1=1
+	<include refid="viewWorkInTtlConditionSql"></include>
+	) t
+	) a where 1=1 and a.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+</select>
+
+<select id="getViewWorkInTtlCount" parameterType="com.zy.asrs.entity.ViewWorkInAllBean"	resultType="Integer">
+	select count(1)
+	from asr_wrkin_ttl_view a
+	where 1=1
+	<include refid="viewWorkInTtlConditionSql"></include>
+</select>
+<select id="getViewWorkInTtlAll" parameterType="com.zy.asrs.entity.ViewWorkInAllBean" resultType="com.zy.asrs.entity.ViewWorkInAllBean">
+	select * from asr_wrkin_ttl_view
+	where 1=1
+	<include refid="viewWorkInTtlConditionSql"></include>
+</select>
+
+<select id="queryViewWorkOutTtlList" parameterType="com.zy.asrs.entity.ViewWorkInAllBean" resultType="com.zy.asrs.entity.ViewWorkInAllBean">
+	select
+	*
+	from (
+	select
+	ROW_NUMBER() OVER(Order by t.io_date desc) as row
+	, *
+	from (
+	select *
+	from asr_wrkout_ttl_view
+	where 1=1
+	<include refid="viewWorkInTtlConditionSql"></include>
+	) t
+	) a where 1=1 and a.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+</select>
+<select id="getViewWorkOutTtlCount" parameterType="com.zy.asrs.entity.ViewWorkInAllBean"	resultType="Integer">
+	select count(1)
+	from asr_wrkout_ttl_view a
+	where 1=1
+	<include refid="viewWorkInTtlConditionSql"></include>
+</select>
+<select id="getViewWorkOutTtlAll" parameterType="com.zy.asrs.entity.ViewWorkInAllBean" resultType="com.zy.asrs.entity.ViewWorkInAllBean">
+	select *
+	from asr_wrkout_ttl_view a
+	where 1=1
+	<include refid="viewWorkInTtlConditionSql"></include>
+	Order by a.io_date desc
+</select>
 </mapper>
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 0f12b3f..cf73b4d 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -255,5 +255,16 @@
     ,{field: 'source$', align: 'center',title: '鍒惰喘', hide: true}
     ,{field: 'check$', align: 'center',title: '瑕佹眰妫�楠�', hide: true}
     ,{field: 'danger$', align: 'center',title: '鍗遍櫓鍝�', hide: true}
+
+
+]
+var detlTtlCols = [
+    {field: 'matnr', align: 'center',title: '鍝佸彿', sort:true}
+    ,{field: 'maktx', align: 'center',title: '鍝佸悕', sort:true}
+    ,{field: 'batch', align: 'center',title: '鎵瑰彿', sort:true}
+    ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+    ,{field: 'specs', align: 'center',title: '瑙勬牸'}
+    ,{field: 'brand', align: 'center',title: '绫诲瀷', hide: false}
+    ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: false}
 ]
 
diff --git a/src/main/webapp/static/js/report/workInTtl.js b/src/main/webapp/static/js/report/workInTtl.js
new file mode 100644
index 0000000..512dd66
--- /dev/null
+++ b/src/main/webapp/static/js/report/workInTtl.js
@@ -0,0 +1,214 @@
+var pageCurr;
+function getCol() {
+    var cols = [
+        {field: 'io_date', align: 'center', title: '鍏ュ簱鏃ユ湡', width: 200}
+    ];
+    cols.push.apply(cols, detlTtlCols);
+    return cols;
+}
+
+layui.use(['table','laydate', 'form'], function(){
+    var table = layui.table;
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var layDate = layui.laydate;
+    var form = layui.form;
+
+
+    // 鏁版嵁娓叉煋
+    tableIns = table.render({
+        elem: '#workInTtl',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/report/viewWorkInTtlList.action',
+        page: true,
+        limit: 16,
+        limits: [16, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        cols: [getCol()],
+        request: {
+            pageName: 'pageNumber',
+            limitName: 'pageSize'
+        },
+        parseData: function (res) {
+            return {
+                'code': res.code,
+                'msg': res.msg,
+                'count': res.data.total,
+                'data': res.data.records
+            }
+        },
+        response: {
+            statusCode: 200
+        },
+        done: function(res, curr, count) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            limit();
+        }
+    });
+
+    // 鐩戝惉鎺掑簭浜嬩欢
+    table.on('sort(workInTtl)', function (obj) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        searchData['orderByField'] = obj.field;
+        searchData['orderByType'] = obj.type;
+        tableIns.reload({
+            where: searchData,
+            page: {
+                curr: 1
+            },
+            done: function (res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+                limit();
+            }
+        });
+    });
+
+    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+    table.on('toolbar(workInTtl)', function (obj) {
+        var checkStatus = table.checkStatus(obj.config.id);
+        switch(obj.event) {
+            case 'exportData':
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+                    var titles=[];
+                    var fields=[];
+                    obj.config.cols[0].map(function (col) {
+                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+                            titles.push(col.title);
+                            fields.push(col.field);
+                        }
+                    });
+                    var exportData = {};
+                    $.each($('#search-box [name]').serializeArray(), function() {
+                        exportData[this.name] = this.value;
+                    });
+                    var param = {
+                        fields: fields,
+                        exportData: exportData
+                    };
+                    $.ajax({
+                        url: baseUrl+"/report/viewWorkInTtlExport.action",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify(param),
+                        dataType:'json',
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll();
+                            if (res.code === 200) {
+                                table.exportFile(titles,res.data,'xls');
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl+"/";
+                            } else {
+                                layer.msg(res.msg)
+                            }
+                        }
+                    });
+                });
+                break;
+        }
+    });
+
+    // 鎼滅储鏍忔悳绱簨浠�
+    form.on('submit(search)', function (data) {
+        pageCurr = 1;
+        tableReload(false);
+    });
+    // 鎼滅储鏍忛噸缃簨浠�
+    form.on('submit(reset)', function (data) {
+        pageCurr = 1;
+        clearFormVal($('#search-box'));
+        tableReload(false);
+    });
+    layDate.render({
+        elem: '.layui-laydate-range'
+        ,type: 'datetime'
+        ,range: true
+    });
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    (child ? parent.tableIns : tableIns).reload({
+        where: searchData,
+        page: {
+            curr: pageCurr
+        },
+        done: function (res, curr, count) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            if (res.data.length === 0 && count !== 0) {
+                tableIns.reload({
+                    where: searchData,
+                    page: {
+                        curr: pageCurr-1
+                    }
+                });
+                pageCurr -= 1;
+            }
+            limit(child);
+        }
+    });
+}
+
+function setFormVal(el, data, showImg) {
+    for (var val in data) {
+        var find = el.find(":input[id='" + val + "']");
+        find.val(data[val]);
+        if (showImg){
+            var next = find.next();
+            if (next.get(0)){
+                if (next.get(0).localName === "img") {
+                    find.hide();
+                    next.attr("src", data[val]);
+                    next.show();
+                }
+            }
+        }
+    }
+}
+
+function clearFormVal(el) {
+    $(':input', el)
+        .val('')
+        .removeAttr('checked')
+        .removeAttr('selected');
+}
+
+function detailScreen(index) {
+    var detail = layer.getChildFrame('#data-detail', index);
+    var height = detail.height()+60;
+    if (height > ($(window).height()*0.9)) {
+        height = ($(window).height()*0.9);
+    }
+    layer.style(index, {
+        top: (($(window).height()-height)/3)+"px",
+        height: height+'px'
+    });
+    $(".layui-layer-shade").remove();
+}
+
+$('body').keydown(function () {
+    if (event.keyCode === 13) {
+        $("#search").click();
+    }
+});
diff --git a/src/main/webapp/static/js/report/workOutTtl.js b/src/main/webapp/static/js/report/workOutTtl.js
new file mode 100644
index 0000000..87f811e
--- /dev/null
+++ b/src/main/webapp/static/js/report/workOutTtl.js
@@ -0,0 +1,214 @@
+var pageCurr;
+function getCol() {
+    var cols = [
+        {field: 'io_date', align: 'center', title: '鍑哄簱鏃ユ湡', width: 200}
+    ];
+    cols.push.apply(cols, detlTtlCols);
+    return cols;
+}
+
+layui.use(['table','laydate', 'form'], function(){
+    var table = layui.table;
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var layDate = layui.laydate;
+    var form = layui.form;
+
+
+    // 鏁版嵁娓叉煋
+    tableIns = table.render({
+        elem: '#workOutTtl',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/report/viewWorkOutTtlList.action',
+        page: true,
+        limit: 16,
+        limits: [16, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        cols: [getCol()],
+        request: {
+            pageName: 'pageNumber',
+            limitName: 'pageSize'
+        },
+        parseData: function (res) {
+            return {
+                'code': res.code,
+                'msg': res.msg,
+                'count': res.data.total,
+                'data': res.data.records
+            }
+        },
+        response: {
+            statusCode: 200
+        },
+        done: function(res, curr, count) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            limit();
+        }
+    });
+
+    // 鐩戝惉鎺掑簭浜嬩欢
+    table.on('sort(workOutTtl)', function (obj) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        searchData['orderByField'] = obj.field;
+        searchData['orderByType'] = obj.type;
+        tableIns.reload({
+            where: searchData,
+            page: {
+                curr: 1
+            },
+            done: function (res, curr, count) {
+                if (res.code === 403) {
+                    top.location.href = baseUrl+"/";
+                }
+                pageCurr=curr;
+                limit();
+            }
+        });
+    });
+
+    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+    table.on('toolbar(workOutTtl)', function (obj) {
+        var checkStatus = table.checkStatus(obj.config.id);
+        switch(obj.event) {
+            case 'exportData':
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+                    var titles=[];
+                    var fields=[];
+                    obj.config.cols[0].map(function (col) {
+                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+                            titles.push(col.title);
+                            fields.push(col.field);
+                        }
+                    });
+                    var exportData = {};
+                    $.each($('#search-box [name]').serializeArray(), function() {
+                        exportData[this.name] = this.value;
+                    });
+                    var param = {
+                        fields: fields,
+                        exportData: exportData
+                    };
+                    $.ajax({
+                        url: baseUrl+"/report/viewWorkOutTtlExport.action",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify(param),
+                        dataType:'json',
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll();
+                            if (res.code === 200) {
+                                table.exportFile(titles,res.data,'xls');
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl+"/";
+                            } else {
+                                layer.msg(res.msg)
+                            }
+                        }
+                    });
+                });
+                break;
+        }
+    });
+
+    // 鎼滅储鏍忔悳绱簨浠�
+    form.on('submit(search)', function (data) {
+        pageCurr = 1;
+        tableReload(false);
+    });
+    // 鎼滅储鏍忛噸缃簨浠�
+    form.on('submit(reset)', function (data) {
+        pageCurr = 1;
+        clearFormVal($('#search-box'));
+        tableReload(false);
+    });
+    layDate.render({
+        elem: '.layui-laydate-range'
+        ,type: 'datetime'
+        ,range: true
+    });
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    (child ? parent.tableIns : tableIns).reload({
+        where: searchData,
+        page: {
+            curr: pageCurr
+        },
+        done: function (res, curr, count) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;
+            if (res.data.length === 0 && count !== 0) {
+                tableIns.reload({
+                    where: searchData,
+                    page: {
+                        curr: pageCurr-1
+                    }
+                });
+                pageCurr -= 1;
+            }
+            limit(child);
+        }
+    });
+}
+
+function setFormVal(el, data, showImg) {
+    for (var val in data) {
+        var find = el.find(":input[id='" + val + "']");
+        find.val(data[val]);
+        if (showImg){
+            var next = find.next();
+            if (next.get(0)){
+                if (next.get(0).localName === "img") {
+                    find.hide();
+                    next.attr("src", data[val]);
+                    next.show();
+                }
+            }
+        }
+    }
+}
+
+function clearFormVal(el) {
+    $(':input', el)
+        .val('')
+        .removeAttr('checked')
+        .removeAttr('selected');
+}
+
+function detailScreen(index) {
+    var detail = layer.getChildFrame('#data-detail', index);
+    var height = detail.height()+60;
+    if (height > ($(window).height()*0.9)) {
+        height = ($(window).height()*0.9);
+    }
+    layer.style(index, {
+        top: (($(window).height()-height)/3)+"px",
+        height: height+'px'
+    });
+    $(".layui-layer-shade").remove();
+}
+
+$('body').keydown(function () {
+    if (event.keyCode === 13) {
+        $("#search").click();
+    }
+});
diff --git a/src/main/webapp/views/report/viewWorkInTtl.html b/src/main/webapp/views/report/viewWorkInTtl.html
new file mode 100644
index 0000000..581aa85
--- /dev/null
+++ b/src/main/webapp/views/report/viewWorkInTtl.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        #btn-export {
+            margin-top: 10px;
+        }
+    </style>
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="matnr" placeholder="鍝佸彿" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="maktx" placeholder="鍝佸悕" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="specs" placeholder="鎵瑰彿" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="瑙勬牸" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="brand" placeholder="绫诲瀷" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="unit" placeholder="鍗曚綅" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="anfme" placeholder="鏁伴噺" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline" style="width: 300px">
+        <div class="layui-input-inline">
+            <input class="layui-input layui-laydate-range" name="query_date" type="text" placeholder="鍏ュ簱璧峰鏃堕棿 - 鍏ュ簱缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+        </div>
+    </div>
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="workInTtl" lay-filter="workInTtl"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" >瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/report/workInTtl.js" charset="utf-8"></script>
+</body>
+</html>
+
diff --git a/src/main/webapp/views/report/viewWorkOutTtl.html b/src/main/webapp/views/report/viewWorkOutTtl.html
new file mode 100644
index 0000000..6fb35be
--- /dev/null
+++ b/src/main/webapp/views/report/viewWorkOutTtl.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+    <style>
+        #btn-export {
+            margin-top: 10px;
+        }
+    </style>
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="matnr" placeholder="鍝佸彿" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="maktx" placeholder="鍝佸悕" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="specs" placeholder="鎵瑰彿" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="batch" placeholder="瑙勬牸" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="brand" placeholder="绫诲瀷" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="unit" placeholder="鍗曚綅" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="anfme" placeholder="鏁伴噺" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline" style="width: 300px">
+        <div class="layui-input-inline">
+            <input class="layui-input layui-laydate-range" name="query_date" type="text" placeholder="鍏ュ簱璧峰鏃堕棿 - 鍏ュ簱缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+        </div>
+    </div>
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<table class="layui-hide" id="workOutTtl" lay-filter="workOutTtl"></table>
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" >瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/report/workOutTtl.js" charset="utf-8"></script>
+</body>
+</html>
+

--
Gitblit v1.9.1