var insTbCount = 0; var admin; var insTb layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () { var $ = layui.jquery; var layer = layui.layer; var form = layui.form; var table = layui.table; var util = layui.util; admin = layui.admin; var xmSelect = layui.xmSelect; var layDate = layui.laydate; var laytpl = layui.laytpl; // 渲染搜索模板 $.ajax({ url: baseUrl+"/docType/list/auth", headers: {'token': localStorage.getItem('token')}, data: { limit: 9999 }, method: 'POST', success: function (res) { if (res.code === 200){ let template = Handlebars.compile($('#docTypeTpl').html()); $('#docType-query').html(template(res.data)); layui.form.render('select'); } else if (res.code === 403){ top.location.href = baseUrl+"/"; } else { layer.msg(res.msg, {icon: 2}) } } }) // 渲染表格 insTb = table.render({ elem: '#order', url: baseUrl+'/orderView/list/auth', headers: {token: localStorage.getItem('token')}, page: true, cellMinWidth: 100, cols: [[ {type: 'numbers'}, {field: 'defNumber', align: 'center', title: '操作系统号', hide: true, width: 100}, {field: '操作单据', align: 'center', title: '操作单据', hide: true}, {field: '操作类型', align: 'center', title: '操作类型', hide: true}, {field: 'orderNo', title: '单据编号', templet: '#orderNoTpl', width: 200}, //{field: 'itemName', align: 'center', title: '核算主体'}, {field: 'docType$', align: 'center', title: '单据类型', width: 180}, {field: 'threeCode', align: 'center',title: '销售单号', width: 130}, {field: 'anfme', align: 'center',title: '数量', width: 90}, {field: 'qty', align: 'center',title: '作业数量', width: 90}, {field: 'matnr', align: 'center',title: '物料号', width: 140}, {field: 'maktx', align: 'center',title: '物料名称', width: 180}, {field: 'processSts$', title: '工序', hide: true}, {field: 'reportQty', align: 'center',title: '上报数量', width: 90}, {field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl', minWidth: 130, width: 130}, //{field: 'defNumber', align: 'center', title: '业务类型'}, //{field: 'postFee', align: 'center', title: '总数量', minWidth: 130, width: 130}, //{align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, width: 160}, {field: 'orderTime', align: 'center',title: '单据日期', hide: true, width: 180}, //{field: 'shipCode', align: 'center',title: '制单人'}, {field: 'createBy$', title: '创建人', width: 120}, {field: 'createTime$', title: '创建时间', hide: true, width: 180}, {field: 'memo', align: 'center',title: '备注', hide: true}, {field: 'cstmrName', align: 'center',title: '供应商/客户编码', hide: true}, {field: 'tel', align: 'center',title: '仓库', hide: true}, {field: 'operMemb', align: 'center',title: '出入库类别', hide: true}, {field: 'salesman', align: 'center',title: '部门', hide: true}, {align: 'center', title: '操作', toolbar: '#operate', width: 190} ]], 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) { limit(); if (res.code === 403) { top.location.href = baseUrl+"/"; } insTbCount = count; } }); // 搜索 form.on('submit(tbSearch)', function (data) { insTb.reload({where: data.field, page: {curr: 1}}); }); // 添加 $("#orderAddBtn").click(function () { showEditModel(); }); // 导入销售单 $("#importOrder").click(function () { $("#importExcel").trigger("click"); }); $("#orderCheckBtn").click(function () { $("#importExcel2").trigger("click"); }); // 工具条点击事件 table.on('tool(order)', function (obj) { var data = obj.data; var layEvent = obj.event; if (layEvent === 'edit') { showEditModel(data); } else if (layEvent === 'wrkTrace') { showWrkTrace(data.id); } else if (layEvent === 'del') { doDel(data.id); } else if (layEvent === 'complete') { doModify(data.id, 4); } else if (layEvent === 'report'){ doReport(data.id); } else if (layEvent === 'look') { var $a = $(obj.tr).find('a[lay-event="look"]'); var offset = $a.offset(); var top = offset.top; var left = offset.left; layer.open({ type: 1, title: false, area: '1100px', offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], shade: .01, shadeClose: true, fixed: false, content: '
', success: function (layero) { table.render({ elem: '#lookSSXMTable', headers: {token: localStorage.getItem('token')}, url: baseUrl+'/orderDetl/list/auth', where: { order_id: data.id }, page: true, cellMinWidth: 100, cols: [[ {type: 'numbers'}, {field: 'matnr', title: '商品编码', width: 140}, {field: 'maktx', title: '商品名称', width: 150}, {field: 'batch', title: '批号'}, {field: 'anfme', title: '数量'}, {field: 'qty', title: '作业数量', style: 'font-weight: bold'}, // {field: 'unit', title: '单位'}, // { // field: 'createTime$', title: '创建时间', sort: true, templet: function (d) { // return util.toDateString(d.createTime); // }, width: 180 // }, // {field: 'inQty', title: '已入库量'}, // {field: 'color', title: '颜色'}, //{field: 'specs', title: '规格型号'}, {field: 'unit', title: '计量单位'}, //{field: 'manu', title: '行号'}, {field: 'threeCode', title: '销售单号'}, //{field: 'deadTime', title: '自由项'}, {field: 'processSts$', title: '工序'}, //{field: 'specs', title: '规格'}, {field: 'reportQty', title: '上报数量'}, //{field: 'itemNum', title: '行唯一标识'} ]], 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 () { $(layero).find('.layui-table-view').css('margin', '0'); }, size: '' }); } }); } }); // 显示表单弹窗 function showEditModel(expTpe) { admin.open({ type: 1, title: (expTpe ? '修改' : '添加') + '单据', content: $('#editDialog').html(), area: '1600px', success: function (layero, dIndex) { $(layero).children('.layui-layer-content').css('overflow', 'visible'); var isExpAdd = !expTpe; // 回显数据 form.val('editForm', expTpe); if (expTpe) { $('#orderNo').attr("disabled", "disabled"); } // 表单提交事件 form.on('submit(orderEditSubmit)', function (data) { // 组装数据 if (xxDataList.length <= 0) { layer.tips('请添加单据明细', '#matAddBtnComment', {tips: [1, '#ff4c4c']}); return false; } let nList = admin.util.deepClone(xxDataList); for (let xi = 0; xi < nList.length; xi++) { if (nList[xi].anfme <= 0){ layer.msg('明细修改数量不合法', {icon: 2}); return false; } } layer.load(2); $.ajax({ url: baseUrl+"/order/form/" + (isExpAdd?"add":"modify") + "/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify({ orderId: Number(data.field.id), docType: Number(data.field.docType), orderNo: data.field.orderNo, orderDetlList: nList }), contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { layer.closeAll('loading'); if (res.code === 200){ layer.close(dIndex); $(".layui-laypage-btn")[0].click(); layer.msg(res.msg, {icon: 1}); } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { layer.msg(res.msg, {icon: 2}); } } }) return false; }); // 明细表格 var xxDataList = []; var tbOptions = { elem: '#formSSXMTable', headers: {token: localStorage.getItem('token')}, data: xxDataList, page: true, //height: '350px;', cellMinWidth: 100, css: [ // 设置单元格样式 // 取消默认的溢出隐藏,并设置适当高度 '.layui-table-cell{height: 50px; line-height: 40px;}', '.layui-table-cell .layui-colorpicker{width: 38px; height: 38px;}', '.layui-table-cell select{height: 36px; padding: 0 5px;}' ].join(''), cols: [[ {type: 'numbers', title: '#'}, {field: 'matnr', title: '商品编码', width: 160}, {field: 'maktx', title: '商品名称', width: 160}, {field: 'batch', title: '序列码', edit: true}, {field: 'specs', title: '规格'}, {field: 'anfme', title: '数量(修改)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, {field: 'threeCode', title: '销售订单号(修改)', style: 'color: blue;font-weight: bold', edit: 'text', minWidth: 110, width: 110}, {field: 'deadTime', title: '销售订单行号(修改)', style: 'color: blue;font-weight: bold', edit: 'text', minWidth: 110, width: 110}, {field: 'processSts', title: '工序', templet: function (d) { var select = ``; return select; }}, // {field: 'inQty', title: '已入库量', minWidth: 100, width: 100}, // {field: 'unit', title: '单位', width: 80}, {field: 'memo', title: '备注' , edit: true}, {align: 'center', title: '操作', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'} ]], done: function (res,curr, count) { $(layero).find('.layui-table-view').css('margin', '0'); $(".layui-table-body").css('overflow','visible'); $(".layui-table-box").css('overflow','visible'); $(".layui-table-view").css('overflow','visible'); var tableElem = this.elem.next('.layui-table-view'); count || tableElem.find('.layui-table-header').css('overflow', 'auto'); layui.each(tableElem.find('select[name="processSts"]'), function (index, item) { var elem = $(item); elem.val(elem.data('state')).parents('div.layui-table-cell').css('overflow', 'visible'); }); form.render();//刷新表单 }, size: '' }; if (!isExpAdd) { $.ajax({ url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id, headers: {'token': localStorage.getItem('token')}, method: 'GET', async: false, success: function (res) { if (res.code === 200){ xxDataList = res.data; tbOptions.data = xxDataList; } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { layer.msg(res.msg, {icon: 2}) } } }) } var insTbSSXM = table.render(tbOptions); // 工具条点击事件 table.on('tool(formSSXMTable)', function (obj) { var data = obj.data; var layEvent = obj.event; if (layEvent === 'edit') { showEditModel2(data); } else if (layEvent === 'del') { layer.confirm('确定要删除该明细对应的单据吗?', { shade: .1, skin: 'layui-layer-admin' }, function (i) { layer.close(i); for (var j = 0; j < xxDataList.length; j++) { if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) { xxDataList.splice(j, 1); break; } } insTbSSXM.reload({data: xxDataList, page: {curr: 1}}); }); } }); // 工具条点击事件 form.on('select(processStsSelect)', function (obj) { console.log(obj) var id = obj.elem.id var val = obj.value for (let item of xxDataList) { if (item.id == id) { item.processSts = val } } }); // 明细数据修改 table.on('edit(formSSXMTable)', function (obj) { let index = 0; for (let k in xxDataList) { if (obj.data.id === xxDataList[k].id) index = k } let data = xxDataList[index]; if (obj.field === 'anfme'){ let vle = Number(obj.value); if (isNaN(vle)) { layer.msg("请输入数字", {icon: 2}); return false; } else { if (vle <= 0) { layer.msg("数量必须大于零", {icon: 2}); return false; } } } data[obj.field] = obj.value; insTbSSXM.reload({data: xxDataList}); }); $('#matAddBtnComment').click(function () { showEditModel2(); }); // 显示添加明细表单弹窗 function showEditModel2(exp) { admin.open({ type: 1, offset: '150px', area: '680px', title: (exp ? '修改' : '添加') + '明细', content: $('#matEditDialog').html(), success: function (layero, dIndex) { // 回显数据 form.val('matEditForm', exp); // 表单提交事件 form.on('submit(matEditSubmit)', function (data) { let selectList = matXmSelect.getValue(); for (let i = 0; i