From 8b0d749cfbec8bf0afe71a8956bfeeed6f27cdfc Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期四, 16 一月 2025 15:32:30 +0800
Subject: [PATCH] Merge branch 'csc'
---
Web/src/views/device/deviceInfo/index.vue | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 292 insertions(+), 2 deletions(-)
diff --git a/Web/src/views/device/deviceInfo/index.vue b/Web/src/views/device/deviceInfo/index.vue
index 7b827eb..3dd560a 100644
--- a/Web/src/views/device/deviceInfo/index.vue
+++ b/Web/src/views/device/deviceInfo/index.vue
@@ -1,5 +1,5 @@
<template>
- <div class="sys-user-container" style="overflow: hidden;">
+ <div class="sys-user-container">
<el-row>
<el-col :span="3">
<el-collapse v-model="activeName">
@@ -23,6 +23,14 @@
<el-card class="box-card" shadow="hover" style="margin-top: 3px;">
<el-switch v-model="state.boDrumReversal" active-text="" inactive-text="婊氬姩鍙嶈浆"
@change="handleSwitchChange('boDrumReversal', $event)"></el-switch>
+ </el-card>
+ <el-card class="box-card" shadow="hover" style="margin-top: 3px;">
+ <el-switch v-model="state.boOutLock" active-text="" inactive-text="鍑哄簱閿佸畾"
+ @change="handleSwitchChange('boOutLock', $event)"></el-switch>
+ </el-card>
+ <el-card class="box-card" shadow="hover" style="margin-top: 3px;">
+ <el-switch v-model="state.boEnterLock" active-text="" inactive-text="鍏ュ簱閿佸畾"
+ @change="handleSwitchChange('boEnterLock', $event)"></el-switch>
</el-card>
</el-collapse-item>
@@ -52,7 +60,7 @@
<el-button type="primary" :plain="floorStates.isPlain3"
@click="floorTogglePlain(3)">涓夊眰骞抽潰</el-button>
</div>
- <div style="margin: 40px; height: 50%;">
+ <div style="margin: 40px; height: 58%;">
<div class="grid-container-line">
<div v-for="cell in cellsDataLine" :key="cell.Id">
<div v-if="cell.IsShow === 0" class="grid-item-line">
@@ -75,6 +83,124 @@
</div>
</div>
</div>
+ <div style="margin: 10px 40px;height: 30%; width: 100%; ">
+ <el-row>
+ <el-col :span="9">
+ <div >
+ <el-form label-position="right" label-width="40px" style="">
+ <el-form-item label="宸ヤ綅">
+ <el-input id="locaText" :disabled="lockInputStatus" v-model="stationValue.locatNo" style="width: 200px; margin-right: 10px;"></el-input>
+ <el-button @click="textLock(stationValue)">{{lockText}}</el-button>
+ <el-button @click="write('zidong',stationValue)">鑷姩</el-button>
+ <el-button @click="write('shoudong',stationValue)">鎵嬪姩</el-button>
+ <el-button @mousedown="writeDown('huifu',stationValue)" @mouseup="writeUp('huifu',stationValue)">鎶ヨ鎭㈠</el-button>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('1diandong',stationValue)" @mouseup="writeUp('1diandong',stationValue)">1鐐瑰姩</el-button>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('2diandong',stationValue)" @mouseup="writeUp('2diandong',stationValue)">2鐐瑰姩</el-button>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('3diandong',stationValue)" @mouseup="writeUp('3diandong',stationValue)">3鐐瑰姩</el-button>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('4diandong',stationValue)" @mouseup="writeUp('4diandong',stationValue)">4鐐瑰姩</el-button>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('1liandong',stationValue)" @mouseup="writeUp('1liandong',stationValue)">1鑱斿姩</el-button>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('2liandong',stationValue)" @mouseup="writeUp('2liandong',stationValue)">2鑱斿姩</el-button>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('3liandong',stationValue)" @mouseup="writeUp('3liandong',stationValue)">3鑱斿姩</el-button>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('4liandong',stationValue)" @mouseup="writeUp('4liandong',stationValue)">4鑱斿姩</el-button>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('yizaisheng',stationValue)" @mouseup="writeUp('yizaisheng',stationValue)">绉绘牻涓婂崌</el-button>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('fanzhuansheng',stationValue)" @mouseup="writeUp('fanzhuansheng',stationValue)">缈昏浆鏈轰笂鍗�</el-button>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('yizaijiang',stationValue)" @mouseup="writeUp('yizaijiang',stationValue)">绉绘牻涓嬮檷</el-button>
+ <el-button size="large" :disabled="lockStatus" @mousedown="writeDown('fanzhuanjiang',stationValue)" @mouseup="writeUp('fanzhuanjiang',stationValue)">缈昏浆鏈轰笅闄�</el-button>
+ </el-form-item>
+
+ </el-form>
+ </div>
+ </el-col>
+ <el-col :span="15">
+ <div >
+ <el-form label-position="right" label-width="60px" style="" :inline="true">
+ <el-row :gutter="23">
+ <el-col :span="8">
+ <el-form-item >
+ <el-button @click="write('UpTask',stationValue)">鏇存敼浠诲姟</el-button>
+ <el-button @click="writeTaskInfo('writeTask',stationValue)">浠诲姟鍐欏叆</el-button>
+ <el-button @click="writeTaskInfo('writeTaskDelete',stationValue)">浠诲姟娓呯┖</el-button>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="浠诲姟鍙�" >
+ <el-input v-model="stationValue.taskNo" style="width: 200px; "></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鎵樼洏鍙�">
+ <el-input v-model="stationValue.palletNo" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="璧峰宸ヤ綅">
+ <el-input v-model="stationValue.startLoction" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鐩爣宸ヤ綅">
+ <el-input v-model="stationValue.endLoction" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="璧峰鎺�">
+ <el-input v-model="stationValue.startPai" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="璧峰鍒�">
+ <el-input v-model="stationValue.startLie" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="璧峰灞�">
+ <el-input v-model="stationValue.startCeng" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鐩爣鎺�">
+ <el-input v-model="stationValue.endPai" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鐩爣鍒�">
+ <el-input v-model="stationValue.endLie" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鐩爣灞�">
+ <el-input v-model="stationValue.endCeng" style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+
+ <el-col :span="6">
+ <el-form-item label="缂犺啘淇″彿">
+ <el-input v-model="stationValue.chanMo" disabled style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鎷嗚啘淇″彿">
+ <el-input v-model="stationValue.chaiMo" disabled style="width: 200px; margin-right: 10px;"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
</el-col>
</el-row>
</div>
@@ -83,13 +209,46 @@
<script lang="ts" setup>
import { ref, reactive, onMounted } from 'vue';
import { listStatus, listPosition } from '/@/api/wcs/wcsPlc';
+import { GetLocationInfo,WriteLocationInfo,WriteInfo,WriteTaskInfo } from '/@/api/wcs/wcsDevice';
import { signalR } from './signalR';
import { cellsDataLine, cellsDataOne, cellsDataTwo, cellsDataThree } from './data';
import { ElMessage } from "element-plus";
+// export default{
+
+// }
const state = ref<any>({});
const stackers = ref<any>({});
const conveyors = ref<any>({});
+
+
+const lockText = ref("閿佸畾");
+const lockStatus = ref(true);
+const lockInputStatus = ref(false);
+
+const stationValue = ref<any>({
+ locatNo: '',//宸ヤ綅
+ layer:'',//妤煎眰
+ typeName:'',//鎿嶄綔绫诲瀷鍚嶇О
+ funcName:'',//浜嬩欢缁撴灉 true/false
+
+ taskNo:'',
+ palletNo:'',
+ startLoction:'',
+ endLoction:'',
+ startPai:'',
+ startLie:'',
+ startCeng:'',
+ endPai:'',
+ endLie:'',
+ endCeng:'',
+
+ chanMo:'',
+ chaiMo:'',
+
+});
+
+
// 鏌ヨ鐘舵��
const handleQuery = async () => {
var res = await listStatus();
@@ -240,9 +399,140 @@
cellsData = floorData[index];
}
}
+
+
+const textLock = async (row: any) => {
+ if(lockText.value == "閿佸畾"){
+ lockStatus.value=false;
+ lockInputStatus.value=true;
+ lockText.value ="瑙i攣";
+ if (floorStates.value.isPlain1 == false) {
+ row.layer = 1;
+ }else if(floorStates.value.isPlain2 == false){
+ row.layer = 2;
+ }
+ else if(floorStates.value.isPlain3 == false){
+ row.layer = 3;
+ }
+ row.typeName = "suoding";
+
+ console.log(row);
+ var res = await WriteLocationInfo(row);
+ var res2 = await GetLocationInfo(row);
+ let rowData = JSON.parse(JSON.stringify(res2.data.result));
+ stationValue.value = res2.data.result;
+// stationValue.value = {
+// locatNo: '',//宸ヤ綅
+// layer:'',//妤煎眰
+// typeName:'',//鎿嶄綔绫诲瀷鍚嶇О
+// funcName:null,//浜嬩欢缁撴灉 true/false
+
+// taskNo:'',
+// palletNo:'',
+// startLoction:'',
+// endLoction:'',
+// startPai:'',
+// startLie:'',
+// startCeng:'',
+// endPai:'',
+// endLie:'',
+// endCeng:'',
+// }
+
+
+ console.log(res2.data.result);
+ console.log(rowData);
+
+ }else{
+ lockStatus.value=true;
+ lockInputStatus.value=false;
+ lockText.value ="閿佸畾";
+ }
+
+}
+
+const write = async (type: string,row: any) => {
+ if (lockStatus.value == false) {
+ ElMessage.success("璇峰厛閿佸畾");
+ return;
+ }
+ if (floorStates.value.isPlain1 == false) {
+ row.layer = 1;
+ }else if(floorStates.value.isPlain2 == false){
+ row.layer = 2;
+ }
+ else if(floorStates.value.isPlain3 == false){
+ row.layer = 3;
+ }
+ row.typeName = type;
+
+ console.log(row);
+ var res = await WriteInfo(row);
+ console.log(res.data.result);
+ ElMessage.success(res.data.result);
+}
+
+const writeDown = async (type: string,row: any) => {
+ if (lockStatus.value == false) {
+ ElMessage.success("璇峰厛閿佸畾");
+ return;
+ }
+ if (floorStates.value.isPlain1 == false) {
+ row.layer = 1;
+ }else if(floorStates.value.isPlain2 == false){
+ row.layer = 2;
+ }
+ else if(floorStates.value.isPlain3 == false){
+ row.layer = 3;
+ }
+ row.typeName = type;
+ row.funcName = "true";
+ var res = await WriteInfo(row);
+ console.log(type+"鎸変笅浜嬩欢");
+
+ // ElMessage.success(res.data.result);
+}
+const writeUp = async (type: string,row: any) => {
+ if (lockStatus.value == false) {
+ ElMessage.success("璇峰厛閿佸畾");
+ return;
+ }
+ if (floorStates.value.isPlain1 == false) {
+ row.layer = 1;
+ }else if(floorStates.value.isPlain2 == false){
+ row.layer = 2;
+ }
+ else if(floorStates.value.isPlain3 == false){
+ row.layer = 3;
+ }
+ row.typeName = type;
+ row.funcName = "false";
+ var res = await WriteInfo(row);
+ console.log(type+"鎶捣浜嬩欢");
+
+ // ElMessage.success('asdf'+ res.data.result);
+}
+
+const writeTaskInfo = async (type: string,row: any) => {
+ if (floorStates.value.isPlain1 == false) {
+ row.layer = 1;
+ }else if(floorStates.value.isPlain2 == false){
+ row.layer = 2;
+ }
+ else if(floorStates.value.isPlain3 == false){
+ row.layer = 3;
+ }
+ row.typeName = type;
+ var res = await WriteTaskInfo(row);
+ console.log(type+"鎶捣浜嬩欢");
+
+ // ElMessage.success('asdf'+ res.data.result);
+}
+
</script>
<style scoped>
+
.box-card {
height: 30px;
padding: 0;
--
Gitblit v1.8.0