refactor: 下发任务至wcs功能优化

This commit is contained in:
Kelvin 2024-11-27 08:58:06 +08:00
parent a53fa45c9a
commit e8648b3712
2 changed files with 142 additions and 62 deletions

View File

@ -3,84 +3,84 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="计划编码" prop="wmsOutPlanCode"> <el-form-item label="计划编码" prop="wmsOutPlanCode">
<el-input <el-input
v-model="queryParams.wmsOutPlanCode" v-model="queryParams.wmsOutPlanCode"
placeholder="请输入出库计划编码" placeholder="请输入出库计划编码"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="任务编码" prop="taskCode"> <el-form-item label="任务编码" prop="taskCode">
<el-input <el-input
v-model="queryParams.taskCode" v-model="queryParams.taskCode"
placeholder="请输入任务编码" placeholder="请输入任务编码"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="任务数量" prop="taskNumber"> <el-form-item label="任务数量" prop="taskNumber">
<el-input <el-input
v-model="queryParams.taskNumber" v-model="queryParams.taskNumber"
placeholder="请输入任务数量" placeholder="请输入任务数量"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="出库数量" prop="outNumber"> <el-form-item label="出库数量" prop="outNumber">
<el-input <el-input
v-model="queryParams.outNumber" v-model="queryParams.outNumber"
placeholder="请输入出库数量" placeholder="请输入出库数量"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="批次" prop="batchNum"> <el-form-item label="批次" prop="batchNum">
<el-input <el-input
v-model="queryParams.batchNum" v-model="queryParams.batchNum"
placeholder="请输入批次" placeholder="请输入批次"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="物料编码" prop="mdItemCode"> <el-form-item label="物料编码" prop="mdItemCode">
<el-input <el-input
v-model="queryParams.mdItemCode" v-model="queryParams.mdItemCode"
placeholder="请输入物料编码" placeholder="请输入物料编码"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="物料名称" prop="mdItemName"> <el-form-item label="物料名称" prop="mdItemName">
<el-input <el-input
v-model="queryParams.mdItemName" v-model="queryParams.mdItemName"
placeholder="请输入物料名称" placeholder="请输入物料名称"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="物料单位" prop="mdItemUnit"> <el-form-item label="物料单位" prop="mdItemUnit">
<el-input <el-input
v-model="queryParams.mdItemUnit" v-model="queryParams.mdItemUnit"
placeholder="请输入物料单位" placeholder="请输入物料单位"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="任务状态" prop="taskState"> <el-form-item label="任务状态" prop="taskState">
<el-select v-model="queryParams.taskState" placeholder="请选择任务状态" clearable> <el-select v-model="queryParams.taskState" placeholder="请选择任务状态" clearable>
<el-option <el-option
v-for="dict in dict.type.in_plan_state" v-for="dict in dict.type.in_plan_state"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="领料人" prop="recipientUsername"> <el-form-item label="领料人" prop="recipientUsername">
<el-input <el-input
v-model="queryParams.recipientUsername" v-model="queryParams.recipientUsername"
placeholder="请输入领料人" placeholder="请输入领料人"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -159,6 +159,31 @@
<el-table-column label="出库时间" align="center" prop="createTime"/> <el-table-column label="出库时间" align="center" prop="createTime"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="scope.row.taskState !== '1' && scope.row.wmsBusinessTypeCode !== 'ZDCK'">
<el-button
size="mini"
type="text"
v-if="scope.row.taskState !== 'YTC'"
@click="handleIssue(scope.row,'CK')"
>推出库位
</el-button>
<el-button
size="mini"
type="text"
v-if="scope.row.taskState !== 'YTR' && scope.row.taskState !== '0'"
@click="handleIssue(scope.row,'RK')"
>推入库位
</el-button>
</template>
<el-button
size="mini"
type="text"
icon="el-icon-running"
@click="handleIssue(scope.row,'CK')"
v-hasPermi="['md:TASK:remove']"
v-if="scope.row.taskState ==='0'"
>WCS下发任务
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -175,25 +200,16 @@
v-if="scope.row.taskState =='0'" v-if="scope.row.taskState =='0'"
>手动出库 >手动出库
</el-button> </el-button>
<el-button
size="mini"
type="text"
icon="el-icon-running"
@click="handleAutoRun(scope.row)"
v-hasPermi="['md:TASK:remove']"
v-if="scope.row.taskState =='0'"
>WCS下发任务
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改出库任务对话框 --> <!-- 添加或修改出库任务对话框 -->
@ -241,10 +257,10 @@
<el-form-item label="任务状态" prop="taskState"> <el-form-item label="任务状态" prop="taskState">
<el-select v-model="form.taskState" placeholder="请选择任务状态"> <el-select v-model="form.taskState" placeholder="请选择任务状态">
<el-option <el-option
v-for="dict in dict.type.in_plan_state" v-for="dict in dict.type.in_plan_state"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -287,7 +303,16 @@
</template> </template>
<script> <script>
import {addTASK, autoRunTASK, delTASK, getTASK, listTASK, runTASK, updateTASK} from "@/api/md/TASK"; import {
addTASK,
autoRunTASK,
delTASK,
getTASK, issueOutTaskWcsDJ,
issueWmsOutTaskToWcs,
listTASK,
runTASK,
updateTASK
} from "@/api/md/TASK";
export default { export default {
name: "TASK", name: "TASK",
@ -349,9 +374,9 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
tableRowStyle({row, index}){ tableRowStyle({row, index}) {
let rowBackground = {} let rowBackground = {}
if (row.knifeWarning == true){ if (row.knifeWarning == true) {
rowBackground.background = "#ff6666" rowBackground.background = "#ff6666"
rowBackground.color = "#666666" rowBackground.color = "#666666"
return rowBackground return rowBackground
@ -485,6 +510,61 @@ export default {
}).catch(() => { }).catch(() => {
}); });
}, },
// WCS
handleIssue(task, type = 'CK') {
getTASK(task.wmsOutTaskId).then(res => {
res.data.outInfoList.length = 1;
res.data.outInfoList.forEach(outInfo => {
const param = {
// ID
planId: outInfo.planInId,
// ID
taskId: outInfo.id,
//
cellCode: outInfo.wmStorageAreaCode,
cellX: outInfo.cellX,
cellY: outInfo.cellY,
cellZ: outInfo.cellZ,
//
warehouseTypeCode: "",
//
materialId: outInfo.mdItemId,
materialCode: outInfo.mdItemCode,
materialName: outInfo.mdItemName,
materialCount: outInfo.actualInQuantity,
rfid: "123456789AAA",
// OR
type,
}
if (['DPCK', 'DBCK'].includes(task.wmsBusinessTypeCode)) {
param.warehouseTypeCode = "LTK"
issueWmsOutTaskToWcs(param).then(res => {
if (type === "RK") {
task.taskState = "YTR"
this.$modal.msgSuccess("推入库位");
} else if (type === "CK") {
task.taskState = "YTC"
this.$modal.msgSuccess("推出库位");
}
updateTASK(task).then(res => {
this.getList();
})
this.$modal.msgSuccess("下发成功");
})
} else if (task.wmsBusinessTypeCode === "ZDCK") {
param.warehouseTypeCode = "DJ"
issueOutTaskWcsDJ(param).then(res => {
console.log(res)
this.$modal.msgSuccess("下发成功");
})
}
})
// issueBatchWmsInTask([task.id.toString()]).then(response => {
// this.$modal.msgSuccess("");
// this.getList();
// });
})
},
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const wmsOutTaskIds = row.wmsOutTaskId || this.ids; const wmsOutTaskIds = row.wmsOutTaskId || this.ids;

View File

@ -64,7 +64,7 @@
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@click="handleIssueWcs(scope.row,'CK')" @click="handleIssueWcs(scope.row,'RK')"
>下发 >下发
</el-button> </el-button>
</template> </template>