| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | |
| | | import com.core.common.BaseRes; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.*; |
| | |
| | | |
| | | @Autowired |
| | | private BasLiftService basLiftService; |
| | | |
| | | @Value("${wcs-slave.url}") |
| | | private String wcsUrl; |
| | | |
| | | @RequestMapping(value = "/basLift/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/basLift/command/list/auth") |
| | | @ManagerAuth |
| | | public R liftCommandQuery(@RequestParam Integer wrkNo) { |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("total", 0); |
| | | hashMap.put("records", null); |
| | | try { |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("wrkNo", wrkNo); |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/lift/command/query") |
| | | .setParams(map) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | JSONObject data = jsonObject.getJSONObject("data"); |
| | | JSONObject assignCommand = data.getJSONObject("assignCommand"); |
| | | JSONArray commands = assignCommand.getJSONArray("commands"); |
| | | Integer commandStep = data.getInteger("commandStep");//当前步序 |
| | | for (int i = 0; i < commands.size(); i++) { |
| | | JSONObject object = commands.getJSONObject(i); |
| | | object.put("commandStep", commandStep);//当前步序 |
| | | commands.set(i, object); |
| | | } |
| | | hashMap.put("total", commands.size()); |
| | | hashMap.put("records", commands); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | |
| | | return R.ok().add(hashMap); |
| | | } |
| | | |
| | | //回退命令 |
| | | @RequestMapping(value = "/basLift/command/rollback/auth") |
| | | @ManagerAuth |
| | | public R liftCommandRollback(@RequestBody JSONObject param) { |
| | | try { |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/lift/command/rollback") |
| | | .setParams(param) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | return R.ok(); |
| | | } |
| | | return R.error(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | } |
| | | |
| | | //命令完成状态切换 |
| | | @RequestMapping(value = "/basLift/command/completeSwitch/auth") |
| | | @ManagerAuth |
| | | public R liftCommandCompleteSwitch(@RequestBody JSONObject param) { |
| | | try { |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/lift/command/completeSwitch") |
| | | .setParams(param) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | return R.ok(); |
| | | } |
| | | return R.error(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | } |
| | | |
| | | //重启任务(命令) |
| | | @RequestMapping(value = "/basLift/command/restart/auth") |
| | | @ManagerAuth |
| | | public R liftCommandRestart(@RequestBody JSONObject param) { |
| | | try { |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/lift/command/restart") |
| | | .setParams(param) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | return R.ok(); |
| | | } |
| | | return R.error("重启失败"); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | } |
| | | |
| | | //删除任务(命令) |
| | | @RequestMapping(value = "/basLift/command/del/auth") |
| | | @ManagerAuth |
| | | public R liftCommandDel(@RequestBody JSONObject param) { |
| | | try { |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/lift/command/del") |
| | | .setParams(param) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | return R.ok(); |
| | | } |
| | | return R.error("删除失败"); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | |
| | | import com.core.common.BaseRes; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.*; |
| | |
| | | |
| | | @Autowired |
| | | private BasShuttleService basShuttleService; |
| | | |
| | | @Value("${wcs-slave.url}") |
| | | private String wcsUrl; |
| | | |
| | | @RequestMapping(value = "/basShuttle/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/basShuttle/command/list/auth") |
| | | @ManagerAuth |
| | | public R shuttleCommandQuery(@RequestParam Integer wrkNo) { |
| | | HashMap<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("total", 0); |
| | | hashMap.put("records", null); |
| | | try { |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("wrkNo", wrkNo); |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/shuttle/command/query") |
| | | .setParams(map) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | JSONObject data = jsonObject.getJSONObject("data"); |
| | | JSONObject assignCommand = data.getJSONObject("assignCommand"); |
| | | JSONArray commands = assignCommand.getJSONArray("commands"); |
| | | Integer commandStep = data.getInteger("commandStep");//当前步序 |
| | | for (int i = 0; i < commands.size(); i++) { |
| | | JSONObject object = commands.getJSONObject(i); |
| | | object.put("commandStep", commandStep);//当前步序 |
| | | commands.set(i, object); |
| | | } |
| | | hashMap.put("total", commands.size()); |
| | | hashMap.put("records", commands); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | |
| | | return R.ok().add(hashMap); |
| | | } |
| | | |
| | | //回退命令 |
| | | @RequestMapping(value = "/basShuttle/command/rollback/auth") |
| | | @ManagerAuth |
| | | public R shuttleCommandRollback(@RequestBody JSONObject param) { |
| | | try { |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/shuttle/command/rollback") |
| | | .setParams(param) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | return R.ok(); |
| | | } |
| | | return R.error(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | } |
| | | |
| | | //命令完成状态切换 |
| | | @RequestMapping(value = "/basShuttle/command/completeSwitch/auth") |
| | | @ManagerAuth |
| | | public R shuttleCommandCompleteSwitch(@RequestBody JSONObject param) { |
| | | try { |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/shuttle/command/completeSwitch") |
| | | .setParams(param) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | return R.ok(); |
| | | } |
| | | return R.error(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | } |
| | | |
| | | //重启任务(命令) |
| | | @RequestMapping(value = "/basShuttle/command/restart/auth") |
| | | @ManagerAuth |
| | | public R shuttleCommandRestart(@RequestBody JSONObject param) { |
| | | try { |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/shuttle/command/restart") |
| | | .setParams(param) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | return R.ok(); |
| | | } |
| | | return R.error("重启失败"); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | } |
| | | |
| | | //删除任务(命令) |
| | | @RequestMapping(value = "/basShuttle/command/del/auth") |
| | | @ManagerAuth |
| | | public R shuttleCommandDel(@RequestBody JSONObject param) { |
| | | try { |
| | | String response = new HttpHandler.Builder() |
| | | .setUri(wcsUrl) |
| | | .setPath("/shuttle/command/del") |
| | | .setParams(param) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | Integer code = jsonObject.getInteger("code"); |
| | | if (code.equals(200)) { |
| | | return R.ok(); |
| | | } |
| | | return R.error("删除失败"); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return R.error(); |
| | | } |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | var pageCurr; |
| | | layui.use(['table','laydate', 'form'], function(){ |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var layDate = layui.laydate; |
| | | var form = layui.form; |
| | | |
| | | $('#wrkNo').val(parent.wrkNo); |
| | | // 数据渲染 |
| | | tableIns = table.render({ |
| | | elem: '#liftCommand', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/basLift/command/list/auth', |
| | | where: {wrkNo: parent.wrkNo}, |
| | | page: true, |
| | | limit: 16, |
| | | limits: [16, 30, 50, 100, 200, 500], |
| | | even: true, |
| | | toolbar: '#toolbar', |
| | | cellMinWidth: 50, |
| | | cols: [[ |
| | | {field: 'run', align: 'center',title: '命令字',templet: function (row){ |
| | | var html = ""; |
| | | if (row.taskModel === 0) { |
| | | html = "空"; |
| | | }else if (row.taskModel === 1) { |
| | | html = "移货物"; |
| | | }else if (row.taskModel === 2) { |
| | | html = "移小车"; |
| | | }else { |
| | | html = row.taskModel; |
| | | } |
| | | return html; |
| | | }} |
| | | ,{field: 'sourceSta', align: 'center',title: '源站'} |
| | | ,{field: 'targetSta', align: 'center',title: '目标站'} |
| | | ,{field: 'taskNo', align: 'center',title: '工作号'} |
| | | ,{field: 'liftNo', align: 'center',title: '提升机'} |
| | | ,{field: 'complete', align: 'center',title: '是否完成', templet: function (row){ |
| | | var html = "<input value='complete' type='checkbox' lay-skin='switch' lay-text='完成|未完成' lay-filter='completeSwitch' table-index='"+row.LAY_TABLE_INDEX+"'"; |
| | | if(row.complete){html += " checked ";} |
| | | html += ">"; |
| | | return html; |
| | | }} |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:150} |
| | | ]], |
| | | 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) { |
| | | var that = this.elem.next(); |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | |
| | | res.data.forEach((item,idx) => { |
| | | if (idx == item.commandStep) { |
| | | that.find(".layui-table-box tr[data-index='" + idx + "']").css("background-color", "#1E9FFF"); |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | |
| | | // 监听排序事件 |
| | | table.on('sort(liftCommand)', function (obj) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | searchData['orderByField'] = obj.field; |
| | | searchData['orderByType'] = obj.type; |
| | | tableIns.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: 1 |
| | | }, |
| | | done: function (res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | limit(); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 监听头工具栏事件 |
| | | table.on('toolbar(liftCommand)', function (obj) { |
| | | var checkStatus = table.checkStatus(obj.config.id); |
| | | switch(obj.event) { |
| | | case 'addData': |
| | | layer.open({ |
| | | type: 2, |
| | | title: '新增', |
| | | maxmin: true, |
| | | area: ['500px', top.detailHeight], |
| | | shadeClose: false, |
| | | content: 'liftCommand_detail.html', |
| | | success: function(layero, index){ |
| | | layer.getChildFrame('#data-detail-submit-edit', index).hide(); |
| | | clearFormVal(layer.getChildFrame('#detail', index)); |
| | | layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); |
| | | } |
| | | }); |
| | | break; |
| | | case 'refreshData': |
| | | tableIns.reload({ |
| | | page: { |
| | | curr: pageCurr |
| | | } |
| | | }); |
| | | limit(); |
| | | break; |
| | | case 'deleteData': |
| | | var data = checkStatus.data; |
| | | if (data.length === 0){ |
| | | layer.msg('请选择数据'); |
| | | } else { |
| | | layer.confirm('确定删除'+(data.length===1?'此':data.length)+'条数据吗', function(){ |
| | | $.ajax({ |
| | | url: baseUrl+"/liftCommand/delete/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {param: JSON.stringify(data)}, |
| | | method: 'POST', |
| | | traditional:true, |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.closeAll(); |
| | | tableReload(false); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | break; |
| | | case 'exportData': |
| | | layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ |
| | | var titles=[]; |
| | | var fields=[]; |
| | | obj.config.cols[0].map(function (col) { |
| | | if (col.type === 'normal' && col.hide === false && col.toolbar == null) { |
| | | titles.push(col.title); |
| | | fields.push(col.field); |
| | | } |
| | | }); |
| | | var exportData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | exportData[this.name] = this.value; |
| | | }); |
| | | var param = { |
| | | 'liftCommand': exportData, |
| | | 'fields': fields |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/liftCommand/export/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify(param), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | table.exportFile(titles,res.data,'xls'); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | break; |
| | | } |
| | | }); |
| | | |
| | | // 监听行工具事件 |
| | | table.on('tool(liftCommand)', function(obj){ |
| | | var data = obj.data; |
| | | //获取当前行的索引 |
| | | var rowIndex = $(obj.tr).attr("data-index"); |
| | | switch (obj.event) { |
| | | // 回退命令 |
| | | case 'rollback': |
| | | $.ajax({ |
| | | url: baseUrl+"/basLift/command/rollback/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | wrkNo: parent.wrkNo, |
| | | commandStep: rowIndex |
| | | }), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | tableReload(); |
| | | layer.msg(res.msg) |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | break; |
| | | |
| | | } |
| | | }); |
| | | |
| | | // 修改状态 |
| | | form.on('switch(completeSwitch)', function (obj) { |
| | | var index = obj.othis.parents('tr').attr("data-index"); |
| | | $.ajax({ |
| | | url: baseUrl+"/basLift/command/completeSwitch/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | wrkNo: parent.wrkNo, |
| | | commandStep: index, |
| | | complete: obj.elem.checked?1:0 |
| | | }), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | tableReload(); |
| | | layer.msg(res.msg) |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }) |
| | | |
| | | // 数据保存动作 |
| | | form.on('submit(save)', function () { |
| | | if (banMsg != null){ |
| | | layer.msg(banMsg); |
| | | return; |
| | | } |
| | | method("add"); |
| | | }); |
| | | |
| | | // 数据修改动作 |
| | | form.on('submit(edit)', function () { |
| | | method("update") |
| | | }); |
| | | |
| | | function method(name){ |
| | | var index = layer.load(1, { |
| | | shade: [0.5,'#000'] //0.1透明度的背景 |
| | | }); |
| | | var data = { |
| | | // id: $('#id').val(), |
| | | wrkSts: $('#wrkSts').val(), |
| | | wrkDesc: $('#wrkDesc').val(), |
| | | modiUser: $('#modiUser').val(), |
| | | modiTime: top.strToDate($('#modiTime\\$').val()), |
| | | appeUser: $('#appeUser').val(), |
| | | appeTime: top.strToDate($('#appeTime\\$').val()), |
| | | |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/liftCommand/"+name+"/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: top.reObject(data), |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | parent.layer.closeAll(); |
| | | tableReload(true); |
| | | $("#data-detail :input").each(function () { |
| | | $(this).val(""); |
| | | }); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg) |
| | | } |
| | | layer.close(index); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 搜索栏搜索事件 |
| | | form.on('submit(search)', function (data) { |
| | | pageCurr = 1; |
| | | tableReload(false); |
| | | }); |
| | | |
| | | // 搜索栏重置事件 |
| | | form.on('submit(reset)', function (data) { |
| | | pageCurr = 1; |
| | | clearFormVal($('#search-box')); |
| | | tableReload(false); |
| | | }); |
| | | |
| | | // 搜索栏重启任务 |
| | | form.on('submit(restartCommand)', function (data) { |
| | | $.ajax({ |
| | | url: baseUrl+"/basLift/command/restart/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | wrkNo: parent.wrkNo |
| | | }), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | tableReload(); |
| | | layer.msg(res.msg) |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 搜索栏删除任务 |
| | | form.on('submit(delCommand)', function (data) { |
| | | $.ajax({ |
| | | url: baseUrl+"/basLift/command/del/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | wrkNo: parent.wrkNo |
| | | }), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | tableReload(); |
| | | layer.msg(res.msg) |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 时间选择器 |
| | | layDate.render({ |
| | | elem: '#modiTime\\$', |
| | | type: 'datetime' |
| | | }); |
| | | layDate.render({ |
| | | elem: '#appeTime\\$', |
| | | type: 'datetime' |
| | | }); |
| | | |
| | | |
| | | }); |
| | | |
| | | // 关闭动作 |
| | | $(document).on('click','#data-detail-close', function () { |
| | | parent.layer.closeAll(); |
| | | }); |
| | | |
| | | function tableReload(child) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | (child ? parent.tableIns : tableIns).reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr |
| | | }, |
| | | done: function (res, curr, count) { |
| | | var that = this.elem.next(); |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | if (res.data.length === 0 && count !== 0) { |
| | | tableIns.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr-1 |
| | | } |
| | | }); |
| | | pageCurr -= 1; |
| | | } |
| | | limit(child); |
| | | |
| | | res.data.forEach((item,idx) => { |
| | | if (idx == item.commandStep) { |
| | | that.find(".layui-table-box tr[data-index='" + idx + "']").css("background-color", "#1E9FFF"); |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function setFormVal(el, data, showImg) { |
| | | for (var val in data) { |
| | | var find = el.find(":input[id='" + val + "']"); |
| | | find.val(data[val]); |
| | | if (showImg){ |
| | | var next = find.next(); |
| | | if (next.get(0)){ |
| | | if (next.get(0).localName === "img") { |
| | | find.hide(); |
| | | next.attr("src", data[val]); |
| | | next.show(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | function clearFormVal(el) { |
| | | $(':input', el) |
| | | .val('') |
| | | .removeAttr('checked') |
| | | .removeAttr('selected'); |
| | | } |
| | | |
| | | function detailScreen(index) { |
| | | var detail = layer.getChildFrame('#data-detail', index); |
| | | var height = detail.height()+60; |
| | | if (height > ($(window).height()*0.9)) { |
| | | height = ($(window).height()*0.9); |
| | | } |
| | | layer.style(index, { |
| | | // top: (($(window).height()-height)/3)+"px", |
| | | height: height+'px' |
| | | }); |
| | | } |
| | | |
| | | $('body').keydown(function () { |
| | | if (event.keyCode === 13) { |
| | | $("#search").click(); |
| | | } |
| | | }); |
New file |
| | |
| | | var pageCurr; |
| | | layui.use(['table','laydate', 'form'], function(){ |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var layDate = layui.laydate; |
| | | var form = layui.form; |
| | | |
| | | $('#wrkNo').val(parent.wrkNo); |
| | | // 数据渲染 |
| | | tableIns = table.render({ |
| | | elem: '#shuttleCommand', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/basShuttle/command/list/auth', |
| | | where: {wrkNo: parent.wrkNo}, |
| | | page: true, |
| | | limit: 16, |
| | | limits: [16, 30, 50, 100, 200, 500], |
| | | even: true, |
| | | toolbar: '#toolbar', |
| | | cellMinWidth: 50, |
| | | cols: [[ |
| | | {field: 'commandWord', align: 'center',title: '命令类型', templet: function (row) { |
| | | var html = row.request.body.requestType; |
| | | return html; |
| | | }} |
| | | ,{field: 'start', align: 'center',title: '起点', templet: function (row) { |
| | | var html = row.request.body.start; |
| | | if (html === undefined) { |
| | | html = "" |
| | | } |
| | | return JSON.stringify(html); |
| | | }} |
| | | ,{field: 'target', align: 'center',title: '终点', templet: function (row) { |
| | | var html = row.request.body.target; |
| | | if (html === undefined) { |
| | | html = "" |
| | | } |
| | | return JSON.stringify(html); |
| | | }} |
| | | ,{field: 'taskId', align: 'center',title: 'taskId', templet: function (row) { |
| | | var html = row.request.body.taskId; |
| | | return html; |
| | | }} |
| | | ,{field: 'robotId', align: 'center',title: 'robotId', templet: function (row) { |
| | | var html = row.robotId; |
| | | return html; |
| | | }} |
| | | ,{field: 'complete', align: 'center',title: '是否完成', templet: function (row){ |
| | | var html = "<input value='complete' type='checkbox' lay-skin='switch' lay-text='完成|未完成' lay-filter='completeSwitch' table-index='"+row.LAY_TABLE_INDEX+"'"; |
| | | if(row.complete){html += " checked ";} |
| | | html += ">"; |
| | | return html; |
| | | }} |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:150} |
| | | ]], |
| | | 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) { |
| | | var that = this.elem.next(); |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | |
| | | res.data.forEach((item,idx) => { |
| | | if (idx == item.commandStep) { |
| | | that.find(".layui-table-box tr[data-index='" + idx + "']").css("background-color", "#1E9FFF"); |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | |
| | | // 监听排序事件 |
| | | table.on('sort(shuttleCommand)', function (obj) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | searchData['orderByField'] = obj.field; |
| | | searchData['orderByType'] = obj.type; |
| | | tableIns.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: 1 |
| | | }, |
| | | done: function (res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | limit(); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 监听头工具栏事件 |
| | | table.on('toolbar(shuttleCommand)', function (obj) { |
| | | var checkStatus = table.checkStatus(obj.config.id); |
| | | switch(obj.event) { |
| | | case 'addData': |
| | | layer.open({ |
| | | type: 2, |
| | | title: '新增', |
| | | maxmin: true, |
| | | area: ['500px', top.detailHeight], |
| | | shadeClose: false, |
| | | content: 'shuttleCommand_detail.html', |
| | | success: function(layero, index){ |
| | | layer.getChildFrame('#data-detail-submit-edit', index).hide(); |
| | | clearFormVal(layer.getChildFrame('#detail', index)); |
| | | layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); |
| | | } |
| | | }); |
| | | break; |
| | | case 'refreshData': |
| | | tableIns.reload({ |
| | | page: { |
| | | curr: pageCurr |
| | | } |
| | | }); |
| | | limit(); |
| | | break; |
| | | case 'deleteData': |
| | | var data = checkStatus.data; |
| | | if (data.length === 0){ |
| | | layer.msg('请选择数据'); |
| | | } else { |
| | | layer.confirm('确定删除'+(data.length===1?'此':data.length)+'条数据吗', function(){ |
| | | $.ajax({ |
| | | url: baseUrl+"/shuttleCommand/delete/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {param: JSON.stringify(data)}, |
| | | method: 'POST', |
| | | traditional:true, |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.closeAll(); |
| | | tableReload(false); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | break; |
| | | case 'exportData': |
| | | layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ |
| | | var titles=[]; |
| | | var fields=[]; |
| | | obj.config.cols[0].map(function (col) { |
| | | if (col.type === 'normal' && col.hide === false && col.toolbar == null) { |
| | | titles.push(col.title); |
| | | fields.push(col.field); |
| | | } |
| | | }); |
| | | var exportData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | exportData[this.name] = this.value; |
| | | }); |
| | | var param = { |
| | | 'shuttleCommand': exportData, |
| | | 'fields': fields |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/shuttleCommand/export/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify(param), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | table.exportFile(titles,res.data,'xls'); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | break; |
| | | } |
| | | }); |
| | | |
| | | // 监听行工具事件 |
| | | table.on('tool(shuttleCommand)', function(obj){ |
| | | var data = obj.data; |
| | | //获取当前行的索引 |
| | | var rowIndex = $(obj.tr).attr("data-index"); |
| | | switch (obj.event) { |
| | | // 回退命令 |
| | | case 'rollback': |
| | | $.ajax({ |
| | | url: baseUrl+"/basShuttle/command/rollback/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | wrkNo: parent.wrkNo, |
| | | commandStep: rowIndex |
| | | }), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | tableReload(); |
| | | layer.msg(res.msg) |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | break; |
| | | |
| | | } |
| | | }); |
| | | |
| | | // 修改状态 |
| | | form.on('switch(completeSwitch)', function (obj) { |
| | | var index = obj.othis.parents('tr').attr("data-index"); |
| | | $.ajax({ |
| | | url: baseUrl+"/basShuttle/command/completeSwitch/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | wrkNo: parent.wrkNo, |
| | | commandStep: index, |
| | | complete: obj.elem.checked?1:0 |
| | | }), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | tableReload(); |
| | | layer.msg(res.msg) |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }) |
| | | |
| | | // 数据保存动作 |
| | | form.on('submit(save)', function () { |
| | | if (banMsg != null){ |
| | | layer.msg(banMsg); |
| | | return; |
| | | } |
| | | method("add"); |
| | | }); |
| | | |
| | | // 数据修改动作 |
| | | form.on('submit(edit)', function () { |
| | | method("update") |
| | | }); |
| | | |
| | | function method(name){ |
| | | var index = layer.load(1, { |
| | | shade: [0.5,'#000'] //0.1透明度的背景 |
| | | }); |
| | | var data = { |
| | | // id: $('#id').val(), |
| | | wrkSts: $('#wrkSts').val(), |
| | | wrkDesc: $('#wrkDesc').val(), |
| | | modiUser: $('#modiUser').val(), |
| | | modiTime: top.strToDate($('#modiTime\\$').val()), |
| | | appeUser: $('#appeUser').val(), |
| | | appeTime: top.strToDate($('#appeTime\\$').val()), |
| | | |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/shuttleCommand/"+name+"/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: top.reObject(data), |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | parent.layer.closeAll(); |
| | | tableReload(true); |
| | | $("#data-detail :input").each(function () { |
| | | $(this).val(""); |
| | | }); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg) |
| | | } |
| | | layer.close(index); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 搜索栏搜索事件 |
| | | form.on('submit(search)', function (data) { |
| | | pageCurr = 1; |
| | | tableReload(false); |
| | | }); |
| | | |
| | | // 搜索栏重置事件 |
| | | form.on('submit(reset)', function (data) { |
| | | pageCurr = 1; |
| | | clearFormVal($('#search-box')); |
| | | tableReload(false); |
| | | }); |
| | | |
| | | // 搜索栏重启任务 |
| | | form.on('submit(restartCommand)', function (data) { |
| | | $.ajax({ |
| | | url: baseUrl+"/basShuttle/command/restart/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | wrkNo: parent.wrkNo |
| | | }), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | tableReload(); |
| | | layer.msg(res.msg) |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 搜索栏删除任务 |
| | | form.on('submit(delCommand)', function (data) { |
| | | $.ajax({ |
| | | url: baseUrl+"/basShuttle/command/del/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | wrkNo: parent.wrkNo |
| | | }), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | tableReload(); |
| | | layer.msg(res.msg) |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 时间选择器 |
| | | layDate.render({ |
| | | elem: '#modiTime\\$', |
| | | type: 'datetime' |
| | | }); |
| | | layDate.render({ |
| | | elem: '#appeTime\\$', |
| | | type: 'datetime' |
| | | }); |
| | | |
| | | |
| | | }); |
| | | |
| | | // 关闭动作 |
| | | $(document).on('click','#data-detail-close', function () { |
| | | parent.layer.closeAll(); |
| | | }); |
| | | |
| | | function tableReload(child) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | (child ? parent.tableIns : tableIns).reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr |
| | | }, |
| | | done: function (res, curr, count) { |
| | | var that = this.elem.next(); |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | if (res.data.length === 0 && count !== 0) { |
| | | tableIns.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr-1 |
| | | } |
| | | }); |
| | | pageCurr -= 1; |
| | | } |
| | | limit(child); |
| | | |
| | | res.data.forEach((item,idx) => { |
| | | if (idx == item.commandStep) { |
| | | that.find(".layui-table-box tr[data-index='" + idx + "']").css("background-color", "#1E9FFF"); |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function setFormVal(el, data, showImg) { |
| | | for (var val in data) { |
| | | var find = el.find(":input[id='" + val + "']"); |
| | | find.val(data[val]); |
| | | if (showImg){ |
| | | var next = find.next(); |
| | | if (next.get(0)){ |
| | | if (next.get(0).localName === "img") { |
| | | find.hide(); |
| | | next.attr("src", data[val]); |
| | | next.show(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | function clearFormVal(el) { |
| | | $(':input', el) |
| | | .val('') |
| | | .removeAttr('checked') |
| | | .removeAttr('selected'); |
| | | } |
| | | |
| | | function detailScreen(index) { |
| | | var detail = layer.getChildFrame('#data-detail', index); |
| | | var height = detail.height()+60; |
| | | if (height > ($(window).height()*0.9)) { |
| | | height = ($(window).height()*0.9); |
| | | } |
| | | layer.style(index, { |
| | | // top: (($(window).height()-height)/3)+"px", |
| | | height: height+'px' |
| | | }); |
| | | } |
| | | |
| | | $('body').keydown(function () { |
| | | if (event.keyCode === 13) { |
| | | $("#search").click(); |
| | | } |
| | | }); |
| | |
| | | var pageCurr; |
| | | var wrkNo; |
| | | layui.use(['table','laydate', 'form'], function(){ |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).extend({ |
| | | dropdown: 'dropdown/dropdown', |
| | | }).use(['table', 'laydate', 'form', 'dropdown'], function () { |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | $(".layui-table-body, .layui-table-box, .layui-table-cell").css('overflow', 'visible');//解决layui数据表格中嵌套下拉框显示问题 |
| | | pageCurr=curr; |
| | | limit(); |
| | | form.on('checkbox(tableCheckbox)', function (data) { |
| | |
| | | layer.closeAll(); |
| | | }); |
| | | break; |
| | | // 先入品 |
| | | case 'preHave': |
| | | layer.confirm('任务发生先入品异常。如需重新入库,请确保货物已放至堆垛机出库站!', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){ |
| | | http.post(baseUrl+"/deal/preHave/start", {wrkNo: data.wrkNo}, function (res) { |
| | | $(".layui-laypage-btn")[0].click(); |
| | | layer.msg(data.wrkNo + res.msg, {icon: 1}); |
| | | }) |
| | | layer.closeAll(); |
| | | }); |
| | | break; |
| | | // 空操作 |
| | | case 'takeNone': |
| | | layer.confirm('任务发送空操作异常!是否。。。。。。。。?', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){ |
| | | }); |
| | | break; |
| | | // 弃车 |
| | | case 'removeSte': |
| | | layer.confirm('清除小车【' + data.steNo + '】', {title: '工作号:'+data.wrkNo, shadeClose: true}, function(){ |
| | | http.post(baseUrl+"/deal/steNo/empty", {wrkNo: data.wrkNo}, function (res) { |
| | | $(".layui-laypage-btn")[0].click(); |
| | | layer.msg(data.wrkNo + res.msg, {icon: 1}); |
| | | }) |
| | | layer.closeAll(); |
| | | }); |
| | | break; |
| | | case 'priWrkMast': |
| | | layer.open({ |
| | | type: 2, |
| | |
| | | } |
| | | }); |
| | | break; |
| | | //穿梭车指令 |
| | | case 'shuttleCommand': |
| | | wrkNo = data.wrkNo; |
| | | layer.open({ |
| | | type: 2, |
| | | title: '穿梭车指令', |
| | | maxmin: true, |
| | | area: [top.detailWidth, top.detailHeight], |
| | | shadeClose: true, |
| | | content: '../command/shuttleCommand.html', |
| | | success: function (layero, index) { |
| | | |
| | | } |
| | | }); |
| | | break; |
| | | //提升机指令 |
| | | case 'liftCommand': |
| | | wrkNo = data.wrkNo; |
| | | layer.open({ |
| | | type: 2, |
| | | title: '提升机指令', |
| | | maxmin: true, |
| | | area: [top.detailWidth, top.detailHeight], |
| | | shadeClose: true, |
| | | content: '../command/liftCommand.html', |
| | | success: function (layero, index) { |
| | | |
| | | } |
| | | }); |
| | | break; |
| | | } |
| | | }); |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <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="wrkNo" id="wrkNo" placeholder="代号" autocomplete="off" disabled> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="restartCommand" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="restartCommand">重启任务</button> |
| | | <button id="delCommand" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="delCommand">删除任务</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | | <table class="layui-hide" id="liftCommand" lay-filter="liftCommand"></table> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> |
| | | <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-xs" lay-event="rollback">回退命令</a> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/command/liftCommand.js" charset="utf-8"></script> |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <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="wrkNo" id="wrkNo" placeholder="代号" autocomplete="off" disabled> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="restartCommand" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="restartCommand">重启任务</button> |
| | | <button id="delCommand" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="delCommand">删除任务</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | | <table class="layui-hide" id="shuttleCommand" lay-filter="shuttleCommand"></table> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> |
| | | <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-xs" lay-event="rollback">回退命令</a> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/command/shuttleCommand.js" charset="utf-8"></script> |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |
| | | </body> |
| | | </html> |
| | | |
| | |
| | | </div> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-xs btn-detlShow" lay-event="detlShow">明细</a> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-complete" lay-event="complete">完成</a> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-cancel" lay-event="cancel">取消</a> |
| | | <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="priWrkMast">维护状态</a> |
| | | {{#if (d.steNo) { }} |
| | | <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="removeSte">弃车</a> |
| | | {{# } }} |
| | | <div class="dropdown-menu"> |
| | | <button class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm"><i class="layui-icon layui-icon-shrink-right"></i></button> |
| | | <ul class="dropdown-menu-nav" style="margin-left: -35px"> |
| | | <li><a lay-event="detlShow">明细</a></li> |
| | | <li><a lay-event="complete">完成</a></li> |
| | | <li><a lay-event="cancel">取消</a></li> |
| | | <li><a lay-event="shuttleCommand">穿梭车指令</a></li> |
| | | <li><a lay-event="liftCommand">提升机指令</a></li> |
| | | </ul> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |