| | |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.logErrTime); |
| | | } |
| | | |
| | | /** |
| | | * 获取持续时间 |
| | | */ |
| | | public String getDurationTime() { |
| | | if (Cools.isEmpty(this.ioTime)) { |
| | | return ""; |
| | | } |
| | | |
| | | Date endDate = new Date(); |
| | | |
| | | //用来获取两个时间相差的毫秒数 |
| | | long l = this.ioTime.getTime() - endDate.getTime(); |
| | | |
| | | //分别计算相差的天、小时、分、秒 |
| | | long day = l / (24 * 60 * 60 * 1000); |
| | | long hour = (l / (60 * 60 * 1000) - day * 24); |
| | | long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60); |
| | | long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); |
| | | |
| | | return Math.abs(day) + "天" + Math.abs(hour) + "小时" + Math.abs(min) + "分" + Math.abs(s) + "秒"; |
| | | } |
| | | |
| | | } |
| | |
| | | return html; |
| | | },width:80} |
| | | ,{field: 'crnSts$', align: 'center',title: '状态'} |
| | | ,{field: 'wrkNo', align: 'center',title: '工作号'} |
| | | ,{field: 'wrkNo', align: 'center',title: '任务号'} |
| | | ,{field: 'crnErr$', align: 'center',title: '异常码'} |
| | | ,{field: 'frmLocno$', align: 'center',title: '源库位',sort: true} |
| | | ,{field: 'toLocno$', align: 'center',title: '目标库位', sort: true} |
| | | ,{field: 'frmLocno$', align: 'center',title: '开始点',sort: true} |
| | | ,{field: 'toLocno$', align: 'center',title: '目标点', sort: true} |
| | | ,{field: 'frmSta$', align: 'center',title: '源站', sort: true} |
| | | ,{field: 'toSta$', align: 'center',title: '目标站', sort: true} |
| | | // ,{field: 'appeUser$', align: 'center',title: '创建者',event: 'appeUser', style: 'text-decoration: underline;cursor:pointer'} |
| | |
| | | // ,{field: 'rearing', align: 'center',title: ''} |
| | | // ,{field: 'uping', align: 'center',title: ''} |
| | | // ,{field: 'downing', align: 'center',title: ''} |
| | | ,{field: 'inreq1', align: 'center',title: '需求1', templet:function(row){ |
| | | var html = "<input value='inreq1' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; |
| | | if(row.inreq1 === 'Y'){html += " checked ";} |
| | | html += ">"; |
| | | return html; |
| | | }} |
| | | ,{field: 'inreq2', align: 'center',title: '需求2', templet:function(row){ |
| | | var html = "<input value='inreq2' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; |
| | | if(row.inreq2 === 'Y'){html += " checked ";} |
| | | html += ">"; |
| | | return html; |
| | | }} |
| | | ,{field: 'wrkNo', align: 'center',title: '工作号', edit:true, style:'color: blue;font-weight: bold'} |
| | | // ,{field: 'inreq1', align: 'center',title: '需求1', templet:function(row){ |
| | | // var html = "<input value='inreq1' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; |
| | | // if(row.inreq1 === 'Y'){html += " checked ";} |
| | | // html += ">"; |
| | | // return html; |
| | | // }} |
| | | // ,{field: 'inreq2', align: 'center',title: '需求2', templet:function(row){ |
| | | // var html = "<input value='inreq2' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; |
| | | // if(row.inreq2 === 'Y'){html += " checked ";} |
| | | // html += ">"; |
| | | // return html; |
| | | // }} |
| | | ,{field: 'wrkNo', align: 'center',title: '任务号', edit:true, style:'color: blue;font-weight: bold'} |
| | | // ,{field: 'wrkNo1', align: 'center',title: ''} |
| | | ,{field: 'locType1$', align: 'center',title: '桶类型'} |
| | | ,{field: 'locType1$', align: 'center',title: '库位类型'} |
| | | // ,{field: 'barcode', align: 'center',title: '条形码'} |
| | | ,{field: 'inQty', align: 'center',title: '入库暂存'} |
| | | // ,{field: 'row1', align: 'center',title: ''} |
| | |
| | | cellMinWidth: 50, |
| | | cols: [[ |
| | | {field: 'id', align: 'center',title: '指令编号',event: 'wrkNo', sort: true} |
| | | ,{field: 'wrkNo', align: 'center',title: '工作号',event: 'wrkNo', sort: true} |
| | | ,{field: 'wrkNo', align: 'center',title: '任务号',event: 'wrkNo', sort: true} |
| | | ,{field: 'commandStatus$', align: 'center',title: '指令状态'} |
| | | ,{field: 'durationTime', align: 'center',title: '持续时长', width: 160} |
| | | ,{field: 'commandType', align: 'center',title: '指令类型'} |
| | |
| | | cellMinWidth: 50, |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | , {field: 'wrkNo', align: 'center', title: '工作号', sort: true, width: 85} |
| | | , {field: 'ioTime$', align: 'center', title: '工作时间', sort: true, width: 160} |
| | | , {field: 'wrkSts$', align: 'center', title: '工作状态'} |
| | | , {field: 'wrkNo', align: 'center', title: '任务号', sort: true, width: 85} |
| | | , {field: 'ioTime$', align: 'center', title: '任务时间', sort: true, width: 160} |
| | | , {field: 'durationTime', align: 'center', title: '持续时长', width: 160} |
| | | , {field: 'wrkSts$', align: 'center', title: '任务状态'} |
| | | , {field: 'ioType$', align: 'center', title: '入出库类型'} |
| | | , {field: 'ioPri', align: 'center', title: '优先级'} |
| | | , {field: 'crnNo$', align: 'center', title: '堆垛机'} |
| | | , {field: 'sourceStaNo$', align: 'center', title: '源站'} |
| | | , {field: 'staNo$', align: 'center', title: '目标站'} |
| | | , {field: 'sourceLocNo$', align: 'center', title: '源库位'} |
| | | , {field: 'locNo$', align: 'center', title: '目标库位'} |
| | | , {field: 'sourceLocNo$', align: 'center', title: '起始点'} |
| | | , {field: 'locNo$', align: 'center', title: '目标点'} |
| | | , {field: 'barcode', align: 'center', title: '条码'} |
| | | , {field: 'preHave', align: 'center', title: '先入品', hide: true} |
| | | , {field: 'takeNone', align: 'center', title: '空操作', hide: true} |
| | |
| | | // 弹层显示 |
| | | layer.open({ |
| | | type: 2, |
| | | title: '工作档明细', |
| | | title: '任务档明细', |
| | | maxmin: true, |
| | | area: [top.detailWidth, top.detailHeight], |
| | | shadeClose: true, |
| | |
| | | break; |
| | | // 完成 |
| | | case 'complete': |
| | | layer.confirm('确认完成该笔工作档?', {title: '工作号:' + data.wrkNo, shadeClose: true}, function () { |
| | | layer.confirm('确认完成该笔任务档?', {title: '任务号:' + data.wrkNo, shadeClose: true}, function () { |
| | | http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 1}, function (res) { |
| | | $(".layui-laypage-btn")[0].click(); |
| | | layer.msg(data.wrkNo + res.msg); |
| | |
| | | case 'cancel': |
| | | if (data.pdcType === "Y") { |
| | | layer.confirm('当前任务关联ERP销售单,取消将重新生成出库作业,是否继续?', { |
| | | title: '工作号:' + data.wrkNo, |
| | | title: '任务号:' + data.wrkNo, |
| | | shadeClose: true |
| | | }, function () { |
| | | http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 2}, function (res) { |
| | |
| | | layer.closeAll(); |
| | | }); |
| | | } else { |
| | | layer.confirm('确认取消该笔工作档?', { |
| | | title: '工作号:' + data.wrkNo, |
| | | layer.confirm('确认取消该笔任务档?', { |
| | | title: '任务号:' + data.wrkNo, |
| | | shadeClose: true |
| | | }, function () { |
| | | http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 2}, function (res) { |
| | |
| | | break; |
| | | // 拣料入库 |
| | | case 'pick': |
| | | layer.confirm('拣料入库该笔工作档?', {title: '工作号:' + data.wrkNo, shadeClose: true}, function () { |
| | | layer.confirm('拣料入库该笔任务档?', {title: '任务号:' + data.wrkNo, shadeClose: true}, function () { |
| | | http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 3}, function (res) { |
| | | $(".layui-laypage-btn")[0].click(); |
| | | layer.msg(data.wrkNo + res.msg); |
| | |
| | | // 先入品 |
| | | case 'preHave': |
| | | layer.confirm('任务发生先入品异常。如需重新入库,请确保货物已放至堆垛机出库站!', { |
| | | title: '工作号:' + data.wrkNo, |
| | | title: '任务号:' + data.wrkNo, |
| | | shadeClose: true |
| | | }, function () { |
| | | http.post(baseUrl + "/deal/preHave/start", {wrkNo: data.wrkNo}, function (res) { |
| | |
| | | // 空操作 |
| | | case 'takeNone': |
| | | layer.confirm('任务发送空操作异常!是否。。。。。。。。?', { |
| | | title: '工作号:' + data.wrkNo, |
| | | title: '任务号:' + data.wrkNo, |
| | | shadeClose: true |
| | | }, function () { |
| | | }); |
| | |
| | | cellMinWidth: 50, |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | , {field: 'wrkNo', align: 'center', title: '工作号'} |
| | | , {field: 'ioTime$', align: 'center', title: '工作时间'} |
| | | , {field: 'wrkNo', align: 'center', title: '任务号'} |
| | | , {field: 'ioTime$', align: 'center', title: '任务时间'} |
| | | , {field: 'matnr', align: 'center', title: '物料'} |
| | | , {field: 'lgnum', align: 'center', title: '仓库号'} |
| | | , {field: 'tbnum', align: 'center', title: '转储请求编号'} |
| | |
| | | // {type: 'checkbox'} |
| | | // ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} |
| | | // ,{field: 'id', align: 'center',title: '编号'} |
| | | {field: 'wrkNo', align: 'center',title: '工作号',event: 'wrkNo', sort: true} |
| | | ,{field: 'ioTime$', align: 'center',title: '工作时间', width:160, sort: true} |
| | | ,{field: 'wrkSts$', align: 'center',title: '工作状态', width:160} |
| | | {field: 'wrkNo', align: 'center',title: '任务号',event: 'wrkNo', sort: true} |
| | | ,{field: 'ioTime$', align: 'center',title: '任务时间', width:160, sort: true} |
| | | ,{field: 'wrkSts$', align: 'center',title: '任务状态', width:160} |
| | | ,{field: 'ioType$', align: 'center',title: '入出库类型', width:160} |
| | | ,{field: 'ioPri', align: 'center',title: '优先级'} |
| | | ,{field: 'crnNo$', align: 'center',title: '堆垛机号'} |
| | | ,{field: 'sourceStaNo$', align: 'center',title: '源站'} |
| | | ,{field: 'staNo$', align: 'center',title: '目标站'} |
| | | ,{field: 'sourceLocNo$', align: 'center',title: '源库位'} |
| | | ,{field: 'locNo$', align: 'center',title: '目标库位'} |
| | | ,{field: 'sourceLocNo$', align: 'center',title: '起始点'} |
| | | ,{field: 'locNo$', align: 'center',title: '目标点'} |
| | | // ,{field: 'picking', align: 'center',title: '拣料', templet:function(row){ |
| | | // var html = "<input value='picking' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; |
| | | // if(row.picking === 'Y'){html += " checked ";} |
| | |
| | | <input id="downing" class="layui-input" type="text"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline" style="width:31%;">--> |
| | | <!-- <label class="layui-form-label">需 求 1:</label>--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <input id="inreq1" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- <div class="layui-inline" style="width:31%;">--> |
| | | <!-- <label class="layui-form-label">需 求 2:</label>--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <input id="inreq2" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">需 求 1:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="inreq1" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">需 求 2:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="inreq2" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">工 作 号:</label> |
| | | <label class="layui-form-label">任 务 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="wrkNo" class="layui-input" type="text"> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="wrk_no" id="wrkNo" placeholder="工作号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="wrk_no" id="wrkNo" placeholder="任务号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="wrk_no" id="wrkNo" placeholder="工作号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="wrk_no" id="wrkNo" placeholder="任务号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="wrkSts" class="layui-input" name="wrk_sts" type="text" placeholder="请输入" autocomplete="off" style="display: none"> |
| | | <input id="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="工作状态" onfocus=this.blur()> |
| | | <input id="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="任务状态" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="basWrkStatusQueryBywrkSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="basWrkStatusQueryBywrkStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | |
| | | </head> |
| | | <body> |
| | | <div class="layui-inline" style="width:20%;margin-top: 20px"> |
| | | <label class="layui-form-label">工 作 号:</label> |
| | | <label class="layui-form-label">任 务 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="wrkNo" class="layui-input" type="text" disabled="disabled"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:20%;margin-top: 20px"> |
| | | <label class="layui-form-label">工作时间:</label> |
| | | <label class="layui-form-label">任务时间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="ioTime" class="layui-input" type="text" disabled="disabled"> |
| | | </div> |
| | |
| | | var pageCur; |
| | | function getCol() { |
| | | let cols = [ |
| | | {field: 'wrkNo', align: 'center',title: '工作号'} |
| | | ,{field: 'ioTime$', align: 'center',title: '工作时间',width:160} |
| | | {field: 'wrkNo', align: 'center',title: '任务号'} |
| | | ,{field: 'ioTime$', align: 'center',title: '任务时间',width:160} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | return cols; |
| | |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="wrk_no" placeholder="工作号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="wrk_no" placeholder="任务号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="wrkSts" class="layui-input" name="wrk_sts" type="text" placeholder="请输入" autocomplete="off" style="display: none"> |
| | | <input id="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="工作状态" onfocus=this.blur()> |
| | | <input id="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="任务状态" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="basWrkStatusQueryBywrkSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="basWrkStatusQueryBywrkStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |