|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /**********************************************************异常库存相关controller**********************************************************/ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/grouplist/auth") | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/groupLocList/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R groupList(@RequestParam(defaultValue = "1") Integer curr, | 
|---|
|  |  |  | public R groupLocList(@RequestParam(defaultValue = "1") Integer curr, | 
|---|
|  |  |  | @RequestParam(defaultValue = "10") Integer limit, | 
|---|
|  |  |  | @RequestParam(required = false) String orderByField, | 
|---|
|  |  |  | @RequestParam(required = false) String orderByType, | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(mat.getStoreMax()) | 
|---|
|  |  |  | || !Cools.isEmpty(mat.getStoreMin())) { | 
|---|
|  |  |  | if (!Cools.isEmpty(mat.getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) { | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) { | 
|---|
|  |  |  | result.add(abnormalLocDetlParam); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) { | 
|---|
|  |  |  | result.add(abnormalLocDetlParam); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (!Cools.isEmpty(mat.getStoreMaxDate())) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Page<AbnormalLocDetlParam> locDetlPage = new Page<>(); | 
|---|
|  |  |  | locDetlPage.setRecords(paging(result, curr, limit)); | 
|---|
|  |  |  | locDetlPage.setTotal(result.size()); | 
|---|
|  |  |  | locDetlPage.setCurrent(curr); | 
|---|
|  |  |  | locDetlPage.setSize(limit); | 
|---|
|  |  |  | return R.ok(locDetlPage); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "/locDetl/groupDateList/auth") | 
|---|
|  |  |  | @ManagerAuth | 
|---|
|  |  |  | public R groupDateList(@RequestParam(defaultValue = "1") Integer curr, | 
|---|
|  |  |  | @RequestParam(defaultValue = "10") Integer limit, | 
|---|
|  |  |  | @RequestParam(required = false) String orderByField, | 
|---|
|  |  |  | @RequestParam(required = false) String orderByType, | 
|---|
|  |  |  | @RequestParam(required = false) String condition, | 
|---|
|  |  |  | @RequestParam Map<String, Object> param) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        List<LocDetl> result = new ArrayList<>(); | 
|---|
|  |  |  | List<AbnormalLocDetlParam> result = new ArrayList<>(); | 
|---|
|  |  |  | //        excludeTrash(param); | 
|---|
|  |  |  | param.put("curr", curr); | 
|---|
|  |  |  | param.put("limit", limit); | 
|---|
|  |  |  | Page<LocDetl> groupLocDetl = locDetlService.getStockStatisDate(toPage(1, 10000, param, LocDetl.class)); | 
|---|
|  |  |  | //        List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit); | 
|---|
|  |  |  | for (LocDetl locDetl : groupLocDetl.getRecords()) { | 
|---|
|  |  |  | AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam(); | 
|---|
|  |  |  | Mat mat = matService.selectOne(new EntityWrapper<Mat>() | 
|---|
|  |  |  | .eq("matnr", locDetl.getMatnr())); | 
|---|
|  |  |  | if (Cools.isEmpty(mat)) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(mat.getStoreMaxDate())) { | 
|---|
|  |  |  | if (Cools.isEmpty(locDetl.getBatch())) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } else if (locDetl.getBatch().length() != 8) { | 
|---|
|  |  |  | 
|---|
|  |  |  | // 这个时间就是日期往后推一天的结果 | 
|---|
|  |  |  | maxDate = calendar.getTime(); | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMax(mat.getStoreMax()); | 
|---|
|  |  |  | abnormalLocDetlParam.setLocNo(locDetl.getLocNo()); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate()); | 
|---|
|  |  |  | abnormalLocDetlParam.setStoreMin(mat.getStoreMin()); | 
|---|
|  |  |  | abnormalLocDetlParam.setAnfme(locDetl.getAnfme()); | 
|---|
|  |  |  | 
|---|
|  |  |  | abnormalLocDetlParam.setSpecs(mat.getSpecs()); | 
|---|
|  |  |  | abnormalLocDetlParam.setBatch(locDetl.getBatch()); | 
|---|
|  |  |  | if (now.compareTo(maxDate) > 0) { | 
|---|
|  |  |  | long difference = (now.getTime() - maxDate.getTime()) / (24 * 60 * 60 * 1000); | 
|---|
|  |  |  | abnormalLocDetlParam.setNowTime(Integer.parseInt(String.valueOf(difference))); | 
|---|
|  |  |  | result.add(abnormalLocDetlParam); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | System.out.println(e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | List<LocDetl> getStockStatis(Map<String, Object> map); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<LocDetl> getStockStatis2(Map<String, Object> map); | 
|---|
|  |  |  | List<LocDetl> getStockStatisDate(Map<String, Object> map); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<LocDetl> getStockStatisOut(Map<String, Object> map); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer getStockStatisCount(Map<String, Object> map); | 
|---|
|  |  |  | Integer getStockStatisDateCount(Map<String, Object> map); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer getStockStatisOutCount(Map<String, Object> map); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Page<LocDetl> getStockStatis(Page<LocDetl> page); | 
|---|
|  |  |  | Page<LocDetl> getStockStatis2(Page<LocDetl> page); | 
|---|
|  |  |  | Page<LocDetl> getStockStatisDate(Page<LocDetl> page); | 
|---|
|  |  |  | Page<LocDetl> getStockStatisOut(Page<LocDetl> page); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Double getSumAnfme(String matnr); | 
|---|
|  |  |  | 
|---|
|  |  |  | page.setTotal(baseMapper.getStockStatisCount(page.getCondition())); | 
|---|
|  |  |  | return page; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Page<LocDetl> getStockStatisDate(Page<LocDetl> page) { | 
|---|
|  |  |  | page.setRecords(baseMapper.getStockStatisDate(page.getCondition())); | 
|---|
|  |  |  | page.setTotal(baseMapper.getStockStatisDateCount(page.getCondition())); | 
|---|
|  |  |  | return page; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Page<LocDetl> getStockStatisOut(Page<LocDetl> page) { | 
|---|
|  |  |  | 
|---|
|  |  |  | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="getStockStatisDate" resultType="com.zy.asrs.entity.LocDetl"> | 
|---|
|  |  |  | select * from | 
|---|
|  |  |  | ( | 
|---|
|  |  |  | select | 
|---|
|  |  |  | ROW_NUMBER() over (order by a.anfme,a.batch desc) as row | 
|---|
|  |  |  | , a.matnr | 
|---|
|  |  |  | , a.loc_no as locNo | 
|---|
|  |  |  | , a.batch | 
|---|
|  |  |  | , a.anfme | 
|---|
|  |  |  | from asr_loc_detl a | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | and batch!='' and batch is not null | 
|---|
|  |  |  | <include refid="stockOutCondition"></include> | 
|---|
|  |  |  | group by a.matnr,a.batch,a.anfme, a.loc_no | 
|---|
|  |  |  | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="getStockStatisOut" resultType="com.zy.asrs.entity.LocDetl"> | 
|---|
|  |  |  | select * from | 
|---|
|  |  |  | ( | 
|---|
|  |  |  | 
|---|
|  |  |  | ) b | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="getStockStatisDateCount" parameterType="java.util.Map" resultType="java.lang.Integer"> | 
|---|
|  |  |  | select count(1) as count from | 
|---|
|  |  |  | ( | 
|---|
|  |  |  | select | 
|---|
|  |  |  | a.matnr | 
|---|
|  |  |  | from asr_loc_detl a | 
|---|
|  |  |  | where 1=1 | 
|---|
|  |  |  | <include refid="stockOutCondition"></include> | 
|---|
|  |  |  | group by a.matnr | 
|---|
|  |  |  | ) b | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="getStockStatisOutCount" parameterType="java.util.Map" resultType="java.lang.Integer"> | 
|---|
|  |  |  | select count(1) as count from | 
|---|
|  |  |  | ( | 
|---|
|  |  |  | 
|---|
|  |  |  | , {field: 'batch', align: 'center', title: '批号', width: 300, sort: true} | 
|---|
|  |  |  | , {field: 'storeMax', align: 'center', title: '数量上限', sort: true} | 
|---|
|  |  |  | , {field: 'storeMin', align: 'center', title: '数量下限', sort: true} | 
|---|
|  |  |  | , {field: 'storeMaxDate', align: 'center', title: '库龄上限', sort: true} | 
|---|
|  |  |  | // , {field: 'storeMaxDate', align: 'center', title: '库龄上限', sort: true} | 
|---|
|  |  |  | , {field: 'anfme', align: 'center', title: '实际数量'} | 
|---|
|  |  |  | , {field: 'nowTime', align: 'center', title: '实际库龄'} | 
|---|
|  |  |  | // , {field: 'nowTime', align: 'center', title: '实际库龄'} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | tableIns = table.render({ | 
|---|
|  |  |  | elem: '#locDetl', | 
|---|
|  |  |  | headers: {token: localStorage.getItem('token')}, | 
|---|
|  |  |  | url: baseUrl + '/locDetl/grouplist/auth', | 
|---|
|  |  |  | url: baseUrl + '/locDetl/groupLocList/auth', | 
|---|
|  |  |  | page: true, | 
|---|
|  |  |  | limit: 20, | 
|---|
|  |  |  | limits: [20, 30, 50, 100, 200, 500], | 
|---|
| New file | 
|  |  |  | 
|---|
|  |  |  | var pageCurr; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function getCol() { | 
|---|
|  |  |  | var cols = [ | 
|---|
|  |  |  | {field: 'matnr', align: 'center', title: '物料号', sort: true} | 
|---|
|  |  |  | , {field: 'maktx', align: 'center', title: '物料名称', sort: true} | 
|---|
|  |  |  | , {field: 'specs', align: 'center', title: '规格'} | 
|---|
|  |  |  | , {field: 'batch', align: 'center', title: '批号', width: 300, sort: true} | 
|---|
|  |  |  | , {field: 'locNo', align: 'center', title: '库位号', sort: true} | 
|---|
|  |  |  | , {field: 'anfme', align: 'center', title: '数量'} | 
|---|
|  |  |  | , {field: 'storeMaxDate', align: 'center', title: '库龄上限', sort: true} | 
|---|
|  |  |  | , {field: 'nowTime', align: 'center', title: '实际库龄'} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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: '#locDetl', | 
|---|
|  |  |  | headers: {token: localStorage.getItem('token')}, | 
|---|
|  |  |  | url: baseUrl + '/locDetl/groupDateList/auth', | 
|---|
|  |  |  | page: true, | 
|---|
|  |  |  | limit: 20, | 
|---|
|  |  |  | limits: [20, 30, 50, 100, 200, 500], | 
|---|
|  |  |  | even: true, | 
|---|
|  |  |  | toolbar: '#toolbar', | 
|---|
|  |  |  | cellMinWidth: 50, | 
|---|
|  |  |  | cols: [getCol()], | 
|---|
|  |  |  | request: { | 
|---|
|  |  |  | pageName: 'curr', | 
|---|
|  |  |  | pageSize: 'limit' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | form.on('checkbox(tableCheckbox)', function (data) { | 
|---|
|  |  |  | var _index = $(data.elem).attr('table-index') || 0; | 
|---|
|  |  |  | if (data.elem.checked) { | 
|---|
|  |  |  | res.data[_index][data.value] = 'Y'; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | res.data[_index][data.value] = 'N'; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 监听排序事件 | 
|---|
|  |  |  | table.on('sort(locDetl)', 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(locDetl)', function (obj) { | 
|---|
|  |  |  | var checkStatus = table.checkStatus(obj.config.id); | 
|---|
|  |  |  | switch (obj.event) { | 
|---|
|  |  |  | case 'addData': | 
|---|
|  |  |  | layer.open({ | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | title: '新增', | 
|---|
|  |  |  | maxmin: true, | 
|---|
|  |  |  | area: [top.detailWidth, top.detailHeight], | 
|---|
|  |  |  | shadeClose: false, | 
|---|
|  |  |  | content: 'locDetl_detail.html', | 
|---|
|  |  |  | success: function (layero, index) { | 
|---|
|  |  |  | layer.getChildFrame('#data-detail-submit-edit', index).hide(); | 
|---|
|  |  |  | clearFormVal(layer.getChildFrame('#detail', index)); | 
|---|
|  |  |  | layer.iframeAuto(index); | 
|---|
|  |  |  | layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"}); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 'refreshData': | 
|---|
|  |  |  | tableIns.reload({ | 
|---|
|  |  |  | page: { | 
|---|
|  |  |  | curr: pageCurr | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | limit(); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 'deleteData': | 
|---|
|  |  |  | var data = checkStatus.data; | 
|---|
|  |  |  | if (data.length === 0) { | 
|---|
|  |  |  | layer.msg('请选择数据'); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.confirm('确定删除' + (data.length === 1 ? '此' : data.length) + '条数据吗', function () { | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url: baseUrl + "/locDetl/delete/auth", | 
|---|
|  |  |  | headers: {'token': localStorage.getItem('token')}, | 
|---|
|  |  |  | data: {param: JSON.stringify(data)}, | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | traditional: true, | 
|---|
|  |  |  | success: function (res) { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | layer.closeAll(); | 
|---|
|  |  |  | tableReload(false); | 
|---|
|  |  |  | } else if (res.code === 403) { | 
|---|
|  |  |  | top.location.href = baseUrl + "/"; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.msg(res.msg) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | 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 = { | 
|---|
|  |  |  | 'locDetl': exportData, | 
|---|
|  |  |  | 'fields': fields | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | var loadIndex = layer.msg('正在导出...', {icon: 16, shade: 0.01, time: false}); | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url: baseUrl + "/locDetl/export/auth", | 
|---|
|  |  |  | headers: {'token': localStorage.getItem('token')}, | 
|---|
|  |  |  | data: JSON.stringify(param), | 
|---|
|  |  |  | dataType: 'json', | 
|---|
|  |  |  | contentType: 'application/json;charset=UTF-8', | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success: function (res) { | 
|---|
|  |  |  | layer.close(loadIndex); | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 监听行工具事件 | 
|---|
|  |  |  | table.on('tool(locDetl)', function (obj) { | 
|---|
|  |  |  | var data = obj.data; | 
|---|
|  |  |  | switch (obj.event) { | 
|---|
|  |  |  | // 详情 | 
|---|
|  |  |  | case 'detail': | 
|---|
|  |  |  | layer.open({ | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | title: '详情', | 
|---|
|  |  |  | maxmin: true, | 
|---|
|  |  |  | area: [top.detailWidth, top.detailHeight], | 
|---|
|  |  |  | shadeClose: false, | 
|---|
|  |  |  | content: 'locDetl_detail.html', | 
|---|
|  |  |  | success: function (layero, index) { | 
|---|
|  |  |  | setFormVal(layer.getChildFrame('#detail', index), data, true); | 
|---|
|  |  |  | top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); | 
|---|
|  |  |  | layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); | 
|---|
|  |  |  | layer.iframeAuto(index); | 
|---|
|  |  |  | layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"}); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('select'); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | // 编辑 | 
|---|
|  |  |  | case 'edit': | 
|---|
|  |  |  | layer.open({ | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | title: '修改', | 
|---|
|  |  |  | maxmin: true, | 
|---|
|  |  |  | area: [top.detailWidth, top.detailHeight], | 
|---|
|  |  |  | shadeClose: false, | 
|---|
|  |  |  | content: 'locDetl_detail.html', | 
|---|
|  |  |  | success: function (layero, index) { | 
|---|
|  |  |  | layer.getChildFrame('#data-detail-submit-save', index).hide(); | 
|---|
|  |  |  | setFormVal(layer.getChildFrame('#detail', index), data, false); | 
|---|
|  |  |  | top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); | 
|---|
|  |  |  | top.convertDisabled(layer.getChildFrame('#locNo,#matnr', index), true); | 
|---|
|  |  |  | layer.iframeAuto(index); | 
|---|
|  |  |  | layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"}); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('select'); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 'locNo': | 
|---|
|  |  |  | var param = top.reObject(data).locNo; | 
|---|
|  |  |  | if (param === undefined) { | 
|---|
|  |  |  | layer.msg("无数据"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.open({ | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | title: '库位号详情', | 
|---|
|  |  |  | maxmin: true, | 
|---|
|  |  |  | area: [top.detailWidth, top.detailHeight], | 
|---|
|  |  |  | shadeClose: false, | 
|---|
|  |  |  | content: '../locMast/locMast_detail.html', | 
|---|
|  |  |  | success: function (layero, index) { | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url: baseUrl + "/locMast/" + param + "/auth", | 
|---|
|  |  |  | headers: {'token': localStorage.getItem('token')}, | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | success: function (res) { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | setFormVal(layer.getChildFrame('#detail', index), res.data, true); | 
|---|
|  |  |  | top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); | 
|---|
|  |  |  | layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); | 
|---|
|  |  |  | layer.iframeAuto(index); | 
|---|
|  |  |  | layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"}); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('select'); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); | 
|---|
|  |  |  | } else if (res.code === 403) { | 
|---|
|  |  |  | parent.location.href = "/"; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.msg(res.msg) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 'modiUser': | 
|---|
|  |  |  | var param = top.reObject(data).modiUser; | 
|---|
|  |  |  | if (param === undefined) { | 
|---|
|  |  |  | layer.msg("无数据"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.open({ | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | title: '修改人员详情', | 
|---|
|  |  |  | maxmin: true, | 
|---|
|  |  |  | area: [top.detailWidth, top.detailHeight], | 
|---|
|  |  |  | shadeClose: false, | 
|---|
|  |  |  | content: '../user/user_detail.html', | 
|---|
|  |  |  | success: function (layero, index) { | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url: baseUrl + "/user/" + param + "/auth", | 
|---|
|  |  |  | headers: {'token': localStorage.getItem('token')}, | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | success: function (res) { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | setFormVal(layer.getChildFrame('#detail', index), res.data, true); | 
|---|
|  |  |  | top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); | 
|---|
|  |  |  | layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); | 
|---|
|  |  |  | layer.iframeAuto(index); | 
|---|
|  |  |  | layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"}); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('select'); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); | 
|---|
|  |  |  | } else if (res.code === 403) { | 
|---|
|  |  |  | parent.location.href = "/"; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.msg(res.msg) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 'appeUser': | 
|---|
|  |  |  | var param = top.reObject(data).appeUser; | 
|---|
|  |  |  | if (param === undefined) { | 
|---|
|  |  |  | layer.msg("无数据"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.open({ | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | title: '创建者详情', | 
|---|
|  |  |  | maxmin: true, | 
|---|
|  |  |  | area: [top.detailWidth, top.detailHeight], | 
|---|
|  |  |  | shadeClose: false, | 
|---|
|  |  |  | content: '../user/user_detail.html', | 
|---|
|  |  |  | success: function (layero, index) { | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url: baseUrl + "/user/" + param + "/auth", | 
|---|
|  |  |  | headers: {'token': localStorage.getItem('token')}, | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | success: function (res) { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | setFormVal(layer.getChildFrame('#detail', index), res.data, true); | 
|---|
|  |  |  | top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); | 
|---|
|  |  |  | layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); | 
|---|
|  |  |  | layer.iframeAuto(index); | 
|---|
|  |  |  | layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"}); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('select'); | 
|---|
|  |  |  | layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); | 
|---|
|  |  |  | } else if (res.code === 403) { | 
|---|
|  |  |  | parent.location.href = "/"; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.msg(res.msg) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 数据保存动作 | 
|---|
|  |  |  | form.on('submit(save)', function () { | 
|---|
|  |  |  | if (banMsg != null) { | 
|---|
|  |  |  | layer.msg(banMsg); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | method("add"); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 数据修改动作 | 
|---|
|  |  |  | form.on('submit(edit)', function () { | 
|---|
|  |  |  | method("update") | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function method(name) { | 
|---|
|  |  |  | var index = layer.load(1, { | 
|---|
|  |  |  | shade: [0.5, '#000'] //0.1透明度的背景 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | var data = { | 
|---|
|  |  |  | //            id: $('#id').val(), | 
|---|
|  |  |  | locNo: $('#locNo').val(), | 
|---|
|  |  |  | matnr: $('#matnr').val(), | 
|---|
|  |  |  | lgnum: $('#lgnum').val(), | 
|---|
|  |  |  | tbnum: $('#tbnum').val(), | 
|---|
|  |  |  | tbpos: $('#tbpos').val(), | 
|---|
|  |  |  | zmatid: $('#zmatid').val(), | 
|---|
|  |  |  | maktx: $('#maktx').val(), | 
|---|
|  |  |  | werks: $('#werks').val(), | 
|---|
|  |  |  | anfme: $('#anfme').val(), | 
|---|
|  |  |  | altme: $('#altme').val(), | 
|---|
|  |  |  | zpallet: $('#zpallet').val(), | 
|---|
|  |  |  | bname: $('#bname').val(), | 
|---|
|  |  |  | memo: $('#memo').val(), | 
|---|
|  |  |  | modiUser: $('#modiUser').val(), | 
|---|
|  |  |  | modiTime: top.strToDate($('#modiTime\\$').val()), | 
|---|
|  |  |  | appeUser: $('#appeUser').val(), | 
|---|
|  |  |  | appeTime: top.strToDate($('#appeTime\\$').val()), | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url: baseUrl + "/locDetl/" + name + "/auth", | 
|---|
|  |  |  | headers: {'token': localStorage.getItem('token')}, | 
|---|
|  |  |  | data: top.reObject(data), | 
|---|
|  |  |  | method: 'POST', | 
|---|
|  |  |  | success: function (res) { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | parent.layer.closeAll(); | 
|---|
|  |  |  | parent.$(".layui-laypage-btn")[0].click(); | 
|---|
|  |  |  | $("#data-detail :input").each(function () { | 
|---|
|  |  |  | $(this).val(""); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else if (res.code === 403) { | 
|---|
|  |  |  | top.location.href = baseUrl + "/"; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | layer.msg(res.msg) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | layer.close(index); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 复选框事件 | 
|---|
|  |  |  | form.on('checkbox(detailCheckbox)', function (data) { | 
|---|
|  |  |  | var el = data.elem; | 
|---|
|  |  |  | if (el.checked) { | 
|---|
|  |  |  | $(el).val('Y'); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | $(el).val('N'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 搜索栏搜索事件 | 
|---|
|  |  |  | form.on('submit(search)', function (data) { | 
|---|
|  |  |  | pageCurr = 1; | 
|---|
|  |  |  | tableReload(false); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 搜索栏重置事件 | 
|---|
|  |  |  | form.on('submit(reset)', function (data) { | 
|---|
|  |  |  | pageCurr = 1; | 
|---|
|  |  |  | clearFormVal($('#search-box')); | 
|---|
|  |  |  | tableReload(false); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查看异常数据 | 
|---|
|  |  |  | form.on('submit(unreason)', function (data) { | 
|---|
|  |  |  | pageCurr = 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | tableIns.reload({ | 
|---|
|  |  |  | where: { | 
|---|
|  |  |  | unreason: true | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | page: { | 
|---|
|  |  |  | curr: pageCurr | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | done: function (res, curr, count) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (res.code === 403) { | 
|---|
|  |  |  | top.location.href = baseUrl + "/"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | pageCurr = curr; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | limit(child); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 时间选择器 | 
|---|
|  |  |  | layDate.render({ | 
|---|
|  |  |  | elem: '#modiTime\\$', | 
|---|
|  |  |  | type: 'datetime' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | layDate.render({ | 
|---|
|  |  |  | elem: '#appeTime\\$', | 
|---|
|  |  |  | type: 'datetime' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 关闭动作 | 
|---|
|  |  |  | $(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 + "']"); | 
|---|
|  |  |  | if (find[0] != null) { | 
|---|
|  |  |  | if (find[0].type === 'checkbox') { | 
|---|
|  |  |  | if (data[val] === 'Y') { | 
|---|
|  |  |  | find.attr("checked", "checked"); | 
|---|
|  |  |  | find.val('Y'); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | find.remove("checked"); | 
|---|
|  |  |  | find.val('N'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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.8); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | layer.style(index, { | 
|---|
|  |  |  | //        top: (($(window).height()-height)/3)+"px", | 
|---|
|  |  |  | height: height + 'px' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | $('body').keydown(function () { | 
|---|
|  |  |  | if (event.keyCode === 13) { | 
|---|
|  |  |  | $("#search").click(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
| New file | 
|  |  |  | 
|---|
|  |  |  | <!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"> | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 待添加 --> | 
|---|
|  |  |  | <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | <!--        <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">查看异常数据</button>--> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 表格 --> | 
|---|
|  |  |  | <div class="layui-form"> | 
|---|
|  |  |  | <table class="layui-hide" id="locDetl" lay-filter="locDetl"></table> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <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" style="margin-top: 10px">导出</button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script type="text/html" id="operate"> | 
|---|
|  |  |  | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a> | 
|---|
|  |  |  | </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/locDetlGroup/locDetlGroup2.js" charset="utf-8"></script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </body> | 
|---|
|  |  |  | </html> | 
|---|
|  |  |  |  | 
|---|