From ec899ee7e9ead5152bd9b4c2dedd75c79cab6fb0 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期三, 28 八月 2024 17:03:44 +0800 Subject: [PATCH] Merge branch 'master' into wxw --- Web/src/views/wcs/wcsTask/index.vue | 120 +++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 78 insertions(+), 42 deletions(-) diff --git a/Web/src/views/wcs/wcsTask/index.vue b/Web/src/views/wcs/wcsTask/index.vue index eac32a8..b68e9e8 100644 --- a/Web/src/views/wcs/wcsTask/index.vue +++ b/Web/src/views/wcs/wcsTask/index.vue @@ -4,8 +4,9 @@ <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)' }"> <template #header> - <el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-Collection /></el-icon>浠诲姟鏃ュ織 - </template> + <el-icon size="16" + style="margin-right: 3px; display: inline; vertical-align: middle"><ele-Collection /></el-icon>浠诲姟鏃ュ織 + </template> <el-form :model="queryParams" ref="queryForm" labelWidth="90"> <el-row> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> @@ -53,8 +54,8 @@ </el-col> </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=""> + <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id" + @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="taskType" width="85" label="浠诲姟绫诲瀷" show-overflow-tooltip=""> @@ -79,17 +80,15 @@ <ModifyRecord :data="scope.row" /> </template> </el-table-column> - <el-table-column label="鎿嶄綔" width="130" align="center" fixed="right" show-overflow-tooltip="" + <el-table-column prop="鎿嶄綔" label="鎿嶄綔" width="130" 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> </el-table-column> </el-table> @@ -104,8 +103,9 @@ <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)' }"> <template #header> - <el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-Collection /></el-icon>浠诲姟璇︽儏 - </template> + <el-icon size="16" + style="margin-right: 3px; display: inline; vertical-align: middle"><ele-Collection /></el-icon>浠诲姟璇︽儏 + </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"> @@ -122,7 +122,8 @@ </el-col> </el-row> </el-form> - <el-table :data="tableData2" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id" border=""> + <el-table :data="tableData2" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id" + 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="" /> @@ -146,22 +147,18 @@ <script lang="ts" setup="" name="wcsTask"> import ModifyRecord from '/@/components/table/modifyRecord.vue'; -import { ref } from "vue"; +import { onMounted, reactive, ref } from 'vue'; import { ElMessageBox, ElMessage } from "element-plus"; import { auth } from '/@/utils/authFunction'; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; import { getDictLabelByVal as dv } from '/@/utils/dict-utils'; -import { formatDate } from '/@/utils/formatTime'; - 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 } from '/@/api/wcs/wcsTask'; import { pageWcsMonitorTask } from '/@/api/wcs/wcsTaskMonitor'; -import { getAPI } from '/@/utils/axios-utils'; -import { SysEnumApi } from '/@/api-services/api'; -import commonFunction from '/@/utils/commonFunction'; +import { signalR } from './signalR'; const showAdvanceQueryUI = ref(false); const printDialogRef = ref(); @@ -183,7 +180,31 @@ }); const printWcsTaskTitle = ref(""); const editWcsTaskTitle = ref(""); - +//杩炴帴signalR 鐩戝惉鍚庡彴浠诲姟鏃ュ織鍙樻洿 +onMounted(async () => { + signalR.off('PublicTask'); + signalR.on('PublicTask', (data: any) => { + console.log(data) + 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'); + signalR.on('PublicTaskMonitor', async (data: any) => { + console.log(data); + if (queryParams2.value.taskNo == undefined || queryParams2.value.taskNo == data.taskNo) { + if (tableData2.value.filter(t => t.id == data.id).length == 0) { + tableData2.value.unshift(data) + } + } + }); +}); // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬� const changeAdvanceQueryUI = () => { showAdvanceQueryUI.value = !showAdvanceQueryUI.value; @@ -230,33 +251,48 @@ 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 handleClick = (row, column, cell, event) => { + if (column.property === '鎿嶄綔') { + return; + } + queryParams2.value.taskNo = row.taskNo; + handleQuery2(); +}; // 鏀瑰彉椤甸潰瀹归噺 const handleSizeChange = (val: number) => { tableParams.value.pageSize = val; -- Gitblit v1.8.0