#
luxiaotao1123
2021-09-09 e1749547c76a5d8bae94e47d38d4d75b481610c1
src/main/webapp/static/js/ioWorks/matQuery.js
@@ -1,5 +1,8 @@
var matData = [];
var cstmrVal;
var itemVal;
function getCol() {
    var cols = [
        {field: 'count', align: 'center',title: '出库数量', edit:'text', width: 130,  style:'color: blue;font-weight: bold'}
@@ -9,12 +12,19 @@
    cols.push({fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:65})
    return cols;
}
layui.use(['table','laydate', 'form'], function() {
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).extend({
    notice: 'notice/notice',
}).use(['table','laydate', 'form', 'admin', 'notice', 'xmSelect'], function() {
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
    var form = layui.form;
    var notice = layui.notice;
    var layDate = layui.laydate;
    var admin = layui.admin;
    var xmSelect = layui.xmSelect;
    tableIns = table.render({
        elem: '#chooseData',
@@ -41,26 +51,196 @@
        switch (obj.event) {
            case 'createDoc':
                if (data.length === 0){
                    layer.msg('请添加物料');
                    notice.error({
                        title: '消息通知',
                        message: '请添加物料'
                    });
                } else {
                    layer.open({
                        type: 1,
                        title: '定义销售单编号',
                        offset: '100px',
                        area: ['360px'],
                        shade: 0.1,
                        content: $('#getOrderNo'),
                        success: function(layero, index){
                            layer.iframeAuto(index)
                        },
                        cancel: function () {
                            $('#orderNo').val('');
                    var success = true;
                    for (var i=0;i<matData.length;i++) {
                        if (matData[i].count <= 0) {
                            notice.error({
                                title: '消息通知',
                                message: matData[i].matnr + '物料数量必须大于零!'
                            });
                            success = false;
                            return false;
                        }
                    }
                    var index = layer.load(1, {shade: [0.1,'#000']});
                    // 单据类型
                    var docTypeData;
                    $.ajax({
                        url: baseUrl+"/work/docType/all/get",
                        headers: {'token': localStorage.getItem('token')},
                        method: 'POST',
                        async: false,
                        success: function (res) {
                            if (res.code === 200){
                                docTypeData = res;
                            } else {
                                layer.msg(res.msg, {icon: 2})
                            }
                        }
                    });
                    var tpl1 = $('#docTypeSelectTpl').html();
                    var template1 = Handlebars.compile(tpl1);
                    var html1 = template1(docTypeData);
                    $("#docType").html(html1);
                    // 客户
                    var cstmrData;
                    // $.ajax({
                    //     url: baseUrl+"/work/cstmr/all/get",
                    //     headers: {'token': localStorage.getItem('token')},
                    //     method: 'POST',
                    //     async: false,
                    //     success: function (res) {
                    //         if (res.code === 200){
                    //             cstmrData = res;
                    //         } else {
                    //             layer.msg(res.msg, {icon: 2})
                    //         }
                    //     }
                    // });
                    // var tpl2 = $('#cstmrSelectTpl').html();
                    // var template2 = Handlebars.compile(tpl2);
                    // var html2 = template2(cstmrData);
                    // $("#cstmr").html(html2);
                    // 单选
                    $.ajax({
                        url: baseUrl+"/work/cstmr/all/get/kv",
                        headers: {'token': localStorage.getItem('token')},
                        method: 'POST',
                        async: false,
                        success: function (res) {
                            if (res.code === 200){
                                cstmrData = res.data;
                            } else {
                                layer.msg(res.msg, {icon: 2})
                            }
                        }
                    });
                    cstmrVal = xmSelect.render({
                        el: '#cstmr',
                        radio: true,
                        clickClose: true,
                        filterable: true,
                        create: function(val, arr){
                            if(arr.length === 0){
                                return {
                                    name:  val,
                                    value: val
                                }
                            }
                        },
                        model: {
                            icon: 'hidden',
                            label: {
                                type: 'text',
                            }
                        },
                        data: cstmrData
                    })
                    // 项目
                    var itemData;
                    // $.ajax({
                    //     url: baseUrl+"/work/item/all/get",
                    //     headers: {'token': localStorage.getItem('token')},
                    //     method: 'POST',
                    //     async: false,
                    //     success: function (res) {
                    //         if (res.code === 200){
                    //             itemData = res;
                    //         } else {
                    //             layer.msg(res.msg, {icon: 2});
                    //         }
                    //     }
                    // });
                    // var tpl3 = $('#itemSelectTpl').html();
                    // var template3 = Handlebars.compile(tpl3);
                    // var html3 = template3(itemData);
                    // $("#item").html(html3);
                    $.ajax({
                        url: baseUrl+"/work/item/all/get/kv",
                        headers: {'token': localStorage.getItem('token')},
                        method: 'POST',
                        async: false,
                        success: function (res) {
                            if (res.code === 200){
                                itemData = res.data;
                            } else {
                                layer.msg(res.msg, {icon: 2});
                            }
                        }
                    });
                    itemVal = xmSelect.render({
                        el: '#item',
                        radio: true,
                        clickClose: true,
                        filterable: true,
                        create: function(val, arr){
                            if(arr.length === 0){
                                return {
                                    name:  val,
                                    value: val
                                }
                            }
                        },
                        model: {
                            icon: 'hidden',
                            label: {
                                type: 'text',
                            }
                        },
                        data: itemData
                    })
                    // 弹窗
                    layer.close(index);
                    if (success) {
                        admin.open({
                            type: 1,
                            title: '单据填充',
                            offset: '100px',
                            area: ['360px'],
                            shade: 0.3,
                            content: $('#getOrderNo'),
                            success: function(layero, index){
                                layer.iframeAuto(index);
                                $(layero).children('.layui-layer-content').css('overflow', 'visible');
                                layui.form.render('select');
                            },
                            cancel: function () {
                                $('#orderNo').val('');
                            }
                        });
                    }
                }
                break;
        }
    });
    // // 多选
    // var demo1 = xmSelect.render({
    //     el: '#demo1',
    //     filterable: true,
    //     create: function(val, arr){
    //         if(arr.length === 0){
    //             return {
    //                 name:  val,
    //                 value: val
    //             }
    //         }
    //     },
    //     data: [
    //         {name: '张三', value: 1, selected: true},
    //         {name: '李四', value: 2},
    //         {name: '王五', value: 3, disabled: true},
    //     ]
    // })
    // 监听行工具事件
    table.on('tool(chooseData)', function(obj){
@@ -83,54 +263,75 @@
    form.on('submit(confirm)', function (data) {
        var matDetls = [];
        matData.forEach(function(elem) {
            matDetls.push({matnr: elem.matnr, count: elem.count});
            matDetls.push({
                matnr: elem.matnr
                , count: elem.count
            });
        });
        var req = JSON.stringify({
            docType: data.field.docType
            , orderNo: data.field.orderNo
            , orderTime: data.field.orderTime
            , item: itemVal.getValue()[0] ? itemVal.getValue()[0].name : null
            , cstmr: cstmrVal.getValue()[0] ? cstmrVal.getValue()[0].name : null
            , list: matDetls
        })
        $.ajax({
            url: baseUrl+"/work/order/init",
            headers: {'token': localStorage.getItem('token')},
            data: JSON.stringify({
                number: data.field.orderNo,
                list: matDetls
            }),
            data: req,
            contentType:'application/json;charset=UTF-8',
            method: 'POST',
            success: function (res) {
                if (res.code === 200){
                    notice.success({
                        title: '消息通知',
                        message: res.msg
                    });
                    top.layui.layer.close(top.popupRight);
                    layer.msg(res.msg, {icon: 1});
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/";
                } else {
                    layer.msg(res.msg, {icon: 2})
                    notice.error({
                        title: '消息通知',
                        message: res.msg
                    });
                }
            }
        });
    })
    function updateMatData(locNo, matnr, count) {
        if (isNaN(count)) {
            layer.msg("请输入数字");
            notice.error({
                title: '消息通知',
                message: '请输入数字'
            });
        } else {
            if (count > 0) {
                for (var i=0;i<matData.length;i++){
                    if (matData[i]["matnr"] === matnr){
                        // if (count > locDetlData[i]["anfme"]) {
                        //     layer.msg("不能超过原数量");
                        // } else {
                            matData[i]["count"] = count;
                        // }
                        matData[i]["count"] = count;
                        break;
                    }
                }
            } else {
                layer.msg("数量必须大于零");
                notice.error({
                    title: '消息通知',
                    message: '数量必须大于零'
                });
            }
        }
        tableIns.reload({data: matData,done:function (res) {
            limit();
        }});
    }
    layDate.render({
        elem: '#orderTime',
        trigger: 'click',
        type: 'date'
    });
})
@@ -183,7 +384,10 @@
            } else if (res.code === 403){
                top.location.href = baseUrl+"/";
            } else {
                layer.msg(res.msg, {icon: 2})
                notice.error({
                    title: '消息通知',
                    message: res.msg
                });
            }
        }
    });