From 18675524096643ce5cb3f53f134f2982dd0fd6d7 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期五, 31 十月 2025 16:42:15 +0800
Subject: [PATCH] 修改任务页面
---
Web/src/views/wcs/wcsTask/index.vue | 197 ++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 153 insertions(+), 44 deletions(-)
diff --git a/Web/src/views/wcs/wcsTask/index.vue b/Web/src/views/wcs/wcsTask/index.vue
index 5b4534c..09d235e 100644
--- a/Web/src/views/wcs/wcsTask/index.vue
+++ b/Web/src/views/wcs/wcsTask/index.vue
@@ -1,8 +1,8 @@
锘�<template>
<div class="wcsTask-container">
<el-row :gutter="8" style="width: 100%; height: 100%; flex: 1">
- <el-col :span="12" :xs="24" style="display: flex; height: 100%; flex: 1">
- <el-card class="full-table" shadow="hover" ::body-style="{ height: 'calc(100% - 51px)' }">
+ <el-col :span="14" :xs="24" style="display: flex; height: 100%; flex: 1">
+ <el-card class="full-table" shadow="hover" :body-style="{ height: 'calc(100% - 51px)' }">
<template #header>
<el-icon size="16"
style="margin-right: 3px; display: inline; vertical-align: middle"><ele-Collection /></el-icon>浠诲姟鏃ュ織
@@ -35,6 +35,21 @@
</el-select>
</el-form-item>
</el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="鎵樼洏鍙�">
+ <el-input v-model="queryParams.palletNo" clearable="" placeholder="璇疯緭鍏ユ墭鐩樺彿" />
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="鍗曟嵁鍙�">
+ <el-input v-model="queryParams.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鎹彿" />
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+ <el-form-item label="鏉ユ簮">
+ <el-input v-model="queryParams.origin" clearable="" placeholder="璇疯緭鍏ユ潵婧�" />
+ </el-form-item>
+ </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
<el-form-item>
<el-button-group style="display: flex; align-items: center;">
@@ -55,9 +70,9 @@
</el-row>
</el-form>
<el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id"
- @row-click="handleClick" @sort-change="sortChange" border="">
+ @cell-click="handleClick" @sort-change="sortChange" border="">
<el-table-column type="index" label="搴忓彿" width="55" align="center" />
- <el-table-column prop="taskNo" label="浠诲姟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="taskNo" label="浠诲姟鍙�" width="130" show-overflow-tooltip="" />
<el-table-column prop="taskType" width="85" label="浠诲姟绫诲瀷" show-overflow-tooltip="">
<template #default="scope">
<el-tag :type="dv('TaskTypeEnum', scope.row.taskType)?.tagType"> {{ dv('TaskTypeEnum',
@@ -70,27 +85,60 @@
scope.row.status)?.name }}</el-tag>
</template>
</el-table-column>
+ <el-table-column prop="lotNo" label="鎵规鍙�" width="130" show-overflow-tooltip="" />
+ <el-table-column prop="skuNo" label="鐗╂枡缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="skuName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
<el-table-column prop="startLocate" label="璧峰浣嶇疆" show-overflow-tooltip="" />
<el-table-column prop="endLocate" label="缁撴潫浣嶇疆" show-overflow-tooltip="" />
<el-table-column prop="palletNo" label="鎵樼洏鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="qty" label="鎷嗗灈绠辨暟" show-overflow-tooltip="" />
+ <el-table-column prop="palletQty" label="鏁磋泛绠辨暟" show-overflow-tooltip="" />
+ <el-table-column prop="levels" label="浼樺厛绾�" width="55" show-overflow-tooltip="" />
+ <el-table-column prop="origin" label="鏉ユ簮" show-overflow-tooltip="" />
+ <el-table-column prop="orderNo" label="鍗曟嵁鍙�" show-overflow-tooltip="" />
+
+ <el-table-column prop="unstackingMode" width="100" label="鎷嗗灈鏂瑰紡" show-overflow-tooltip="">
+ <template #default="scope">
+ <span v-if="scope.row.unstackingMode">
+ <el-tag :type="dv('UnstackingModeEnum', scope.row.unstackingMode)?.tagType"> {{
+ dv('UnstackingModeEnum',
+ scope.row.unstackingMode)?.name }}</el-tag>
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="isBind" width="85" label="鏄惁缁戝畾" show-overflow-tooltip="">
+ <template #default="scope">
+ <span v-if="scope.row.isBind != null">
+ <el-tag :type="dv('IsBindEnum', scope.row.isBind)?.tagType"> {{ dv('IsBindEnum',
+ scope.row.isBind)?.name }}</el-tag>
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="stationNum" label="鎷嗗灈宸ヤ綅鍙�" show-overflow-tooltip="" />
<el-table-column prop="cancelDate" label="鍙栨秷鏃堕棿" show-overflow-tooltip="" />
<el-table-column prop="finishDate" label="瀹屾垚鏃堕棿" show-overflow-tooltip="" />
- <el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
+ <!-- <el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
<template #default="scope">
<ModifyRecord :data="scope.row" />
</template>
- </el-table-column>
- <el-table-column label="鎿嶄綔" width="130" align="center" fixed="right" show-overflow-tooltip=""
+ </el-table-column> -->
+ <el-table-column prop="鎿嶄綔" label="鎿嶄綔" width="200" align="center" fixed="right" show-overflow-tooltip=""
v-if="auth('wcsTask:complete') || auth('wcsTask:cancell')">
<template #default="scope">
- <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWcsTask(scope.row)"
- v-auth="'wcsTask:update'"> 缂栬緫 </el-button>
- <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWcsTask(scope.row)"
- v-auth="'wcsTask:delete'"> 鍒犻櫎 </el-button> -->
- <el-button icon="ele-Check" size="small" text="" type="primary" @click="completeTask(scope.row)"
- v-auth="'wcsTask:complete'"> 瀹屾垚 </el-button>
- <el-button icon="ele-Close" size="small" text="" type="primary" @click="cancellTask(scope.row)"
- v-auth="'wcsTask:cancell'"> 鍙栨秷 </el-button>
+ <template v-if="scope.row.status <= 1">
+ <el-button icon="ele-Check" size="small" text="" type="primary" @click="completeTask(scope.row)"
+ v-auth="'wcsTask:complete'"> 瀹屾垚 </el-button>
+ <el-button icon="ele-Close" size="small" text="" type="primary" @click="cancellTask(scope.row)"
+ v-auth="'wcsTask:cancell'"> 鍙栨秷 </el-button>
+ </template>
+ <template v-if="scope.row.status == 2 && scope.row.origin == 'WMS'">
+ <el-button icon="ele-Upload" size="small" text="" type="primary" @click="uploadTask(scope.row)"
+ v-auth="'wcsTask:cancell'"> 涓婁紶 </el-button>
+ </template>
+ <template v-if="scope.row.status == 0">
+ <el-button icon="ele-Top" size="small" text="" type="primary" @click="topUpTask(scope.row)"
+ v-auth="'wcsTask:cancell'"> 缃《 </el-button>
+ </template>
</template>
</el-table-column>
</el-table>
@@ -102,7 +150,7 @@
<editDialog ref="editDialogRef" :title="editWcsTaskTitle" @reloadTable="handleQuery" />
</el-card>
</el-col>
- <el-col :span="12" :xs="24" style="display: flex; height: 100%; flex: 1">
+ <el-col :span="10" :xs="24" style="display: flex; height: 100%; flex: 1">
<el-card class="full-table" shadow="hover" :body-style="{ height: 'calc(100% - 51px)' }">
<template #header>
<el-icon size="16"
@@ -110,12 +158,12 @@
</template>
<el-form :model="queryParams2" ref="queryForm2" labelWidth="90">
<el-row>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-col :xs="24" :sm="12" :md="12" :lg="10" :xl="8" class="mb10">
<el-form-item label="浠诲姟鍙�">
- <el-input v-model="queryParams2.taskNo" clearable="" placeholder="璇疯緭鍏ヤ换鍔″彿" />
+ <el-input v-model="queryParams2.taskNo" clearable="" placeholder="璇疯緭鍏ヤ换鍔″彿" style="width: 130px;" />
</el-form-item>
</el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+ <el-col :xs="24" :sm="12" :md="12" :lg="10" :xl="8" class="mb10" style="margin-left: 20px;">
<el-form-item>
<el-button type="primary" icon="ele-Search" @click="handleQuery2"> 鏌ヨ
</el-button>
@@ -128,14 +176,15 @@
border="">
<el-table-column type="index" label="搴忓彿" width="55" align="center" />
<el-table-column prop="taskNo" label="浠诲姟鍙�" show-overflow-tooltip="" />
- <el-table-column prop="plcId" label="浜や簰宸ヤ綅鍙�" show-overflow-tooltip="" />
+ <!-- <el-table-column prop="plcId" label="浜や簰宸ヤ綅鍙�" show-overflow-tooltip="" /> -->
<el-table-column prop="plcName" label="浜や簰浣嶇疆" show-overflow-tooltip="" />
<el-table-column prop="interactiveMsg" label="浜や簰淇℃伅" show-overflow-tooltip="" />
- <el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
+ <el-table-column prop="createTime" label="浜や簰鏃堕棿" show-overflow-tooltip="" />
+ <!-- <el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
<template #default="scope">
<ModifyRecord :data="scope.row" />
</template>
- </el-table-column>
+ </el-table-column> -->
</el-table>
<el-pagination v-model:currentPage="tableParams2.page" v-model:page-size="tableParams2.pageSize"
:total="tableParams2.total" :page-sizes="[10, 20, 50, 100, 200, 500]" size="small" background=""
@@ -158,7 +207,7 @@
import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
import editDialog from '/@/views/wcs/wcsTask/component/editDialog.vue'
-import { pageWcsTask, deleteWcsTask } from '/@/api/wcs/wcsTask';
+import { pageWcsTask, finshWcsTask, uploadWcsTask,topUpWcsTask } from '/@/api/wcs/wcsTask';
import { pageWcsMonitorTask } from '/@/api/wcs/wcsTaskMonitor';
import { signalR } from './signalR';
@@ -172,12 +221,12 @@
const queryParams2 = ref<any>({});
const tableParams = ref({
page: 1,
- pageSize: 10,
+ pageSize: 20,
total: 0,
});
const tableParams2 = ref({
page: 1,
- pageSize: 10,
+ pageSize: 20,
total: 0,
});
const printWcsTaskTitle = ref("");
@@ -187,8 +236,14 @@
signalR.off('PublicTask');
signalR.on('PublicTask', (data: any) => {
console.log(data)
- if (tableData.value.filter(t => t.id == data.id).length == 0) {
+ var listTask = tableData.value.filter(t => t.id == data.id);
+ if (listTask.length == 0) {
tableData.value.unshift(data)
+ }
+ else {
+ //濡傛灉宸茬粡瀛樺湪灏辨洿鏂版暟鎹�
+ const index = tableData.value.findIndex(t => t.id == data.id);
+ tableData.value.splice(index, 1, data);
}
});
signalR.off('PublicTaskMonitor');
@@ -247,33 +302,82 @@
editDialogRef.value.openDialog(row);
};
//瀹屾垚浠诲姟
-const completeTask = (row: any) => {
-
-}
-//鍙栨秷浠诲姟
-const cancellTask = (row: any) => {
-
-}
-// 鐐瑰嚮琛ㄦ牸
-const handleClick = (row: any, event: any, column: any) => {
- queryParams2.value.taskNo = row.taskNo;
- handleQuery2();
-};
-// 鍒犻櫎
-const delWcsTask = (row: any) => {
- ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+const completeTask = async (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佸畬鎴愪换鍔″悧?`, "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning",
})
.then(async () => {
- await deleteWcsTask(row);
+ var param = Object.assign(row);
+ param.status = 2;
+ await finshWcsTask(param);
handleQuery();
- ElMessage.success("鍒犻櫎鎴愬姛");
+ handleQuery2();
+ ElMessage.success("瀹屾垚浠诲姟鎴愬姛");
})
.catch(() => { });
-};
+}
+//鍙栨秷浠诲姟
+const cancellTask = async (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佸彇娑堜换鍔″悧?`, "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(async () => {
+ var param = Object.assign(row);
+ param.status = 4;
+ await finshWcsTask(param);
+ handleQuery();
+ handleQuery2();
+ ElMessage.success("鍙栨秷浠诲姟鎴愬姛");
+ })
+ .catch(() => { });
+}
+//涓婁紶浠诲姟
+const uploadTask = async (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佷笂浼犱换鍔″悧?`, "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(async () => {
+ var param = Object.assign(row);
+ await topUpTask(param);
+ handleQuery();
+ handleQuery2();
+ ElMessage.success("涓婁紶浠诲姟鎴愬姛锛�");
+ })
+ .catch(() => { });
+
+}
+//缃《浠诲姟
+const topUpTask = async (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佺疆椤朵换鍔″悧?`, "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(async () => {
+ var param = Object.assign(row);
+ await topUpWcsTask(param);
+ handleQuery();
+ handleQuery2();
+ ElMessage.success("缃《浠诲姟鎴愬姛");
+ })
+ .catch(() => { });
+
+}
+// 鐐瑰嚮琛ㄦ牸
+const handleClick = (row, column, cell, event) => {
+ if (column.property === '鎿嶄綔') {
+ return;
+ }
+ queryParams2.value.taskNo = row.taskNo;
+ handleQuery2();
+};
// 鏀瑰彉椤甸潰瀹归噺
const handleSizeChange = (val: number) => {
tableParams.value.pageSize = val;
@@ -305,4 +409,9 @@
:deep(.el-input-number) {
width: 100%;
}
+
+/* :deep(.el-input__inner)
+{
+ width: 50%;
+} */
</style>
--
Gitblit v1.8.0