From 1035e4729e03c10138adfcf4b6788b24778e9469 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期四, 10 八月 2023 16:39:21 +0800 Subject: [PATCH] 日志 --- src/main/java/com/zy/asrs/entity/CommandInfoLog.java | 191 ++++++++++ src/main/java/com/zy/asrs/service/impl/CommandInfoLogServiceImpl.java | 12 src/main/resources/mapper/CommandInfoLogMapper.xml | 24 + src/main/java/com/zy/asrs/service/CommandInfoLogService.java | 8 src/main/webapp/views/commandManageLog/commandManageLog.html | 295 +++++++++++++-- src/main/webapp/views/commandManage/commandManage.html | 90 ---- src/main/webapp/views/taskWrkLog/commandManageLog.html | 315 +++++++++++++++++ src/main/webapp/views/taskWrkLog/taskWrkLog.html | 2 src/main/java/com/zy/asrs/mapper/CommandInfoLogMapper.java | 12 src/main/java/com/zy/asrs/controller/CommandInfoLogController.java | 123 ++++++ 10 files changed, 936 insertions(+), 136 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CommandInfoLogController.java b/src/main/java/com/zy/asrs/controller/CommandInfoLogController.java new file mode 100644 index 0000000..ece9e75 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/CommandInfoLogController.java @@ -0,0 +1,123 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.common.DateUtils; +import com.zy.asrs.entity.CommandInfoLog; +import com.zy.asrs.service.CommandInfoLogService; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class CommandInfoLogController extends BaseController { + + @Autowired + private CommandInfoLogService commandInfoLogService; + + @RequestMapping(value = "/commandInfoLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(commandInfoLogService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/commandInfoLog/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + EntityWrapper<CommandInfoLog> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(commandInfoLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/commandInfoLog/add/auth") + @ManagerAuth + public R add(CommandInfoLog commandInfoLog) { + commandInfoLogService.insert(commandInfoLog); + return R.ok(); + } + + @RequestMapping(value = "/commandInfoLog/update/auth") + @ManagerAuth + public R update(CommandInfoLog commandInfoLog){ + if (Cools.isEmpty(commandInfoLog) || null==commandInfoLog.getId()){ + return R.error(); + } + commandInfoLogService.updateById(commandInfoLog); + return R.ok(); + } + + @RequestMapping(value = "/commandInfoLog/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + commandInfoLogService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/commandInfoLog/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<CommandInfoLog> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("commandInfoLog")); + convert(map, wrapper); + List<CommandInfoLog> list = commandInfoLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/commandInfoLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<CommandInfoLog> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<CommandInfoLog> page = commandInfoLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (CommandInfoLog commandInfoLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", commandInfoLog.getId()); + map.put("value", commandInfoLog.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/commandInfoLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<CommandInfoLog> wrapper = new EntityWrapper<CommandInfoLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != commandInfoLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(CommandInfoLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/entity/CommandInfoLog.java b/src/main/java/com/zy/asrs/entity/CommandInfoLog.java new file mode 100644 index 0000000..142f7da --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/CommandInfoLog.java @@ -0,0 +1,191 @@ +package com.zy.asrs.entity; + +import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.enums.IdType; +import com.baomidou.mybatisplus.annotations.TableField; +import java.text.SimpleDateFormat; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.text.SimpleDateFormat; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@TableName("wcs_command_info_log") +public class CommandInfoLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value= "") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 宸ヤ綔鍙� + */ + @ApiModelProperty(value= "宸ヤ綔鍙�") + @TableField("wrk_no") + private Integer wrkNo; + + /** + * 璧风偣浣嶇疆 + */ + @ApiModelProperty(value= "璧风偣浣嶇疆") + @TableField("start_pos") + private String startPos; + + /** + * 缁堢偣浣嶇疆 + */ + @ApiModelProperty(value= "缁堢偣浣嶇疆") + @TableField("end_pos") + private String endPos; + + /** + * 鎸囦护鐘舵�� 1: 鍒涘缓 2: 鎵ц 3: 瀹屾垚 + */ + @ApiModelProperty(value= "鎸囦护鐘舵�� 1: 鍒涘缓 2: 鎵ц 3: 瀹屾垚 ") + @TableField("command_status") + private Integer commandStatus; + + /** + * 鍒涘缓鏃堕棿 + */ + @ApiModelProperty(value= "鍒涘缓鏃堕棿") + @TableField("start_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date startTime; + + /** + * 鎸囦护绫诲瀷 + */ + @ApiModelProperty(value= "鎸囦护绫诲瀷") + @TableField("command_type") + private Integer commandType; + + /** + * 璁惧 + */ + @ApiModelProperty(value= "璁惧") + private String device; + + /** + * 璁惧鎵ц淇℃伅 + */ + @ApiModelProperty(value= "璁惧鎵ц淇℃伅") + @TableField("device_log") + private String deviceLog; + + /** + * 鍛戒护鎻忚堪 + */ + @ApiModelProperty(value= "鍛戒护鎻忚堪") + @TableField("command_desc") + private String commandDesc; + + /** + * 鍛戒护JSON + */ + @ApiModelProperty(value= "鍛戒护JSON") + private String command; + + /** + * 浠诲姟鍙� + */ + @ApiModelProperty(value= "浠诲姟鍙�") + @TableField("task_no") + private String taskNo; + + /** + * 鎵ц鏃堕棿 + */ + @ApiModelProperty(value= "鎵ц鏃堕棿") + @TableField("execute_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date executeTime; + + /** + * 瀹屾垚鏃堕棿 + */ + @ApiModelProperty(value= "瀹屾垚鏃堕棿") + @TableField("complete_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date completeTime; + + public CommandInfoLog() {} + + public CommandInfoLog(Integer wrkNo,String startPos,String endPos,Integer commandStatus,Date startTime,Integer commandType,String device,String deviceLog,String commandDesc,String command,String taskNo,Date executeTime,Date completeTime) { + this.wrkNo = wrkNo; + this.startPos = startPos; + this.endPos = endPos; + this.commandStatus = commandStatus; + this.startTime = startTime; + this.commandType = commandType; + this.device = device; + this.deviceLog = deviceLog; + this.commandDesc = commandDesc; + this.command = command; + this.taskNo = taskNo; + this.executeTime = executeTime; + this.completeTime = completeTime; + } + +// CommandInfoLog commandInfoLog = new CommandInfoLog( +// null, // 宸ヤ綔鍙� +// null, // 璧风偣浣嶇疆 +// null, // 缁堢偣浣嶇疆 +// null, // 鎸囦护鐘舵�� +// null, // 鍒涘缓鏃堕棿 +// null, // 鎸囦护绫诲瀷 +// null, // 璁惧 +// null, // 璁惧鎵ц淇℃伅 +// null, // 鍛戒护鎻忚堪 +// null, // 鍛戒护JSON +// null, // 浠诲姟鍙� +// null, // 鎵ц鏃堕棿 +// null // 瀹屾垚鏃堕棿 +// ); + + public String getCommandStatus$(){ + if (null == this.commandStatus){ return null; } + switch (this.commandStatus){ + case 1: + return "鍒涘缓"; + case 2: + return "鎵ц"; + case 3: + return "瀹屾垚"; + default: + return String.valueOf(this.commandStatus); + } + } + + public String getStartTime$(){ + if (Cools.isEmpty(this.startTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime); + } + + public String getExecuteTime$(){ + if (Cools.isEmpty(this.executeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.executeTime); + } + + public String getCompleteTime$(){ + if (Cools.isEmpty(this.completeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.completeTime); + } + + +} diff --git a/src/main/java/com/zy/asrs/mapper/CommandInfoLogMapper.java b/src/main/java/com/zy/asrs/mapper/CommandInfoLogMapper.java new file mode 100644 index 0000000..74a7704 --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/CommandInfoLogMapper.java @@ -0,0 +1,12 @@ +package com.zy.asrs.mapper; + +import com.zy.asrs.entity.CommandInfoLog; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface CommandInfoLogMapper extends BaseMapper<CommandInfoLog> { + +} diff --git a/src/main/java/com/zy/asrs/service/CommandInfoLogService.java b/src/main/java/com/zy/asrs/service/CommandInfoLogService.java new file mode 100644 index 0000000..d7a85ad --- /dev/null +++ b/src/main/java/com/zy/asrs/service/CommandInfoLogService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.service; + +import com.zy.asrs.entity.CommandInfoLog; +import com.baomidou.mybatisplus.service.IService; + +public interface CommandInfoLogService extends IService<CommandInfoLog> { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/CommandInfoLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/CommandInfoLogServiceImpl.java new file mode 100644 index 0000000..dd8b439 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/CommandInfoLogServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service.impl; + +import com.zy.asrs.mapper.CommandInfoLogMapper; +import com.zy.asrs.entity.CommandInfoLog; +import com.zy.asrs.service.CommandInfoLogService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("commandInfoLogService") +public class CommandInfoLogServiceImpl extends ServiceImpl<CommandInfoLogMapper, CommandInfoLog> implements CommandInfoLogService { + +} diff --git a/src/main/resources/mapper/CommandInfoLogMapper.xml b/src/main/resources/mapper/CommandInfoLogMapper.xml new file mode 100644 index 0000000..932cb5f --- /dev/null +++ b/src/main/resources/mapper/CommandInfoLogMapper.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.CommandInfoLogMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.CommandInfoLog"> + <id column="id" property="id" /> + <result column="wrk_no" property="wrkNo" /> + <result column="start_pos" property="startPos" /> + <result column="end_pos" property="endPos" /> + <result column="command_status" property="commandStatus" /> + <result column="start_time" property="startTime" /> + <result column="command_type" property="commandType" /> + <result column="device" property="device" /> + <result column="device_log" property="deviceLog" /> + <result column="command_desc" property="commandDesc" /> + <result column="command" property="command" /> + <result column="task_no" property="taskNo" /> + <result column="execute_time" property="executeTime" /> + <result column="complete_time" property="completeTime" /> + + </resultMap> + +</mapper> diff --git a/src/main/webapp/views/commandManage/commandManage.html b/src/main/webapp/views/commandManage/commandManage.html index fe8ee81..81e2487 100644 --- a/src/main/webapp/views/commandManage/commandManage.html +++ b/src/main/webapp/views/commandManage/commandManage.html @@ -53,7 +53,7 @@ </el-dropdown> </template> </el-table-column> - <el-table-column property="id" label="鎸囦护缂栧彿"> + <el-table-column property="id" label="#ID"> </el-table-column> <el-table-column property="wrkNo" label="宸ヤ綔鍙�"> </el-table-column> @@ -178,100 +178,12 @@ } this.getTableData() }, - handleCommand(command, row) { - switch (command) { - case "showTask": - //鏌ョ湅浠诲姟 - this.showTask(row) - break; - case "executeCommand": - //鎵ц鎸囦护 - this.executeCommand(row) - break; - case "completeCommand": - //瀹屾垚鎸囦护 - this.completeCommand(row) - break; - } - }, - showTask(row) { - //鏌ョ湅浠诲姟 - $layui.layer.open({ - type: 2, - title: '浠诲姟绠$悊', - maxmin: true, - area: [top.detailWidth, top.detailHeight], - shadeClose: true, - content: '../taskWrk/taskWrk.html?taskNo=' + row.taskNo + "&wrkNo=" + row.wrkNo, - success: function(layero, index) {} - }); - }, tableRowClassName({row, rowIndex}) { if (rowIndex === this.commandStep) { return 'success-row'; } return ''; }, - executeCommand(row) { - //鎵ц鎸囦护 - let that = this - $.ajax({ - url: baseUrl + "/commandInfo/executeCommand", - headers: { - 'token': localStorage.getItem('token') - }, - data: { - id: row.id - }, - method: 'POST', - success: function(res) { - if (res.code == 200) { - that.$message({ - message: "鎵ц鎴愬姛", - type: 'success' - }); - that.getTableData() - } else if (res.code === 403) { - top.location.href = baseUrl + "/"; - } else { - that.$message({ - message: res.msg, - type: 'error' - }); - } - } - }); - }, - completeCommand(row) { - //瀹屾垚鎸囦护 - let that = this - $.ajax({ - url: baseUrl + "/commandInfo/completeCommand", - headers: { - 'token': localStorage.getItem('token') - }, - data: { - id: row.id - }, - method: 'POST', - success: function(res) { - if (res.code == 200) { - that.$message({ - message: "瀹屾垚鎴愬姛", - type: 'success' - }); - that.getTableData() - } else if (res.code === 403) { - top.location.href = baseUrl + "/"; - } else { - that.$message({ - message: res.msg, - type: 'error' - }); - } - } - }); - } } }) </script> diff --git a/src/main/webapp/views/commandManageLog/commandManageLog.html b/src/main/webapp/views/commandManageLog/commandManageLog.html index c85667f..5c0f551 100644 --- a/src/main/webapp/views/commandManageLog/commandManageLog.html +++ b/src/main/webapp/views/commandManageLog/commandManageLog.html @@ -1,58 +1,261 @@ <!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/wms/layui/css/layui.css" media="all"> - <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> - <link rel="stylesheet" href="../../static/wms/css/common.css" media="all"> + <meta charset="UTF-8"> + <title>鎸囦护绠$悊</title> + <link rel="stylesheet" href="../../static/wcs/css/element.css"> + <script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script> + <script type="text/javascript" src="../../static/wms/layui/layui.js"></script> + <script type="text/javascript" src="../../static/wcs/js/common.js"></script> + <script type="text/javascript" src="../../static/wcs/js/vue.min.js"></script> + <script type="text/javascript" src="../../static/wcs/js/element.js"></script> + <style> + .el-table .success-row { + background: #d5ffc0; + } + </style> </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="id" placeholder="鎸囦护缂栧彿" autocomplete="off"> - </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"> - </div> - </div> +<div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;"> + <div style="width: 100%;"> + <el-card class="box-card"> + <el-form :inline="true" :model="tableSearchParam" class="demo-form-inline"> + <el-form-item label=""> + <el-input v-model="tableSearchParam.task_no" placeholder="浠诲姟鍙�"></el-input> + </el-form-item> + <el-form-item label=""> + <el-input v-model="tableSearchParam.wrk_no" placeholder="宸ヤ綔鍙�"></el-input> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="getTableData">鏌ヨ</el-button> + <el-button type="primary" @click="resetParam">閲嶇疆</el-button> + </el-form-item> + </el-form> + <el-table ref="singleTable" :data="tableData" style="width: 100%;" :row-class-name="tableRowClassName"> + <el-table-column property="id" label="#ID"> + </el-table-column> + <el-table-column property="wrkNo" label="宸ヤ綔鍙�"> + </el-table-column> + <el-table-column property="taskNo" label="浠诲姟鍙�"> + </el-table-column> + <el-table-column property="commandStatus$" label="鎸囦护鐘舵��"> + </el-table-column> + <el-table-column show-overflow-tooltip property="durationTime" label="鎸佺画鏃堕暱"> + </el-table-column> + <el-table-column property="commandType" label="鎸囦护绫诲瀷"> + </el-table-column> + <el-table-column property="device" label="璁惧"> + </el-table-column> + <el-table-column property="deviceLog" label="璁惧鎵ц淇℃伅"> + </el-table-column> + <el-table-column property="commandDesc" label="鍛戒护鎻忚堪"> + </el-table-column> + <el-table-column show-overflow-tooltip property="startTime$" label="寮�濮嬫椂闂�"> + </el-table-column> + <el-table-column show-overflow-tooltip property="executeTime$" label="鎵ц鏃堕棿"> + </el-table-column> + <el-table-column show-overflow-tooltip property="completeTime$" label="瀹屾垚鏃堕棿"> + </el-table-column> + <el-table-column show-overflow-tooltip property="command" label="鍛戒护鎶ユ枃" width="250"> + </el-table-column> + </el-table> - <!-- 寰呮坊鍔� --> - <div id="data-search-btn" class="layui-btn-container layui-form-item"> - <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> - <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + <div style="margin-top: 10px;"> + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="pageTotal"> + </el-pagination> + </div> + </el-card> </div> </div> +<script> + var $layui = layui.config({ + base: baseUrl + "/static/wms/layui/lay/modules/" + }).use(['layer', 'form'], function() {}) -<!-- 琛ㄦ牸 --> -<div class="layui-form"> - <table class="layui-hide" id="commandManage" lay-filter="commandManage"></table> -</div> -<script type="text/html" id="toolbar"> - <div class="layui-btn-container"> - <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">瀵煎嚭</button> - </div> + var app = new Vue({ + el: '#app', + data: { + tableData: [], + currentPage: 1, + pageSizes: [16, 30, 50, 100, 150, 200], + pageSize: 16, + pageTotal: 0, + tableSearchParam: { + task_no: null, + status: null, + wrk_no: null + }, + commandStep: -1 + }, + created() { + this.init() + }, + watch: { + + }, + methods: { + init() { + let taskNo = getQueryVariable('taskNo') + let wrkNo = getQueryVariable('wrkNo') + let commandStep = getQueryVariable('commandStep') + if (taskNo != false) { + this.tableSearchParam.task_no = taskNo + } + if (wrkNo != false) { + this.tableSearchParam.wrk_no = wrkNo + } + this.commandStep = parseInt(commandStep) + + this.getTableData() + }, + getTableData() { + let that = this; + let data = this.tableSearchParam + data.curr = this.currentPage + data.limit = this.pageSize + $.ajax({ + url: baseUrl + "/commandInfo/list/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: data, + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + method: 'GET', + success: function(res) { + if (res.code == 200) { + that.tableData = res.data.records + that.pageTotal = res.data.total + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + handleSizeChange(val) { + console.log(`姣忛〉 ${val} 鏉); + this.pageSize = val + this.getTableData() + }, + handleCurrentChange(val) { + console.log(`褰撳墠椤�: ${val}`); + this.currentPage = val + this.getTableData() + }, + resetParam() { + this.tableSearchParam = { + task_no: null, + status: null, + wrk_no: null + } + this.getTableData() + }, + handleCommand(command, row) { + switch (command) { + case "showTask": + //鏌ョ湅浠诲姟 + this.showTask(row) + break; + case "executeCommand": + //鎵ц鎸囦护 + this.executeCommand(row) + break; + case "completeCommand": + //瀹屾垚鎸囦护 + this.completeCommand(row) + break; + } + }, + showTask(row) { + //鏌ョ湅浠诲姟 + $layui.layer.open({ + type: 2, + title: '浠诲姟绠$悊', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: '../taskWrk/taskWrk.html?taskNo=' + row.taskNo + "&wrkNo=" + row.wrkNo, + success: function(layero, index) {} + }); + }, + tableRowClassName({row, rowIndex}) { + if (rowIndex === this.commandStep) { + return 'success-row'; + } + return ''; + }, + executeCommand(row) { + //鎵ц鎸囦护 + let that = this + $.ajax({ + url: baseUrl + "/commandInfo/executeCommand", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + id: row.id + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "鎵ц鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + completeCommand(row) { + //瀹屾垚鎸囦护 + let that = this + $.ajax({ + url: baseUrl + "/commandInfo/completeCommand", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + id: row.id + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "瀹屾垚鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + } + } + }) </script> - -<script type="text/html" id="operate"> - <a class="layui-btn layui-btn-xs btn-detlShow" lay-event="wrkMastShow">浠诲姟</a> -</script> - -<script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> -<script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> -<script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> -<script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> -<script type="text/javascript" src="../../static/wms/js/commandManageLog/commandManageLog.js" charset="utf-8"></script> - -<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> - </body> -</html> +</html> diff --git a/src/main/webapp/views/taskWrkLog/commandManageLog.html b/src/main/webapp/views/taskWrkLog/commandManageLog.html new file mode 100644 index 0000000..d5cfe9a --- /dev/null +++ b/src/main/webapp/views/taskWrkLog/commandManageLog.html @@ -0,0 +1,315 @@ +<!DOCTYPE html> +<html lang="en"> + + <head> + <meta charset="UTF-8"> + <title>鎸囦护绠$悊</title> + <link rel="stylesheet" href="../../static/wcs/css/element.css"> + <script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script> + <script type="text/javascript" src="../../static/wms/layui/layui.js"></script> + <script type="text/javascript" src="../../static/wcs/js/common.js"></script> + <script type="text/javascript" src="../../static/wcs/js/vue.min.js"></script> + <script type="text/javascript" src="../../static/wcs/js/element.js"></script> + <style> + .el-table .success-row { + background: #d5ffc0; + } + </style> + </head> + + <body> + <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;"> + <div style="width: 100%;"> + <el-card class="box-card"> + <el-form :inline="true" :model="tableSearchParam" class="demo-form-inline"> + <el-form-item label="浠诲姟鍙�"> + <el-input v-model="tableSearchParam.task_no" placeholder="浠诲姟鍙�" readonly></el-input> + </el-form-item> + <el-form-item label="宸ヤ綔鍙�"> + <el-input v-model="tableSearchParam.wrk_no" placeholder="宸ヤ綔鍙�" readonly></el-input> + </el-form-item> + <el-form-item label="鎸囦护姝ュ簭"> + <el-input-number v-model="commandStep" placeholder="鎸囦护姝ュ簭" :min="0"></el-input-number> + </el-form-item> + </el-form> + <el-table ref="singleTable" :data="tableData" style="width: 100%;" :row-class-name="tableRowClassName"> + <el-table-column property="index" label="鎸囦护缂栧彿"> + <template slot-scope="scope"> + {{ scope.$index }} + </template> + </el-table-column> + <el-table-column property="wrkNo" label="宸ヤ綔鍙�"> + </el-table-column> + <el-table-column property="taskNo" label="浠诲姟鍙�"> + </el-table-column> + <el-table-column property="commandStatus$" label="鎸囦护鐘舵��"> + </el-table-column> + <el-table-column show-overflow-tooltip property="durationTime" label="鎸佺画鏃堕暱"> + </el-table-column> + <el-table-column property="commandType" label="鎸囦护绫诲瀷"> + </el-table-column> + <el-table-column property="device" label="璁惧"> + </el-table-column> + <el-table-column property="deviceLog" label="璁惧鎵ц淇℃伅"> + </el-table-column> + <el-table-column property="commandDesc" label="鍛戒护鎻忚堪"> + </el-table-column> + <el-table-column show-overflow-tooltip property="startTime$" label="寮�濮嬫椂闂�"> + </el-table-column> + <el-table-column show-overflow-tooltip property="executeTime$" label="鎵ц鏃堕棿"> + </el-table-column> + <el-table-column show-overflow-tooltip property="completeTime$" label="瀹屾垚鏃堕棿"> + </el-table-column> + <el-table-column show-overflow-tooltip property="command" label="鍛戒护鎶ユ枃" width="250"> + </el-table-column> + </el-table> + + <div style="margin-top: 10px;"> + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="pageTotal"> + </el-pagination> + </div> + </el-card> + </div> + </div> + <script> + var $layui = layui.config({ + base: baseUrl + "/static/wms/layui/lay/modules/" + }).use(['layer', 'form'], function() {}) + + var app = new Vue({ + el: '#app', + data: { + tableData: [], + currentPage: 1, + pageSizes: [16, 30, 50, 100, 150, 200], + pageSize: 16, + pageTotal: 0, + tableSearchParam: { + task_no: null, + status: null, + wrk_no: null + }, + commandStep: -1 + }, + created() { + this.init() + }, + watch: { + + }, + methods: { + init() { + let taskNo = getQueryVariable('taskNo') + let wrkNo = getQueryVariable('wrkNo') + if (taskNo != false) { + this.tableSearchParam.task_no = taskNo + } + if (wrkNo != false) { + this.tableSearchParam.wrk_no = wrkNo + } + + this.getTableData() + }, + getTableData() { + let that = this; + let data = this.tableSearchParam + data.curr = this.currentPage + data.limit = this.pageSize + $.ajax({ + url: baseUrl + "/commandInfo/list/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: data, + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + method: 'GET', + success: function(res) { + if (res.code == 200) { + that.tableData = res.data.records + that.pageTotal = res.data.total + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + + $.ajax({ + url: baseUrl + "/taskWrk/" + this.tableSearchParam.wrk_no + "/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: data, + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + method: 'GET', + success: function(res) { + if (res.code == 200) { + that.commandStep = parseInt(res.data.commandStep) + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + handleSizeChange(val) { + console.log(`姣忛〉 ${val} 鏉); + this.pageSize = val + this.getTableData() + }, + handleCurrentChange(val) { + console.log(`褰撳墠椤�: ${val}`); + this.currentPage = val + this.getTableData() + }, + resetParam() { + this.tableSearchParam = { + task_no: null, + status: null, + wrk_no: null + } + this.getTableData() + }, + handleCommand(command, row) { + switch (command) { + case "showTask": + //鏌ョ湅浠诲姟 + this.showTask(row) + break; + case "executeCommand": + //鎵ц鎸囦护 + this.executeCommand(row) + break; + case "completeCommand": + //瀹屾垚鎸囦护 + this.completeCommand(row) + break; + } + }, + showTask(row) { + //鏌ョ湅浠诲姟 + $layui.layer.open({ + type: 2, + title: '浠诲姟绠$悊', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: '../taskWrk/taskWrk.html?taskNo=' + row.taskNo + "&wrkNo=" + row.wrkNo, + success: function(layero, index) {} + }); + }, + tableRowClassName({row, rowIndex}) { + if (rowIndex === parseInt(this.commandStep)) { + return 'success-row'; + } + return ''; + }, + executeCommand(row) { + //鎵ц鎸囦护 + let that = this + $.ajax({ + url: baseUrl + "/commandInfo/executeCommand", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + id: row.id + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "鎵ц鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + completeCommand(row) { + //瀹屾垚鎸囦护 + let that = this + $.ajax({ + url: baseUrl + "/commandInfo/completeCommand", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + id: row.id + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "瀹屾垚鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + updateCommandStep() { + //鏇存柊姝ュ簭 + let that = this + $.ajax({ + url: baseUrl + "/taskWrk/updateCommandStep", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + wrkNo: this.tableSearchParam.wrk_no, + commandStep: this.commandStep + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "鏇存柊鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + } + }) + </script> + </body> + +</html> diff --git a/src/main/webapp/views/taskWrkLog/taskWrkLog.html b/src/main/webapp/views/taskWrkLog/taskWrkLog.html index a8831d4..4075728 100644 --- a/src/main/webapp/views/taskWrkLog/taskWrkLog.html +++ b/src/main/webapp/views/taskWrkLog/taskWrkLog.html @@ -169,7 +169,7 @@ maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, - content: 'commandManage.html?taskNo=' + row.taskNo + "&wrkNo=" + wrkNo, + content: 'commandManageLog.html?taskNo=' + row.taskNo + "&wrkNo=" + wrkNo, success: function(layero, index) {} }); }, -- Gitblit v1.9.1