| | |
| | | var pageCurr; |
| | | var tableIns; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['table', 'laydate', 'form', 'admin'], function () { |
| | |
| | | var form = layui.form; |
| | | var admin = layui.admin; |
| | | |
| | | // 数据渲染 |
| | | tableIns = table.render({ |
| | | // AGV任务管理:工作状态用多选框(勾选多项),仅本页;用原生 checkbox 不经过 layui 美化,保证勾选与框内显示始终一致 |
| | | function updateTaskWrkStsFromCheckbox() { |
| | | var ids = [], texts = []; |
| | | $('#taskWrkStsCheckboxWrap input:checkbox:checked').each(function () { |
| | | var $input = $(this); |
| | | ids.push($input.val()); |
| | | var text = $input.data('text') || $input.closest('label').clone().children().remove().end().text().trim() || $input.val(); |
| | | texts.push(text); |
| | | }); |
| | | $('input[name="wrk_sts"]').val(ids.join(',')); |
| | | $('#wrkSts\\$').val(texts.join(', ')); |
| | | } |
| | | |
| | | $(document).on('change', '#taskWrkStsCheckboxWrap input:checkbox', updateTaskWrkStsFromCheckbox); |
| | | |
| | | function initWrkStsDropdownThenTable() { |
| | | $.ajax({ |
| | | url: baseUrl + '/basWrkStatusQueryAgv/auth', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | data: {condition: ''}, |
| | | method: 'POST', |
| | | traditional: true, |
| | | success: function (res) { |
| | | var $wrap = $('#taskWrkStsCheckboxWrap'); |
| | | $wrap.empty(); |
| | | var defaultIds = {'7': true, '8': true, '9': true}; |
| | | if (res.code === 200 && res.data && res.data.length) { |
| | | res.data.forEach(function (item) { |
| | | var id = String(item.id); |
| | | var text = item.value || id; |
| | | var checked = defaultIds[id] ? ' checked' : ''; |
| | | $wrap.append( |
| | | '<label class="task-wrksts-cb-label" style="display: inline-block; margin: 4px 12px 4px 0; cursor: pointer;"><input type="checkbox" value="' + id + '" data-text="' + (text.replace(/"/g, '"')) + '"' + checked + '> ' + text + '</label>' |
| | | ); |
| | | }); |
| | | updateTaskWrkStsFromCheckbox(); |
| | | } |
| | | |
| | | // 点击输入框展开/收起下拉(不调用 autoShow,避免走全局逻辑) |
| | | $('#wrkSts\\$').off('click').on('click', function () { |
| | | var $win = $('#taskWrkStsWindow'); |
| | | $win.toggle(); |
| | | }); |
| | | |
| | | var initialWhere = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function () { |
| | | initialWhere[this.name] = this.value; |
| | | }); |
| | | renderTaskTable(initialWhere); |
| | | }, |
| | | error: function () { |
| | | renderTaskTable({}); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function renderTaskTable(initialWhere) { |
| | | tableIns = table.render({ |
| | | elem: '#task', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl + '/task/list/auth', |
| | | where: initialWhere, |
| | | page: true, |
| | | limit: 15, |
| | | limits: [15, 30, 50, 100, 200, 500], |
| | |
| | | , {field: 'staNo$', align: 'center', title: '目标站', width: 120} |
| | | , {field: 'locNo', align: 'center', title: '目标库位', width: 120} |
| | | , {field: 'barcode', align: 'center', title: '条码', width: 110} |
| | | , {field: 'errorMemo', align: 'center', title: '错误原因', width: 200} |
| | | , {field: 'errorMemo2', align: 'center', title: '错误原因2', width: 200, hide: true} |
| | | , {field: 'errorMemo', align: 'center', title: 'AGV回复报文', width: 200, hide: true} |
| | | , {field: 'errorMemo2', align: 'center', title: 'AGV回复报文2', width: 200, hide: true} |
| | | , {field: 'errorTime$', align: 'center', title: '错误时间', width: 160, hide: true} |
| | | , {field: 'preHave', align: 'center', title: '先入品', hide: true} |
| | | , {field: 'takeNone', align: 'center', title: '空操作', hide: true} |
| | |
| | | pageCurr = curr; |
| | | limit(); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | initWrkStsDropdownThenTable(); |
| | | |
| | | // 监听排序事件 |
| | | table.on('sort(task)', function (obj) { |
| | |
| | | }, function () { |
| | | }); |
| | | break; |
| | | // 删除(单条) |
| | | case 'delete': |
| | | layer.confirm('确定要删除该条AGV任务吗?', { |
| | | title: '工作号:' + data.wrkNo, |
| | | shadeClose: true |
| | | }, function (i) { |
| | | layer.close(i); |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl + "/task/delete/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {'ids[]': [data.id]}, |
| | | traditional: true, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200) { |
| | | layer.msg(res.msg || '删除成功', {icon: 1}); |
| | | tableReload(); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | break; |
| | | } |
| | | }); |
| | | |
| | |
| | | $.ajax({ |
| | | url: baseUrl + "/task/delete/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {ids: ids}, |
| | | data: {'ids[]': ids}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | |
| | | }); |
| | | |
| | | function tableReload(child) { |
| | | if (!tableIns) return; |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function () { |
| | | searchData[this.name] = this.value; |