From 3955ce066d72de68724f22b1b3a2d10efa4ff1a1 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期六, 28 六月 2025 16:29:17 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/core/enums/RgvStatusType.java           |   30 +
 src/main/java/com/zy/core/enums/RgvModeType.java             |   16 
 src/main/java/com/zy/asrs/controller/RgvController.java      |  102 ++++++
 src/main/java/com/zy/asrs/domain/param/RingThroughParam.java |   17 +
 src/main/webapp/views/deviceOperate/wcsOperate.html          |  678 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 822 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 0e3be20..13e0f36 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -4,6 +4,7 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.zy.asrs.domain.param.RingThroughParam;
 import com.zy.asrs.entity.BasDevpPosition;
 import com.zy.asrs.service.BasDevpPositionService;
 import com.zy.core.cache.RgvErrCache;
@@ -340,4 +341,105 @@
 
         return R.ok("浠诲姟鐢熸垚鎴愬姛");
     }
+
+
+
+    @PostMapping("/ring/through/rgv/position/data")
+//    @ManagerAuth(memo = "灏忚溅浣嶇疆淇℃伅")
+    public R ringThroughRgv(){
+        List<RingThroughParam> result = new ArrayList<>();
+
+        ConcurrentHashMap<Integer, RgvProtocol> allRgvStatus = RgvStatusCache.getAllRgvStatus();
+        for (RgvProtocol rgvProtocol : allRgvStatus.values()){
+            RingThroughParam ringThroughParam = new RingThroughParam();
+
+            ringThroughParam.setIndex(rgvProtocol.getRgvNo());
+//            ringThroughParam.setIndex(i);
+//            double[] doubles = Utils.RingThroughXY2(perimeter, NumUtils.GetRandomIntInRange(183));
+//            double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue());
+//            double[] doubles = Utils.getRgvPosNew(perimeter, rgvProtocol.RgvPos.doubleValue());
+//            double[] doubles = Utils.RingThroughXY2(183.0, 100*i );
+
+            ringThroughParam.setValueX(rgvProtocol.getRgvNo()*100*1D);
+            ringThroughParam.setValueY(rgvProtocol.getRgvNo()*100*2D);
+            ringThroughParam.setModeColor(rgvProtocol.modeType.color);
+            ringThroughParam.setStatusColor(rgvProtocol.statusType.color);
+            result.add(ringThroughParam);
+        }
+        return R.ok().add(result);
+    }
+
+    @PostMapping("/ring/through/dev/position/data")
+//    @ManagerAuth(memo = "绔欑偣淇℃伅")
+    //  绔欑偣浣嶇疆淇℃伅
+    public R ringThroughDev(){
+        List<RingThroughParam> result = new ArrayList<>();
+        ArrayList<Integer> arrayList = new ArrayList<Integer>() {{
+            add(1001);
+            add(1002);
+            add(1003);
+            add(1004);
+            add(1005);
+            add(1006);
+            add(1007);
+            add(1008);
+            add(1009);
+            add(1010);
+            add(1011);
+            add(1012);
+            add(1013);
+            add(1014);
+            add(1015);
+            add(1016);
+            add(1017);
+            add(1018);
+            add(1019);
+            add(1020);
+            add(1021);
+            add(1022);
+            add(1023);
+        }};
+        for (Integer staNo : arrayList){
+            RingThroughParam ringThroughParam = new RingThroughParam();
+            ringThroughParam.setIndex(staNo);
+//            double[] doubles = Utils.RingThroughXYSta(perimeter, perimeter-basDevpPosition.getPlcPosition());
+//            ringThroughParam.setValueX(doubles[0]>50? doubles[0]+6:doubles[0]-1);
+//            ringThroughParam.setValueY(doubles[1]>50? doubles[1]+6:doubles[1]-1);
+//            double[] doubles = Utils.getRgvPosNew(basDevpPosition.getDevNo(),perimeter, basDevpPosition.getPlcPosition());
+            ringThroughParam.setValueX(staNo*100*1D);
+            ringThroughParam.setValueY(staNo*100*2D);
+            result.add(ringThroughParam);
+        }
+        return R.ok().add(result);
+    }
+
+    @PostMapping("/ring/through/track/position/data")
+//    @ManagerAuth(memo = "杞ㄩ亾PLC鐘舵�佷俊鎭�")
+    public R wnergyGatheringRingParamTrack(){
+        return R.ok();
+    }
+
+    @PostMapping("/ring/through/task/wrk/mast/position/data")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R ringThroughTaskWrkMast(){
+        return R.ok();
+    }
+
+    @PostMapping("/ring/through/task/wrk/mast/position/data/v1")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R ringThroughTaskWrkMastV1(){
+        return R.ok();
+    }
+
+    @PostMapping("/task/rgv/circular/shuttle/mast/position/data")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R rgvCircularShuttle(){
+        return R.ok();
+    }
+
+    @PostMapping("/task/rgv/circular/shuttle/mast/position/data/v1")
+//    @ManagerAuth(memo = "浣滀笟淇℃伅")
+    public R rgvCircularShuttleV1(){
+        return R.ok();
+    }
 }
diff --git a/src/main/java/com/zy/asrs/domain/param/RingThroughParam.java b/src/main/java/com/zy/asrs/domain/param/RingThroughParam.java
new file mode 100644
index 0000000..f920c86
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/RingThroughParam.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+@Data
+public class RingThroughParam {
+    // RGV鍙�
+    private Integer index;
+
+    private Double valueX;
+
+    private Double valueY;
+
+    private String modeColor;
+
+    private String statusColor;
+}
diff --git a/src/main/java/com/zy/core/enums/RgvModeType.java b/src/main/java/com/zy/core/enums/RgvModeType.java
index 6efa3db..7682be5 100644
--- a/src/main/java/com/zy/core/enums/RgvModeType.java
+++ b/src/main/java/com/zy/core/enums/RgvModeType.java
@@ -2,19 +2,21 @@
 
 public enum RgvModeType {
 
-    NONE(-1, "绂荤嚎"),
-    STOP(2, "缁翠慨"),
-    HAND(0, "鎵嬪姩"),
-    HALF_AUTO(3, "鍗婅嚜鍔�"),
-    AUTO(1, "鑷姩"),
-    OTHER(100, "鍏跺畠"),
+    NONE(-1, "绂荤嚎","ffffff"),
+    STOP(2, "缁翠慨","ffffff"),
+    HAND(0, "鎵嬪姩","ffffff"),
+    HALF_AUTO(3, "鍗婅嚜鍔�","ffffff"),
+    AUTO(1, "鑷姩","ffffff"),
+    OTHER(100, "鍏跺畠","ffffff"),
     ;
 
     public Integer id;
     public String desc;
-    RgvModeType(Integer id, String desc) {
+    public String color;
+    RgvModeType(Integer id, String desc, String color) {
         this.id = id;
         this.desc = desc;
+        this.color = color;
     }
 
     public static RgvModeType get(Short id) {
diff --git a/src/main/java/com/zy/core/enums/RgvStatusType.java b/src/main/java/com/zy/core/enums/RgvStatusType.java
index 57f43fa..a3eb919 100644
--- a/src/main/java/com/zy/core/enums/RgvStatusType.java
+++ b/src/main/java/com/zy/core/enums/RgvStatusType.java
@@ -2,26 +2,28 @@
 
 public enum RgvStatusType {
 
-    NONE(-1, "绂荤嚎"),
-    NONE0(0, "绂荤嚎"),
-    IDLE(1, "绌洪棽"),
-    WORKING(2, "浣滀笟涓�"),// 1锛氳璧�  2锛氬彇  3锛氭斁
-    SOS(3, "鎶ヨ"),
-    FETCHING(11, "鍙栬揣涓�"),
-    PUTTING(12, "鏀捐揣涓�"),
-    WAITING(90, "浠诲姟瀹屾垚绛夊緟WCS纭"),
-    FETCHWAITING(91, "鍙栬揣浠诲姟瀹屾垚绛夊緟WCS纭"),
-    SOS99(99, "鎶ヨ99"),
-    OTHER(100, "鍏跺畠100"),
-    MAN(110, "浣滀笟鍚姩涓�"),
-    ROAM(100000, "婕父")
+    NONE(-1, "绂荤嚎","ffffff"),
+    NONE0(0, "绂荤嚎","ffffff"),
+    IDLE(1, "绌洪棽","ffffff"),
+    WORKING(2, "浣滀笟涓�","ffffff"),// 1锛氳璧�  2锛氬彇  3锛氭斁
+    SOS(3, "鎶ヨ","ffffff"),
+    FETCHING(11, "鍙栬揣涓�","ffffff"),
+    PUTTING(12, "鏀捐揣涓�","ffffff"),
+    WAITING(90, "浠诲姟瀹屾垚绛夊緟WCS纭","ffffff"),
+    FETCHWAITING(91, "鍙栬揣浠诲姟瀹屾垚绛夊緟WCS纭","ffffff"),
+    SOS99(99, "鎶ヨ99","ffffff"),
+    OTHER(100, "鍏跺畠100","ffffff"),
+    MAN(110, "浣滀笟鍚姩涓�","ffffff"),
+    ROAM(100000, "婕父","ffffff")
     ;
 
     public Integer id;
     public String desc;
-    RgvStatusType(Integer id, String desc) {
+    public String color;
+    RgvStatusType(Integer id, String desc, String color) {
         this.id = id;
         this.desc = desc;
+        this.color = color;
     }
 
     public static RgvStatusType get(Short id) {
diff --git a/src/main/webapp/views/deviceOperate/wcsOperate.html b/src/main/webapp/views/deviceOperate/wcsOperate.html
new file mode 100644
index 0000000..b5ee71f
--- /dev/null
+++ b/src/main/webapp/views/deviceOperate/wcsOperate.html
@@ -0,0 +1,678 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>鐜舰绌挎杞︽櫤鑳界郴缁�</title>
+	<link rel="stylesheet" href="../../static/wcs/css/element.css">
+	<script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script>
+	<script type="text/javascript" src="../../static/wcs/js/common.js"></script>
+	<script type="text/javascript" src="../../static/wcs/js/vue.min.js"></script>
+	<script type="text/javascript" src="../../static/wcs/js/element.js"></script>
+	<style>
+		body {
+			font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+			margin: 0;
+			padding: 0;
+			background-color: #a0d2eb;
+			color: #ffffff;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100vh;
+		}
+		header {
+			background-color: #2196F3;
+			color: white;
+			padding: 15px 20px;
+			text-align: center;
+			font-size: 24px;
+			letter-spacing: 1px;
+			box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
+		}
+		.map {
+			position: relative;
+			width: 52vw;
+			height: 80vh;
+			border-radius: 50%;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+		.inner-ring, .outer-ring {
+			position: absolute;
+			border-radius: 50%;
+		}
+		.inner-ring {
+			width: 72vh;
+			height: 72vh;
+			border: 4px solid #00E676;
+			box-shadow: inset 0 0 30px rgba(0, 230, 118, 0.5), 0 0 20px rgba(0, 230, 118, 0.5);
+		}
+		.outer-ring {
+			width: 80vh;
+			height: 80vh;
+			border: 4px solid #00E676;
+			box-shadow: inset 0 0 30px rgba(0, 230, 118, 0.5), 0 0 20px rgba(0, 230, 118, 0.5);
+		}
+		.station {
+			position: absolute;
+			width: 20px;
+			height: 14px;
+			text-align: center;
+			line-height: 1.5; /* 璋冩暣琛岄珮涓庡瓧浣撳ぇ灏忕殑姣斿�� */
+			font-size: 10px; /* 璁剧疆鏇村皬鐨勫瓧浣� */
+			font-weight: bold;
+			transition: transform 0.3s ease;
+			background-color: #ab1839;
+			transform: scale(1); /* 鍙�夛細濡傛灉涓嶉渶瑕佹斁澶ф晥鏋� */
+		}
+		.bus {
+			font-size: 10px;
+			background-color: #2196F3;
+			border: 10px solid #ffffff;
+			position: absolute;
+			width: 15px;
+			height: 15px;
+			border-radius: 50%;
+			text-align: center;
+			line-height: 15px;
+			font-weight: bold;
+			transition: transform 0.3s ease;
+		}
+		.station:hover, .bus:hover {
+			transform: scale(1.4);
+			z-index: 999;
+		}
+
+		.task-bar-left {
+			position: fixed;
+			top: 1%;
+			/*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-left1 {
+			position: fixed;
+			top: 8%;
+			/*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-right {
+			position: fixed;
+			top: 1%;
+			/*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-right1 {
+			position: fixed;
+			top: 5%;
+			/*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; /* 璺濈宸﹁竟鐨勮窛绂� */
+			/*bottom: 100px;*/
+		}
+
+		.right-task-bar {
+			/*bottom: 100px;*/
+			right: 20px; /* 璺濈鍙宠竟鐨勮窛绂� */
+		}
+
+		.el-table .warning-row {
+			background: oldlace;
+		}
+
+		.el-table .success-row {
+			background: #f0f9eb;
+		}
+		.container {
+			width: 100vh;
+			height: 72vh;
+			position: absolute;
+			/*background: #8c939d;*/
+		}
+		.bus-station {
+			width: 100vh;
+			height: 72vh;
+			position: absolute;
+			display: flex;
+			/*background: #8c939d;*/
+		}
+		.bus-item-top {
+			background: red;
+			position: relative;
+			width: 40px;
+			height: 60px;
+			line-height: 60px;
+			top: 880px;
+			text-align: center;
+		}
+		.bus-item-left {
+			background: red;
+			position: relative;
+			width: 60px;
+			height: 40px;
+			line-height: 40px;
+			left: 1230px;
+			text-align: center;
+		}
+		.bus-item-left2 {
+			background: red;
+			position: relative;
+			width: 60px;
+			height: 40px;
+			line-height: 40px;
+			left: 1000px;
+			text-align: center;
+		}
+	</style>
+</head>
+<body>
+<!--<header>-->
+<!--    鐜舰绌挎杞︽櫤鑳界郴缁�-->
+<!--</header>-->
+<div id="app">
+	<div  class="map">
+		<div v-if="licenseDayI <=30 ">
+			<div style="color: red">{{licenseDay}}</div>
+		</div>
+		<svg class="container">
+			<path d="M 1200,750
+                        L 1200,100
+                        C 1200,100 1200,50 1150,50
+                        C 1150,50 1100,50 1100,100
+                        L 1100,700
+                        C 1100,700 1100,750 1050,750
+                        L 60,750
+                        C 60,750 10,750 10,800
+                        C 10,800 10,850 60,850
+                        L 1100,850
+                        C 1100,850 1200,850 1200,750
+"
+				  style="fill:none; stroke:blue; stroke-width:4;" />
+		</svg>
+		<div v-for="station in tableDataDev" class="station" :style="{ top: station.valueY + 'px', left: station.valueX + 'px' }">{{ station.index }}</div>
+		<div>
+			<el-switch
+					style="display: block"
+					v-model="valueSystem"
+					active-color="#13ce66"
+					inactive-color="#A64036"
+					active-text="绯荤粺杩愯涓�..."
+					inactive-text="绯荤粺宸插仠姝�!"
+					@change='upDateValueSystem'>
+			</el-switch>
+		</div>
+		<div v-for="bus in tableDataRgv" class="bus" :style="{ top: bus.valueY + 'px', left: bus.valueX + 'px' , borderColor: bus.modeColor, backgroundColor: bus.statusColor}">{{ bus.index }}</div>
+	</div>
+</div>
+
+<script>
+	var app = new Vue({
+		el: '#app',
+		data: {
+			activeNames: ['1'],
+			valueLeft: '0',
+			valueLeft1: '0',
+			valueRight: '0',
+			valueRight1: '0',
+			licenseDay: '宸茶繃鏈�',
+			licenseDayI: 100,
+			valueSystem: false,
+			tableDataRgv: [],
+			tableDataDev: [],
+			energyGatheringRing: [],
+			tableDataLeft: [],
+			tableDataLeft1: [],
+			tableDataRight: [],
+			tableDataRight1: [],
+			devpPos1:[
+				{dev_no: 116,pos:633980},
+				{dev_no: 117,pos:604043},
+				{dev_no: 118,pos:574323},
+				{dev_no: 119,pos:559534},
+				{dev_no: 120,pos:544682},
+				{dev_no: 121,pos:514912},
+				{dev_no: 122,pos:485227},
+				{dev_no: 123,pos:470367},
+				{dev_no: 124,pos:455514},
+				{dev_no: 125,pos:425768},
+				{dev_no: 126,pos:396268},
+				{dev_no: 127,pos:381106},
+				{dev_no: 128,pos:366311},
+				{dev_no: 129,pos:336638},
+				{dev_no: 130,pos:306820},
+				{dev_no: 131,pos:277067},
+				{dev_no: 132,pos:257418},
+				{dev_no: 133,pos:217730},
+			],
+			devpPos2:[
+				{dev_no: 112,pos:891000},
+				{dev_no: 113,pos:865000},
+				{dev_no: 114,pos:800000},
+				{dev_no: 115,pos:780000},
+			],
+			devpPos3:[
+				{dev_no: 101,pos:1269958},
+				{dev_no: 102,pos:1243454},
+				{dev_no: 103,pos:1229081},
+				{dev_no: 104,pos:1202099},
+				{dev_no: 105,pos:1187564},
+				{dev_no: 106,pos:1160630},
+				{dev_no: 107,pos:1146152},
+				{dev_no: 108,pos:1119463},
+				{dev_no: 109,pos:1105038},
+				{dev_no: 110,pos:1077961},
+				{dev_no: 111,pos:1063813},
+			],
+		},
+		created(){
+			this.init();
+			this.devpPos1.reverse()
+			this.devpPos3.reverse()
+		},
+		watch: {
+
+		},
+		methods: {
+			init(){
+				this.getTableDataRgv()
+				this.getTableDataDev()
+				this.getTableDataTrack()
+				this.getTableDataLeft()
+				this.getTableDataLeft1()
+				this.getTableDataRight()
+				this.getTableDataRight1()
+				this.getValueSystem()
+				this.getLicenseDays()
+
+				setInterval(() => {
+					this.getTableDataRgv()
+					this.getTableDataDev()
+					this.getTableDataTrack()
+					this.getTableDataLeft()
+					this.getTableDataLeft1()
+					this.getTableDataRight()
+					this.getTableDataRight1()
+					this.getValueSystem()
+					this.getLicenseDays()
+
+				}, 1000)
+			},
+
+			verifyPassword(callback) {
+				this.$prompt('璇疯緭鍏ョ鐞嗗憳瀵嗙爜: root', '楠岃瘉', {
+					confirmButtonText: '纭畾',
+					cancelButtonText: '鍙栨秷',
+					inputType: 'password',
+					inputPattern: /^root$/,
+					inputErrorMessage: '瀵嗙爜閿欒'
+				}).then(({ value }) => {
+					if (value === 'root') {
+						callback();
+					}
+				}).catch(() => {
+					this.$message.info('宸插彇娑堟搷浣�');
+				});
+			},
+			handleChange(val) {
+				console.log(val);
+				if (val.length === 0){
+					valueRight = '0';
+				} else {
+					console.log("2222"+val);
+
+					if (val.length >= 1){
+						this.handleChangeValueRight(1)
+					}
+				}
+			},
+			handleChange1(val) {
+				console.log(val);
+				if (val.length === 0){
+					valueRight1 = '0';
+				} else {
+					console.log("2222"+val);
+
+					if (val.length >= 1){
+						this.handleChangeValueRight1(1)
+					}
+				}
+			},
+			taskDelete(row) {
+				let that = this;
+				that.$confirm('纭瑕佸垹闄よ浠诲姟鍚�?', '鎻愮ず', {
+					confirmButtonText: '纭畾',
+					cancelButtonText: '鍙栨秷',
+					type: 'warning'
+				}).then(() => {
+					$.ajax({
+						url: baseUrl + "/rgv/disable/task/delete",
+						headers: {'token': localStorage.getItem('token')},
+						method: 'POST',
+						data: {
+							wrkNo: row.wrkNo
+						},
+						success: function (res) {
+							if (res.code === 200) {
+								that.$message.success('鍒犻櫎鎴愬姛');
+								// 鍒犻櫎褰撳墠琛�
+								that.tableDataRight.splice(that.tableDataRight.indexOf(row), 1);
+							} else {
+								that.$message.error('鍒犻櫎澶辫触');
+							}
+						}
+					});
+				});
+			},
+			taskDelete1(row) {
+				let that = this;
+				that.$confirm('纭瑕佸垵濮嬪寲璇ヤ换鍔″悧?', '鎻愮ず', {
+					confirmButtonText: '纭畾',
+					cancelButtonText: '鍙栨秷',
+					type: 'warning'
+				}).then(() => {
+					$.ajax({
+						url: baseUrl + "/rgv/disable/task/delete1",
+						headers: {'token': localStorage.getItem('token')},
+						method: 'POST',
+						data: {
+							wrkNo: row.wrkNo
+						},
+						success: function (res) {
+							if (res.code === 200) {
+								that.$message.success('鍒濆鍖栨垚鍔�');
+								// 鍒犻櫎褰撳墠琛�
+								// that.tableDataRight.splice(that.tableDataRight.indexOf(row), 1);
+							} else {
+								that.$message.error('鍒濆鍖栧け璐�');
+							}
+						}
+					});
+				});
+			},
+			toggleStatus(index, row) {
+				let that = this;
+				const currentStatus = row.status;
+				const targetStatus = currentStatus === 0 ? 1 : 0;
+
+				that.$confirm(`纭瑕�${currentStatus === 0 ? '绂佺敤' : '鍚敤'}璇ヨ澶囧悧?`, '鎻愮ず', {
+					confirmButtonText: '纭畾',
+					cancelButtonText: '鍙栨秷',
+					type: 'warning'
+				}).then(() => {
+					$.ajax({
+						url: baseUrl + "/rgv/disable/rgv/status",
+						headers: {'token': localStorage.getItem('token')},
+						method: 'POST',
+						data: {
+							rgvNo: row.rgvNo,
+							status: targetStatus
+						},
+						success: function (res) {
+							if (res.code === 200) {
+								that.$message.success(`鐘舵�佹洿鏂版垚鍔焋);
+								row.status$ = targetStatus; // 鏇存柊鍓嶇鐘舵��
+							} else {
+								that.$message.error('鐘舵�佹洿鏂板け璐�');
+							}
+						}
+					});
+				});
+			},
+			handleChangeValueRight(val) {
+				console.log("33333"+val);
+
+				switch (val){
+					case 1:
+						valueRight = '100';
+					case 2:
+						valueRight = '100';
+					case 3:
+						valueRight = '100';
+					case 4:
+						valueRight = '100';
+					default:
+						valueRight = '0';
+				}
+			},
+			handleChangeValueRight1(val) {
+				console.log("33333"+val);
+
+				switch (val){
+					case 1:
+						valueRight1 = '100';
+					case 2:
+						valueRight1 = '100';
+					case 3:
+						valueRight1 = '100';
+					case 4:
+						valueRight1 = '100';
+					default:
+						valueRight1 = '0';
+				}
+			},
+			tableRowClassName({row, rowIndex}) {
+				if (rowIndex === 1) {
+					return 'warning-row';
+				} else if (rowIndex === 3) {
+					return 'success-row';
+				}
+				return '';
+			},
+			getLicenseDays(){
+				let that = this;
+				$.ajax({
+					url: baseUrl + "/license/getLicenseDays",
+					headers: {'token': localStorage.getItem('token')},
+					method: 'POST',
+					success: function (res) {
+						if (res.code == 200) {
+							if (res.data.day<0){
+								that.licenseDay = "宸茶繃鏈�"+res.data.day+"澶�";
+								that.licenseDayI = -1;
+							} else {
+								that.licenseDay = "璁稿彲璇佹湁鏁堟湡"+res.data.day+"澶�";
+								that.licenseDayI = res.data.day;
+							}
+						}else {
+							that.licenseDay = "宸茶繃鏈�";
+							that.licenseDayI = -1;
+						}
+					}
+				});
+				// setTimeout(function() {
+				//
+				// }, 1000);
+			},
+			getValueSystem() {
+				let that = this;
+				$.ajax({
+					url: baseUrl + "/console/system/running/status",
+					headers: {
+						'token': localStorage.getItem('token')
+					},
+					data: {},
+					dataType: 'json',
+					contentType: 'application/json;charset=UTF-8',
+					method: 'post',
+					success: function (res) {
+						that.valueSystem = res.data.status
+					}
+				});
+			},
+			upDateValueSystem(){
+				let that = this;
+				let operatorTypeI = 0;
+				if (that.valueSystem){
+					operatorTypeI = 1;
+				}
+				this.verifyPassword(() => {
+					$.ajax({
+						url: baseUrl + "/console/system/switch",
+						headers: {'token': localStorage.getItem('token')},
+						data: {operatorType : operatorTypeI},
+						method: 'POST',
+						success: function (res) {
+							if (res.code === 200) {
+								that.valueSystem = res.data.status;
+							}
+						}
+					});
+				});
+			},
+			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
+					}
+				});
+			},
+			getTableDataLeft1() {
+				let that = this;
+				$.ajax({
+					url: baseUrl + "/rgv/ring/through/task/wrk/mast/position/data/v1",
+					headers: {
+						'token': localStorage.getItem('token')
+					},
+					data: {},
+					dataType: 'json',
+					contentType: 'application/json;charset=UTF-8',
+					method: 'post',
+					success: function (res) {
+						that.tableDataLeft1 = res.data
+					}
+				});
+			},
+			getTableDataRight() {
+				let that = this;
+				$.ajax({
+					url: baseUrl + "/rgv/task/rgv/circular/shuttle/mast/position/data",
+					headers: {
+						'token': localStorage.getItem('token')
+					},
+					data: {},
+					dataType: 'json',
+					contentType: 'application/json;charset=UTF-8',
+					method: 'post',
+					success: function (res) {
+						that.tableDataRight = res.data
+					}
+				});
+			},
+			getTableDataRight1() {
+				let that = this;
+				$.ajax({
+					url: baseUrl + "/rgv/task/rgv/circular/shuttle/mast/position/data/v1",
+					headers: {
+						'token': localStorage.getItem('token')
+					},
+					data: {},
+					dataType: 'json',
+					contentType: 'application/json;charset=UTF-8',
+					method: 'post',
+					success: function (res) {
+						that.tableDataRight1 = res.data
+					}
+				});
+			},
+			getTableDataRgv() {
+				let that = this;
+				// that.tableDataRgv = busPsto
+				// return
+				$.ajax({
+					url: baseUrl + "/rgv/ring/through/rgv/position/data",
+					headers: {
+						'token': localStorage.getItem('token')
+					},
+					data: {},
+					dataType: 'json',
+					contentType: 'application/json;charset=UTF-8',
+					method: 'post',
+					success: function (res) {
+						that.tableDataRgv = res.data
+					}
+				});
+			},
+			getTableDataDev() {
+				let that = this;
+				$.ajax({
+					url: baseUrl + "/rgv/ring/through/dev/position/data",
+					headers: {
+						'token': localStorage.getItem('token')
+					},
+					data: {},
+					dataType: 'json',
+					contentType: 'application/json;charset=UTF-8',
+					method: 'post',
+					success: function (res) {
+						that.tableDataDev = res.data
+					}
+				});
+			},
+			getTableDataTrack() {
+				let that = this;
+				$.ajax({
+					url: baseUrl + "/rgv/ring/through/track/position/data",
+					headers: {
+						'token': localStorage.getItem('token')
+					},
+					data: {},
+					dataType: 'json',
+					contentType: 'application/json;charset=UTF-8',
+					method: 'post',
+					success: function (res) {
+						that.energyGatheringRing = res.data
+					}
+				});
+			}
+		}
+	})
+
+</script>
+</body>
+
+</html>

--
Gitblit v1.9.1