From 75a1cfdc9b88519fa7a2af57e8b7d615c063b656 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 04 九月 2024 11:28:50 +0800
Subject: [PATCH] Merge branch 'master' into wxw
---
Web/src/views/device/deviceInfo/index.vue | 230 +++++++++++++++++++++++++++++++++++---------------------
1 files changed, 143 insertions(+), 87 deletions(-)
diff --git a/Web/src/views/device/deviceInfo/index.vue b/Web/src/views/device/deviceInfo/index.vue
index d5088bf..28b3860 100644
--- a/Web/src/views/device/deviceInfo/index.vue
+++ b/Web/src/views/device/deviceInfo/index.vue
@@ -5,36 +5,41 @@
<el-collapse v-model="activeName">
<el-collapse-item title="璁惧鎺у埗" name="1">
<el-card class="box-card" shadow="hover">
- <el-switch v-model="state.boRunningState" active-text="" inactive-text="绋嬪簭鏈嶅姟"></el-switch>
+ <el-switch v-model="state.boRunningState" active-text="" inactive-text="绋嬪簭鏈嶅姟"
+ @change="handleSwitchChange('boRunningState', $event)"></el-switch>
</el-card>
<el-card class="box-card" shadow="hover" style="margin-top: 3px;">
- <el-switch v-model="state.boOffline" active-text="" inactive-text="鑴辨満妯″紡"></el-switch>
+ <el-switch v-model="state.boOffline" active-text="" inactive-text="鑴辨満妯″紡"
+ @change="handleSwitchChange('boOffline', $event)"></el-switch>
</el-card>
<el-card class="box-card" shadow="hover" style="margin-top: 3px;">
- <el-switch v-model="state.boRefresh" active-text="" inactive-text="鑷埛鏂�"></el-switch>
+ <el-switch v-model="state.boRefresh" active-text="" inactive-text="鑷埛鏂�"
+ @change="handleSwitchChange('boRefresh', $event)"></el-switch>
</el-card>
</el-collapse-item>
<el-collapse-item title="鍫嗗灈鏈�" name="2">
<div style="overflow-x: auto;white-space: nowrap;">
<el-card v-for="(stacker, index) in stackers" :key="index" class="box-card" shadow="hover">
- <el-switch disabled v-model="stacker.isConn" :inactive-text="`${stacker.text}`"></el-switch>
+ <el-switch v-model="stacker.isConn" :inactive-text="`${stacker.text}`"
+ disabled></el-switch>
</el-card>
</div>
</el-collapse-item>
<el-collapse-item title="杈撻�佺嚎" name="3">
<el-card v-for="(conveyor, index) in conveyors" :key="index" class="box-card" shadow="hover">
- <el-switch disabled v-model="conveyor.isConn" :inactive-text="`${conveyor.text}`"></el-switch>
+ <el-switch v-model="conveyor.isConn" :inactive-text="`${conveyor.text}`"
+ disabled></el-switch>
</el-card>
</el-collapse-item>
</el-collapse>
</el-col>
<el-col :span="21">
<div class="card-page">
- <el-button type="primary" :plain="isPlain1" @click="floorTogglePlain(1)">涓�灞傚钩闈�</el-button>
- <el-button type="primary" :plain="isPlain2" @click="floorTogglePlain(2)">浜屽眰骞抽潰</el-button>
- <el-button type="primary" :plain="isPlain3" @click="floorTogglePlain(3)">涓夊眰骞抽潰</el-button>
+ <el-button type="primary" :plain="floorStates.isPlain1" @click="floorTogglePlain(1)">涓�灞傚钩闈�</el-button>
+ <el-button type="primary" :plain="floorStates.isPlain2" @click="floorTogglePlain(2)">浜屽眰骞抽潰</el-button>
+ <el-button type="primary" :plain="floorStates.isPlain3" @click="floorTogglePlain(3)">涓夊眰骞抽潰</el-button>
</div>
<div style="margin: 40px; height: 50%;">
<div class="grid-container-line">
@@ -66,9 +71,8 @@
<script lang="ts" setup>
import { ref, reactive, onMounted } from 'vue';
-import { listStatus } from '/@/api/wcs/wcsPlc';
+import { listStatus, listPosition } from '/@/api/wcs/wcsPlc';
import { signalR } from './signalR';
-
const state = ref<any>({});
const stackers = ref<any>({});
@@ -79,6 +83,24 @@
state.value = res.data.result.modService;
stackers.value = res.data.result.listPlc.filter(s => s.type == 0);
conveyors.value = res.data.result.listPlc.filter(s => s.type == 1 || s.type == 4);
+
+ var res2 = await listPosition();
+ res2.data.result.forEach(s => {
+ if (s.type == 0) {
+ // 鏇存柊鍫嗗灈鏈烘暟鎹�
+ const foundCell = cellsDataLine.value.find(cell => cell.Code === s.stationNum);
+ if (foundCell) {
+ //淇敼楂樺害
+ foundCell.BoxHeight = s.boxHeight;
+ }
+ }
+ else if (s.type == 1) {
+ // 鏇存柊杈撻�佺嚎鏁版嵁
+ updateCellData(cellsDataOne, s);
+ updateCellData(cellsDataTwo, s);
+ updateCellData(cellsDataThree, s);
+ }
+ });
};
handleQuery();
@@ -102,15 +124,50 @@
}
console.log(stackers.value[0].isConn)
});
+ signalR.off('UpdateService');
+ signalR.on('UpdateService', (data: any) => {
+ state.value = data;
+ });
+ signalR.off('PublicPosition');
+ signalR.on('PublicPosition', (data: any) => {
+
+ if (data.type == 1) {
+ // 鏇存柊杈撻�佺嚎鏁版嵁
+ updateCellData(cellsDataOne, data);
+ updateCellData(cellsDataTwo, data);
+ updateCellData(cellsDataThree, data);
+ }
+ else if (data.type == 0) {
+ // 鏇存柊鍫嗗灈鏈烘暟鎹�
+ const foundCell = cellsDataLine.value.find(cell => cell.Code === data.stationNum);
+ if (foundCell) {
+ //淇敼楂樺害
+ foundCell.BoxHeight = data.boxHeight;
+ }
+ }
+ });
});
+const handleSwitchChange = (field: string, value: boolean) => {
+ signalR.invoke('UpdateService', state.value);
+};
+
+// 鏇存柊杈撻�佺嚎鏁版嵁鐨勯�氱敤鍑芥暟
+function updateCellData(cellsData: any[], data: any) {
+ const foundCell = cellsData.find(cell => cell.Code === data.stationNum);
+ if (foundCell) {
+ if (data.boHaveItem) {
+ foundCell.IsUse = 1;
+ }
+ else {
+ foundCell.IsUse = 0;
+ }
+ }
+}
const activeName = ['1', '2', '3'];
-const value1 = ref(false);
-const value2 = ref(false);
-const value3 = ref(false);
//鍫嗗灈鏈烘暟鎹�
-const cellsDataLine = [
+const cellsDataLine = ref([
{ Id: 1, Code: '001', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
{ Id: 2, Code: '002', LineCode: '01', EndLocat: '01010101', IsShow: 0, IsUse: 0, BoxHeight: 10 },
{ Id: 3, Code: '003', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
@@ -162,7 +219,7 @@
{ Id: 49, Code: '049', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
{ Id: 50, Code: '050', LineCode: '10', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 10 },
{ Id: 51, Code: '051', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
-];
+]);
//涓�灞傝緭閫佺嚎鏁版嵁
const cellsDataOne = [
@@ -1600,56 +1657,56 @@
{ Id: 202, Code: '', IsShow: 0, IsUse: 2 },
{ Id: 203, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 204, Code: '', IsShow: 0, IsUse: 2 },
- { Id:205 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:206 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:207 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:208 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:209 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:210 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:211 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:212 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:213 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:214 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:215 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:216 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:217 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:218 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:219 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:220 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:221 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:222 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:223 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:224 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:225 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:226 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:227 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:228 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:229 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:230 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:231 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:232 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:233 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:234 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:235 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:236 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:237 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:238 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:239 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:240 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:241 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:242 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:243 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:244 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:245 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:246 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:247 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:248 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:249 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:250 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:251 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:252 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:253 , Code: '', IsShow: 0, IsUse: 3 },
- { Id:254 , Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 205, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 206, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 207, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 208, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 209, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 210, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 211, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 212, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 213, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 214, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 215, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 216, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 217, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 218, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 219, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 220, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 221, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 222, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 223, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 224, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 225, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 226, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 227, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 228, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 229, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 230, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 231, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 232, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 233, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 234, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 235, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 236, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 237, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 238, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 239, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 240, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 241, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 242, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 243, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 244, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 245, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 246, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 247, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 248, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 249, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 250, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 251, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 252, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 253, Code: '', IsShow: 0, IsUse: 3 },
+ { Id: 254, Code: '', IsShow: 0, IsUse: 3 },
{ Id: 255, Code: '', IsShow: 0, IsUse: 3 },
{ Id: 256, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 257, Code: '', IsShow: 1, IsUse: 0 },
@@ -1910,31 +1967,28 @@
//杈撻�佺嚎鏁版嵁
-let cellsData = ref(cellsDataOne);;
+let cellsData = ref(cellsDataOne);
-const isPlain1 = ref(false);//涓�灞�
-const isPlain2 = ref(true);//浜屽眰
-const isPlain3 = ref(true);//涓夊眰
+
+// 灞傚钩闈㈢姸鎬�
+const floorStates = ref({
+ isPlain1: false,
+ isPlain2: true,
+ isPlain3: true
+});
+
//鍒囨崲灞傚钩闈�
function floorTogglePlain(buttonNumber) {
- if (buttonNumber === 1) {
- isPlain1.value = !isPlain1.value;
- isPlain2.value = true;
- isPlain3.value = true;
+ const floorData = [cellsDataOne, cellsDataTwo, cellsDataThree];
- cellsData.value = cellsDataOne;
- } else if (buttonNumber === 2) {
- isPlain2.value = !isPlain2.value;
- isPlain1.value = true;
- isPlain3.value = true;
-
- cellsData.value = cellsDataTwo;
- } else if (buttonNumber === 3) {
- isPlain3.value = !isPlain3.value;
- isPlain1.value = true;
- isPlain2.value = true;
-
- cellsData.value = cellsDataThree;
+ if (buttonNumber >= 1 && buttonNumber <= 3) {
+ const index = buttonNumber - 1;
+ floorStates.value = {
+ isPlain1: index !== 0,
+ isPlain2: index !== 1,
+ isPlain3: index !== 2
+ };
+ cellsData.value = floorData[index];
}
}
</script>
@@ -2077,10 +2131,12 @@
.active2>div {
display: none;
}
+
.active3 {
background-color: #fff;
- border:1px solid red;
+ border: 1px solid red;
}
+
.active3>div {
display: none;
}
--
Gitblit v1.8.0