From 1b118e5148c0568d7bb64bf59b9a06712c9a6842 Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期六, 28 九月 2024 08:12:11 +0800
Subject: [PATCH] 问题修改
---
Web/src/views/device/sortPallet/index.vue | 136 +++++++++++++++++++++++++++++++++-----------
1 files changed, 101 insertions(+), 35 deletions(-)
diff --git a/Web/src/views/device/sortPallet/index.vue b/Web/src/views/device/sortPallet/index.vue
index 2a94f23..698c6a7 100644
--- a/Web/src/views/device/sortPallet/index.vue
+++ b/Web/src/views/device/sortPallet/index.vue
@@ -18,54 +18,64 @@
<div class="card-container">
<el-card class="other-box-card" v-for="deviceInfo in devicePointData" :key="deviceInfo.id">
<div slot="header" class="linefix">
- <span>{{ deviceInfo.text }}</span>
- <div :class="['lineStatus', { 'device-status-0': deviceInfo.status === 0 }, { 'device-status-1': deviceInfo.status === 1 }]"></div>
+ <span>{{ deviceInfo.text }}</span>
+ <div :class="['lineStatus', { 'device-status-0': deviceInfo.plcStatus === true }, { 'device-status-1': deviceInfo.plcStatus === false }]"></div>
</div>
<div class="otherValuefix" >
<el-form label-position="left" label-width="90px">
- <el-form-item label="WMS鏄庣粏鍗曞彿">
- <el-input></el-input>
+ <el-form-item label="WMS鏄庣粏鍗曞彿" v-if="deviceInfo.type==5">
+ <el-input v-model="deviceInfo.orderNo" readonly></el-input>
</el-form-item>
<el-form-item label="浠诲姟鍙�">
- <el-input v-model="deviceInfo.taskNumber"></el-input>
+ <el-input v-model="deviceInfo.taskNo"></el-input>
</el-form-item>
<el-form-item label="鎵规鍙�">
- <el-input></el-input>
+ <el-input v-model="deviceInfo.lotNo" readonly></el-input>
</el-form-item>
<el-form-item label="鐗╂枡缂栫爜">
- <el-input></el-input>
+ <el-input v-model="deviceInfo.skuNo" readonly></el-input>
</el-form-item>
<el-form-item label="鐗╂枡鍚嶇О">
- <el-input></el-input>
+ <el-input v-model="deviceInfo.skuName" readonly></el-input>
</el-form-item>
- <el-form-item label="鍖呰鍚嶇О">
- <el-input></el-input>
+ <el-form-item label="鍒嗘嫞绾跨紪鍙�" v-if="deviceInfo.type==5">
+ <el-input v-model="deviceInfo.lineNo" readonly></el-input>
</el-form-item>
<el-form-item label="缁戝畾鐘舵��">
- <el-input></el-input>
+ <el-input :value="deviceInfo.status === '0' ? '鏈粦瀹�' : '宸茬粦瀹�'" readonly></el-input>
</el-form-item>
<el-form-item label="鎶撶鍝佺">
- <el-input></el-input>
+ <el-input v-model="deviceInfo.pzNo" readonly></el-input>
</el-form-item>
<el-form-item label="鎵樼洏鍙�">
- <el-input></el-input>
+ <el-input readonly></el-input>
</el-form-item>
- <el-form-item label="鎻掔爜鏁伴噺">
- <el-input></el-input>
- </el-form-item>
- <el-form-item label="鎵樼洏涓婄鏁伴噺">
- <el-input></el-input>
+ <el-form-item label="鎻掔爜绠辨暟" v-if="deviceInfo.type==5">
+ <el-input readonly></el-input>
+ </el-form-item>
+ <el-form-item label="鎷嗗灈绠辨暟" v-if="deviceInfo.type==6">
+ <el-input readonly></el-input>
+ </el-form-item>
+ <el-form-item label="鏁磋泛绠辨暟">
+ <el-input readonly></el-input>
</el-form-item>
- <el-form-item label="WMS涓嬪彂鏁伴噺">
- <el-input></el-input>
+ <el-form-item label="瀹屾垚绠辨暟">
+ <el-input readonly></el-input>
</el-form-item>
+ <!-- <el-form-item label="WMS涓嬪彂鏁伴噺">
+ <el-input v-model="deviceInfo.qty" readonly></el-input>
+ </el-form-item> -->
+ <el-form-item label="鐘舵��">
+ <el-input :value="deviceInfo.plcStatus ? '鍦ㄧ嚎' : '绂荤嚎'" readonly></el-input>
+ </el-form-item>
</el-form>
</div>
- <div class="otherButtonfix">
+ <!-- 璁惧绫诲瀷涓虹爜鍨涙満鍣ㄤ汉 -->
+ <div v-if="deviceInfo.type==5" class="otherButtonfix">
<el-form label-position="left">
<el-form-item>
- <el-button type="primary" @click="openBindDialog()">缁戝畾</el-button>
- <el-button>缁撴壒</el-button>
+ <el-button type="primary" @click="openBindDialog(deviceInfo.id)">缁戝畾</el-button>
+ <el-button @click="closeBindDialog(deviceInfo.lotNo)">缁撴壒</el-button>
</el-form-item>
</el-form>
</div>
@@ -80,9 +90,7 @@
:data="bindData"
highlight-current-row
@row-click="handleRowClick"
- >
- <el-table-column type="selection" width="55"/>
-
+ >
<el-table-column prop="orderNo" label="WMS涓嬪彂鍗曞彿" show-overflow-tooltip="" />
<el-table-column prop="taskNo" label="浠诲姟鍙�" show-overflow-tooltip="" />
<el-table-column prop="lotNo" label="鎵规鍙�" show-overflow-tooltip="" />
@@ -100,9 +108,25 @@
</template>
<script lang="ts" setup>
-import { ref } from 'vue';
-import { GetWcsPackPlcList,GetWcsPackStationPlcList } from '/@/api/wcs/wcsDevice';
+import { ref, onMounted } from 'vue';
+import { GetWcsPackPlcList,GetWcsPackStationPlcList,BindTaskForPLC,CloseTaskForPLC } from '/@/api/wcs/wcsDevice';
import { pageWcsOderTask } from '/@/api/device/wcsOderTask';
+import { ElMessageBox,ElMessage } from 'element-plus';
+import { signalR,stopConnection } from './signalR';
+//杩炴帴signalR 鐩戝惉鍙樻洿
+onMounted(async () => {
+ signalR.off('PublicCheckTask');
+ signalR.on('PublicCheckTask', (data: any) => {
+ //todo 闇�瑕佹祴璇�
+ // if (data.type == 0) {
+
+ // }
+ var index = devicePointData.value.findIndex(s => s.id == data.id);
+ if (index !== -1) {
+ devicePointData.value.splice(index, 1, data);
+ }
+ });
+});
//璁惧鏁版嵁
const deviceList=ref<any>([]);
@@ -110,6 +134,8 @@
const devicePointData = ref<any>([]);
//閫変腑璁惧ID
const selectedDeviceId=ref<any>();
+//閫変腑宸ヤ綅ID
+const selectedStationId=ref<any>();
const bindDialogVisible = ref(false);
const bindData = ref<any>([]);
@@ -117,7 +143,7 @@
const queryParams = ref<any>({});
const tableParams = ref({
page: 1,
- pageSize: 10,
+ pageSize: 20,
total: 0,
});
@@ -141,7 +167,7 @@
//鍒囨崲璁惧
function chooseDevice(id) {
selectedDeviceId.value = id;
- fetchStationData(id);
+ fetchStationData(selectedDeviceId.value);
}
const handleQuery = async () => {
@@ -150,9 +176,13 @@
tableParams.value.total = res.data.result?.total;
};
//鎵撳紑缁戝畾寮规
-function openBindDialog() {
+function openBindDialog(id) {
+ selectedStationId.value=null;
+ selectedRow.value=null;
+
+ selectedStationId.value=id;
bindDialogVisible.value = true;
- // Mock data for binding
+
handleQuery();
}
//鐐瑰嚮琛屾椂璁剧疆閫変腑琛�
@@ -163,13 +193,46 @@
//纭缁戝畾鎿嶄綔
function confirmBinding() {
if (selectedRow.value) {
- console.log('Selected Row:', selectedRow.value);
- // Do binding logic here
+ //鎵嬪姩缁戝畾浠诲姟鍒癙LC
+ bindTaskForPLC(selectedStationId.value,selectedRow.value.id);
+
bindDialogVisible.value = false;
} else {
- console.error('No row selected');
+ ElMessage.error('璇烽�夋嫨瑕佺粦瀹氱殑浠诲姟锛�');
}
}
+const bindTaskForPLC = async (deviceId: any,oderTaskId:any) => {
+ const res = await BindTaskForPLC({ deviceId,oderTaskId });
+ if(res.status==200){
+ ElMessage.success('缁戝畾鎴愬姛锛�');
+ // 鍒锋柊
+ fetchStationData(selectedDeviceId.value);
+ }
+}
+//缁撴壒鎿嶄綔
+function closeBindDialog(lotNo){
+ if(lotNo==''){
+ ElMessage.error('璇ュ伐浣嶆湭缁戝畾浠诲姟锛�');
+ return;
+ }
+ ElMessageBox.confirm(`纭畾瀵硅鎵规浠诲姟缁撴壒鍚�?`, '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ })
+ .then(async () => {
+ closeTaskForPLC(lotNo);
+ })
+ .catch(() => {});
+}
+const closeTaskForPLC = async (lotNo: string) => {
+ const res = await CloseTaskForPLC({ lotNo });
+ if(res.status==200){
+ ElMessage.success('缁撴壒鎴愬姛锛�');
+ // 鍒锋柊
+ fetchStationData(selectedDeviceId.value);
+ }
+}
</script>
@@ -238,5 +301,8 @@
justify-content: flex-end;
margin-top: 20px;
}
+ .divDisplay{
+ display:none
+ }
</style>
\ No newline at end of file
--
Gitblit v1.8.0