From 632c1351c9f0ba96d1f43e46aed2bcbd4a50e7d6 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 21 十月 2024 14:13:36 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/controller/RgvController.java | 29 +++++++
src/main/webapp/views/index.html | 145 +++++++++++++++++++++++++++++++++--
src/main/java/com/zy/asrs/domain/param/RgvWrkMastParam.java | 46 +++++++++++
3 files changed, 210 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 7376efc..033d277 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -2,11 +2,13 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.RgvStatusType;
import com.zy.asrs.domain.param.EnergyGatheringRingParam;
import com.zy.asrs.domain.param.RgvOperatorParam;
+import com.zy.asrs.domain.param.RgvWrkMastParam;
import com.zy.asrs.domain.param.RingThroughParam;
import com.zy.asrs.domain.vo.*;
import com.zy.asrs.entity.*;
@@ -413,4 +415,31 @@
return R.ok().add(result);
}
+ @PostMapping("/ring/through/task/wrk/mast/position/data")
+// @ManagerAuth(memo = "绔欑偣淇℃伅")
+ public R ringThroughTaskWrkMast(){
+ List<RgvWrkMastParam> result = new ArrayList<>();
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<>());
+ for (WrkMast wrkMast : wrkMasts){
+ RgvWrkMastParam rgvWrkMastParam = new RgvWrkMastParam(wrkMast);
+ if (Cools.isEmpty(rgvWrkMastParam.getRgvNo())){
+ rgvWrkMastParam.setRgvSts("鏈粦瀹�");
+ } else {
+ RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvWrkMastParam.getRgvNo());
+ if (rgvThread == null) {
+ rgvWrkMastParam.setRgvSts("鏈煡");
+ } else {
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvProtocol == null) {
+ rgvWrkMastParam.setRgvSts("鏈煡");
+ } else {
+ rgvWrkMastParam.setRgvSts(rgvProtocol.statusType.desc);
+ }
+ }
+ }
+ result.add(rgvWrkMastParam);
+ }
+ return R.ok().add(result);
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/domain/param/RgvWrkMastParam.java b/src/main/java/com/zy/asrs/domain/param/RgvWrkMastParam.java
new file mode 100644
index 0000000..b454541
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/RgvWrkMastParam.java
@@ -0,0 +1,46 @@
+package com.zy.asrs.domain.param;
+
+import com.core.common.Cools;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.utils.TimeCalculatorUtils;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Created by vincent on 2020-06-02
+ */
+@Data
+public class RgvWrkMastParam {
+
+ // RGV鍙�
+ private Integer rgvNo;
+ // 宸ヤ綔鍙�
+ private Long wrkNo;
+ // 宸ヤ綔鐘舵��
+ private Long wrkSts;
+ private String wrkSts$;
+ // 宸ヤ綅1鐩爣绔�
+ private Integer staNo;
+ // 宸ヤ綅1婧愮珯
+ private Integer sourceStaNo;
+ //涓嬪彂鏃堕棿
+ private String modiTime;
+ //鏇存柊鏃堕棿
+ private String appeTime;
+ private String rgvSts;
+
+ public RgvWrkMastParam(){};
+
+
+ public RgvWrkMastParam(WrkMast wrkMast){
+ this.wrkNo = wrkMast.getWrkNo();
+ this.rgvNo = wrkMast.getRgvNo();
+ this.sourceStaNo = wrkMast.getSourceStaNo();
+ this.staNo = wrkMast.getStaNo();
+ this.wrkSts = wrkMast.getWrkSts();
+ this.wrkSts$ = wrkMast.getWrkSts$();
+ this.modiTime = wrkMast.getModiTime$();
+ this.appeTime = wrkMast.getAppeTime$();
+ }
+}
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index 250ddb8..befcbfe 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -81,31 +81,130 @@
.station:hover, .bus:hover {
transform: scale(1.4);
}
+
+ .task-bar {
+ position: fixed;
+ top: 10%;
+ transform: translateY(-50%);
+ width: 25%; /* 璁剧疆瀹藉害 */
+ background-color: rgba(255, 255, 255, 0); /* 鍗婇�忔槑鑳屾櫙 */
+
+ border-radius: 5px;
+ padding: 10px;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0);
+ z-index: 1000; /* 纭繚鍦ㄥ叾浠栧厓绱犱箣涓� */
+ }
+
+ .task-bar-div1 {
+ width: 100%; /* 璁剧疆瀹藉害 */
+ background-color: rgba(255, 255, 255, 0.8); /* 鍗婇�忔槑鑳屾櫙 */
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
+ }
+
+ .left-task-bar {
+ left: 20px; /* 璺濈宸﹁竟鐨勮窛绂� */
+ }
+
+ .right-task-bar {
+ right: 20px; /* 璺濈鍙宠竟鐨勮窛绂� */
+ }
+
+ .el-table .warning-row {
+ background: oldlace;
+ }
+
+ .el-table .success-row {
+ background: #f0f9eb;
+ }
</style>
</head>
<body>
<!--<header>-->
<!-- 鐜舰绌挎杞︽櫤鑳界郴缁�-->
<!--</header>-->
- <div id="app" class="map">
-<!-- <div class="inner-ring"></div>-->
-<!-- <div class="outer-ring"></div>-->
- <div v-for="track in energyGatheringRing" class="inner-ring" :style="{ borderColor: track.trackColor , boxShadow : 'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>
- <div v-for="track in energyGatheringRing" class="outer-ring" :style="{ borderColor: track.trackColor , boxShadow : 'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>
+ <div id="app">
+ <div class="map">
+ <!-- <div class="inner-ring"></div>-->
+ <!-- <div class="outer-ring"></div>-->
+ <div v-for="track in energyGatheringRing" class="inner-ring" :style="{ borderColor: track.trackColor , boxShadow : 'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>
+ <div v-for="track in energyGatheringRing" class="outer-ring" :style="{ borderColor: track.trackColor , boxShadow : 'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>
- <!-- Stations on outer ring -->
- <div v-for="station in tableDataDev" class="station" :style="{ top: station.valueX + '%', left: station.valueY + '%' }">{{ station.index }}</div>
+ <!-- Stations on outer ring -->
+ <div v-for="station in tableDataDev" class="station" :style="{ top: station.valueX + '%', left: station.valueY + '%' }">{{ station.index }}</div>
- <!-- Buses -->
- <div v-for="bus in tableDataRgv" class="bus" :style="{ top: bus.valueX + '%', left: bus.valueY + '%' , borderColor: bus.modeColor, backgroundColor: bus.statusColor}">{{ bus.index }}</div>
+ <!-- Buses -->
+ <div v-for="bus in tableDataRgv" class="bus" :style="{ top: bus.valueX + '%', left: bus.valueY + '%' , borderColor: bus.modeColor, backgroundColor: bus.statusColor}">{{ bus.index }}</div>
+ </div>
+
+ <!-- Left Task Bar -->
+ <div class="task-bar left-task-bar" >
+ <div>
+ <el-tooltip :content="'Switch value: ' + value" placement="top">
+ <el-switch
+ v-model="value"
+ active-color="#13ce66"
+ inactive-color="#ff4949"
+ active-value="100"
+ inactive-value="0">
+ </el-switch>
+ </el-tooltip>
+ </div>
+ <div v-if="value === '100' ">
+ <el-table
+ :data="tableDataLeft"
+ style="width: 100%"
+ :row-class-name="tableRowClassName">
+ <el-table-column
+ prop="wrkNo"
+ label="宸ヤ綔鍙�"
+ width="80">
+ </el-table-column>
+ <el-table-column
+ prop="wrkSts$"
+ label="宸ヤ綔鐘舵��">
+ </el-table-column>
+ <el-table-column
+ prop="staNo"
+ label="鐩爣绔�">
+ </el-table-column>
+ <el-table-column
+ prop="sourceStaNo"
+ label="婧愮珯">
+ </el-table-column>
+ <el-table-column
+ prop="modiTime"
+ label="涓嬪彂鏃堕棿">
+ </el-table-column>
+ <el-table-column
+ prop="modiTime"
+ label="鏇存柊鏃堕棿">
+ </el-table-column>
+ <el-table-column
+ prop="rgvSts"
+ label="RGV鐘舵��">
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+
+ <!-- Right Task Bar -->
+ <div id = "app3" class="task-bar right-task-bar">
+ <h3>浠诲姟淇℃伅</h3>
+ <p>浠诲姟3: 鎻忚堪3</p>
+ <p>浠诲姟4: 鎻忚堪4</p>
+ <!-- 杩欓噷鍙互鍔ㄦ�佺敓鎴愪换鍔′俊鎭� -->
+ </div>
</div>
+
<script>
var app = new Vue({
el: '#app',
data: {
+ value: '100',
tableDataRgv: [],
tableDataDev: [],
- energyGatheringRing: []
+ energyGatheringRing: [],
+ tableDataLeft: []
},
created(){
this.init();
@@ -118,13 +217,39 @@
this.getTableDataRgv()
this.getTableDataDev()
this.getTableDataTrack()
+ this.getTableDataLeft()
setInterval(() => {
this.getTableDataRgv()
this.getTableDataDev()
this.getTableDataTrack()
+ this.getTableDataLeft()
}, 1000)
},
+ tableRowClassName({row, rowIndex}) {
+ if (rowIndex === 1) {
+ return 'warning-row';
+ } else if (rowIndex === 3) {
+ return 'success-row';
+ }
+ return '';
+ },
+ getTableDataLeft() {
+ let that = this;
+ $.ajax({
+ url: baseUrl + "/rgv/ring/through/task/wrk/mast/position/data",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {},
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'post',
+ success: function (res) {
+ that.tableDataLeft = res.data
+ }
+ });
+ },
getTableDataRgv() {
let that = this;
$.ajax({
--
Gitblit v1.9.1