自动化立体仓库 - WMS系统
#
lsh
2024-10-26 ce697013e8b5d43bffafc3f3e4500c62316917b5
src/main/webapp/static/js/order/order.js
@@ -4,18 +4,20 @@
    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','element',  '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;
    var laytpl = layui.laytpl;
    var tableMerge = layui.tableMerge;
    var notice = layui.notice;
    var element = layui.element;
    // 渲染搜索模板
    $.ajax({
@@ -85,6 +87,74 @@
        insTb.reload({where: data.field, page: {curr: 1}});
    });
    //多文件列表
    var uploadListIns = upload.render({
        elem: '#data-btn-file2'
        ,elemList: $('#data-btn-file3') //列表元素对象
        ,url: baseUrl+'/order/insert/labelUp/file/auth'
        ,accept: 'file'
        ,multiple: true
        ,number: 10
        ,auto: false
        ,bindAction: '#testListAction'
        ,choose: function(obj){
            // 赋值
            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 +172,48 @@
            doDel(data.id);
        } else if (layEvent === 'labelUp') {
            //上传标签
            layer.msg('未完成', {icon: 2});
            // 打开弹窗
            // 构建带参数的内容
            layer.open({
                area: '1020px',
                type: 1,
                title: '上传文件-'+data.id,
                content: $('#myModal')
            });
            // 获取路径下的文件列表,使用 jQuery 的 ajax 方法
            $.ajax({
                url: baseUrl+'/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]);
@@ -134,10 +245,10 @@
                        cellMinWidth: 100,
                        cols: [[
                            {type: 'numbers'},
                            {field: 'matnr', title: '商品编码', width: 160},
                            {field: 'matnr', title: '规格', width: 160},
                            {field: 'maktx', title: '商品名称', width: 160},
                            {field: 'batch', title: '箱号'},
                            {field: 'anfme', title: '木箱中铜箔数量'},
                            {field: 'anfme', title: '数量'},
                            // {field: 'workQty', title: '作业数量'},
                            // {field: 'unit', title: '单位'},
@@ -148,7 +259,7 @@
                            // },
                            // {field: 'inQty', title: '已入库量'},
                            // {field: 'color', title: '颜色'},
                            {field: 'specs', title: '规格'},
                            {field: 'specs', title: '接头'},
                            {field: 'qty$', title: '状态', style: 'font-weight: bold'},
                            {field: 'source$', title: '是否确认', style: 'font-weight: bold'}
                        ]],
@@ -248,10 +359,10 @@
                    cellMinWidth: 100,
                    cols: [[
                        {type: 'numbers', title: '#'},
                        {field: 'matnr', title: '商品编码', width: 160},
                        {field: 'matnr', title: '规格', width: 160},
                        {field: 'maktx', title: '商品名称', width: 200},
                        {field: 'batch', title: '箱号', edit: true},
                        {field: 'specs', title: '规格'},
                        {field: 'specs', title: '接头'},
                        {field: 'anfme', title: '数量(修改)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
                        {field: 'workQty', title: '作业数量',  minWidth: 100, width: 100},
                        // {field: 'unit', title: '单位', width: 80},
@@ -598,12 +709,13 @@
                                    {field: 'title', title: '商品', align: 'center', width: 350},
                                    // {field: 'title', title: '商品', merge: true, align: 'center', width: 350},
                                    {field: 'batch', title: '箱号', align: 'center'},
                                    {field: 'model', title: '批次', align: 'center'},
                                    {field: 'specs', title: '规格', align: 'center'},
                                    {field: 'brand', title: '木箱类型', align: 'center'},
                                    {field: 'model', title: '卷号', align: 'center', hide: false},
                                    {field: 'specs', title: '接头', align: 'center'},
                                    // {field: 'brand', title: '木箱类型', align: 'center'},
                                    {field: 'brand$', title: '木箱类型', align: 'center'},
                                    {field: 'zpallet', title: '托盘码', align: 'center'},
                                    {field: 'anfme', title: '木箱中铜箔数量', align: 'center', width: 90, style: 'font-weight: bold'},
                                    {field: 'count', title: '木箱中铜箔数量', align: 'center', width: 90, style: 'font-weight: bold'},
                                    {field: 'anfme', title: '数量', align: 'center', width: 90, style: 'font-weight: bold'},
                                    {field: 'count', title: '数量', align: 'center', width: 90, style: 'font-weight: bold'},
                                    {field: 'locNo', title: '货位', align: 'center', width: 100, templet: '#locNoTpl'},
                                    {field: 'tkType$', title: 'TK标记', align: 'center', width: 100},
                                    // {field: 'staNos', align: 'center', title: '出库站', merge: ['locNo'], templet: '#tbBasicTbStaNos'},