Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -39,6 +39,7 @@ import org.nl.acs.task.service.dto.TaskDto;
|
|||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.system.service.ParamService;
|
import org.nl.modules.system.service.ParamService;
|
||||||
import org.nl.modules.system.service.impl.ParamServiceImpl;
|
import org.nl.modules.system.service.impl.ParamServiceImpl;
|
||||||
|
import org.nl.modules.system.util.CodeUtil;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
import org.openscada.opc.lib.da.Server;
|
import org.openscada.opc.lib.da.Server;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -579,6 +580,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
instdto.setPriority(priority);
|
instdto.setPriority(priority);
|
||||||
instdto.setInstruction_status("0");
|
instdto.setInstruction_status("0");
|
||||||
instdto.setExecute_device_code(start_point_code);
|
instdto.setExecute_device_code(start_point_code);
|
||||||
|
instdto.setInstruction_code(CodeUtil.getNewCode("INSTRUCT_NO"));
|
||||||
|
|
||||||
//判断关联的同一列烘箱设备是否都关门 都关门返回false,有一个不关门就返回true
|
//判断关联的同一列烘箱设备是否都关门 都关门返回false,有一个不关门就返回true
|
||||||
boolean isCloseDoor = this.judgeCloseDoor(instdto.getStart_device_code(), instdto.getNext_device_code());
|
boolean isCloseDoor = this.judgeCloseDoor(instdto.getStart_device_code(), instdto.getNext_device_code());
|
||||||
@@ -614,7 +616,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
String start_addr = startDevice.getExtraValue().get("address").toString();
|
String start_addr = startDevice.getExtraValue().get("address").toString();
|
||||||
String next_addr = nextDevice.getExtraValue().get("address").toString();
|
String next_addr = nextDevice.getExtraValue().get("address").toString();
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:"
|
logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:"
|
||||||
+ instdto.getInstruction_code() + ",指令起点:" + instdto.getStart_device_code()
|
+ instdto.getInstruction_code() +";指令号: "+ CodeUtil.getNewCode("INSTRUCT_NO") + ",指令起点:" + instdto.getStart_device_code()
|
||||||
+ ",指令终点:" + instdto.getNext_device_code());
|
+ ",指令终点:" + instdto.getNext_device_code());
|
||||||
this.writing("to_onset", start_addr);
|
this.writing("to_onset", start_addr);
|
||||||
this.writing("to_target", next_addr);
|
this.writing("to_target", next_addr);
|
||||||
|
|||||||
@@ -469,16 +469,24 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
applyManipulatorActionRequest.setTask_code1(inst.getTask_code());
|
applyManipulatorActionRequest.setTask_code1(inst.getTask_code());
|
||||||
logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS,参数:" + applyManipulatorActionRequest);
|
logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS,参数:" + applyManipulatorActionRequest);
|
||||||
try {
|
try {
|
||||||
|
final ThreadPoolExecutor EXECUTOR = ThreadPoolExecutorUtil.getPoll();
|
||||||
|
EXECUTOR.submit(() -> {
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
ApplyManipulatorActionResponse response = acsToWmsService.actionFinishRequest(applyManipulatorActionRequest);
|
ApplyManipulatorActionResponse response = acsToWmsService.actionFinishRequest(applyManipulatorActionRequest);
|
||||||
if (response == null || response.getstatus() == 200) {
|
if (response == null || response.getstatus() == 200) {
|
||||||
logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS,接口返回:" + response.getMessage());
|
logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS,接口返回:" + response.getMessage());
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
|
logServer.deviceExecuteLog(this.device_code, "", "", "任务变化请求LMS失败:" + response.getMessage());
|
||||||
message = "task变化请求LMS失败: " + response.getMessage();
|
message = "task变化请求LMS失败: " + response.getMessage();
|
||||||
|
try {
|
||||||
Thread.sleep(15000);
|
Thread.sleep(15000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS失败" + e.getMessage());
|
logServer.deviceExecuteLog(this.device_code, "", "", "task变化请求LMS失败" + e.getMessage());
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 5.0 KiB |
BIN
acs/nladmin-ui/src/assets/images/logo1.png
Normal file
BIN
acs/nladmin-ui/src/assets/images/logo1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
@@ -70,8 +70,8 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
& .sidebar-logo {
|
& .sidebar-logo {
|
||||||
width: 32px;
|
width: 55px;
|
||||||
height: 32px;
|
height: 15px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
margin-right: 6px;
|
margin-right: 6px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,11 +109,11 @@
|
|||||||
<el-table-column prop="domain" label="domain"/>
|
<el-table-column prop="domain" label="domain"/>
|
||||||
<el-table-column prop="remark" label="备注" min-width="100"/>
|
<el-table-column prop="remark" label="备注" min-width="100"/>
|
||||||
<el-table-column prop="createtime" label="创建时间"/>
|
<el-table-column prop="createtime" label="创建时间"/>
|
||||||
<el-table-column label="操作" width="200px" align="center" fixed="right">
|
<el-table-column label="操作" width="180px" align="center" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" size="small" @click="handleClick(scope.row,'1')">修改</el-button>
|
<el-button type="text" icon="el-icon-edit" size="small" @click="handleClick(scope.row,'1')">修改</el-button>
|
||||||
<el-button type="text" size="small" @click="handleClick(scope.row,'2')">删除</el-button>
|
<el-button type="text" icon="el-icon-delete" size="small" @click="handleClick(scope.row,'2')">删除</el-button>
|
||||||
<el-button v-if="scope.row.opc_flag === '1'" type="text" size="small" @click="handleClick(scope.row,'0')">
|
<el-button v-if="scope.row.opc_flag === '1'" type="text" icon="el-icon-plus" size="small" @click="handleClick(scope.row,'0')">
|
||||||
新增PLC
|
新增PLC
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:before-close="crud.cancelCU"
|
:before-close="crud.cancelCU"
|
||||||
:visible.sync="crud.status.cu > 0"
|
:visible.sync="crud.status.cu"
|
||||||
:title="crud.status.title"
|
:title="crud.status.title"
|
||||||
width="500px"
|
width="500px"
|
||||||
>
|
>
|
||||||
@@ -63,10 +63,10 @@
|
|||||||
@selection-change="crud.selectionChangeHandler"
|
@selection-change="crud.selectionChangeHandler"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column prop="device_code" label="设备编码" />
|
<el-table-column prop="device_code" label="设备编码" :min-width="flexWidth('device_code',crud.data,'设备编码')" />
|
||||||
<el-table-column prop="error_code" label="报警编码" />
|
<el-table-column prop="error_code" label="报警编码" :min-width="flexWidth('error_code',crud.data,'报警编码')" />
|
||||||
<el-table-column prop="error_info" label="报警信息" />
|
<el-table-column prop="error_info" label="报警信息" :min-width="flexWidth('error_info',crud.data,'报警信息')" />
|
||||||
<el-table-column prop="error_time" label="报警时间" />
|
<el-table-column prop="error_time" label="报警时间" :min-width="flexWidth('error_time',crud.data,'报警时间')" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-permission="['admin','acsDeviceErrorLog:edit','acsDeviceErrorLog:del']"
|
v-permission="['admin','acsDeviceErrorLog:edit','acsDeviceErrorLog:del']"
|
||||||
label="操作"
|
label="操作"
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:before-close="crud.cancelCU"
|
:before-close="crud.cancelCU"
|
||||||
:visible.sync="crud.status.cu > 0"
|
:visible.sync="crud.status.cu"
|
||||||
:title="crud.status.title"
|
:title="crud.status.title"
|
||||||
width="500px"
|
width="500px"
|
||||||
>
|
>
|
||||||
@@ -95,45 +95,45 @@
|
|||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
@selection-change="crud.selectionChangeHandler"
|
@selection-change="crud.selectionChangeHandler"
|
||||||
>
|
>
|
||||||
<el-table-column v-if="false" prop="instruction_id" label="指令标识" />
|
<el-table-column v-if="false" prop="instruction_id" label="指令标识" :min-width="flexWidth('instruction_id',crud.data,'指令标识')" />
|
||||||
<el-table-column prop="instruction_code" label="指令编号" width="200" />
|
<el-table-column prop="instruction_code" label="指令编号" :min-width="flexWidth('instruction_code',crud.data,'指令编号')" />
|
||||||
<el-table-column prop="task_code" label="任务号" />
|
<el-table-column prop="task_code" label="任务号" :min-width="flexWidth('task_code',crud.data,'任务号')" />
|
||||||
<el-table-column prop="vehicle_code" label="载具号" />
|
<el-table-column prop="vehicle_code" label="载具号" :min-width="flexWidth('vehicle_code',crud.data,'载具号')" />
|
||||||
<el-table-column prop="instruction_type" label="指令类型" width="120" >
|
<el-table-column prop="instruction_type" label="指令类型" width="120" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_type[scope.row.instruction_type] }}
|
{{ dict.label.task_type[scope.row.instruction_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="instruction_status" label="指令状态">
|
<el-table-column prop="instruction_status" label="指令状态" :min-width="flexWidth('instruction_status',crud.data,'指令状态')" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_status[scope.row.instruction_status] }}
|
{{ dict.label.task_status[scope.row.instruction_status] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="start_point_code" label="起点" />
|
<el-table-column prop="start_point_code" label="起点" :min-width="flexWidth('start_point_code',crud.data,'起点')" />
|
||||||
<el-table-column prop="next_point_code" label="终点" />
|
<el-table-column prop="next_point_code" label="终点" :min-width="flexWidth('next_point_code',crud.data,'终点')" />
|
||||||
<el-table-column prop="start_point_code2" label="起点2" />
|
<el-table-column prop="start_point_code2" label="起点2" :min-width="flexWidth('start_point_code2',crud.data,'起点2')" />
|
||||||
<el-table-column prop="next_point_code2" label="终点2" />
|
<el-table-column prop="next_point_code2" label="终点2" :min-width="flexWidth('next_point_code2',crud.data,'终点2')" />
|
||||||
<el-table-column prop="put_point_code" label="中转点" />
|
<el-table-column prop="put_point_code" label="中转点" :min-width="flexWidth('put_point_code',crud.data,'中转点')" />
|
||||||
<el-table-column prop="start_height" label="取货高度" />
|
<el-table-column prop="start_height" label="取货高度" :min-width="flexWidth('start_height',crud.data,'取货高度')" />
|
||||||
<el-table-column prop="next_height" label="放货高度" />
|
<el-table-column prop="next_height" label="放货高度" :min-width="flexWidth('next_height',crud.data,'放货高度')" />
|
||||||
<el-table-column prop="carno" label="车号" />
|
<el-table-column prop="carno" label="车号" :min-width="flexWidth('carno',crud.data,'车号')" />
|
||||||
<el-table-column prop="agv_system_type" label="AGV系统类型">
|
<el-table-column prop="agv_system_type" label="AGV系统类型" width="120" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="agv_inst_type" label="AGV指令类型">
|
<el-table-column prop="agv_inst_type" label="AGV指令类型" :min-width="flexWidth('agv_inst_type',crud.data,'AGV指令类型')" >
|
||||||
<!-- <template slot-scope="scope">-->
|
<!-- <template slot-scope="scope">-->
|
||||||
<!-- {{ dict.label.agv_inst_type[scope.row.agv_inst_type] }}-->
|
<!-- {{ dict.label.agv_inst_type[scope.row.agv_inst_type] }}-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="weight" label="重量" />
|
<el-table-column prop="weight" label="重量" :min-width="flexWidth('weight',crud.data,'重量')" />
|
||||||
<el-table-column prop="quantity" label="数量" />
|
<el-table-column prop="quantity" label="数量" :min-width="flexWidth('quantity',crud.data,'数量')" />
|
||||||
<el-table-column prop="remark" label="描述" />
|
<el-table-column prop="remark" label="描述" :min-width="flexWidth('remark',crud.data,'描述')" />
|
||||||
<el-table-column prop="create_by" label="创建者" />
|
<el-table-column prop="create_by" label="创建者" :min-width="flexWidth('create_by',crud.data,'创建者')" />
|
||||||
<el-table-column prop="create_time" label="创建时间" width="135" />
|
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
|
||||||
<el-table-column prop="update_by" label="修改者" />
|
<el-table-column prop="update_by" label="修改者" :min-width="flexWidth('update_by',crud.data,'修改者')" />
|
||||||
<el-table-column prop="update_time" label="修改时间" width="135" />
|
<el-table-column prop="update_time" label="修改时间" :min-width="flexWidth('update_time',crud.data,'修改时间')" />
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
<pagination />
|
<pagination />
|
||||||
@@ -202,7 +202,7 @@ export default {
|
|||||||
edit: false,
|
edit: false,
|
||||||
del: false,
|
del: false,
|
||||||
reset: false,
|
reset: false,
|
||||||
download: true
|
download: false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -229,47 +229,47 @@
|
|||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
@selection-change="crud.selectionChangeHandler"
|
@selection-change="crud.selectionChangeHandler"
|
||||||
>
|
>
|
||||||
<el-table-column v-if="false" prop="task_id" label="任务标识" />
|
<el-table-column v-if="false" prop="task_id" label="任务标识" :min-width="flexWidth('task_id',crud.data,'任务标识')" />
|
||||||
<el-table-column prop="task_code" label="任务号" width="200" />
|
<el-table-column prop="task_code" label="任务号" :min-width="flexWidth('task_code',crud.data,'任务号')" />
|
||||||
<el-table-column prop="vehicle_code" label="载具号" />
|
<el-table-column prop="vehicle_code" label="载具号" :min-width="flexWidth('vehicle_code',crud.data,'载具号')" />
|
||||||
<el-table-column prop="task_type" label="任务类型" width="120" >
|
<el-table-column prop="task_type" label="任务类型" width="120" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_type[scope.row.task_type] }}
|
{{ dict.label.task_type[scope.row.task_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="task_status" label="任务状态">
|
<el-table-column prop="task_status" label="任务状态" :min-width="flexWidth('task_status',crud.data,'任务状态')" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_status[scope.row.task_status] }}
|
{{ dict.label.task_status[scope.row.task_status] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="priority" label="任务优先级" />
|
<el-table-column prop="priority" label="任务优先级" :min-width="flexWidth('priority',crud.data,'任务优先级')" />
|
||||||
<el-table-column prop="start_point_code" label="起点" />
|
<el-table-column prop="start_point_code" label="起点" :min-width="flexWidth('start_point_code',crud.data,'起点')" />
|
||||||
<el-table-column prop="next_point_code" label="终点" />
|
<el-table-column prop="next_point_code" label="终点" :min-width="flexWidth('next_point_code',crud.data,'终点')" />
|
||||||
<el-table-column prop="start_point_code2" label="起点2" />
|
<el-table-column prop="start_point_code2" label="起点2" :min-width="flexWidth('start_point_code2',crud.data,'起点2')" />
|
||||||
<el-table-column prop="start_point_code2" label="终点2" />
|
<el-table-column prop="next_point_code2" label="终点2" :min-width="flexWidth('next_point_code2',crud.data,'终点2')" />
|
||||||
<el-table-column prop="put_point_code" label="中转点" />
|
<el-table-column prop="put_point_code" label="中转点" :min-width="flexWidth('put_point_code',crud.data,'中转点')" />
|
||||||
<el-table-column prop="start_height" label="取货高度" />
|
<el-table-column prop="start_height" label="取货高度" :min-width="flexWidth('start_height',crud.data,'取货高度')" />
|
||||||
<el-table-column prop="next_height" label="放货高度" />
|
<el-table-column prop="next_height" label="放货高度" :min-width="flexWidth('next_height',crud.data,'放货高度')" />
|
||||||
<el-table-column prop="car_no" label="车号" />
|
<el-table-column prop="car_no" label="车号" :min-width="flexWidth('car_no',crud.data,'车号')" />
|
||||||
<el-table-column prop="agv_system_type" label="AGV系统类型">
|
<el-table-column prop="agv_system_type" label="AGV系统类型" width="120" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="storage_task_type" label="立库任务类型">
|
<el-table-column prop="storage_task_type" label="立库任务类型" :min-width="flexWidth('storage_task_type',crud.data,'立库任务类型')" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.storage_task_type[scope.row.storage_task_type] }}
|
{{ dict.label.storage_task_type[scope.row.storage_task_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="weight" label="重量" />
|
<el-table-column prop="weight" label="重量" :min-width="flexWidth('weight',crud.data,'重量')" />
|
||||||
<el-table-column prop="temperature" label="温度" />
|
<el-table-column prop="temperature" label="温度" :min-width="flexWidth('temperature',crud.data,'温度')" />
|
||||||
<el-table-column prop="oven_time" label="烘箱时间" />
|
<el-table-column prop="oven_time" label="烘箱时间" :min-width="flexWidth('oven_time',crud.data,'烘箱时间')" />
|
||||||
<el-table-column prop="quantity" label="数量" />
|
<el-table-column prop="quantity" label="数量" :min-width="flexWidth('quantity',crud.data,'数量')" />
|
||||||
<el-table-column prop="remark" label="备注" />
|
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
|
||||||
<el-table-column prop="create_by" label="创建者" />
|
<el-table-column prop="create_by" label="创建者" :min-width="flexWidth('create_by',crud.data,'创建者')" />
|
||||||
<el-table-column prop="create_time" label="创建时间" width="135" />
|
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
|
||||||
<el-table-column prop="update_by" label="修改者" />
|
<el-table-column prop="update_by" label="修改者" :min-width="flexWidth('update_by',crud.data,'修改者')" />
|
||||||
<el-table-column prop="update_time" label="结束时间" width="135" />
|
<el-table-column prop="update_time" label="结束时间" :min-width="flexWidth('update_time',crud.data,'结束时间')" />
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
<pagination />
|
<pagination />
|
||||||
@@ -325,7 +325,7 @@ export default {
|
|||||||
edit: false,
|
edit: false,
|
||||||
del: false,
|
del: false,
|
||||||
reset: false,
|
reset: false,
|
||||||
download: true
|
download: false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -86,51 +86,51 @@
|
|||||||
@select-all="crud.selectAllChange"
|
@select-all="crud.selectAllChange"
|
||||||
@selection-change="crud.selectionChangeHandler"
|
@selection-change="crud.selectionChangeHandler"
|
||||||
>
|
>
|
||||||
<el-table-column v-if="false" prop="task_id" label="任务标识" />
|
<el-table-column v-if="false" prop="task_id" label="任务标识" :min-width="flexWidth('task_id',crud.data,'任务标识')" />
|
||||||
<el-table-column prop="task_code" label="任务号(指令编号)" width="200" />
|
<el-table-column prop="task_code" label="任务号(指令编号)" :min-width="flexWidth('task_code',crud.data,'任务号(指令编号)')" />
|
||||||
<el-table-column prop="vehicle_code" label="载具号" />
|
<el-table-column prop="vehicle_code" label="载具号" :min-width="flexWidth('vehicle_code',crud.data,'载具号')" />
|
||||||
<el-table-column prop="task_type" label="任务类型" width="120">
|
<el-table-column prop="task_type" label="任务类型" width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_type[scope.row.task_type] }}
|
{{ dict.label.task_type[scope.row.task_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="task_status" label="状态">
|
<el-table-column prop="task_status" label="状态" width="60">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_status[scope.row.task_status] }}
|
{{ dict.label.task_status[scope.row.task_status] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="priority" label="任务优先级" />
|
<el-table-column prop="priority" label="任务优先级" :min-width="flexWidth('priority',crud.data,'任务优先级')" />
|
||||||
<el-table-column prop="start_point_code" label="起点" />
|
<el-table-column prop="start_point_code" label="起点" :min-width="flexWidth('start_point_code',crud.data,'起点')" />
|
||||||
<el-table-column prop="next_point_code" label="终点" />
|
<el-table-column prop="next_point_code" label="终点" :min-width="flexWidth('next_point_code',crud.data,'终点')" />
|
||||||
<el-table-column prop="start_point_code2" label="起点2" />
|
<el-table-column prop="start_point_code2" label="起点2" :min-width="flexWidth('start_point_code2',crud.data,'起点2')" />
|
||||||
<el-table-column prop="next_point_code2" label="终点2" />
|
<el-table-column prop="next_point_code2" label="终点2" :min-width="flexWidth('next_point_code2',crud.data,'终点2')" />
|
||||||
<el-table-column prop="put_point_code" label="中转点" />
|
<el-table-column prop="put_point_code" label="中转点" :min-width="flexWidth('put_point_code',crud.data,'中转点')" />
|
||||||
<el-table-column prop="start_height" label="取货高度" />
|
<el-table-column prop="start_height" label="取货高度" :min-width="flexWidth('start_height',crud.data,'取货高度')" />
|
||||||
<el-table-column prop="next_height" label="放货高度" />
|
<el-table-column prop="next_height" label="放货高度" :min-width="flexWidth('next_height',crud.data,'放货高度')" />
|
||||||
<el-table-column prop="car_no" label="车号" />
|
<el-table-column prop="car_no" label="车号" :min-width="flexWidth('car_no',crud.data,'车号')" />
|
||||||
<el-table-column prop="agv_system_type" label="AGV系统类型">
|
<el-table-column prop="agv_system_type" label="AGV系统类型" width="120px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="agv_inst_type" label="AGV指令类型">
|
<el-table-column prop="agv_inst_type" label="AGV指令类型" width="120px">
|
||||||
<!-- <template slot-scope="scope">-->
|
<!-- <template slot-scope="scope">-->
|
||||||
<!-- {{ dict.label.agv_inst_type[scope.row.agv_inst_type] }}-->
|
<!-- {{ dict.label.agv_inst_type[scope.row.agv_inst_type] }}-->
|
||||||
<!-- </template>-->
|
<!-- </template>-->
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="storage_task_type" label="立库任务类型">
|
<el-table-column prop="storage_task_type" label="立库任务类型" width="120px">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.storage_task_type[scope.row.storage_task_type] }}
|
{{ dict.label.storage_task_type[scope.row.storage_task_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="weight" label="重量" />
|
<el-table-column prop="weight" label="重量" :min-width="flexWidth('weight',crud.data,'重量')" />
|
||||||
<el-table-column prop="temperature" label="温度" />
|
<el-table-column prop="temperature" label="温度" :min-width="flexWidth('temperature',crud.data,'温度')" />
|
||||||
<el-table-column prop="quantity" label="数量" />
|
<el-table-column prop="quantity" label="数量" :min-width="flexWidth('quantity',crud.data,'数量')" />
|
||||||
<el-table-column prop="remark" label="备注" />
|
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
|
||||||
<el-table-column prop="create_by" label="创建者" />
|
<el-table-column prop="create_by" label="创建者" :min-width="flexWidth('create_by',crud.data,'创建者')" />
|
||||||
<el-table-column prop="create_time" label="创建时间" width="135" />
|
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
|
||||||
<el-table-column prop="update_by" label="修改者" />
|
<el-table-column prop="update_by" label="修改者" :min-width="flexWidth('update_by',crud.data,'修改者')" />
|
||||||
<el-table-column prop="update_time" label="结束时间" width="135" />
|
<el-table-column prop="update_time" label="结束时间" :min-width="flexWidth('update_time',crud.data,'结束时间')" />
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
<pagination />
|
<pagination />
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:before-close="crud.cancelCU"
|
:before-close="crud.cancelCU"
|
||||||
:visible.sync="crud.status.cu > 0"
|
:visible.sync="crud.status.cu"
|
||||||
:title="crud.status.title"
|
:title="crud.status.title"
|
||||||
width="500px"
|
width="500px"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
style="width: 190px"
|
style="width: 190px"
|
||||||
@change="crud.toQuery"
|
@change="crud.toQuery"
|
||||||
>
|
>
|
||||||
<el-option v-for="item in materialList" :key="item.id" :label="item.label" :value="item.value" />
|
<el-option v-for="item in dict.materialList" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="query.status"
|
v-model="query.status"
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:before-close="crud.cancelCU"
|
:before-close="crud.cancelCU"
|
||||||
:visible.sync="crud.status.cu > 0"
|
:visible.sync="crud.status.cu"
|
||||||
:title="crud.status.title"
|
:title="crud.status.title"
|
||||||
width="500px"
|
width="500px"
|
||||||
>
|
>
|
||||||
@@ -119,48 +119,52 @@
|
|||||||
@selection-change="crud.selectionChangeHandler"
|
@selection-change="crud.selectionChangeHandler"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column v-if="false" prop="instruction_id" label="指令标识" />
|
<el-table-column v-if="false" prop="instruction_id" label="指令标识" :min-width="flexWidth('instruction_id',crud.data,'指令标识')" />
|
||||||
<el-table-column prop="instruction_code" label="指令编号" />
|
<el-table-column prop="instruction_code" label="指令编号" :min-width="flexWidth('instruction_code',crud.data,'指令编号')" />
|
||||||
<el-table-column prop="instruction_type" label="指令类型">
|
<el-table-column prop="instruction_type" label="指令类型" width="120px" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_type[scope.row.instruction_type] }}
|
{{ dict.label.task_type[scope.row.instruction_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="link_num" label="关联编号" />-->
|
<!-- <el-table-column prop="link_num" label="关联编号" />-->
|
||||||
<el-table-column prop="task_code" label="任务号" />
|
<el-table-column prop="task_code" label="任务号" :min-width="flexWidth('task_code',crud.data,'任务号')" />
|
||||||
<el-table-column prop="vehicle_code" label="载具号" />
|
<el-table-column prop="vehicle_code" label="载具号" :min-width="flexWidth('vehicle_code',crud.data,'载具号')" />
|
||||||
<el-table-column prop="instruction_status" label="指令状态">
|
<el-table-column prop="instruction_status" label="指令状态" :min-width="flexWidth('instruction_status',crud.data,'指令状态')">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span v-if="scope.row.instruction_status=='0' ">就绪</span>
|
<span v-if="scope.row.instruction_status=='0' ">就绪</span>
|
||||||
<span v-if="scope.row.instruction_status=='1' ">执行中</span>
|
<span v-if="scope.row.instruction_status=='1' ">执行中</span>
|
||||||
<span v-if="scope.row.instruction_status=='2' ">完成</span>
|
<span v-if="scope.row.instruction_status=='2' ">完成</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="send_status" label="下发状态">
|
<el-table-column prop="send_status" label="下发状态" :min-width="flexWidth('send_status',crud.data,'下发状态')" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span v-if="scope.row.send_status=='0' ">未下发</span>
|
<span v-if="scope.row.send_status=='0' ">未下发</span>
|
||||||
<span v-if="scope.row.send_status=='1' ">成功</span>
|
<span v-if="scope.row.send_status=='1' ">成功</span>
|
||||||
<span v-if="scope.row.send_status=='2' ">失败</span>
|
<span v-if="scope.row.send_status=='2' ">失败</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="start_point_code" label="取货点1" />
|
<el-table-column prop="start_point_code" label="取货点1" :min-width="flexWidth('start_point_code',crud.data,'取货点1')" />
|
||||||
<el-table-column prop="next_point_code" label="放货点1" />
|
<el-table-column prop="next_point_code" label="放货点1" :min-width="flexWidth('next_point_code',crud.data,'放货点1')" />
|
||||||
<el-table-column prop="start_point_code2" label="取货点2" />
|
<el-table-column prop="start_point_code2" label="取货点2" :min-width="flexWidth('start_point_code2',crud.data,'取货点2')" />
|
||||||
<el-table-column prop="next_point_code2" label="放货点2" />
|
<el-table-column prop="next_point_code2" label="放货点2" :min-width="flexWidth('next_point_code2',crud.data,'放货点2')" />
|
||||||
<el-table-column prop="put_point_code" label="中转点" />
|
<el-table-column prop="put_point_code" label="中转点" :min-width="flexWidth('put_point_code',crud.data,'中转点')" />
|
||||||
<el-table-column prop="execute_device_code" label="当前执行设备" />
|
<el-table-column prop="execute_device_code" label="当前执行设备" :min-width="flexWidth('execute_device_code',crud.data,'当前执行设备')" />
|
||||||
<el-table-column prop="carno" label="车号" />
|
<el-table-column prop="carno" label="车号" :min-width="flexWidth('carno',crud.data,'车号')" />
|
||||||
<el-table-column prop="weight" label="重量" />
|
<el-table-column prop="weight" label="重量" :min-width="flexWidth('weight',crud.data,'重量')" />
|
||||||
<el-table-column prop="agv_jobno" label="AGV任务号" />
|
<el-table-column prop="agv_jobno" label="AGV任务号" :min-width="flexWidth('agv_jobno',crud.data,'AGV任务号')" />
|
||||||
<el-table-column prop="agv_inst_type" label="AGV任务类型" />
|
<el-table-column prop="agv_inst_type" label="AGV任务类型" :min-width="flexWidth('agv_inst_type',crud.data,'AGV任务类型')" />
|
||||||
<el-table-column prop="agv_system_type" label="AGV系统类型" />
|
<el-table-column prop="agv_system_type" label="AGV系统类型" width="120px">
|
||||||
<el-table-column prop="start_height" label="取货高度" />
|
<template slot-scope="scope">
|
||||||
<el-table-column prop="next_height" label="放货高度" />
|
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
||||||
<el-table-column prop="remark" label="描述" />
|
</template>
|
||||||
<el-table-column prop="create_by" label="创建者" />
|
</el-table-column>
|
||||||
<el-table-column prop="create_time" label="创建时间" width="135" />
|
<el-table-column prop="start_height" label="取货高度" :min-width="flexWidth('start_height',crud.data,'取货高度')" />
|
||||||
|
<el-table-column prop="next_height" label="放货高度" :min-width="flexWidth('next_height',crud.data,'放货高度')" />
|
||||||
|
<el-table-column prop="remark" label="描述" :min-width="flexWidth('remark',crud.data,'描述')" />
|
||||||
|
<el-table-column prop="create_by" label="创建者" :min-width="flexWidth('create_by',crud.data,'创建者')" />
|
||||||
|
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
|
||||||
|
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
v-permission="['admin','instruction:edit','instruction:del']"
|
v-permission="['admin','instruction:edit','instruction:del']"
|
||||||
fixed="left"
|
fixed="left"
|
||||||
label="操作"
|
label="操作"
|
||||||
@@ -180,6 +184,94 @@
|
|||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</template>
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
<el-table-column
|
||||||
|
v-permission="['admin','instruction:edit','instruction:del']"
|
||||||
|
label="操作"
|
||||||
|
width="100"
|
||||||
|
align="center"
|
||||||
|
fixed="right"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<!-- <el-button-group>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-finished"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'a' })"
|
||||||
|
>
|
||||||
|
完成
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-circle-close"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'b' })"
|
||||||
|
>
|
||||||
|
取消
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-folder-add"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'c' })"
|
||||||
|
>
|
||||||
|
强制取消
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-folder-add"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'd' })"
|
||||||
|
>
|
||||||
|
初始化
|
||||||
|
</el-button>
|
||||||
|
</el-button-group> -->
|
||||||
|
<el-dropdown>
|
||||||
|
<span class="el-dropdown-link">
|
||||||
|
<i class="el-icon-setting">More</i>
|
||||||
|
<!-- <el-icon class="el-icon--right">
|
||||||
|
<arrow-down />
|
||||||
|
</el-icon> -->
|
||||||
|
</span>
|
||||||
|
<template #dropdown>
|
||||||
|
<el-dropdown-menu>
|
||||||
|
<el-dropdown-item>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-finished"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'a' })"
|
||||||
|
>
|
||||||
|
完成
|
||||||
|
</el-button>
|
||||||
|
</el-dropdown-item>
|
||||||
|
<el-dropdown-item>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-circle-close"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'b' })"
|
||||||
|
>
|
||||||
|
取消
|
||||||
|
</el-button>
|
||||||
|
</el-dropdown-item>
|
||||||
|
<el-dropdown-item>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-folder-add"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'c' })"
|
||||||
|
>
|
||||||
|
强制取消
|
||||||
|
</el-button>
|
||||||
|
</el-dropdown-item>
|
||||||
|
<el-dropdown-item>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-check"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'd' })"
|
||||||
|
>
|
||||||
|
初始化
|
||||||
|
</el-button>
|
||||||
|
</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</template>
|
||||||
|
</el-dropdown>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
@@ -232,7 +324,7 @@ const defaultForm = {
|
|||||||
update_time: null
|
update_time: null
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
dicts: ['task_status', 'task_type'],
|
dicts: ['task_status', 'task_type', 'agv_system_type'],
|
||||||
name: 'Instruction',
|
name: 'Instruction',
|
||||||
components: { crudOperation, pagination },
|
components: { crudOperation, pagination },
|
||||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||||
@@ -370,4 +462,5 @@ export default {
|
|||||||
.el-icon-arrow-down {
|
.el-icon-arrow-down {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -408,47 +408,46 @@
|
|||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
@selection-change="crud.selectionChangeHandler"
|
@selection-change="crud.selectionChangeHandler"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="25" />
|
<el-table-column type="selection" width="50" />
|
||||||
<el-table-column v-if="false" prop="task_id" label="任务标识" />
|
<el-table-column v-if="false" prop="task_id" label="任务标识" :min-width="flexWidth('task_id',crud.data,'任务标识')" />
|
||||||
<el-table-column prop="task_code" label="任务号" width="100" />
|
<el-table-column prop="task_code" label="任务号" :min-width="flexWidth('task_code',crud.data,'任务号')" />
|
||||||
<el-table-column prop="task_type" label="任务类型" width="120">
|
<el-table-column prop="task_type" label="任务类型" width="120px" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_type[scope.row.task_type] }}
|
{{ dict.label.task_type[scope.row.task_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="link_num" label="关联编号" />-->
|
<!-- <el-table-column prop="link_num" label="关联编号" />-->
|
||||||
<el-table-column prop="vehicle_code" label="载具号" width="100" />
|
<el-table-column prop="vehicle_code" label="载具号" :min-width="flexWidth('vehicle_code',crud.data,'载具号')" />
|
||||||
<el-table-column prop="task_status" label="任务状态" width="60">
|
<el-table-column prop="task_status" label="任务状态" :min-width="flexWidth('task_status',crud.data,'任务状态')" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.task_status[scope.row.task_status] }}
|
{{ dict.label.task_status[scope.row.task_status] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="priority" label="优先级" width="100" />
|
<el-table-column prop="priority" label="优先级" :min-width="flexWidth('priority',crud.data,'优先级')" />
|
||||||
<el-table-column prop="start_point_code" label="取货点1" width="100px" />
|
<el-table-column prop="start_point_code" label="取货点1" :min-width="flexWidth('start_point_code',crud.data,'取货点1')" />
|
||||||
<el-table-column prop="next_point_code" label="放货点1" width="120px" />
|
<el-table-column prop="next_point_code" label="放货点1" :min-width="flexWidth('next_point_code',crud.data,'放货点1')" />
|
||||||
<el-table-column prop="start_point_code2" label="取货点2" width="120px" />
|
<el-table-column prop="start_point_code2" label="取货点2" :min-width="flexWidth('start_point_code2',crud.data,'取货点2')" />
|
||||||
<el-table-column prop="next_point_code2" label="放货点2" width="120px" />
|
<el-table-column prop="next_point_code2" label="放货点2" :min-width="flexWidth('next_point_code2',crud.data,'放货点2')" />
|
||||||
<el-table-column prop="put_point_code" label="中转点" width="100px" />
|
<el-table-column prop="put_point_code" label="中转点" :min-width="flexWidth('put_point_code',crud.data,'中转点')" />
|
||||||
<!-- <el-table-column prop="agv_task_type" label="AGV任务类型" width="120px" />-->
|
|
||||||
<el-table-column prop="agv_system_type" label="AGV系统类型" width="120px" >
|
<el-table-column prop="agv_system_type" label="AGV系统类型" width="120px" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
{{ dict.label.agv_system_type[scope.row.agv_system_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="storage_task_type" label="立库任务类型" width="120px">
|
<el-table-column prop="storage_task_type" label="立库任务类型" :min-width="flexWidth('storage_task_type',crud.data,'立库任务类型')" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.storage_task_type[scope.row.storage_task_type] }}
|
{{ dict.label.storage_task_type[scope.row.storage_task_type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="start_height" label="取货高度" />
|
<el-table-column prop="start_height" label="取货高度" :min-width="flexWidth('start_height',crud.data,'取货高度')" />
|
||||||
<el-table-column prop="next_height" label="放货高度" />
|
<el-table-column prop="next_height" label="放货高度" :min-width="flexWidth('next_height',crud.data,'放货高度')" />
|
||||||
<el-table-column prop="device_code" label="纸管库出库仓位" />
|
<el-table-column prop="device_code" label="纸管库出库仓位" :min-width="flexWidth('device_code',crud.data,'纸管库出库仓位')" />
|
||||||
<el-table-column prop="qty" label="纸管库出库数量" />
|
<el-table-column prop="qty" label="纸管库出库数量" :min-width="flexWidth('qty',crud.data,'纸管库出库数量')" />
|
||||||
<el-table-column prop="truss_type" label="内包间行架任务类型" />
|
<el-table-column prop="truss_type" label="内包间行架任务类型" :min-width="flexWidth('truss_type',crud.data,'内包间行架任务类型')" />
|
||||||
<el-table-column prop="remark" label="备注" />
|
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
|
||||||
<el-table-column prop="create_by" label="创建者" />
|
<el-table-column prop="create_by" label="创建者" :min-width="flexWidth('create_by',crud.data,'创建者')" />
|
||||||
<el-table-column prop="create_time" label="创建时间" width="135" />
|
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
v-permission="['admin','task:edit','task:del']"
|
v-permission="['admin','task:edit','task:del']"
|
||||||
fixed="left"
|
fixed="left"
|
||||||
label="操作"
|
label="操作"
|
||||||
@@ -467,6 +466,39 @@
|
|||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</template>
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
<el-table-column
|
||||||
|
v-permission="['admin','task:edit','task:del']"
|
||||||
|
label="操作"
|
||||||
|
width="200"
|
||||||
|
align="center"
|
||||||
|
fixed="right"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button-group>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-finished"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'a' })"
|
||||||
|
>
|
||||||
|
完成
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-circle-close"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'b' })"
|
||||||
|
>
|
||||||
|
取消
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-folder-add"
|
||||||
|
@click="handleCommand({ index: scope.$index, row: scope.row, command: 'c' })"
|
||||||
|
>
|
||||||
|
创建指令
|
||||||
|
</el-button>
|
||||||
|
</el-button-group>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
@@ -497,7 +529,7 @@ export default {
|
|||||||
edit: true,
|
edit: true,
|
||||||
del: true,
|
del: true,
|
||||||
reset: false,
|
reset: false,
|
||||||
download: true
|
download: false
|
||||||
},
|
},
|
||||||
crudMethod: { ...crudTask }
|
crudMethod: { ...crudTask }
|
||||||
})
|
})
|
||||||
@@ -707,14 +739,16 @@ export default {
|
|||||||
// })
|
// })
|
||||||
// },
|
// },
|
||||||
|
|
||||||
beforeHandleCommand(index, row, command) {
|
/* beforeHandleCommand(index, row, command) {
|
||||||
|
console.log(command.command)
|
||||||
return {
|
return {
|
||||||
'index': index,
|
'index': index,
|
||||||
'row': row,
|
'row': row,
|
||||||
'command': command
|
'command': command
|
||||||
}
|
}
|
||||||
},
|
}, */
|
||||||
handleCommand(command) {
|
handleCommand(command) {
|
||||||
|
console.log(command.command)
|
||||||
switch (command.command) {
|
switch (command.command) {
|
||||||
case 'a':// 完成
|
case 'a':// 完成
|
||||||
this.finish(command.index, command.row)
|
this.finish(command.index, command.row)
|
||||||
@@ -836,4 +870,11 @@ export default {
|
|||||||
.el-icon-arrow-down {
|
.el-icon-arrow-down {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.custom-cell {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -56,8 +56,8 @@ export default {
|
|||||||
codeUrl: '',
|
codeUrl: '',
|
||||||
cookiePass: '',
|
cookiePass: '',
|
||||||
loginForm: {
|
loginForm: {
|
||||||
username: 'admin',
|
username: '',
|
||||||
password: '123456',
|
password: '',
|
||||||
rememberMe: false,
|
rememberMe: false,
|
||||||
code: '',
|
code: '',
|
||||||
uuid: ''
|
uuid: ''
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import org.springframework.stereotype.Component;
|
|||||||
@Data
|
@Data
|
||||||
public class CommonFinalParam {
|
public class CommonFinalParam {
|
||||||
|
|
||||||
private final String DELETE = "0";
|
public static final String DELETE = "0";
|
||||||
/**
|
/**
|
||||||
* 分隔符
|
* 分隔符
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.nl.acs.device_driver.agv.xg_agv_car;
|
|||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.http.HttpResponse;
|
import cn.hutool.http.HttpResponse;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -123,6 +124,31 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
|
|||||||
*/
|
*/
|
||||||
private int manua_confirm = 0;
|
private int manua_confirm = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否推送场景的状态 0=可推送 1=正在更新场景 2=正在执行运单
|
||||||
|
*/
|
||||||
|
private String upload_scene_status;
|
||||||
|
/**
|
||||||
|
* 机器人当前运单
|
||||||
|
*/
|
||||||
|
private String current_order;
|
||||||
|
/**
|
||||||
|
* 机器人连接状态 0表示断连 1表示连接上
|
||||||
|
*/
|
||||||
|
private String connection_status;
|
||||||
|
/**
|
||||||
|
* 机器人可接单状态 true=可接单 false=不可接单
|
||||||
|
*/
|
||||||
|
private String dispatchable;
|
||||||
|
/**
|
||||||
|
* core出错标识
|
||||||
|
*/
|
||||||
|
private boolean is_error;
|
||||||
|
/**
|
||||||
|
* 是否正在执行用户下发的运单
|
||||||
|
*/
|
||||||
|
private boolean procBusiness;
|
||||||
|
|
||||||
String device_code = null;
|
String device_code = null;
|
||||||
String container;
|
String container;
|
||||||
String container_type_desc;
|
String container_type_desc;
|
||||||
@@ -152,7 +178,28 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject getDeviceStatusName() {
|
public JSONObject getDeviceStatusName() {
|
||||||
return null;
|
getAgvStatus();
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
String isError;
|
||||||
|
if(is_error){
|
||||||
|
isError = "报错";
|
||||||
|
}else{
|
||||||
|
isError = "正常";
|
||||||
|
}
|
||||||
|
if(CommonFinalParam.ONE.equals(upload_scene_status)){
|
||||||
|
upload_scene_status = "正在更新场景";
|
||||||
|
}else if(CommonFinalParam.TWO.equals(upload_scene_status)){
|
||||||
|
upload_scene_status = "正在执行运单";
|
||||||
|
}else if(CommonFinalParam.DELETE.equals(upload_scene_status)){
|
||||||
|
upload_scene_status = "可推送";
|
||||||
|
}
|
||||||
|
jo.put("is_error",isError);
|
||||||
|
jo.put("upload_scene_status",upload_scene_status);
|
||||||
|
jo.put("procBusiness",procBusiness);
|
||||||
|
jo.put("current_order",current_order);
|
||||||
|
jo.put("connection_status",connection_status);
|
||||||
|
jo.put("dispatchable",dispatchable);
|
||||||
|
return jo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -162,6 +209,7 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取机器人信息
|
* 获取机器人信息
|
||||||
*/
|
*/
|
||||||
@@ -169,7 +217,23 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
|
|||||||
HttpResponse robotInfo = xianGongAgvService.getRobotInfo(this.getDevice().getDevice_name());
|
HttpResponse robotInfo = xianGongAgvService.getRobotInfo(this.getDevice().getDevice_name());
|
||||||
if(robotInfo.getStatus() == 200){
|
if(robotInfo.getStatus() == 200){
|
||||||
JSONObject jsonObject = JSONObject.parseObject(robotInfo.body());
|
JSONObject jsonObject = JSONObject.parseObject(robotInfo.body());
|
||||||
|
String report = jsonObject.getString("report");
|
||||||
|
//core出错标识
|
||||||
|
is_error = jsonObject.getBooleanValue("is_error");
|
||||||
|
//是否推送场景的状态 0=可推送 1=正在更新场景 2=正在执行运单
|
||||||
|
upload_scene_status = jsonObject.getString("upload_scene_status");
|
||||||
|
JSONArray objects = JSONObject.parseArray(report);
|
||||||
|
for (int i = 0; i < objects.size(); i++) {
|
||||||
|
JSONObject json = (JSONObject)objects.get(i);
|
||||||
|
//是否正在执行用户下发的运单
|
||||||
|
procBusiness = json.getBooleanValue("procBusiness");
|
||||||
|
//机器人当前运单
|
||||||
|
current_order = json.getString("current_order");
|
||||||
|
//机器人连接状态 0表示断连 1表示连接上
|
||||||
|
connection_status = json.getString("connection_status");
|
||||||
|
//机器人可接单状态 true=可接单 false=不可接单
|
||||||
|
dispatchable = json.getString("dispatchable");
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
log.info("请求{}机器人状态失败", this.getDevice().getDevice_name());
|
log.info("请求{}机器人状态失败", this.getDevice().getDevice_name());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -161,6 +161,7 @@ public class ItemProtocol {
|
|||||||
list.add(new ItemDto(item_move2, "后工位光电信号", "DB15.B3"));
|
list.add(new ItemDto(item_move2, "后工位光电信号", "DB15.B3"));
|
||||||
list.add(new ItemDto(item_action, "动作信号", "DB15.B4"));
|
list.add(new ItemDto(item_action, "动作信号", "DB15.B4"));
|
||||||
list.add(new ItemDto(item_walk_y, "行走列", "DB15.B5"));
|
list.add(new ItemDto(item_walk_y, "行走列", "DB15.B5"));
|
||||||
|
list.add(new ItemDto(item_task, "任务号", "DB15.D3"));
|
||||||
list.add(new ItemDto(item_error, "报警信号", "DB15.B6"));
|
list.add(new ItemDto(item_error, "报警信号", "DB15.B6"));
|
||||||
list.add(new ItemDto(item_x_position, "x坐标", "DB15.REAL10"));
|
list.add(new ItemDto(item_x_position, "x坐标", "DB15.REAL10"));
|
||||||
list.add(new ItemDto(item_y_position, "y坐标", "DB15.REAL14"));
|
list.add(new ItemDto(item_y_position, "y坐标", "DB15.REAL14"));
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ public class DeviceStageMonitorController {
|
|||||||
private final DeviceStageMonitorService deviceStageMonitorService;
|
private final DeviceStageMonitorService deviceStageMonitorService;
|
||||||
|
|
||||||
@Log("获取舞台设备信息")
|
@Log("获取舞台设备信息")
|
||||||
|
|
||||||
@PostMapping("/getDeviceByCodes")
|
@PostMapping("/getDeviceByCodes")
|
||||||
public ResponseEntity<Object> getDeviceByCodes(@RequestBody String json) throws Exception {
|
public ResponseEntity<Object> getDeviceByCodes(@RequestBody String json) throws Exception {
|
||||||
JSONArray jsonArray = JSONArray.parseArray(json);
|
JSONArray jsonArray = JSONArray.parseArray(json);
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
|
|||||||
Object his = accessor_value.getValue(itemId);
|
Object his = accessor_value.getValue(itemId);
|
||||||
if (!ObjectUtl.isEquals(itemState.getQuality(), QualityTypeValue.OPC_QUALITY_GOOD) && his != null) {
|
if (!ObjectUtl.isEquals(itemState.getQuality(), QualityTypeValue.OPC_QUALITY_GOOD) && his != null) {
|
||||||
log.warn("opc 值不健康 item: {}, 状态: {}", itemId, itemState.getQuality());
|
log.warn("opc 值不健康 item: {}, 状态: {}", itemId, itemState.getQuality());
|
||||||
valueAllNotNull = true;
|
valueAllNotNull = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!UnifiedDataAppService.isEquals(value, his)) {
|
if (!UnifiedDataAppService.isEquals(value, his)) {
|
||||||
@@ -231,29 +231,30 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
|
|||||||
random *= 1000;
|
random *= 1000;
|
||||||
if (this.all_null < 3) {
|
if (this.all_null < 3) {
|
||||||
if (log.isWarnEnabled()) {
|
if (log.isWarnEnabled()) {
|
||||||
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null, 5000 + random);
|
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null,3);
|
||||||
}
|
}
|
||||||
ThreadUtl.sleep((long) (5000 + random));
|
|
||||||
|
ThreadUtl.sleep( 3000);
|
||||||
|
break start;
|
||||||
} else if (this.all_null < 6) {
|
} else if (this.all_null < 6) {
|
||||||
if (log.isWarnEnabled()) {
|
if (log.isWarnEnabled()) {
|
||||||
log.warn(tag + "重新创建server");
|
log.warn(tag + "重新创建server");
|
||||||
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null, 30000 + random);
|
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null,3);
|
||||||
}
|
}
|
||||||
// ThreadUtl.sleep((long) (30000 + random));
|
ThreadUtl.sleep(3000);
|
||||||
ThreadUtl.sleep((long) ((new Random()).nextInt(3) + 1) * 1000);
|
|
||||||
break start;
|
break start;
|
||||||
} else if (this.all_null < 12) {
|
} else if (this.all_null < 12) {
|
||||||
if (log.isWarnEnabled()) {
|
if (log.isWarnEnabled()) {
|
||||||
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}ms", tag, all_null, '\uea60' + random);
|
log.warn(tag + "重新创建server");
|
||||||
|
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}s", tag, all_null,3);
|
||||||
}
|
}
|
||||||
|
ThreadUtl.sleep(3000);
|
||||||
ThreadUtl.sleep((long) ('\uea60' + random));
|
break start;
|
||||||
} else {
|
} else {
|
||||||
if (log.isWarnEnabled()) {
|
if (log.isWarnEnabled()) {
|
||||||
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}ms", tag, all_null, 120000 + random);
|
log.warn("{} 所有内容都为空, all_null:{} ,暂定{}ms", tag, all_null, 5000);
|
||||||
}
|
}
|
||||||
|
ThreadUtl.sleep((long) (5000));
|
||||||
ThreadUtl.sleep((long) (120000 + random));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
++this.all_null;
|
++this.all_null;
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="box-card" shadow="never">
|
<!-- <el-card class="box-card" shadow="never">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span class="role-span">PLC读取字段:</span>
|
<span class="role-span">PLC读取字段:</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -145,9 +145,9 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card> -->
|
||||||
|
|
||||||
<el-card class="box-card" shadow="never">
|
<!-- <el-card class="box-card" shadow="never">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span class="role-span">PLC写入字段:</span>
|
<span class="role-span">PLC写入字段:</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -190,7 +190,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card> -->
|
||||||
|
|
||||||
<el-card class="box-card" shadow="never">
|
<el-card class="box-card" shadow="never">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
|
|||||||
@@ -483,7 +483,7 @@
|
|||||||
<!-- <el-table-column prop="link_num" label="关联编号" />-->
|
<!-- <el-table-column prop="link_num" label="关联编号" />-->
|
||||||
<el-table-column prop="vehicle_code" :label="$t('task.txt_box.Vehicle_number')" :min-width="flexWidth('vehicle_code',crud.data,$t('task.txt_box.Vehicle_number'))" />
|
<el-table-column prop="vehicle_code" :label="$t('task.txt_box.Vehicle_number')" :min-width="flexWidth('vehicle_code',crud.data,$t('task.txt_box.Vehicle_number'))" />
|
||||||
<el-table-column prop="task_status" :label="$t('task.txt_box.Task_status')" width="150px">
|
<el-table-column prop="task_status" :label="$t('task.txt_box.Task_status')" width="150px">
|
||||||
<template slot-scope="scope" width="120px">
|
<template slot-scope="scope">
|
||||||
<span v-if="scope.row.task_status==='0' ">{{ $t('task.select.Ready') }}</span>
|
<span v-if="scope.row.task_status==='0' ">{{ $t('task.select.Ready') }}</span>
|
||||||
<span v-if="scope.row.task_status==='1' ">{{ $t('task.select.In_progress') }}</span>
|
<span v-if="scope.row.task_status==='1' ">{{ $t('task.select.In_progress') }}</span>
|
||||||
<span v-if="scope.row.task_status==='2' ">{{ $t('task.select.Completed') }}</span>
|
<span v-if="scope.row.task_status==='2' ">{{ $t('task.select.Completed') }}</span>
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="$refs.dictDetail && $refs.dictDetail.crud.toAdd()"
|
@click="$refs.dictDetail && $refs.dictDetail.crud.toAdd()"
|
||||||
>{{ $t('common.Create') }}
|
>{{ $t('auto.common.Create') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<dictDetail ref="dictDetail" :permission="permission" />
|
<dictDetail ref="dictDetail" :permission="permission" />
|
||||||
|
|||||||
Reference in New Issue
Block a user