自动化立体仓库 - WMS系统
#
LSH
2023-12-08 1ed4d384f6d52a5f689915d9f9ebfc9b8545bc09
#
3个文件已修改
163 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderController.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/order.js 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/order/order.html 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -419,13 +419,13 @@
        return R.ok();
    }
    @RequestMapping(value = "/order/insert/file/auth")
    @ManagerAuth
    public R insertFile(@RequestParam("orderId") String orderId,@RequestParam MultipartFile file){
    @RequestMapping(value = "/order/insert/labelUp/file/auth")
//    @ManagerAuth
    public R insertLabelUpFile(@RequestParam("orderId") String orderId,@RequestParam MultipartFile file){
        String[] split = orderId.split("-");
        int id = Integer.parseInt(split[1]);
        System.out.println("---开始---");
        String savePath = "D:/crm/plan/file/"+id+"/"; // 指定保存文件的路径
        String savePath = "D:/order/labelUp/file/"+id+"/"; // 指定保存文件的路径
        try{
            FileSaveExampleUtil.saveFile(file, savePath);
        }catch (Exception e){
@@ -434,4 +434,17 @@
        return R.ok();
    }
    @RequestMapping(value = "/order/view/labelUp/file/auth")
//    @ManagerAuth
    public R viewLabelUpFile(@RequestParam("orderId") String orderId){
        int id = Integer.parseInt(orderId);
        String savePath = "D:/order/labelUp/file/"+id+"/"; // 指定保存文件的路径
        try{
            List<FileSaveExampleUtil.FileDTO> fileDTOS = FileSaveExampleUtil.viewFileList(savePath);
            return R.ok(fileDTOS);
        }catch (Exception e){
            return R.error();
        }
    }
}
src/main/webapp/static/js/order/order.js
@@ -4,12 +4,13 @@
    base: baseUrl + "/static/layui/lay/modules/"
}).extend({
    notice: 'notice/notice',
}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate', 'tableMerge', 'notice'], function () {
}).use(['layer', 'form', 'table','upload',  'util', 'admin', 'xmSelect', 'laydate', 'tableMerge', 'notice'], function () {
    var $ = layui.jquery;
    var layer = layui.layer;
    var form = layui.form;
    var table = layui.table;
    var util = layui.util;
    var upload = layui.upload;
    var admin = layui.admin;
    var xmSelect = layui.xmSelect;
    var layDate = layui.laydate;
@@ -85,6 +86,77 @@
        insTb.reload({where: data.field, page: {curr: 1}});
    });
    //多文件列表
    var uploadListIns = upload.render({
        elem: '#data-btn-file2'
        ,elemList: $('#data-btn-file3') //列表元素对象
        ,url: '/order/insert/labelUp/file/auth'
        ,accept: 'file'
        ,multiple: true
        ,number: 10
        ,auto: false
        ,bindAction: '#testListAction'
        ,choose: function(obj){
            // 赋值
            console.log(obj)
            console.log(obj.data)
            console.log($('.layui-layer-title').text())
            this.data.orderId=$('.layui-layer-title').text()
            var that = this;
            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/1014).toFixed(1) +'kb</td>'
                    ,'<td><div class="layui-progress" lay-filter="progress-demo-'+ index +'"><div class="layui-progress-bar" lay-percent=""></div></div></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 值,以免删除后出现同名文件不可选
                });
                that.elemList.append(tr);
                element.render('progress'); //渲染新加的进度条组件
            });
        }
        ,done: function(res, index, upload){ //成功的回调
            var that = this;
            //if(res.code == 0){ //上传成功
            var tr = that.elemList.find('tr#upload-'+ index)
                ,tds = tr.children();
            tds.eq(3).html(''); //清空操作
            delete this.files[index]; //删除文件队列已经上传成功的文件
            return;
            //}
            this.error(index, upload);
        }
        ,allDone: function(obj){ //多文件上传完毕后的状态回调
            console.log(obj)
        }
        ,error: function(index, upload){ //错误回调
            var that = this;
            var tr = that.elemList.find('tr#upload-'+ index)
                ,tds = tr.children();
            tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
        }
        ,progress: function(n, elem, e, index){ //注意:index 参数为 layui 2.6.6 新增
            element.progress('progress-demo-'+ index, n + '%'); //执行进度条。n 即为返回的进度百分比
        }
    });
    // 添加
    $("#orderAddBtn").click(function () {
        showEditModel();
@@ -102,7 +174,47 @@
            doDel(data.id);
        } else if (layEvent === 'labelUp') {
            //上传标签
            layer.msg('未完成', {icon: 2});
            // 打开弹窗
            // 构建带参数的内容
            layer.open({
                type: 1,
                title: '上传文件-'+data.id,
                content: $('#myModal')
            });
            // 获取路径下的文件列表,使用 jQuery 的 ajax 方法
            $.ajax({
                url: '/order/view/labelUp/file/auth',
                data:{
                    orderId:data.id
                },
                success: function(response) {
                    if (response.code==200){
                        var targetTable = document.getElementById("data-btn-file3");
                        targetTable.innerHTML = '';
                        // 将获取到的文件列表添加到文件队列中进行显示
                        response.data.forEach(function(file,index) {
                            // 创建tr元素
                            var tr = document.createElement("tr");
                            tr.id = "upload-"+index;
                            tr.innerHTML = '<td>' + file.name + '</td>'
                                + '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>'
                                + '<td><div class="layui-progress" lay-filter="progress-demo-' + index + '"><div class="layui-progress-bar" lay-percent=""></div></div></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元素添加到目标table中
                            targetTable.appendChild(tr);
                        });
                    }else {
                        console.log('Failed to get file list error.');
                    }
                },
                error: function() {
                    console.log('Failed to get file list.');
                }
            });
        } else if (layEvent === 'refundLoc') {
            //退库
            pakoutPreview([data.id]);
src/main/webapp/views/order/order.html
@@ -95,6 +95,32 @@
        </div>
    </div>
</div>
<div id="myModal"  style="display: none;">
    <div style="padding: 10px">
        <div class="layui-upload">
            <button type="button" class="layui-btn layui-btn-normal" id="data-btn-file2">选择文件</button><input id="data-btn-upload" class="layui-upload-file" type="file" accept="" name="file" multiple="">
            <div class="layui-upload-list" style="max-width: 1000px;height:400px;overflow: scroll">
                <table class="layui-table">
                    <colgroup>
                        <col>
                        <col width="150">
                        <col width="260">
                        <col width="150">
                    </colgroup>
                    <thead>
                    <tr><th>文件名</th>
                        <th>大小</th>
                        <th>上传进度</th>
                        <th>操作</th>
                    </tr></thead>
                    <tbody id="data-btn-file3"></tbody>
                </table>
            </div>
            <button type="button" class="layui-btn" id="testListAction">开始上传</button>
        </div>
    </div>
</div>
<!-- 表格操作列 -->
<script type="text/html" id="operate">
    {{# if (d.settle == 0 || d.settle == 1) { }}