From b9e746cd992e2770ce72ba6eff5f126a054e2767 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期四, 09 五月 2024 16:58:13 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 UI-Project/src/views/StockBasicData/stockBasicData.vue                                                                                   |  270 ++-
 UI-Project/src/views/User/rolelist.vue                                                                                                   |  461 +++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java                                |    5 
 UI-Project/src/views/Identify/identify.vue                                                                                               |   32 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                                           |   11 
 UI-Project/src/views/Caching/cachingbefore.vue                                                                                           |   21 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java                                           |    4 
 UI-Project/src/lang/locales/zh-CN.json                                                                                                   |  569 -------
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java                  |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java          |   12 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java         |   20 
 UI-Project/src/views/Caching/cachingun.vue                                                                                               |  219 ++-
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                             | 1334 +++++++++-----------
 /dev/null                                                                                                                                |   29 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java                                                           |   20 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java                                                        |   12 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java                                                      |   62 
 UI-Project/src/views/User/user.vue                                                                                                       |   49 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java                           |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java |   93 +
 UI-Project/src/views/User/permissions.vue                                                                                                |  461 +++++++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java                                                      |    4 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java                                                  |    5 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java                                                |   86 
 24 files changed, 2,139 insertions(+), 1,648 deletions(-)

diff --git a/UI-Project/src/lang/locales/zh-CN.json b/UI-Project/src/lang/locales/zh-CN.json
index cc0ef84..b06a25b 100644
--- a/UI-Project/src/lang/locales/zh-CN.json
+++ b/UI-Project/src/lang/locales/zh-CN.json
@@ -1,521 +1,72 @@
 {
-  "Clear":"娓呴櫎",
-  "ip":"192.168.10.21",
-  "username": "鐢ㄦ埛鍚�",
+  "northglassMESsystem": "鍖楃幓MES绯荤粺",
+  "username": "璐﹀彿",
   "password": "瀵嗙爜",
-  "usernamePlaceholder": "璇疯緭鍏ョ敤鎴峰悕",
+  "usernamePlaceholder": "璇疯緭鍏ヨ处鍙�",
   "passwordPlaceholder": "璇疯緭鍏ュ瘑鐮�",
   "loginButton": "鐧诲綍",
   "registerButton": "娉ㄥ唽",
-  "resetButton": "閲嶇疆",
-  "usernameRequired": "璇疯緭鍏ョ敤鎴峰悕",
-  "usernameLength": "鐢ㄦ埛鍚嶉暱搴﹀湪5-15涓瓧绗︿箣闂�",
+  "registerButton": "娉ㄥ唽鏂扮敤鎴�",
+  "username": "濮撳悕",
+  "usernameRequired": "璇疯緭鍏ュ鍚�",
   "passwordRequired": "璇疯緭鍏ュ瘑鐮�",
-  "passwordLength": "瀵嗙爜闀垮害鍦�5-15涓瓧绗︿箣闂�",
+  "passwordRequired": "纭瀵嗙爜",
+  "passwordRequired": "璇风‘璁ゅ瘑鐮�",
+  "passwordRequired": "纭娉ㄥ唽",
+  "langCancel": "鍙栨秷",
   "loginSuccess": "鐧诲綍鎴愬姛",
   "langBtnCN": "涓枃",
   "langBtnEN": "English",
-  "langHome": "棣栭〉",
-  "langUserManagement": "鐢ㄦ埛绠$悊",
-  "langUserList": "鐢ㄦ埛鍒楄〃",
-  "langUsernamePlaceholder": "璇疯緭鍏ョ敤鎴峰悕",
-  "langEmailPlaceholder": "璇疯緭鍏ラ偖绠�",
-  "langSearch": "鎼滅储",
-  "langAddUser": "娣诲姞鐢ㄦ埛",
-  "langUsername": "鐢ㄦ埛鍚�",
-  "langEmail": "閭",
-  "langCreateTime": "鍒涘缓鏃堕棿",
-  "langDisabled": "鏄惁绂佺敤",
-  "langAction": "鎿嶄綔",
-  "langEdit": "淇敼",
-  "langDelete": "鍒犻櫎",
-  "langAddUserTitle": "娣诲姞鐢ㄦ埛",
-  "langPassword": "瀵嗙爜",
+  "langHome": "娆㈣繋",
+  "langUserManagement": "浣跨敤鍖楃幓MES绯荤粺",
+  "langUserList": "閫�鍑�",
+  "langUsernamePlaceholder": "鎵撴爣鏈哄氨缁姸鎬�",
+  "langEmailPlaceholder": "鍒囧壊鏈哄氨缁姸鎬�",
+  "langSearch": "鎵嬪姩纭",
+  "langAddUser": "閫夋嫨宸ョ▼",
+  "langUsername": "寮�濮嬩笂鐗�",
+  "langEmail": "鏆傚仠",
+  "langCreateTime": "鍋滄浠诲姟",
+  "langDisabled": "宸ョ▼鍙�",
+  "langAction": "鍘熺墖瀹�",
+  "langEdit": "鍘熺墖闀�",
+  "langDelete": "鑶滅郴",
+  "langAddUserTitle": "鏁伴噺",
+  "langPassword": "鍘氬害",
   "langState": "鐘舵��",
-  "langSelect": "璇烽�夋嫨",
-  "langEditUserTitle": "淇敼鐢ㄦ埛",
-  "northglassMESsystem": "鍖楃幓MES绯荤粺",
-  "exit": "閫�鍑�",
-  "changePassword": "淇敼瀵嗙爜",
-  "Old password":"鏃у瘑鐮�",
-  "New password":"鏂板瘑鐮�",
-  "Confirm password":"鎻愪氦瀵嗙爜",
-  "resetPassword": "閲嶇疆瀵嗙爜",
-  "home": "涓婚〉",
-  "role": "瑙掕壊",
-  "langRoleManagement": "瑙掕壊绠$悊",
-  "langRoleList": "瑙掕壊鍒楄〃",
-  "langEnterRoleName": "璇疯緭鍏ヨ鑹插悕绉�",
-  "langAddRole": "娣诲姞瑙掕壊",
-  "langName": "鍚嶇О",
-  "langIsValid": "鏄惁鏈夋晥",
-  "langOperation": "鎿嶄綔",
-  "langPleaseSelect": "璇烽�夋嫨",
-  "langValid": "鏈夋晥",
-  "langInvalid": "鏃犳晥",
-  "langConfirm": "纭畾",
-  "langCancel": "鍙栨秷",
-  "langAddRoleSuccess": "娣诲姞瑙掕壊鎴愬姛",
-  "langEnterName": "璇疯緭鍏ュ悕绉�",
-  "langLengthBetween": "闀垮害鍦�",
-  "langAnd": "鍜�",
-  "langCharacters": "涓瓧绗︿箣闂�",
-  "langEnterState": "璇疯緭鍏ョ姸鎬�",
-  "langUpdateState": "鐘舵�佹洿鏂版垚鍔�",
-  "langEditRole": "缂栬緫瑙掕壊",
-  "langEditRoleSuccess": "缂栬緫瑙掕壊鎴愬姛",
-  "langDeleteRoleConfirm": "纭畾瑕佸垹闄よ瑙掕壊鍚楋紵",
-  "langPrompt": "鎻愮ず",
-  "langDeleteRoleSuccess": "鍒犻櫎瑙掕壊鎴愬姛",
-  "langCancelDelete": "宸插彇娑堝垹闄�",
-  "langRoleName": "瑙掕壊鍚嶇О",
-  "updateSuccessMessage": "鏇存柊鎴愬姛",
-  "paginationTotal": "鍏� {total} 鏉�",
-  "paginationSizes": "姣忛〉鏄剧ず",
-  "paginationPrev": "涓婁竴椤�",
-  "paginationPager": "{currentPage}/{pageCount}",
-  "paginationNext": "涓嬩竴椤�",
-  "paginationJumper": "璺宠嚦",
-  "breadcrumb": {
-    "home": "棣栭〉",
-    "permissionManagement": "鏉冮檺绠$悊",
-    "permissionList": "鏉冮檺鍒楄〃"
-  },
-  "search": {
-    "placeholder": "璇疯緭鍏ュ叧閿瓧"
-  },
-  "button": {
-    "addPermission": "娣诲姞鏉冮檺",
-    "cancel": "鍙栨秷",
-    "confirm": "纭"
-  },
-  "table": {
-    "role": "瑙掕壊",
-    "permissionDescription": "鏉冮檺鎻忚堪",
-    "permissionValue": "鏉冮檺鍊�",
-    "createTime": "鍒涘缓鏃堕棿",
-    "isActive": "鏄惁婵�娲�",
-    "operation": "鎿嶄綔"
-  },
-  "tooltip": {
-    "edit": "淇敼",
-    "delete": "鍒犻櫎"
-  },
-  "dialog": {
-    "addPermission": "娣诲姞鏉冮檺",
-    "editPermission": "缂栬緫鏉冮檺"
-  },
-  "form": {
-    "role": "瑙掕壊",
-    "select": "璇烽�夋嫨",
-    "permission": "鏉冮檺",
-    "isActive": "鏄惁婵�娲�"
-  },
-  "鎿嶄綔": "鎿嶄綔",
-  "鏈夋晥": "鏈夋晥",
-  "鏃犳晥": "鏃犳晥",
-  "璇疯緭鍏ュ悕绉�": "璇疯緭鍏ュ悕绉�",
-  "闀垮害鍦� 2 鍒� 15 涓瓧绗�": "闀垮害鍦� 2 鍒� 15 涓瓧绗�",
-  "璇疯緭鍏ョ姸鎬�": "璇疯緭鍏ョ姸鎬�",
-  "娣诲姞瑙掕壊": "娣诲姞瑙掕壊",
-  "淇敼瑙掕壊": "淇敼瑙掕壊",
-  "鍒犻櫎瑙掕壊": "鍒犻櫎瑙掕壊",
-  "姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ鑹�, 鏄惁缁х画?": "姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ヨ鑹�, 鏄惁缁х画?",
-  "鎻愮ず": "鎻愮ず",
-  "纭畾": "纭畾",
-  "鍙栨秷": "鍙栨秷",
-  "娣诲姞瑙掕壊鎴愬姛": "娣诲姞瑙掕壊鎴愬姛",
-  "鏇存柊鐘舵�佹垚鍔�": "鏇存柊鐘舵�佹垚鍔�",
-  "淇敼瑙掕壊鎴愬姛": "淇敼瑙掕壊鎴愬姛",
-  "鍒犻櫎瑙掕壊鎴愬姛": "鍒犻櫎瑙掕壊鎴愬姛",
-  "translation": {
-    "D01 VFD error": "D01 VFD 閿欒",
-    "D02 VFD error": "D02 VFD 閿欒",
-    "D03 VFD error": "D03 VFD 閿欒",
-    "D04 VFD error": "D04 VFD 閿欒",
-    "D05 VFD error": "D05 VFD 閿欒",
-    "D06 VFD error": "D06 VFD 閿欒",
-    "B01 VFD error": "B01 VFD 閿欒",
-    "B02 VFD error": "B02 VFD 閿欒",
-    "A01 VFD error": "A01 VFD 閿欒",
-    "A02 VFD error": "A02 VFD 閿欒",
-    "A01 servo turn error": "A01 servo turn 閿欒",
-    "A02 servo turn error": "A02 servo turn 閿欒",
-    "A01 servo travel error": "A01 servo travel 閿欒",
-    "A02 servo travel error": "A02 servo travel 閿欒",
-    "B01 servo travel error": "B01 servo travel 閿欒",
-    "B02 servo travel error": "B02 servo travel 閿欒",
-    "D01 DEC error": "D01 DEC 閿欒",
-    "D01 pos error": "D01 pos 閿欒",
-    "D02 DEC error": "D02 DEC 閿欒",
-    "D02 pos error": "D02 pos 閿欒",
-    "D03 DEC error": "D03 DEC 閿欒",
-    "D03 pos error": "D03 pos 閿欒",
-    "D04 DEC error": "D04 DEC 閿欒",
-    "D04 pos error": "D04 pos 閿欒",
-    "D05 DEC error": "D05 DEC 閿欒",
-    "D05 pos error": "D05 pos 閿欒",
-    "D06 DEC error": "D06 DEC 閿欒",
-    "D06 pos error": "D06 pos 閿欒",
-    "A01 DEC error": "A01 DEC 閿欒",
-    "A01 pos error": "A01 pos 閿欒",
-    "A02 DEC error": "A02 DEC 閿欒",
-    "A02 pos error": "A02 pos 閿欒",
-    "B01 IN DEC error": "B01 IN DEC 閿欒",
-    "B01 IN pos error": "B01 IN pos 閿欒",
-    "B01 OUT DEC error": "B01 OUT DEC 閿欒",
-    "B01 OUT pos error": "B01 OUT pos 閿欒",
-    "B02 IN DEC error": "B02 IN DEC 閿欒",
-    "B02 IN pos error": "B02 IN pos 閿欒",
-    "B02 OUT DEC error": "B02 OUT DEC 閿欒",
-    "B02 OUT pos error": "B02 OUT pos 閿欒"
-  },
-  "Electrical": "鐢ㄦ埛绠$悊",
-  "Parameter": "鏉冮檺绠$悊",
-  "Action": "涓婄墖鏈�",
-  "Sign": "鎺扮墖/璇嗗埆",
-  "State": "鐘舵��",
-  "Alarm": "鎶ヨ淇℃伅",
-  "Distribute": "涓嬪彂",
-  "Search": "鎼滅储",
-  "dvstate": {
-    "automatic": "鑷姩",
-    "manual": "鎵嬪姩"
-  },
-  "langUsernameLabel": "鐢ㄦ埛鍚�",
-  "langPasswordLabel": "瀵嗙爜",
-  "langPasswordPlaceholder": "璇疯緭鍏ュ瘑鐮�",
-  "langConfirmPasswordLabel": "纭瀵嗙爜",
-  "langConfirmPasswordPlaceholder": "璇风‘璁ゅ瘑鐮�",
-  "langEmailLabel": "閭",
-  "langQQLabel": "QQ",
-  "langQQPlaceholder": "璇疯緭鍏Q鍙风爜",
-  "langPhoneNumberLabel": "鎵嬫満鍙风爜",
-  "langPhoneNumberPlaceholder": "璇疯緭鍏ユ墜鏈哄彿鐮�",
-  "langUsernameRequiredMessage": "璇疯緭鍏ョ敤鎴峰悕",
-  "langUsernameLengthMessage": "鐢ㄦ埛鍚嶉暱搴﹀湪5鍒�15涓瓧绗︿箣闂�",
-  "langPasswordRequiredMessage": "璇疯緭鍏ュ瘑鐮�",
-  "langPasswordLengthMessage": "瀵嗙爜闀垮害鍦�5鍒�15涓瓧绗︿箣闂�",
-  "langEmailRequiredMessage": "璇疯緭鍏ラ偖绠�",
-  "langEmailFormatMessage": "閭鏍煎紡涓嶆纭�",
-  "langRegisterButton": "娉ㄥ唽",
-  "langResetButton": "閲嶇疆",
-  "langCancelButton": "鍙栨秷",
-  "langRegisterSuccessMessage": "娉ㄥ唽鎴愬姛",
-  "娣诲姞鐢ㄦ埛鎴愬姛": "娣诲姞鐢ㄦ埛鎴愬姛",
-  "confirmResetPassword": "纭閲嶇疆瀵嗙爜涓洪粯璁ゅ�煎悧锛�",
-  "confirm": "纭畾",
-  "cancel": "鍙栨秷",
-  "passwordResetSuccess": "瀵嗙爜宸查噸缃负榛樿鍊�",
-  "confirmDeleteCategory": "姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ュ垎绫�, 鏄惁缁х画?",
-  "prompt": "鎻愮ず",
-  "userDeleteSuccess": "鍒犻櫎鐢ㄦ埛鎴愬姛",
-  "deleteCanceled": "宸插彇娑堝垹闄�",
-  "addUserSuccess": "娣诲姞鐢ㄦ埛鎴愬姛",
-  "editUserSuccess": "淇敼鐢ㄦ埛鎴愬姛",
-  "effective": "鏈夋晥",
-  "invalid": "鏃犳晥",
-  "addSuccessMessage": "娣诲姞鎴愬姛",
-  "deleteConfirmMessage": "纭畾瑕佸垹闄よ鏉冮檺鍚楋紵",
-  "confirmButtonText": "纭畾",
-  "cancelButtonText": "鍙栨秷",
-  "deleteSuccessMessage": "鍒犻櫎鎴愬姛",
-  "deleteCancelledMessage": "宸插彇娑堝垹闄ゆ搷浣�",
-  "Enter the glass barcode": "杈撳叆鐜荤拑id",
-  "Infeed Barcodeid": "鎵嬪姩涓婄墖",
-  "Enter the order number": "杈撳叆璁㈠崟鍙�",
-  "Exit the glass by order number": "鎸夎鍗曞嚭鐗�",
-  "Please confirm the glass information": "璇风‘璁ょ幓鐠冧俊鎭�",
-  "Please confirm the Ordering Information": "璇风‘璁よ鍗曚俊鎭�",
-  "Alarm Information": "鎶ヨ淇℃伅",
-  "Cage Details": "鐞嗙墖绗艰鎯�",
-  "order": "璁㈠崟",
-  "Length": "闀�",
-  "Width": "瀹�",
-  "Operate": "鎿嶄綔",
-  "Terminate Task":"缁撴潫浠诲姟",
-  "end task": "瀹屾垚浠诲姟",
-  "Number": "鏁伴噺",
-  "Outfeed glass barcode": "鍑虹墖鐜荤拑id",
-  "Infeed glass barcode": "杩涚墖鐜荤拑id",
-  "Order No": "璁㈠崟缂栧彿",
-  "List No": "鍒楄〃缂栧彿",
-  "Box No": "绠卞瓙缂栧彿",
-  "Dim": "灏哄",
-  "id": "id",
-  "content": "鍐呭",
-  "timeon": "鎶ヨ鏃堕棿",
-  "endTime": "缁撴潫鏃堕棿",
-  "Cage No": "绗煎瓙",
-  "The Side": "鍐呭渚�",
-  "Slot No": "鏍煎瓙",
-  "Barcode": "鐜荤拑id",
-  "Delete": "鍒犻櫎",
-  "Out": "鍑虹墖",
-  "Operation successful": "鎿嶄綔鎴愬姛",
-  "Operation canceled": "鎿嶄綔鍙栨秷",
-  "There is no such order": "娌℃湁姝よ鍗曠殑鐜荤拑",
-  "There are currently tasks": "褰撳墠鏈変换鍔�",
-  "There is no such glass": "娌℃湁姝ょ幓鐠�",
-  "There is no such slot": "娌℃湁绌洪棽鏍煎瓙",
-  "No delete allowed": "涓嶈兘鍒犻櫎",
-  "No out allowed": "涓嶈兘鍑虹墖",
-  "Are you sure to perform this operation ?": "纭畾鎵ц姝ゆ搷浣�?",
-  "prompt": "鎻愮ず",
-  "Yes": "鏄�",
-  "No": "鍚�",
-  "today": "浠婂ぉ",
-  "yesterday": "鏄ㄥぉ",
-  "week": "涓�鍛ㄥ墠",
-  "shijian": "鏃ユ湡",
-  "Pick a day": "閫夋嫨鏃ユ湡",
-  "alarmid": "id",
-  "alacontent": "鎶ヨ鍐呭",
-  "time-on": "寮�濮嬫椂闂�",
-  "End-Time": "缁撴潫鏃堕棿",
-  "Please enter the password": "璇疯緭鍏ュ瘑鐮�",
-  "Password error": "瀵嗙爜閿欒",
-  "DataBase Connection failed": "鏁版嵁搴撹繛鎺ュけ璐�",
-  "Distribute parameters": "涓嬪彂鍙傛暟",
-  "The glass size is not within the range": "鐜荤拑灏哄涓嶅湪鑼冨洿鍐�",
-  "Add": "娣诲姞",
-  "Enable": "鍚敤",
-  "Disable": "绂佺敤",
-  "Usage": "浣跨敤鐜�",
-  "Space (Pieces)": "绌洪棿(鐗囨暟)",
-  "This glass is already in the cage": "绗煎瓙閲屽凡鏈夋鐜荤拑",
-  "Enter the Order No": "璇疯緭鍏ヨ鍗昳d",
-  "OrderInfo": "璁㈠崟淇℃伅",
-  "Query": "鏌ヨ",
-  "permission update": "鏉冮檺缂栬緫",
-  "query was successful": "鏌ヨ鎴愬姛",
-  "Scan Code Point": "鎵爜浣�",
-  "Upper film position": "涓婄墖浣�",
-  "Glass Information": "鐜荤拑淇℃伅",
-  "current Information": "褰撳墠淇℃伅",
-  "Modify Information": "淇敼淇℃伅",
-  "Clear Current": "娓呴櫎褰撳墠",
-  "Confirm": "纭",
-  "The glass ID already exists in the loading queue": "涓婄墖闃熷垪宸插瓨鍦ㄦ鐜荤拑id",
-  "This glass ID already exists in the sorting cage": "鐞嗙墖绗煎唴宸插瓨鍦ㄦ鐜荤拑id",
-  "Outing Queue":"鍑虹墖闃熷垪",
-  "Enter the Aluminum Frame No":"璇疯緭鍏ラ摑妗唅d",
-  "Frame No":"閾濇id",
-  "Glass information corresponding to aluminum frame":"閾濇瀵瑰簲鐨勭幓鐠冧俊鎭�",
-  "In the cage":"鍦ㄧ鍐�",
-  "Flipped":"缈昏浆",
-  "In the queue":"鍦ㄩ槦鍒�",
-  "Enter the Frame No":"璇疯緭鍏ラ摑妗唅d",
-  "Manually Infeed Glass":"鎵嬪姩杩涚墖",
-  "Normal":"姝e父",
-  "Entering":"姝e湪杩�",
-  "Outing":"姝e湪鍑�",
-  "Suspend":"鏆傚仠",
-  "Stop":"鍋滄",
-  "Start":"寮�濮�",
-  "Sequence":"椤哄簭",
-  "Position":"浣嶇疆",
-  "Top":"缃《",
-  "Up":"涓婄Щ",
-  "Down":"涓嬬Щ",
-  "You do not have this permission":"You do not have this permission",
-  "Unable to find the placement method of the aluminum frame":"鏌ヨ涓嶅埌閾濇鎽嗘斁鏂瑰紡",
-  "Unable to find whether the aluminum frame is flipped or not":"鏌ヨ涓嶅埌閾濇鏄惁缈昏浆",
-  "This glass is already in the Queue":"姝ょ幓鐠冨凡鍦ㄥ嚭鐗囬槦鍒椾腑",
-  "Complete":"瀹屾垚",
-  "Not Allow":"涓嶅厑璁�",
-  "Allow":"鍏佽",
-  "Completed":"宸插畬鎴�",
-  "Waiting":"绛夊緟涓�",
-  "Deleted":"宸插垹闄�",
-  "Glass State":"鐜荤拑鐘舵��",
-  "Absent":"涓嶅瓨鍦�",
-  "Approximately resettable time":"鍙浣嶅ぇ姒傛椂闂�",
-  "EXTERIQR OUT AND BYPASS TO THE LEFT":"EXTERIQR OUT AND BYPASS TO THE LEFT",
-  "EXTERIQR OUT AND BYPASS TO THE RIGHT":"EXTERIQR OUT AND BYPASS TO THE RIGHT",
-  "Complete Task":"瀹屾垚浠诲姟",
-  "Outed":"宸插嚭绗�",
-  "Queue State":"闃熷垪鐘舵��",
-  "Sorting State":"鎺掑簭鐘舵��",
-  "Confirm State":"纭鐘舵��",
-  "Next":"涓嬩竴涓�",
-  "Current Frame":"褰撳墠閾濇",
-  "Outside":"澶栦晶",
-  "Inside":"鍐呬晶",
-  "Cancel":"鍙栨秷",
-  "Are you sure to clear this barcode ?":"纭畾娓呴櫎姝ょ幓鐠僫d鍚� ?",
-  "Terminate Feeding":"缁堟杩涚墖",
-  "Terminate Outing":"缁堟鍑虹墖",
-  "SoftEmergencyStop":"杞�ュ仠",
-  "Unable to clear glass ID in automatic mode":"鏃犳硶鍦ㄨ嚜鍔ㄦā寮忎笅娓呴櫎鐜荤拑ID",
-  "Are you sure you want an emergency stop ?":"纭畾瑕佹�ュ仠鍚�?",
-  "Current State":"褰撳墠鐘舵��",
-  "Automatic":"鑷姩",
-  "Hand Movement":"鎵嬪姩",
-  "Please enter the correct glassID":"璇疯緭鍏ユ纭殑鐜荤拑ID",
-  "Switch":"鍒囨崲",
-  "This frame has glass that is currently outing":"姝ら摑妗嗘湁姝e湪鍑虹墖鐨勭幓鐠�",
-  "langparameter": {
-    "conveyor Velocity(Auto FAST)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄥ揩閫�",
-    "conveyor Velocity(Auto SLOW)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄦ參閫�",
-    "conveyor Velocity(Manual)": "D01-D06 鐨甫杈撻�佹墜鍔ㄩ�熷害",
-    "A01 A02 TURN JOG Velocity": "A01 A02 缈昏浆鐐瑰姩閫熷害",
-    "A01 A02 TRAVEL JOG Velocity": "A01 A02 琛岃蛋鐐瑰姩閫熷害",
-    "B01 B02 TRAVEL JOG Velocity": "B01 B02 琛岃蛋鐐瑰姩閫熷害",
-    "A01 A02 TURN POS Velocity AUTO": "A01 A02 缈昏浆鑷姩瀹氫綅閫熷害",
-    "A01 A02 TURN POS Velocity manual": "A01 A02 缈昏浆鎵嬪姩瀹氫綅閫熷害",
-    "A01 A02 TRAVEL POS Velocity AUTO": "A01 A02 琛岃蛋鑷姩瀹氫綅閫熷害",
-    "A01 A02 TRAVEL POS Velocity manual": "A01 A02 琛岃蛋鎵嬪姩瀹氫綅閫熷害",
-    "B01 B02 TRAVEL POS Velocity AUTO": "B01 B02 琛岃蛋鑷姩瀹氫綅閫熷害",
-    "B01 B02 TRAVEL POS Velocity manual": "B01 B02 琛岃蛋鎵嬪姩瀹氫綅閫熷害"
-  },
-  "langActions": {
-    "D01 VFD conveyor": "D01 杈撻�佸彉棰�",
-    "D02 VFD conveyor": "D02 杈撻�佸彉棰�",
-    "D03 VFD conveyor": "D03 杈撻�佸彉棰�",
-    "D04 VFD conveyor": "D04 杈撻�佸彉棰�",
-    "D05 VFD conveyor": "D05 杈撻�佸彉棰�",
-    "D06 VFD conveyor": "D06 杈撻�佸彉棰�",
-    "A01 VFD conveyor": "A01 杈撻�佸彉棰�",
-    "A02 VFD conveyor": "A02 杈撻�佸彉棰�",
-    "B01 VFD conveyor": "B01 杈撻�佸彉棰�",
-    "B02 VFD conveyor": "B02 杈撻�佸彉棰�",
-    "A01 SERVE TURN JOG+": "A01 缈昏浆浼烘湇鐐瑰姩",
-    "A02 SERVE TURN JOG-": "A02 缈昏浆浼烘湇鐐瑰姩",
-    "A01 SERVE TRAVEL JOG+": "A01 琛岃蛋浼烘湇鐐瑰姩",
-    "A02 SERVE TRAVEL JOG-": "A02 琛岃蛋浼烘湇鐐瑰姩",
-    "B01 SERVE TRAVEL JOG+": "B01 琛岃蛋浼烘湇鐐瑰姩",
-    "B02 SERVE TRAVEL JOG-": "B02 琛岃蛋浼烘湇鐐瑰姩",
-    "A01 SERVE TURN POS": "A01 缈昏浆浼烘湇瀹氫綅",
-    "A02 SERVE TURN POS": "A02 缈昏浆浼烘湇瀹氫綅",
-    "A01 SERVE TRAVEL POS": "A01 琛岃蛋浼烘湇瀹氫綅",
-    "A02 SERVE TRAVEL POS": "A02 琛岃蛋浼烘湇瀹氫綅",
-    "B01 SERVE TRAVEL POS": "B01 琛岃蛋浼烘湇瀹氫綅",
-    "B02 SERVE TRAVEL POS": "B02 琛岃蛋浼烘湇瀹氫綅",
-    "B01 YV TURN": "B01 鎶捣鐢电闃�",
-    "B01 YV UP DOWN": "B01 涓婂崌涓嬮檷鐢电闃�",
-    "B02 YV TURN": "B02 鎶捣鐢电闃�",
-    "B02 YV UP DOWN": "B02 涓婂崌涓嬮檷鐢电闃�"
-  },
-  "Signlang": {
-    "D01.SR dec": "D01.鍑忛�熶紶鎰熷櫒",
-    "D01.SR in pos": "D01.鍒颁綅浼犳劅鍣�",
-    "D02.SR dec": "D02.鍑忛�熶紶鎰熷櫒",
-    "D02.SR in pos": "D02.鍒颁綅浼犳劅鍣�",
-    "D03.SR into": "D03.杩涚墖浼犳劅鍣�",
-    "D03.SR dec": "D03.鍑忛�熶紶鎰熷櫒",
-    "D03.SR in pos": "D03.鍒颁綅浼犳劅鍣�",
-    "D04.SR dec": "D04.鍑忛�熶紶鎰熷櫒",
-    "D04.SR in pos": "D04.鍒颁綅浼犳劅鍣�",
-    "D05.SR dec": "D05.鍑忛�熶紶鎰熷櫒",
-    "D05.SR in pos": "D05.鍒颁綅浼犳劅鍣�",
-    "D06.SR dec": "D06.鍑忛�熶紶鎰熷櫒",
-    "D06.SR in pos": "D06.鍒颁綅浼犳劅鍣�",
-    "B01.SR in dec": "B01.杩涚墖鍑忛�熶紶鎰熷櫒",
-    "B01.SR in in pos": "B01.杩涚墖鍒颁綅浼犳劅鍣�",
-    "B01.SR out dec": "B01.鍑虹墖鍑忛�熶紶鎰熷櫒",
-    "B01.SR out in pos": "B01.鍑虹墖鍒颁綅浼犳劅鍣�",
-    "B01.SR turn on": "B01.缈昏浆涓婂埌浣嶄紶鎰熷櫒",
-    "B01.SR turn off": "B01.缈昏浆涓嬪埌浣嶄紶鎰熷櫒",
-    "B01.SR up": "B01.涓婂崌鍒颁綅浼犳劅鍣�",
-    "B01.SR down": "B01.涓嬮檷鍒颁綅浼犳劅鍣�",
-    "B02.SR out dec": "B02.鍑虹墖鍑忛�熶紶鎰熷櫒",
-    "B02.SR out in pos": "B02.鍑虹墖鍒颁綅浼犳劅鍣�",
-    "B02.SR in dec": "B02.杩涚墖鍑忛�熶紶鎰熷櫒",
-    "B02.SR in in pos": "B02.杩涚墖鍒颁綅浼犳劅鍣�",
-    "B02.SR turn on": "B02.缈昏浆涓婂埌浣嶄紶鎰熷櫒",
-    "B02.SR turn off": "B02.缈昏浆涓嬪埌浣嶄紶鎰熷櫒",
-    "B02.SR up": "B02.涓婂崌鍒颁綅浼犳劅鍣�",
-    "B02.SR down": "B02.涓嬮檷鍒颁綅浼犳劅鍣�",
-    "B01.SR in safety": "B01.杩涚墖瀹夊叏浼犳劅鍣�",
-    "B01.SR out safety": "B01.鍑虹墖瀹夊叏浼犳劅鍣�",
-    "B02.SR in safety": "B02.杩涚墖瀹夊叏浼犳劅鍣�",
-    "SB.start(+)": "SB.鍚姩锛�+锛夋寜閽�",
-    "SB.stop(1)": "SB.鍋滄锛�-锛夋寜閽�",
-    "SB.reset": "SB.澶嶄綅鎸夐挳",
-    "SB.auto/manul": "SB.鎵�/鑷垏鎹㈡寜閽�",
-    "D01.SB.confirm": "鐜荤拑淇℃伅纭",
-    "SB.emg": "SB.鎬ュ仠鎸夐挳",
-    "D01.SB.start": "D01.鍚姩",
-    "D06.SB.start": "D06.鍚姩",
-    "B02.SR out safety ": "B02.鍑虹墖瀹夊叏浼犳劅鍣�",
-    "SafetyDoor.requset": "瀹夊叏闂ㄨ姹傝繘鍏�",
-    "SafetyDoor.confirm": "瀹夊叏闂ㄧ‘璁�",
-    "SafetyDoor.reset": "瀹夊叏闂ㄥ浣�",
-    "A01.SR left dec":"A01宸﹂敭閫�",
-    "A01.SR left in pos":"A01宸﹀埌浣�",
-    "A01.SR left safety":"A01宸﹀畨鍏�",
-    "A01.SR right dec":"A01鍙抽敭閫�",
-    "A01.SR right in pos":"A01鍙冲埌浣�",
-    "A01.SR right safety":"A01鍙冲畨鍏�",
-    "A01.SR turn home":"A01缈昏浆鍘熺偣",
-    "A01.SR turn up":"A01缈昏浆涓婃瀬闄�",
-    "A01.SR turn down":"A01缈昏浆涓嬫瀬闄�",
-    "A01.SR travel home":"A01琛岃蛋鍘熺偣",
-    "A01.SR travel left dec":"A01琛岃蛋宸﹀噺閫�",
-    "A01.SR travel left limit":"A01琛岃蛋宸︽瀬闄�",
-    "A01.SR travel right dec":"A01琛岃蛋鍙冲噺閫�",
-    "A01.SR travel right limit":"A01琛岃蛋鍙虫瀬闄�",
-    "A02.SR left dec":"A02宸﹂敭閫�",
-    "A02.SR left in pos":"A02宸﹀埌浣�",
-    "A02.SR left safety":"A02宸﹀畨鍏�",
-    "A02.SR right dec":"A02鍙抽敭閫�",
-    "A02.SR right in pos":"A02鍙冲埌浣�",
-    "A02.SR right safety":"A02鍙冲畨鍏�",
-    "A02.SR turn home":"A02缈昏浆鍘熺偣",
-    "A02.SR turn up":"A02缈昏浆涓婃瀬闄�",
-    "A02.SR turn down":"A02缈昏浆涓嬫瀬闄�",
-    "A02.SR travel home":"A02琛岃蛋鍘熺偣",
-    "A02.SR travel left dec":"A02琛岃蛋宸﹀噺閫�",
-    "A02.SR travel left limit":"A02琛岃蛋宸︽瀬闄�",
-    "A02.SR travel right dec":"A02琛岃蛋鍙冲噺閫�",
-    "A02.SR travel right limit":"A02琛岃蛋鍙虫瀬闄�",
-    "B01.SR origin":"B01.鍘熺偣",
-    "B01.SR left limit":"B01.宸︽瀬闄�",
-    "B01.SR right limit":"B01.鍙虫瀬闄�",
-    "B02.SR origin":"B02.鍘熺偣",
-    "B02.SR left limit":"B02.宸︽瀬闄�",
-    "B02.SR right limit":"B02.鍙虫瀬闄�",
-    "LED.red": "涓夎壊鐏孩",
-    "LED.green": "涓夎壊鐏豢",
-    "LED.yellow": "涓夎壊鐏粍",
-    "D01.LED.green": "D01.缁跨伅",
-    "D06.LED.green": "D06.缁跨伅",
-    "B01.YV.turn": "B01.鐢电闃�缈昏浆",
-    "B01.YV.up down": "B01.鐢电闃�涓婂崌涓嬮檷",
-    "B01.YV.gassing": "B01.鐢电闃�鍚规皵",
-    "B02.YV.turn": "B02.鐢电闃�缈昏浆",
-    "B02.YV.up down": "B02.鐢电闃�涓婂崌涓嬮檷",
-    "B02.YV.gassing": "B02.鐢电闃�鍚规皵",
-    "SafetyDoor.Led": "瀹夊叏闂ㄧ姸鎬佺伅",
-    "SafetyDoor.open": "瀹夊叏闂ㄦ墦寮�",
-    "D01 SB.confirm":"鐜荤拑淇℃伅纭鎸囩ず鐏�",
-    "A01 oilPump":"A01娉ㄦ补娉�",
-    "A01 motorCtr":"A01鐢垫満鎺у埗",
-    "A02 oilPump":"A02娉ㄦ补娉�",
-    "A02 motorCtr":"A02鐢垫満鎺у埗",
-    "space":"澶囩敤"
-
-  },
-  "Statelang": {
-    "D01.State": "D01.鐘舵��",
-    "D02.State": "D02.鐘舵��",
-    "B01.State": "B01.鐘舵��",
-    "B02.State": "B02.鐘舵��",
-    "A01.State": "A01.鐘舵��",
-    "A02.State": "A02.鐘舵��",
-    "D03.State": "D03.鐘舵��",
-    "D04.State": "D04.鐘舵��",
-    "D05.State": "D05.鐘舵��",
-    "D06.State": "D06.鐘舵��"
-  },
-  "Automatic State":"鑷姩鐘舵��",
-  "ManualJog":"寮�鍏虫帶鍒�",
-  "ManualonePosition":"鎵嬪姩瀹氫綅",
-  "Servomanualone":"鍗婅嚜鍔�",
-  "Address parameter settings":"鍦板潃鍙傛暟璁剧疆",
-  "Speed parameter settings":"閫熷害鍙傛暟璁剧疆",
-  "InteractionState":"浜や簰鐘舵��",
-  "Set":"璁惧畾"
+  "langSelect": "瀹�",
+  "langEditUserTitle": "闀�",
+  "exit": "鎿嶄綔",
+  "changePassword": "宸ョ▼",
+  "Old password":"璇烽�夋嫨宸ョ▼",
+  "New password":"娣诲姞鍘熺墖",
+  "langConfirm": "纭",
+  "langUsernameLabel": "娣诲姞",
+  "langPasswordLabel": "鍒犻櫎",
+  "langPasswordLabel": "鏄惁鍒犻櫎璇ユ潯淇℃伅锛�",
+  "langPasswordLabel": "鏄惁寮�濮嬩笂鐗囷紵",
+  "langPasswordLabel": "鏄惁鏆傚仠锛�",
+  "langPasswordLabel": "鏄惁鍋滄浠诲姟锛�",
+  "langPasswordLabel": "鏍呮牸鍙�",
+  "langPasswordLabel": "鐜荤拑缂栧彿",
+  "langPasswordLabel": "楂�",
+  "langPasswordLabel": "鍚敤鐘舵��",
+  "langPasswordLabel": "鍚敤",
+  "langPasswordLabel": "鏈惎鐢�",
+  "langPasswordLabel": "鎶ョ己",
+  "langPasswordLabel": "杩涚倝涓�",
+  "langPasswordLabel": "杩涚倝鍓�",
+  "langPasswordLabel": "宸插嚭鐐夌幓鐠�",
+  "langPasswordLabel": "鐗堝浘缂栧彿",
+  "langPasswordLabel": "涓嬬墖浣�",
+  "langPasswordLabel": "鏋跺彿",
+  "langPasswordLabel": "娴佺▼鍗″彿",
+  "langPasswordLabel": "鎬绘暟閲�",
+  "langPasswordLabel": "宸茶惤鏋舵暟閲�",
+  "langPasswordLabel": "鐘舵��",
+  "langPasswordLabel": "璁惧鍙�",
+  "langPasswordLabel": "鍚敤鐘舵��",
+  "langPasswordLabel": "缁戝畾鏋跺瓙",
+  "langPasswordLabel": "娓呯┖",
 
 }
\ No newline at end of file
diff --git a/UI-Project/src/views/Caching/cachingbefore.vue b/UI-Project/src/views/Caching/cachingbefore.vue
index 5cf4a38..5d9d157 100644
--- a/UI-Project/src/views/Caching/cachingbefore.vue
+++ b/UI-Project/src/views/Caching/cachingbefore.vue
@@ -55,7 +55,7 @@
 const open = async(row) => {  
   try {  
     const confirmResult = await ElMessageBox.confirm(  
-      '鏄惁鍒犻櫎璇ユ潯淇℃伅?',  
+      '鏄惁鎶ョ己璇ユ潯淇℃伅?',  
       '鎻愮ず',  
       {  
         confirmButtonText: '鏄�',  
@@ -66,15 +66,15 @@
     if (confirmResult === 'confirm') {  
       // 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛  
       const deleteResponse = await request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass", {
-        id:0,
-        slot: row.slot
+        id: row.id,
+        esdId: row.esdId
     })
       if (response.code == 200) {  
         // 鍒犻櫎鎴愬姛锛屾偍鍙互鏍规嵁闇�瑕佸鐞嗘垚鍔熺殑鎯呭喌  
         alert('鍒犻櫎鎴愬姛锛�');  
       } else {  
         // 鍒犻櫎澶辫触锛屾偍鍙互澶勭悊閿欒鎴栨樉绀洪敊璇俊鎭粰鐢ㄦ埛  
-        alert('鍒犻櫎澶辫触锛�' + deleteResponse.message);  
+        alert('鍒犻櫎澶辫触锛�' + deleteResponse.message); 
       }  
     }  
   } catch (error) {  
@@ -171,9 +171,6 @@
   ]
  
 })
-
-
-
 </script>
 
 <template>
@@ -206,16 +203,6 @@
         </el-table>
       </div>
     </el-card>
-    <!-- <el-dialog v-model="adda" top="30vh" width="25%" title="鏄惁鍒犻櫎璇ユ潯淇℃伅?" >
-    <template #footer>
-      <div id="dialog-footer">
-        <el-button type="primary" @click="handleConfirma">
-          纭
-        </el-button>
-        <el-button @click="adda = false">鍙栨秷</el-button>
-      </div>
-    </template>
-  </el-dialog> -->
   </div>
   <div id="awatch">
     <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;">
diff --git a/UI-Project/src/views/Caching/cachingun.vue b/UI-Project/src/views/Caching/cachingun.vue
index 7ed5e6a..5a82915 100644
--- a/UI-Project/src/views/Caching/cachingun.vue
+++ b/UI-Project/src/views/Caching/cachingun.vue
@@ -3,6 +3,7 @@
 import {reactive} from "vue";
 import {useRouter} from "vue-router"
 const router = useRouter()
+const adda = ref(false)
 
 import request from "@/utils/request"
 import { ref, onMounted } from "vue";
@@ -11,94 +12,126 @@
 //  import LanguageMixin from './lang/LanguageMixin'
 
 const tableData = ref([])
+const slot = ref('')
+  
 
-// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
-// const fetchTableData = async () => {
-//   try {
-//     // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
-//     // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData);
-//     const response = await request.get("unLoadGlass/downStorage/selectStorageCage");
-
-//     // 妫�鏌ュ搷搴旂姸鎬�
-//     if (response.code === 200) {
-//       // 鏇存柊琛ㄦ牸鏁版嵁
-//       console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
-//       tableData.splice(0, tableData.length, ...response.data);
-//     } else {
-//       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
-//       ElMessage.error(response.msg);
-//     }
-//   } catch (error) {
-//     // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
-//    ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
-//   }
-// };
-// onMounted(fetchTableData);
-
-
-
-request.get("unLoadGlass/downStorage/selectStorageCage").then((res) => {
+request.get("/unLoadGlass/downStorage/selectStorageCage").then((res) => {
           if (res.code == 200) {
+            
           console.log(res.data);
           tableData.value = res.data
+          console.log(res.data[0].slot);
           } else {
           ElMessage.warning(res.msg)
         
           }
           });
 
-const dialogForm = () => {
-  ElMessageBox.confirm(
-    '鏄惁鎶ョ己?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-  .then(() => {
-    // this.boxa = true
-    // this.box = false
-      
+//   const getTableRow = (row,type) =>{
+//   switch (type) {
+//     case 'delete':{
+//       let flowData = ref({
+//         id:0,
+//         slot:row.slot
+//       })
+//       request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass",flowData.value).then((res) => {
+//         if(res.code==200){
+//           ElMessage.success(t('searchOrder.msgDeleteSuccess'))
+//           router.push({path:'/main/delivery/selectDelivery',query:{random:Math.random()}})
+//         }else{
+//           ElMessage.warning(res.msg)
+//           router.push("/login")
+//         }
+//       })
+
+//       return
+//     }
+//   }
+// }
+// let slots = ref({
+//   id:0,
+//    slot: slot.value
+// })
+const open = async(row) => {  
+  try {  
+    const confirmResult = await ElMessageBox.confirm(  
+      '鏄惁鍒犻櫎璇ユ潯淇℃伅?',  
+      '鎻愮ず',  
+      {  
+        confirmButtonText: '鏄�',  
+        cancelButtonText: '鍙栨秷',  
+        type: 'warning',  
+      }  
+    );  
+    if (confirmResult === 'confirm') {  
+      // 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛  
+      const deleteResponse = await request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass", {
+        id:0,
+        slot: row.slot
     })
-}
-const open = () => {
-  ElMessageBox.confirm(
-    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-    .then(() => {
-      ElMessage({
-        type: 'success',
-        message: '鍒犻櫎鎴愬姛锛�',
-      })
-    })
-    .catch(() => {
-      ElMessage({
-        type: 'info',
-        message: '鍒犻櫎澶辫触',
-      })
-    })
-}
-const getTableRow = (row,type) =>{
-  switch (type) {
-    case 'edit' :{
-      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-      router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
-      break
-    }
-    case 'delete':{
-      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
-      break
-    }
-  }
-}
+      if (response.code == 200) {  
+        // 鍒犻櫎鎴愬姛锛屾偍鍙互鏍规嵁闇�瑕佸鐞嗘垚鍔熺殑鎯呭喌  
+        alert('鍒犻櫎鎴愬姛锛�');  
+      } else {  
+        // 鍒犻櫎澶辫触锛屾偍鍙互澶勭悊閿欒鎴栨樉绀洪敊璇俊鎭粰鐢ㄦ埛  
+        alert('鍒犻櫎澶辫触锛�' + deleteResponse.message);  
+      }  
+    }  
+  } catch (error) {  
+    // 澶勭悊鍙兘鍑虹幇鐨勯敊璇紝姣斿 ElMessageBox 鎶涘嚭鐨勫紓甯哥瓑  
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+};  
+// const open = () => {
+//   ElMessageBox.confirm(
+//     '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+//     '鎻愮ず',
+//     {
+//       confirmButtonText: '鏄�',
+//       cancelButtonText: '鍙栨秷',
+//       type: 'warning',
+//     }
+//   )
+//     .then(() => {
+//       ElMessage({
+//         type: 'success',
+//         message: '鍒犻櫎鎴愬姛锛�',
+//       })
+//     })
+//     .catch(() => {
+//       ElMessage({
+//         type: 'info',
+//         message: '鍒犻櫎澶辫触',
+//       })
+//     })
+// }
+// 鍒犻櫎
+// const handleBindRacka = (row) => {
+//   adda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+// };
+// // 鍒犻櫎
+// const handleConfirma = async () => {
+//   try {
+//       window.localStorage.setItem('slot', res.data.slot)
+//     let slot = window.localStorage.getItem('slot')
+//     const response = await request.post('/cacheGlass/edgStorageCage/edgStorageCageGlass', {
+//       slot: slot.value,
+//       id: 0
+//     }); 
+ 
+//     if (response.code == 200) {
+//       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+//       ElMessage.success(response.message);
+//       adda.value = false;
+//     } else {
+//       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+//       ElMessage.error(response.msg);
+//     }
+//   } catch (error) {
+//     // 澶勭悊閿欒
+//     console.error(error);
+//   }
+// };
 
 const gridOptions = reactive({
   border:  "full",//琛ㄦ牸鍔犺竟妗�
@@ -150,19 +183,39 @@
         <el-table height="240" ref="table" 
         @selection-change="handleSelectionChange"
         :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id" align="center" label="鐜荤拑ID" min-width="80" />
-          <el-table-column prop="sequence" align="center" label="浣嶇疆" min-width="120" />
+          <el-table-column prop="slot" align="center" label="鏍呮牸鍙�" min-width="80" />
+          <el-table-column prop="glass_id" align="center" label="鐜荤拑缂栧彿" min-width="80" />
           <el-table-column prop="width" align="center" label="瀹�" min-width="120" />
-          <el-table-column prop="height" align="center" label="闀�" min-width="120" />
+          <el-table-column prop="height" align="center" label="楂�" min-width="120" />
+          <el-table-column
+            align="center"
+            label="鍚敤鐘舵��"
+            min-width="80"
+            prop="enable_state"
+          >
+          <template #default="scope">
+            <el-tag type="success" >{{ scope.row.enable_state==1?"鍚敤":"鏈惎鐢�"  }}</el-tag>
+          </template>
+          </el-table-column>
           <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
-            <template #default>
-              <el-button size="mini" type="text" plain  @click="dialogForm">鎶ョ己</el-button>
+            <template #default="scope">
+              <!-- <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">鎶ョ己</el-button> -->
+              <el-button size="mini" type="text" plain  @click="open(scope.row)">鎶ョ己</el-button>
             </template>
         </el-table-column>
         </el-table>
       </div>
     </el-card>
-   
+    <!-- <el-dialog v-model="adda" top="30vh" width="25%" title="鏄惁鍒犻櫎璇ユ潯淇℃伅?" >
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="handleConfirma">
+          纭
+        </el-button>
+        <el-button @click="adda = false">鍙栨秷</el-button>
+      </div>
+    </template>
+  </el-dialog> -->
   </div>
   <div id="awatch">
     <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;">
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 30fe865..5e2bc03 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -1,5 +1,6 @@
 <template>  
-<!-- <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> -->
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading">
+      <el-scrollbar height="700px">
   <div id="app" style="margin-top: 20px;">  
     <div  
       :style="{ width: `${olWidth}px`, height: `${olHeight}px`,position: 'relative' }"  
@@ -8,29 +9,51 @@
       v-for="(rect, index) in adjustedRects"  
       :key="index"  
       class="rect"  
+      @click="handleBind"
       :style="{ position: 'absolute', top: `${rect.y_axis}px`, left: `${rect.x_axis}px`, width: `${rect.width}px`, height: `${rect.height}px` }"  
     >
      <!-- 绠ご -->  
-     <div id="arrow"></div>  
-     <div id="line"></div>  
+     <!-- <div id="arrow"></div>  
+     <div id="line"></div>   -->
      <!-- <div  class="centered-text" >NG24030401B01</div> -->
      <div  class="centered-text">
     <div>{{ rect.process_id }}</div>  
     <div style="margin-top: 50px;margin-left: -85px;">{{ rect.width }}*{{ rect.height }}</div>  
   </div>
   </div> 
+  <!-- 鐐瑰嚮寮瑰嚭 -->
+  <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;">
+    <!-- <template #footer> -->
+      <!-- <div id="dialog-footer"> -->
+        <el-button type="warning" plain :icon="Delete" @click="handle"  style="width: 120px;margin-left: 10px;">
+          鐮存崯
+        </el-button>
+        <el-button  type="danger" plain @click="blind = false" style="width: 120px;margin-top: 10px;">
+          <el-icon class="el-icon--right"><Upload /></el-icon>
+          浜哄伐鎷胯蛋</el-button>
+      <!-- </div> -->
+    <!-- </template> -->
+  </el-dialog> 
    </div>
   </div>  
+  </el-scrollbar>
+  </el-card>
 </template>  
   
-<script setup>  
+<script setup lang="ts">  
+import { Delete, Upload } from '@element-plus/icons-vue'
 import { ref, onMounted } from 'vue';  
 import request from "@/utils/request"
+const blind = ref(false)
 const olWidth = ref(); 
 const olHeight = ref();
 const process_id = ref(); // 鐢ㄤ簬瀛樺偍process_id鐨勫搷搴斿紡寮曠敤 
 // const rects = ref([]); // 鐢ㄤ簬瀛樺偍鐭╁舰鏁版嵁鐨勫搷搴斿紡寮曠敤  
 const adjustedRects = ref([]);
+const handleBind = (row) => {
+ 
+  blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
 onMounted(async () => {  
   try {  
     const response = await request.post('/cacheGlass/taskCache/currentCutTerritory'); // 鏇挎崲涓轰綘鐨凙PI绔偣  
@@ -103,4 +126,5 @@
   width: 240px; /* 鐩寸嚎鐨勯暱搴︼紝鏍规嵁闇�瑕佽皟鏁� */  
   background-color: #911005; /* 鐩寸嚎鐨勯鑹� */  
 }  
+
 </style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 2538c4e..22d0adc 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -1,27 +1,37 @@
 <script lang="ts" setup>
-import {reactive, ref} from 'vue'
-import {useRouter} from 'vue-router'
-import {ElMessage, ElMessageBox} from 'element-plus'
-
+import {Search} from "@element-plus/icons-vue";
+import {reactive} from "vue";
+import {useRouter} from "vue-router"
 const router = useRouter()
-
+ 
+import { ref } from 'vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { tr } from "element-plus/es/locale";
 const dialogFormVisible = ref(false)
 const dialogFormVisiblea = ref(false)
 const dialogFormVisibleb = ref(false)
-
-const carposition1 = ref(40)
-const carposition2 = ref(200)
-const timers1 = ref(true)
-const timers2 = ref(true)
-const cellshow = ref(false)
-const cellshow1 = ref(true)
-const cellshow2 = ref(true)
-const million = ref(0)
-const million1 = ref(0)
-
-const loading = null
-const handleSelectionChange = null
-
+ 
+const carposition1 = ref(60);
+const carposition2 = ref(220);
+const carposition3 = ref(60);
+const carposition4 = ref(260);
+const timers1 =ref(true);
+const timers2 =ref(true);
+const timers3 =ref(true);
+const timers4 =ref(true);
+const cellshow=ref(false);
+const cellshow5=ref(false);
+const c1=ref(false);
+const c2=ref(false);
+const cellshow1=ref(true);
+const cellshow2=ref(true);
+const cellshow3=ref(true);
+const cellshow4=ref(true);
+const million=ref(0);
+const million1=ref(0);
+const million3=ref(0);
+const million4=ref(0);
+ 
 const currentPage4 = ref(4)
 const pageSize4 = ref(100)
 const tableData = [
@@ -46,338 +56,320 @@
     e: '1',
     f: '100*100',
     g: '',
-  },
+  }
 ]
 const dialogForm = () => {
-  ElMessageBox.confirm('纭畾瑕佹�ュ仠鍚�?', '鎻愮ず', {
-    confirmButtonText: '鏄�',
-    cancelButtonText: '鍚�',
-    type: 'warning',
-  })
-      .then(() => {
-        ElMessage({
-          type: 'success',
-          message: '鎬ュ仠鎴愬姛锛�',
-        })
+  ElMessageBox.confirm(
+    '纭畾瑕佹�ュ仠鍚�?',
+    '鎻愮ず',
+    {
+      confirmButtonText: '鏄�',
+      cancelButtonText: '鍚�',
+      type: 'warning',
+    }
+  )
+    .then(() => {
+      ElMessage({
+        type: 'success',
+        message: '鎬ュ仠鎴愬姛锛�',
       })
-      .catch(() => {
-        ElMessage({
-          type: 'info',
-          message: '鎬ュ仠澶辫触',
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '鎬ュ仠澶辫触',
       })
     })
 }
-
-var timer = setInterval(() => {
-  console.log(million.value, million1.value)
-  million.value += 1
-  if (million.value - million1.value !== 12) {
-    if (million.value - million1.value >= 2) {
-      if (carposition1.value == 200) {
-        timers1.value = false
-      } else if (carposition1.value == 40) {
-        timers1.value = true
+ 
+  var timer=setInterval(() => {
+    console.log(million.value,million1.value);
+    million.value+=1;
+    if(million.value-million1.value!==12){
+      
+      if(million.value-million1.value>=2){
+        if(carposition1.value==220){
+          timers1.value=false;
+        }else if(carposition1.value==60){
+          timers1.value=true;
+        }
+        if(timers1.value==true){
+          carposition1.value=carposition1.value+16;
+        }else{
+          carposition1.value=carposition1.value-16;
+        }
+ 
+        
+        if(carposition2.value==220){
+          timers2.value=false;
+        }else if(carposition2.value==60){
+          timers2.value=true;
+        }
+        if(timers2.value==true){
+          carposition2.value+=16;
+        }else{
+          carposition2.value-=16;
+        }
+      }else{
+ 
       }
-      if (timers1.value == true) {
-        carposition1.value = carposition1.value + 16
-      } else {
-        carposition1.value = carposition1.value - 16
+    }else{
+      million1.value=million.value;
+      if(cellshow.value==true){
+        cellshow.value=false;
+        
+      }else{
+        cellshow.value=true;
+        
       }
-
-      if (carposition2.value == 200) {
-        timers2.value = false
-      } else if (carposition2.value == 40) {
-        timers2.value = true
+      if(cellshow1.value==true){
+        cellshow1.value=false;
+      }else{
+        cellshow1.value=true;
       }
-      if (timers2.value == true) {
-        carposition2.value += 16
-      } else {
-        carposition2.value -= 16
+      if(cellshow2.value==true){
+        cellshow2.value=false;
+      }else{
+        cellshow2.value=true;
       }
-    } else {
     }
-  } else {
-    million1.value = million.value
-    if (cellshow.value == true) {
-      cellshow.value = false
-    } else {
-      cellshow.value = true
+    
+  }, 1000);
+ 
+  var timer=setInterval(() => {
+    console.log(million3.value,million4.value);
+    million3.value+=1;
+    if(million3.value-million4.value!==12){
+      
+      if(million3.value-million4.value>=2){
+        if(carposition3.value==260){
+          timers3.value=false;
+        }else if(carposition3.value==60){
+          timers3.value=true;
+        }
+        if(timers3.value==true){
+          carposition3.value=carposition3.value+20;
+        }else{
+          carposition3.value=carposition3.value-20;
+        }
+ 
+        
+        if(carposition4.value==260){
+          timers4.value=false;
+        }else if(carposition4.value==60){
+          timers4.value=true;
+        }
+        if(timers4.value==true){
+          carposition4.value+=20;
+        }else{
+          carposition4.value-=20;
+        }
+      }else{
+ 
+      }
+    }else{
+      million4.value=million3.value;
+      if(cellshow5.value==true){
+        cellshow5.value=false;
+        
+      }else{
+        cellshow5.value=true;
+        
+      }
+      if(cellshow3.value==true){
+        cellshow3.value=false;
+      }else{
+        cellshow3.value=true;
+      }
+      if(cellshow4.value==true){
+        cellshow4.value=false;
+      }else{
+        cellshow4.value=true;
+      }
     }
-    if (cellshow1.value == true) {
-      cellshow1.value = false
-    } else {
-      cellshow1.value = true
-    }
-    if (cellshow2.value == true) {
-      cellshow2.value = false
-    } else {
-      cellshow2.value = true
-    }
-  }
-}, 100000)
-
-const getTableRow = (row, type) => {
+    
+  }, 1000);
+ 
+const getTableRow = (row,type) =>{
   switch (type) {
-    case 'edit': {
+    case 'edit' :{
       //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-      router.push({
-        path: '/main/returns/createReturns',
-        query: {ReturnID: 'TH24010101'},
-      })
+      router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
       break
     }
-    case 'delete': {
+    case 'delete':{
       alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
       break
     }
   }
 }
-
+ 
 const gridOptions = reactive({
-  border: 'full', //琛ㄦ牸鍔犺竟妗�
-  keepSource: true, //淇濇寔婧愭暟鎹�
-  align: 'center', //鏂囧瓧灞呬腑
-  stripe: true, //鏂戦┈绾�
-  rowConfig: {isCurrent: true, isHover: true, height: 50}, //榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  border:  "full",//琛ㄦ牸鍔犺竟妗�
+  keepSource: true,//淇濇寔婧愭暟鎹�
+  align: 'center',//鏂囧瓧灞呬腑
+  stripe:true,//鏂戦┈绾�
+  rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
   id: 'OrderList',
-  showFooter: true, //鏄剧ず鑴�
+  showFooter: true,//鏄剧ず鑴�
   printConfig: {},
   importConfig: {},
   exportConfig: {},
-  scrollY: {enabled: true}, //寮�鍚櫄鎷熸粴鍔�
-  showOverflow: true,
+  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+  showOverflow:true,
   columnConfig: {
     resizable: true,
-    useKey: true,
+    useKey: true
   },
-  filterConfig: {
-    //绛涢�夐厤缃」
-    remote: true,
+  filterConfig: {   //绛涢�夐厤缃」
+    remote: true
   },
   customConfig: {
-    storage: true,
+    storage: true
   },
   editConfig: {
     trigger: 'click',
     mode: 'row',
-    showStatus: true,
+    showStatus: true
   },
-  data: [
+  data:  [
     {
-      id: '1',
-      long: '5',
-      wide: '1005',
-      thick: '183.6',
-    },
+      'id': '1',
+      'long': '5',
+      'wide': '1005',
+      'thick': '183.6',
+    }
   ],
 })
 </script>
-
+ 
 <template>
   <div style="height: 700px;">
     <!-- <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="primary" @click="dialogFormVisible = true">鎵嬪姩杩涚墖</el-button> -->
-    <el-button style="margin-top: 5px;margin-left: 10px;"
-               id="searchButton"
-               type="primary"
-               @click="dialogFormVisiblea = true">璁㈠崟淇℃伅
-    </el-button>
-    <el-button style="margin-top: 5px;margin-left: 10px;"
-               id="searchButton"
-               type="success"
-               @click="dialogFormVisibleb = true">鍑虹墖闃熷垪
-    </el-button>
-    <el-button style="margin-top: 5px;margin-left: 10px;"
-               id="searchButton"
-               type="danger">缁堟杩涚墖
-    </el-button>
-    <el-button style="margin-top: 5px;margin-left: 10px;"
-               id="searchButton"
-               type="danger">缁堟鍑虹墖
-    </el-button>
-    <el-button style="margin-top: 5px;margin-left: 10px;"
-               id="searchButton"
-               type="danger"
-               @click="dialogForm">杞�ュ仠
-    </el-button>
-
-    <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;"
-             v-loading="loading">
+    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="primary" @click="dialogFormVisiblea = true">璁㈠崟淇℃伅</el-button>
+    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="success" @click="dialogFormVisibleb = true">鍑虹墖闃熷垪</el-button>
+    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger">缁堟杩涚墖</el-button>
+    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger">缁堟鍑虹墖</el-button>
+    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger"  @click="dialogForm">杞�ュ仠</el-button>
+    
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
-        <el-table height="100%"
-                  ref="table"
-                  @selection-change="handleSelectionChange"
-                  :data="tableData"
-                  :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id"
-                           align="center"
-                           label="鍑虹墖鐜荤拑ID"
-                           min-width="80"/>
-          <el-table-column prop="a"
-                           align="center"
-                           label="绗煎瓙"
-                           min-width="120"/>
-          <el-table-column prop="b"
-                           align="center"
-                           label="鏍煎瓙"
-                           min-width="120"/>
-          <el-table-column prop="c"
-                           align="center"
-                           label="宸ョ▼鍙�"
-                           min-width="120"/>
-          <el-table-column prop="d"
-                           align="center"
-                           label="娴佺▼鍗″彿"
-                           min-width="120"/>
-          <el-table-column prop="e"
-                           align="center"
-                           label="閽㈠寲鐗堝浘鍙�"
-                           min-width="157"/>
-          <el-table-column prop="f"
-                           align="center"
-                           label="灏哄"
-                           min-width="120"/>
-          <el-table-column prop="g"
-                           align="center"
-                           label="缁撴潫浠诲姟"
-                           min-width="120">
-            <el-button style="margin-top: 5px;margin-left: 10px;"
-                       id="searchButton"
-                       type="text">瀹屾垚浠诲姟
-            </el-button>
-          </el-table-column>
+        <el-table height="100%" ref="table" 
+        @selection-change="handleSelectionChange"
+        :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="id" align="center" label="鍑虹墖鐜荤拑ID" min-width="80" />
+          <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
+          <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
+          <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
+          <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
+          <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
+          <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
+          <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120">
+    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="text">瀹屾垚浠诲姟</el-button>
+</el-table-column>
         </el-table>
       </div>
     </el-card>
-    <el-card style="flex: 1;margin-left: 10px;margin-top: 3px;"
-             v-loading="loading">
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 3px;" v-loading="loading">
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
-        <el-table height="100%"
-                  ref="table"
-                  @selection-change="handleSelectionChange"
-                  :data="tableDatab"
-                  :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id"
-                           align="center"
-                           label="杩涚墖鐜荤拑ID"
-                           min-width="80"/>
-          <el-table-column prop="a"
-                           align="center"
-                           label="绗煎瓙"
-                           min-width="120"/>
-          <el-table-column prop="b"
-                           align="center"
-                           label="鏍煎瓙"
-                           min-width="120"/>
-          <el-table-column prop="c"
-                           align="center"
-                           label="宸ョ▼鍙�"
-                           min-width="120"/>
-          <el-table-column prop="d"
-                           align="center"
-                           label="娴佺▼鍗″彿"
-                           min-width="120"/>
-          <el-table-column prop="e"
-                           align="center"
-                           label="閽㈠寲鐗堝浘鍙�"
-                           min-width="157"/>
-          <el-table-column prop="f"
-                           align="center"
-                           label="灏哄"
-                           min-width="120"/>
-          <el-table-column prop="g"
-                           align="center"
-                           label="缁撴潫浠诲姟"
-                           min-width="120">
-            <el-button style="margin-top: 5px;margin-left: 10px;"
-                       id="searchButton"
-                       type="text">瀹屾垚浠诲姟
-            </el-button>
-          </el-table-column>
+        <el-table height="100%" ref="table" 
+        @selection-change="handleSelectionChange"
+        :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="id" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
+          <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
+          <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
+          <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
+          <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
+          <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
+          <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
+          <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120">
+    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="text">瀹屾垚浠诲姟</el-button>
+</el-table-column>
         </el-table>
       </div>
     </el-card>
     <div style="padding: 10px;display: flex;height:110px;">
-      <div id="occupy">
-        <el-col style="text-align:left;font-weight: bold;">#1</el-col>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
-        </el-col>
-        <hr style="width:80%;margin: 0 auto;"/>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
-        </el-col>
-      </div>
-      <div id="occupy">
-        <el-col style="text-align:left;font-weight: bold;">#2</el-col>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
-        </el-col>
-        <hr style="width:80%;margin: 0 auto;"/>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
-        </el-col>
-      </div>
-      <div id="occupy">
-        <el-col style="text-align:left;font-weight: bold;">#3</el-col>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
-        </el-col>
-        <hr style="width:80%;margin: 0 auto;"/>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
-        </el-col>
-      </div>
-      <div id="occupy">
-        <el-col style="text-align:left;font-weight: bold;">#4</el-col>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
-        </el-col>
-        <hr style="width:80%;margin: 0 auto;"/>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
-        </el-col>
-      </div>
-      <div id="occupy">
-        <el-col style="text-align:left;font-weight: bold;">#5</el-col>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
-        </el-col>
-        <hr style="width:80%;margin: 0 auto;"/>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
-        </el-col>
-      </div>
-      <div id="occupy">
-        <el-col style="text-align:left;font-weight: bold;">#6</el-col>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
-        </el-col>
-        <hr style="width:80%;margin: 0 auto;"/>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
-        </el-col>
-      </div>
-      <div id="occupy">
-        <el-col style="text-align:left;font-weight: bold;">#7</el-col>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
-        </el-col>
-        <hr style="width:80%;margin: 0 auto;"/>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
-        </el-col>
-      </div>
-      <div id="occupy">
-        <el-col style="text-align:left;font-weight: bold;">#8</el-col>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
-        </el-col>
-        <hr style="width:80%;margin: 0 auto;"/>
-        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-          <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
-        </el-col>
-      </div>
-      <!-- <div v-for="n in 8" :key="n" id="occupy">
+      <div  id="occupy">
+                    <el-col style="text-align:left;font-weight: bold;">#1</el-col>
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
+                    </el-col>
+                    <hr style="width:80%;margin: 0 auto;" />
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
+                    </el-col>
+                </div> 
+                <div  id="occupy">
+                    <el-col style="text-align:left;font-weight: bold;">#2</el-col>
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
+                    </el-col>
+                    <hr style="width:80%;margin: 0 auto;" />
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
+                    </el-col>
+                </div> 
+                <div  id="occupy">
+                    <el-col style="text-align:left;font-weight: bold;">#3</el-col>
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
+                    </el-col>
+                    <hr style="width:80%;margin: 0 auto;" />
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
+                    </el-col>
+                </div> 
+                <div  id="occupy">
+                    <el-col style="text-align:left;font-weight: bold;">#4</el-col>
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
+                    </el-col>
+                    <hr style="width:80%;margin: 0 auto;" />
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
+                    </el-col>
+                </div> 
+                <div  id="occupy">
+                    <el-col style="text-align:left;font-weight: bold;">#5</el-col>
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
+                    </el-col>
+                    <hr style="width:80%;margin: 0 auto;" />
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
+                    </el-col>
+                </div> 
+                <div  id="occupy">
+                    <el-col style="text-align:left;font-weight: bold;">#6</el-col>
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
+                    </el-col>
+                    <hr style="width:80%;margin: 0 auto;" />
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
+                    </el-col>
+                </div> 
+                <div  id="occupy">
+                    <el-col style="text-align:left;font-weight: bold;">#7</el-col>
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
+                    </el-col>
+                    <hr style="width:80%;margin: 0 auto;" />
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
+                    </el-col>
+                </div> 
+                <div  id="occupy">
+                    <el-col style="text-align:left;font-weight: bold;">#8</el-col>
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
+                    </el-col>
+                    <hr style="width:80%;margin: 0 auto;" />
+                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                        <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
+                    </el-col>
+                </div> 
+                <!-- <div v-for="n in 8" :key="n" id="occupy">
                     <el-col style="text-align:left;font-weight: bold;">#1</el-col>
                     <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                         <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
@@ -391,508 +383,360 @@
     <!-- <div id="awatch">
   <img src="../../assets/cp.png" alt="" style="width: 70%;height: 70%;margin-left: 160px;">
 </div> -->
-    <!-- // 鐖剁骇妗� -->
-    <div class="img-dlpl">
-      <div class="img-car1"
-           :style="'z-index:999;left:247px;top:' + carposition1 + 'px;position:absolute;'">
-        <div v-show="cellshow1"
-             style="margin-top:10px;width:200px;height:5px;background-color:red;"></div>
-      </div>
-
-      <div class="img-car2"
-           :style="'z-index:999;left:704px;top:' + carposition2 + 'px;position:absolute;'">
-        <div v-show="cellshow2"
-             style="margin-top:10px;width:200px;height:5px;background-color:red;"></div>
-      </div>
-      <div v-show="cellshow"
-           style="width: 200px;height: 5px;position: absolute;top:60px;left: 490px;background-color: red;">
-
-      </div>
+<!-- // 鐖剁骇妗� -->
+<div class="img-dlpl" >
+    <div class="img-car1" :style="'z-index:999;left:247px;top:' + carposition1 + 'px;position:absolute;'">
+      <div v-show="cellshow1" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
     </div>
-
+    <div v-show="c1" class="img-car2" :style="'z-index:999;left:704px;top:' + carposition2 + 'px;position:absolute;'">
+      <div v-show="cellshow2" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
+    </div>
+    
+    <div v-show="c2" class="img-car3" :style="'z-index:999;left:247px;top:' + carposition3 + 'px;position:absolute;'">
+      <div v-show="cellshow3" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
+    </div>
+    <div class="img-car4" :style="'z-index:999;left:704px;top:' + carposition4 + 'px;position:absolute;'">
+      <div v-show="cellshow4" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
+    </div>
+    <div v-show="cellshow" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;">
+    </div>
+    <div v-show="cellshow5" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;">
+    </div>
+</div>
+    
   </div>
-  <el-dialog v-model="dialogFormVisible"
-             top="12vh"
-             width="85%"
-             title="璇风‘璁ょ幓鐠冧俊鎭�">
-    <div style="margin-left: 50px;margin-bottom: 10px;">
-      <div style="display: flex;">
-        <p style="margin-top: 4px;">纭鐘舵��:</p>
-        <el-button style="margin-left: 10px;size: mini;"
-                   type="success">鍏佽
-        </el-button>
-        <el-button style="margin-left: 10px;size: mini;"
-                   type="danger">涓嶅厑璁�
-        </el-button>
-        <p style="margin-left: 60px;margin-top: 4px;">褰撳墠鐘舵��:</p>
-        <div style="margin-top: 4px; margin-left: 10px;">鎵嬪姩</div>
-        <el-button style="margin-left: 10px;size: mini;"
-                   type="primary">鍒囨崲
-        </el-button>
-        <el-input placeholder="璇疯緭鍏ョ幓鐠僫d"
-                  style="width: 180px;size: mini;margin-left: 60px;"></el-input>
-        <el-button style="margin-left: 10px;size: mini;"
-                   type="primary">娣诲姞
-        </el-button>
-        <p style="margin-left: 60px;margin-top: 4px;">鐜荤拑id:</p>
-        <el-input style="width: 180px;size: mini;margin-left: 30px;"></el-input>
-      </div>
-      <div style="display: flex;">
-        <p style="margin-left: 290px;margin-top: 20px;font-weight: bold;">涓婄墖浣�</p>
-        <p style="margin-left: 630px;margin-top: 20px;font-weight: bold;">鎵爜浣�</p>
-      </div>
-      <div style="display: flex;">
-        <div style="margin-top: 20px;">
-          <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">褰撳墠淇℃伅</p>
-          <el-form label-position="right"
-                   label-width="90px">
-            <el-form-item style="width: 20vw"
-                          label="鐜荤拑id锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ョ幓鐠僫d"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="璁㈠崟缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="鍒楄〃缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ュ垪琛ㄧ紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="绠卞瓙缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ョ瀛愮紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="闀匡細">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ラ暱"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="瀹斤細">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ュ"></el-input>
-            </el-form-item>
-          </el-form>
-        </div>
-        <div style="margin-top: 20px;">
-          <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">淇敼淇℃伅</p>
-          <el-form label-position="right"
-                   label-width="90px">
-            <el-form-item style="width: 20vw"
-                          label="鐜荤拑id锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ョ幓鐠僫d"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="璁㈠崟缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="鍒楄〃缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ュ垪琛ㄧ紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="绠卞瓙缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ョ瀛愮紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="闀匡細">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ラ暱"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="瀹斤細">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ュ"></el-input>
-            </el-form-item>
-          </el-form>
-        </div>
-        <div style="margin-top: 20px;">
-          <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">淇敼淇℃伅</p>
-          <el-form label-position="right"
-                   label-width="90px">
-            <el-form-item style="width: 20vw"
-                          label="鐜荤拑id锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ョ幓鐠僫d"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="璁㈠崟缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="鍒楄〃缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ュ垪琛ㄧ紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="绠卞瓙缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ョ瀛愮紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="闀匡細">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ラ暱"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="瀹斤細">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ュ"></el-input>
-            </el-form-item>
-          </el-form>
-        </div>
-        <div style="margin-top: 20px;">
-          <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">褰撳墠淇℃伅</p>
-          <el-form label-position="right"
-                   label-width="90px">
-            <el-form-item style="width: 20vw"
-                          label="鐜荤拑id锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ョ幓鐠僫d"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="璁㈠崟缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="鍒楄〃缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ュ垪琛ㄧ紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="绠卞瓙缂栧彿锛�">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ョ瀛愮紪鍙�"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="闀匡細">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ラ暱"></el-input>
-            </el-form-item>
-            <el-form-item style="width: 20vw"
-                          label="瀹斤細">
-              <el-input style="width: 180px"
-                        size="mini"
-                        placeholder="璇疯緭鍏ュ"></el-input>
-            </el-form-item>
-          </el-form>
-        </div>
-      </div>
-    </div>
-    <template #footer>
-      <div id="dialog-footer">
-        <el-button type="primary"
-                   @click="dialogFormVisible = false">
-          纭
-        </el-button>
-        <el-button @click="dialogFormVisible = false">鍙栨秷</el-button>
-      </div>
-    </template>
-  </el-dialog>
-  <el-dialog v-model="dialogFormVisiblea"
-             top="10vh"
-             width="85%"
-             title="璁㈠崟淇℃伅">
-    <el-input placeholder="璇疯緭鍏ュ伐绋嬪彿"
-              style="width: 180px;size: mini;"></el-input>
-    <el-button style="margin-left: 10px;size: mini;"
-               type="primary">鏌ヨ
-    </el-button>
-    <el-table ref="table"
-              style="margin-top: 20px;height: 500px;"
-              @selection-change="handleSelectionChange"
-              :data="tableDataa"
-              :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-      <el-table-column prop="ida"
-                       align="center"
-                       label="鐜荤拑id"
-                       min-width="80"/>
-      <el-table-column prop="typea"
-                       align="center"
-                       label="宸ョ▼鍙�"
-                       min-width="120"/>
-      <el-table-column prop="typea"
-                       align="center"
-                       label="闀�"
-                       min-width="120"/>
-      <el-table-column prop="typea"
-                       align="center"
-                       label="瀹�"
-                       min-width="120"/>
-      <el-table-column prop="typea"
-                       align="center"
-                       label="鍘�"
-                       min-width="120"/>
-    </el-table>
-    <div id="demo-pagination-block">
-      <el-pagination style="margin-left: 850px;"
-                     v-model:current-page="currentPage4"
-                     v-model:page-size="pageSize4"
-                     :page-sizes="[100, 200, 300, 400]"
-                     :small="small"
-                     :disabled="disabled"
-                     :background="background"
-                     layout="total, sizes, prev, pager, next, jumper"
-                     :total="400"
-                     @size-change="handleSizeChange"
-                     @current-change="handleCurrentChange"/>
-    </div>
-  </el-dialog>
-  <el-dialog v-model="dialogFormVisibleb"
-             top="10vh"
-             width="85%"
-             title="鍑虹墖闃熷垪">
+<el-dialog v-model="dialogFormVisible" top="12vh" width="85%" title="璇风‘璁ょ幓鐠冧俊鎭�" >
+  <div style="margin-left: 50px;margin-bottom: 10px;">
     <div style="display: flex;">
-      <p style="margin-top: 4px;">闃熷垪鐘舵�侊細</p>
-      <p style="margin-top: 4px;">寮�濮�</p>
-      <el-button style="margin-left: 10px;size: mini;"
-                 type="danger">鍋滄
-      </el-button>
-      <el-button style="margin-left: 10px;size: mini;"
-                 type="primary">娣诲姞
-      </el-button>
+    <p style="margin-top: 4px;">纭鐘舵��:</p>
+    <el-button style="margin-left: 10px;size: mini;" type="success">鍏佽</el-button>
+    <el-button style="margin-left: 10px;size: mini;" type="danger">涓嶅厑璁�</el-button>
+    <p style="margin-left: 60px;margin-top: 4px;">褰撳墠鐘舵��:</p>
+    <div style="margin-top: 4px; margin-left: 10px;">鎵嬪姩</div>
+    <el-button style="margin-left: 10px;size: mini;" type="primary">鍒囨崲</el-button>
+    <el-input  placeholder="璇疯緭鍏ョ幓鐠僫d" style="width: 180px;size: mini;margin-left: 60px;"></el-input>
+    <el-button style="margin-left: 10px;size: mini;" type="primary">娣诲姞</el-button>
+    <p style="margin-left: 60px;margin-top: 4px;">鐜荤拑id:</p>
+    <el-input  style="width: 180px;size: mini;margin-left: 30px;"></el-input>
+  </div>
+    <div style="display: flex;">
+      <p style="margin-left: 290px;margin-top: 20px;font-weight: bold;">涓婄墖浣�</p>
+      <p style="margin-left: 630px;margin-top: 20px;font-weight: bold;">鎵爜浣�</p>
     </div>
-    <el-table ref="table"
-              style="margin-top: 20px;height: 500px;"
-              @selection-change="handleSelectionChange"
-              :data="tableDatab"
-              :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-      <el-table-column prop="id"
-                       align="center"
-                       label="閾濇id"
-                       min-width="80"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="鐜荤拑id"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="璁㈠崟缂栧彿"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="鍒楄〃缂栧彿"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="绠卞瓙缂栧彿"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="闀�"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="瀹�"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="鐜荤拑鐘舵��"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="椤哄簭"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="瀹屾垚"
-                       min-width="120"/>
-      <el-table-column prop="type"
-                       align="center"
-                       label="鎿嶄綔"
-                       min-width="120"/>
-    </el-table>
-  </el-dialog>
-
+    <div style="display: flex;">
+    <div style="margin-top: 20px;">
+      <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">褰撳墠淇℃伅</p>
+      <el-form label-position="right" label-width="90px">
+      <el-form-item style="width: 20vw" label="鐜荤拑id锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ョ幓鐠僫d"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="璁㈠崟缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="鍒楄〃缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ュ垪琛ㄧ紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="绠卞瓙缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ョ瀛愮紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="闀匡細">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ラ暱"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="瀹斤細">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ュ"></el-input>
+       </el-form-item>
+      </el-form>
+      </div>
+    <div style="margin-top: 20px;">
+      <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">淇敼淇℃伅</p>
+      <el-form label-position="right" label-width="90px">
+      <el-form-item style="width: 20vw" label="鐜荤拑id锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ョ幓鐠僫d"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="璁㈠崟缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="鍒楄〃缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ュ垪琛ㄧ紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="绠卞瓙缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ョ瀛愮紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="闀匡細">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ラ暱"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="瀹斤細">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ュ"></el-input>
+       </el-form-item>
+      </el-form>
+      </div>
+    <div style="margin-top: 20px;">
+      <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">淇敼淇℃伅</p>
+      <el-form label-position="right" label-width="90px">
+      <el-form-item style="width: 20vw" label="鐜荤拑id锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ョ幓鐠僫d"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="璁㈠崟缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="鍒楄〃缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ュ垪琛ㄧ紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="绠卞瓙缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ョ瀛愮紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="闀匡細">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ラ暱"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="瀹斤細">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ュ"></el-input>
+       </el-form-item>
+      </el-form>
+      </div>
+    <div style="margin-top: 20px;">
+      <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">褰撳墠淇℃伅</p>
+      <el-form label-position="right" label-width="90px">
+      <el-form-item style="width: 20vw" label="鐜荤拑id锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ョ幓鐠僫d"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="璁㈠崟缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="鍒楄〃缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ュ垪琛ㄧ紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="绠卞瓙缂栧彿锛�">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ョ瀛愮紪鍙�"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="闀匡細">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ラ暱"></el-input>
+       </el-form-item>
+      <el-form-item style="width: 20vw" label="瀹斤細">
+      <el-input style="width: 180px" size="mini" placeholder="璇疯緭鍏ュ"></el-input>
+       </el-form-item>
+      </el-form>
+      </div>
+    </div>
+        </div>
+  <template #footer>
+    <div id="dialog-footer">
+      <el-button type="primary" @click="dialogFormVisible = false">
+        纭
+      </el-button>
+      <el-button @click="dialogFormVisible = false">鍙栨秷</el-button>
+    </div>
+  </template>
+</el-dialog>
+<el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="璁㈠崟淇℃伅" >
+  <el-input  placeholder="璇疯緭鍏ュ伐绋嬪彿" style="width: 180px;size: mini;"></el-input>
+    <el-button style="margin-left: 10px;size: mini;" type="primary">鏌ヨ</el-button>
+    <el-table  ref="table" style="margin-top: 20px;height: 500px;"
+        @selection-change="handleSelectionChange"
+        :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="ida" align="center" label="鐜荤拑id" min-width="80" />
+          <el-table-column prop="typea" align="center" label="宸ョ▼鍙�" min-width="120" />
+          <el-table-column prop="typea" align="center" label="闀�" min-width="120" />
+          <el-table-column prop="typea" align="center" label="瀹�" min-width="120" />
+          <el-table-column prop="typea" align="center" label="鍘�" min-width="120" />
+        </el-table>
+        <div id="demo-pagination-block">
+    <el-pagination
+    style="margin-left: 850px;"
+      v-model:current-page="currentPage4"
+      v-model:page-size="pageSize4"
+      :page-sizes="[100, 200, 300, 400]"
+      :small="small"
+      :disabled="disabled"
+      :background="background"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="400"
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+    />
+  </div>
+</el-dialog>
+<el-dialog v-model="dialogFormVisibleb" top="10vh" width="85%" title="鍑虹墖闃熷垪" >
+  <div style="display: flex;">
+  <p style="margin-top: 4px;">闃熷垪鐘舵�侊細</p>
+  <p style="margin-top: 4px;">寮�濮�</p>
+    <el-button style="margin-left: 10px;size: mini;" type="danger">鍋滄</el-button>
+    <el-button style="margin-left: 10px;size: mini;" type="primary">娣诲姞</el-button>
+  </div>
+    <el-table  ref="table" style="margin-top: 20px;height: 500px;"
+        @selection-change="handleSelectionChange"
+        :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="id" align="center" label="閾濇id" min-width="80" />
+          <el-table-column prop="type" align="center" label="鐜荤拑id" min-width="120" />
+          <el-table-column prop="type" align="center" label="璁㈠崟缂栧彿" min-width="120" />
+          <el-table-column prop="type" align="center" label="鍒楄〃缂栧彿" min-width="120" />
+          <el-table-column prop="type" align="center" label="绠卞瓙缂栧彿" min-width="120" />
+          <el-table-column prop="type" align="center" label="闀�" min-width="120" />
+          <el-table-column prop="type" align="center" label="瀹�" min-width="120" />
+          <el-table-column prop="type" align="center" label="鐜荤拑鐘舵��" min-width="120" />
+          <el-table-column prop="type" align="center" label="椤哄簭" min-width="120" />
+          <el-table-column prop="type" align="center" label="瀹屾垚" min-width="120" />
+          <el-table-column prop="type" align="center" label="鎿嶄綔" min-width="120" />
+        </el-table>
+</el-dialog>
+ 
 </template>
 <style scoped>
-#dt {
-  display: block;
-  float: left;
-  line-height: 20px;
-  margin-left: 100px;
-}
-
-#dta {
-  display: block;
-  float: left;
-  line-height: 20px;
-  margin-left: 80%;
-}
-
-#dialog-footer {
+ 
+#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
+#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
+#dialog-footer{
   text-align: center;
   margin-top: -15px;
 }
-
-#message {
+#message{
   text-align: center;
   align-items: center;
   color: black;
-  width: 200px;
-  height: 100px;
-  background-color: #337ecc;
-  margin-left: 28%;
+   width: 200px;
+   height: 100px;
+   background-color: #337ecc;
+   margin-left: 28%;
 }
-
-#awatch {
+#awatch{
   height: 450px;
 }
-
 #occupy {
-  height: 100%;
-  width: 15%;
-  background-color: white;
-  margin: 0px 8px 0px 8px;
-  border: 1px #ebeef5 solid;
-  text-align: center;
-  padding: 5px;
+    height: 100%;
+    width: 15%;
+    background-color: white;
+    margin: 0px 8px 0px 8px;
+    border: 1px #EBEEF5 solid;
+    text-align: center;
+    padding: 5px;
 }
 #biao {
-  font-size: 12px;
+    font-size: 12px;
 }
 #zhi {
-  font-size: 18px;
-  font-weight: bold;
+    font-size: 18px;
+    font-weight: bold;
 }
-
 #demo-pagination-block + #demo-pagination-block {
   margin-top: 10px;
 }
-
 #demo-pagination-block #demonstration {
   margin-bottom: 16px;
 }
-
 ::-webkit-scrollbar {
-  width: 0 !important;
+     width: 0 !important;
+   }
+   ::-webkit-scrollbar {
+     width: 0 !important;height: 0;
+   }
+   .img-list{
+    
+  position:relative;
 }
-
-::-webkit-scrollbar {
-  width: 0 !important;
-  height: 0;
-}
-
-.img-list {
-  position: relative;
-}
-
-.data-img {
-  @apply float-none;
-
-  width: 100%;
-  height: 16rem;
+.data-img{
+  @apply float-none ;
+  
+  width:100%;
+  height:16rem;
   background: rgba(0, 0, 0, 0);
   opacity: 1;
   border-radius: 0.5rem 0.5rem 0px 0px;
+ 
 }
-
-.check-img {
+.check-img{
   position: absolute;
   width: 3.3125rem;
   height: 2.9375rem;
-  top: 20rem;
+  top:20rem;
   right: 57rem;
   z-index: 10;
+  
 }
-
-.check-imga {
+.check-imga{
   position: absolute;
   width: 3.3125rem;
   height: 2.9375rem;
-  top: 15rem;
+  top:15rem;
   right: 28.5rem;
   z-index: 10;
+  
 }
-
 .vertical {
-  width: 45px;
-  height: 25px;
-  background-color: #409eff;
-  top: 485px; /* 鍒濆浣嶇疆 */
-  left: 899px; /* 姘村钩灞呬腑 */
-  transform: translateX(-50%);
-  animation: move-vertical 6s infinite; /* 浠庝笂鍒颁笅鍔ㄧ敾锛屾寔缁�6绉掞紝鏃犻檺寰幆 */
+    width: 45px;
+    height: 25px;
+    background-color: #409EFF;
+    top: 485px; /* 鍒濆浣嶇疆 */
+    left: 899px; /* 姘村钩灞呬腑 */
+    transform: translateX(-50%);
+    animation: move-vertical 6s infinite; /* 浠庝笂鍒颁笅鍔ㄧ敾锛屾寔缁�6绉掞紝鏃犻檺寰幆 */
 }
-
+ 
 @keyframes move-vertical {
-  0% {
-    top: 485px; /* 璧峰浣嶇疆 */
-  }
-  100% {
-    top: calc(100% - 210px); /* 浠庝笂鍒颁笅缁撴潫浣嶇疆 */
-  }
+    0% {
+        top: 485px; /* 璧峰浣嶇疆 */
+    }
+    100% {
+        top: calc(100% - 210px); /* 浠庝笂鍒颁笅缁撴潫浣嶇疆 */
+    }
 }
-
-.img-dlpl {
+ 
+.img-dlpl{
   margin-left: 200px;
-  background-image: url('../../assets/dlpl.png');
+  background-image:url('../../assets/dlpl.png');
   background-repeat: no-repeat;
-  background-attachment: local;
-  min-height: 400px;
-  width: 1200px;
-  max-width: 100%;
-  background-size: 1200px 400px;
-  overflow: hidden;
-  position: relative;
+    background-attachment: local;
+    min-height: 400px;
+    width: 1200px;
+    max-width: 100%;
+    background-size: 1200px 400px;
+    overflow: hidden;
+    position:relative
 }
-
-.img-car1 {
-  background-image: url('../../assets/lpl.jpg');
+.img-car1{
+  background-image:url('../../assets/lp.png');
   position: absolute;
   background-repeat: no-repeat;
-  background-attachment: local;
-  min-height: 200px;
-  width: 200px;
-  max-width: 100%;
-  background-size: 200px 70px;
-  overflow: hidden;
-  position: relative;
+    background-attachment: local;
+    min-height: 200px;
+    width: 200px;
+    max-width: 100%;
+    background-size: 200px 70px;
+    overflow: hidden;
+    position:relative
 }
-
-.img-car2 {
-  background-image: url('../../assets/lpla.jpg');
+.img-car2{
+  background-image:url('../../assets/lpa.png');
   position: absolute;
   background-repeat: no-repeat;
-  background-attachment: local;
-  min-height: 200px;
-  width: 200px;
-  max-width: 100%;
-  background-size: 200px 70px;
-  overflow: hidden;
-  position: relative;
+    background-attachment: local;
+    min-height: 200px;
+    width: 200px;
+    max-width: 100%;
+    background-size: 200px 70px;
+    overflow: hidden;
+    position:relative
+}
+.img-car3{
+  background-image:url('../../assets/lp.png');
+  position: absolute;
+  background-repeat: no-repeat;
+    background-attachment: local;
+    min-height: 200px;
+    width: 200px;
+    max-width: 100%;
+    background-size: 200px 70px;
+    overflow: hidden;
+    position:relative
+}
+.img-car4{
+  background-image:url('../../assets/lpa.png');
+  position: absolute;
+  background-repeat: no-repeat;
+    background-attachment: local;
+    min-height: 200px;
+    width: 200px;
+    max-width: 100%;
+    background-size: 200px 70px;
+    overflow: hidden;
+    position:relative
 }
 </style>
\ No newline at end of file
diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue
index b4e4821..efba1a1 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicData.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -3,99 +3,136 @@
 import {reactive} from "vue";
 import {useRouter} from "vue-router"
 const router = useRouter()
+const adda = ref(false)
 
-import { ref } from 'vue'
+import request from "@/utils/request"
+import { ref, onMounted } from "vue";
+// import { ref } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
+//  import LanguageMixin from './lang/LanguageMixin'
 
-const tableData = [
-  {
-    id: '1',
-    long: '1005',
-    wide: '183.6',
-    thick: '1991',
-    type: '寰呰瘑鍒�',
-    typea: '1',
-  },
-  {
-    id: '2',
-    long: '105',
-    wide: '183',
-    thick: '191',
-    typea: '1',
-    type: '寰呰瘑鍒�'
-  },
-  {
-    id: '2',
-    long: '105',
-    wide: '183',
-    thick: '191',
-    typea: '1',
-    type: '寰呰瘑鍒�'
-  },
-]
-const open = () => {
-  ElMessageBox.confirm(
-    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-    .then(() => {
-      ElMessage({
-        type: 'success',
-        message: '鍒犻櫎鎴愬姛锛�',
-      })
+const tableData = ref([])
+const slot = ref('')
+  
+
+request.post("/cacheGlass/taskCache/selectEdgTask").then((res) => {
+          if (res.code == 200) {
+            
+          console.log(res.data);
+          tableData.value = res.data
+          console.log(res.data[0].slot);
+          } else {
+          ElMessage.warning(res.msg)
+        
+          }
+          });
+
+//   const getTableRow = (row,type) =>{
+//   switch (type) {
+//     case 'delete':{
+//       let flowData = ref({
+//         id:0,
+//         slot:row.slot
+//       })
+//       request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass",flowData.value).then((res) => {
+//         if(res.code==200){
+//           ElMessage.success(t('searchOrder.msgDeleteSuccess'))
+//           router.push({path:'/main/delivery/selectDelivery',query:{random:Math.random()}})
+//         }else{
+//           ElMessage.warning(res.msg)
+//           router.push("/login")
+//         }
+//       })
+
+//       return
+//     }
+//   }
+// }
+// let slots = ref({
+//   id:0,
+//    slot: slot.value
+// })
+const open = async(row) => {  
+  try {  
+    const confirmResult = await ElMessageBox.confirm(  
+      '鏄惁鍒犻櫎璇ユ潯淇℃伅?',  
+      '鎻愮ず',  
+      {  
+        confirmButtonText: '鏄�',  
+        cancelButtonText: '鍙栨秷',  
+        type: 'warning',  
+      }  
+    );  
+    if (confirmResult === 'confirm') {  
+      // 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛  
+      const deleteResponse = await request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass", {
+        id:0,
+        slot: row.slot
     })
-    .catch(() => {
-      ElMessage({
-        type: 'info',
-        message: '鍒犻櫎澶辫触',
-      })
-    })
-}
-const getTableRow = (row,type) =>{
-  switch (type) {
-    case 'edit' :{
-      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-      router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
-      break
-    }
-    case 'delete':{
-      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
-      break
-    }
-  }
-}
-const dialogForm = () => {
-  ElMessageBox.confirm(
-    '鏄惁鐮存崯?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-  .then(() => {
-    // this.boxa = true
-    // this.box = false
-      
-    })
-}
-const dialogForma = () => {
-  ElMessageBox.confirm(
-    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-}
+      if (response.code == 200) {  
+        // 鍒犻櫎鎴愬姛锛屾偍鍙互鏍规嵁闇�瑕佸鐞嗘垚鍔熺殑鎯呭喌  
+        alert('鍒犻櫎鎴愬姛锛�');  
+      } else {  
+        // 鍒犻櫎澶辫触锛屾偍鍙互澶勭悊閿欒鎴栨樉绀洪敊璇俊鎭粰鐢ㄦ埛  
+        alert('鍒犻櫎澶辫触锛�' + deleteResponse.message);  
+      }  
+    }  
+  } catch (error) {  
+    // 澶勭悊鍙兘鍑虹幇鐨勯敊璇紝姣斿 ElMessageBox 鎶涘嚭鐨勫紓甯哥瓑  
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+};  
+// const open = () => {
+//   ElMessageBox.confirm(
+//     '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+//     '鎻愮ず',
+//     {
+//       confirmButtonText: '鏄�',
+//       cancelButtonText: '鍙栨秷',
+//       type: 'warning',
+//     }
+//   )
+//     .then(() => {
+//       ElMessage({
+//         type: 'success',
+//         message: '鍒犻櫎鎴愬姛锛�',
+//       })
+//     })
+//     .catch(() => {
+//       ElMessage({
+//         type: 'info',
+//         message: '鍒犻櫎澶辫触',
+//       })
+//     })
+// }
+// 鍒犻櫎
+// const handleBindRacka = (row) => {
+//   adda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+// };
+// // 鍒犻櫎
+// const handleConfirma = async () => {
+//   try {
+//       window.localStorage.setItem('slot', res.data.slot)
+//     let slot = window.localStorage.getItem('slot')
+//     const response = await request.post('/cacheGlass/edgStorageCage/edgStorageCageGlass', {
+//       slot: slot.value,
+//       id: 0
+//     }); 
+ 
+//     if (response.code == 200) {
+//       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+//       ElMessage.success(response.message);
+//       adda.value = false;
+//     } else {
+//       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+//       ElMessage.error(response.msg);
+//     }
+//   } catch (error) {
+//     // 澶勭悊閿欒
+//     console.error(error);
+//   }
+// };
+
 const gridOptions = reactive({
   border:  "full",//琛ㄦ牸鍔犺竟妗�
   keepSource: true,//淇濇寔婧愭暟鎹�
@@ -131,36 +168,48 @@
       'wide': '1005',
       'thick': '183.6',
     }
-  ],
+  ]
+ 
 })
+
+
 
 </script>
 
 <template>
   <div>
-    <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
-      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;">
-        <el-table height="100%" ref="table" 
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
+      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+        <el-table height="240" ref="table" 
         @selection-change="handleSelectionChange"
         :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id" align="center" label="id" min-width="80" />
-          <el-table-column prop="long" align="center" label="闀�" min-width="120" />
-          <el-table-column prop="wide" align="center" label="瀹�" min-width="120" />
-          <el-table-column prop="wide" align="center" label="鍘氬害" min-width="120" />
-          <el-table-column prop="wide" align="center" label="鑶滅郴" min-width="120" />
-          <el-table-column prop="wide" align="center" label="鍑虹墖椤哄簭" min-width="120" />
-          <el-table-column prop="wide" align="center" label="娴佺▼鍗″彿" min-width="120" />
-          <el-table-column prop="wide" align="center" label="鍏朵粬" min-width="120" />
+          <el-table-column prop="slot" align="center" label="id" min-width="80" />
+          <el-table-column prop="glass_id" align="center" label="闀�" min-width="80" />
+          <el-table-column prop="width" align="center" label="瀹�" min-width="120" />
+          <el-table-column prop="height" align="center" label="鍘氬害" min-width="120" />
+          <el-table-column prop="height" align="center" label="鑶滅郴" min-width="120" />
+          <el-table-column prop="height" align="center" label="鍑虹墖椤哄簭" min-width="120" />
+          <el-table-column prop="height" align="center" label="娴佺▼鍗″彿" min-width="120" />
+          <el-table-column prop="height" align="center" label="鍏朵粬" min-width="120" />
+          <el-table-column
+            align="center"
+            label="鍚敤鐘舵��"
+            min-width="80"
+            prop="enable_state"
+          >
+          <template #default="scope">
+            <el-tag type="success" >{{ scope.row.enable_state==1?"鍚敤":"鏈惎鐢�"  }}</el-tag>
+          </template>
+          </el-table-column>
           <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
-            <template #default>
-              <el-button size="mini" type="text" plain  @click="dialogForm">鐮存崯</el-button>
-              <el-button size="mini" type="text" plain  @click="dialogForma">鍒犻櫎</el-button>
+            <template #default="scope">
+              <el-button size="mini" type="text" plain  @click="open(scope.row)">鐮存崯</el-button>
+              <el-button size="mini" type="text" plain  @click="open(scope.row)">鍒犻櫎</el-button>
             </template>
         </el-table-column>
         </el-table>
       </div>
     </el-card>
-   
   </div>
 </template>
 
@@ -182,14 +231,7 @@
    margin-left: 28%;
 }
 #awatch{
-  height: 450px;
-}
-#main-body{
-  margin-top: -20px;
-  margin-left: 300px;
-}
-#main-bodya{
-  margin-top: -10px;
-  margin-left: 100px;
+  height: 460px;
+  /* margin-top: -60px; */
 }
 </style>
\ No newline at end of file
diff --git a/UI-Project/src/views/User/permissions.vue b/UI-Project/src/views/User/permissions.vue
new file mode 100644
index 0000000..15a996d
--- /dev/null
+++ b/UI-Project/src/views/User/permissions.vue
@@ -0,0 +1,461 @@
+<script lang="ts" setup>
+import {Search} from "@element-plus/icons-vue";
+import {reactive} from "vue";
+import {useRouter} from "vue-router"
+import { ref } from 'vue'
+
+const router = useRouter()
+const value1 = ref(true)
+const add = ref(false)
+const adda = ref(false)
+
+const changer = ref(false)
+import { ElMessage, ElMessageBox } from 'element-plus'
+
+const tableData = [
+  {
+    id: '1',
+    long: '1005',
+    wide: '183.6',
+    thick: '1991',
+    time: '2024/4/1',
+    type: '寰呰瘑鍒�',
+    typea: '1',
+  },
+  {
+    id: '2',
+    long: '105',
+    wide: '183',
+    time: '2024/4/1',
+    thick: '191',
+    typea: '1',
+    type: '寰呰瘑鍒�'
+  },
+  {
+    id: '2',
+    long: '105',
+    wide: '183',
+    time: '2024/4/1',
+    thick: '191',
+    typea: '1',
+    type: '寰呰瘑鍒�'
+  },
+]
+const open = () => {
+  ElMessageBox.confirm(
+    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+    '鎻愮ず',
+    {
+      confirmButtonText: '鏄�',
+      cancelButtonText: '鍙栨秷',
+      type: 'warning',
+    }
+  )
+    .then(() => {
+      ElMessage({
+        type: 'success',
+        message: '鍒犻櫎鎴愬姛锛�',
+      })
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '鍒犻櫎澶辫触',
+      })
+    })
+}
+const getTableRow = (row,type) =>{
+  switch (type) {
+    case 'edit' :{
+      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+      router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
+      break
+    }
+    case 'delete':{
+      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
+      break
+    }
+  }
+}
+const dialogForm = () => {
+  ElMessageBox.confirm(
+    '鏄惁閲嶇疆瀵嗙爜?',
+    '鎻愮ず',
+    {
+      confirmButtonText: '鏄�',
+      cancelButtonText: '鍙栨秷',
+      type: 'warning',
+    }
+  )
+  .then(() => {
+    // this.boxa = true
+    // this.box = false
+      
+    })
+}
+const dialogForma = () => {
+  ElMessageBox.confirm(
+    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+    '鎻愮ず',
+    {
+      confirmButtonText: '鏄�',
+      cancelButtonText: '鍙栨秷',
+      type: 'warning',
+    }
+  )
+}
+
+const options = [
+  {
+    value: 'Option1',
+    label: 'admin',
+  },
+  {
+    value: 'Option2',
+    label: 'ueser2',
+  },
+  {
+    value: 'Option3',
+    label: 'ueser3',
+  },
+]
+const optionsa = [
+  {
+    valuea: 'Option1',
+    labela: '姝e父',
+  },
+  {
+    valuea: 'Option2',
+    labela: '绂佺敤',
+  },
+]
+
+const data= reactive({
+   tableList:[]//table鏁版嵁
+})
+
+const beforeChange = () => {
+  return new Promise((resolve) => {
+    setTimeout(() => {
+      ElMessage.success("淇敼鎴愬姛锛�");
+      return resolve(true);
+    }, 1000);
+  });
+};
+
+// //js灞傦紝瀹炴垬鐗堟湰,涓庡悗鍙版帴鍙d氦浜�
+// const gettableList = (id) = >{
+//   xxx鎺ュ彛.({
+//    id:id
+// }).then((res)=>{
+//    //灏嗘暟鎹紶缁檈l-table缁戝畾鐨�:data=>data.tableList
+//    data.tableList = res.data
+   
+// })
+// }
+ 
+// //鏈�鍚庡皢璇锋眰鍑芥暟鎸傝浇鍒皏ue瑙嗗浘涓�
+// onMounted(() => {
+//   gettableList ()
+
+// })
+// const delete = () => {
+//   ElMessageBox.confirm(
+//     '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+//     '鎻愮ず',
+//     {
+//       confirmButtonText: '鏄�',
+//       cancelButtonText: '鍙栨秷',
+//       type: 'warning',
+//     }
+//   )
+//   .then(() => {
+      
+//     })
+// }
+const gridOptions = reactive({
+  border:  "full",//琛ㄦ牸鍔犺竟妗�
+  keepSource: true,//淇濇寔婧愭暟鎹�
+  align: 'center',//鏂囧瓧灞呬腑
+  stripe:true,//鏂戦┈绾�
+  rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  id: 'OrderList',
+  showFooter: true,//鏄剧ず鑴�
+  printConfig: {},
+  importConfig: {},
+  exportConfig: {},
+  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+  showOverflow:true,
+  columnConfig: {
+    resizable: true,
+    useKey: true
+  },
+  filterConfig: {   //绛涢�夐厤缃」
+    remote: true
+  },
+  customConfig: {
+    storage: true
+  },
+  editConfig: {
+    trigger: 'click',
+    mode: 'row',
+    showStatus: true
+  },
+  data:  [
+    {
+      'id': '1',
+      'long': '5',
+      'wide': '1005',
+      'thick': '183.6',
+      'time': '2024/4/1',
+    }
+  ]
+})
+
+</script>
+
+<template>
+  <div>
+        <el-button type="primary" style="margin-top: 10px;margin-left: 10px;"  size="mini" id="searchButton" @click="add = true">娣诲姞鐢ㄦ埛</el-button>
+        <el-input
+          clearable
+          placeholder="璇疯緭鍏ョ敤鎴峰悕"
+          size="mini"
+          style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;"
+        />
+        <el-input
+          clearable
+          placeholder="璇疯緭鍏ラ偖绠�"
+          size="mini"
+          style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;"
+        />
+        <el-button type="primary" size="mini" @click="searchSubmit" style="margin-top: 10px;">鏌ヨ</el-button >
+        <el-button type="primary" size="mini" @click="empty" style="margin-top: 10px;">娓呯┖</el-button>
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
+      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;">
+        <el-table height="100%" ref="table" 
+        @selection-change="handleSelectionChange"
+        :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="id" align="center" label="鐢ㄦ埛鍚�" min-width="80" />
+          <el-table-column prop="long" align="center" label="閭" min-width="120" />
+          <el-table-column prop="time" align="center" label="鍒涘缓鏃堕棿" min-width="120" />
+          <el-table-column  align="center" prop="changer"  label="鏄惁绂佺敤"   min-width="140"  >
+           <template #default="scope">
+           <el-switch  v-model="scope.row.changer"  :before-change="beforeChange" />
+         </template>
+         </el-table-column>
+
+          <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
+            <template #default>
+              <el-button size="mini" type="text" plain  @click="dialogForm">閲嶇疆瀵嗙爜</el-button>
+              <el-button size="mini" type="text" plain  @click="adda = true">缂栬緫</el-button>
+              <el-button size="mini" type="text" plain  @click="dialogForma">鍒犻櫎</el-button>
+            </template>
+        </el-table-column>
+        </el-table>
+      </div>
+    </el-card>
+   
+  </div>
+  
+  <el-dialog v-model="add" top="23vh" width="37%" title="娣诲姞鐢ㄦ埛" >
+    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
+            <el-form  size="mini" label-width="150px">
+      <el-form label-width="100px" label-position="right">
+        <el-row style="margin-top: -15px;margin-bottom: -2px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
+                <el-input  autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="瑙掕壊锛�" :required="true" style="width: 25vw;">
+                <el-select
+               v-model="value"
+               clearable
+               placeholder="璇烽�夋嫨瑙掕壊"
+               style="width: 330px"
+             >
+               <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="閭锛�" :required="true" style="width: 25vw;">
+                <el-input autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="鏄惁绂佺敤" :required="true" style="width: 25vw;">
+                <el-select
+               v-model="value"
+               clearable
+               placeholder="璇烽�夋嫨鏄惁绂佺敤"
+               style="width: 330px"
+             >
+               <el-option
+            v-for="item in optionsa"
+            :key="item.valuea"
+            :label="item.labela"
+            :value="item.valuea"
+          />
+        </el-select>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="瀵嗙爜锛�" :required="true" style="width: 25vw;">
+                <el-input autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        </el-form>
+            </el-form>
+          </div>
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="getTableRow('edit')">
+          纭
+        </el-button>
+        <el-button @click="add = false">鍙栨秷</el-button>
+      </div>
+    </template>
+  </el-dialog>  
+  <el-dialog v-model="adda" top="23vh" width="37%" title="淇敼鐢ㄦ埛" >
+    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
+            <el-form  size="mini" label-width="150px">
+      <el-form label-width="100px" label-position="right">
+        <el-row style="margin-top: -15px;margin-bottom: -2px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
+                <el-input  autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="瑙掕壊锛�" :required="true" style="width: 25vw;">
+                <el-select
+               v-model="value"
+               clearable
+               placeholder="璇烽�夋嫨瑙掕壊"
+               style="width: 330px"
+             >
+               <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="閭锛�" :required="true" style="width: 25vw;">
+                <el-input autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="鏄惁绂佺敤" :required="true" style="width: 25vw;">
+                <el-select
+               v-model="value"
+               clearable
+               placeholder="璇烽�夋嫨鏄惁绂佺敤"
+               style="width: 330px"
+             >
+               <el-option
+            v-for="item in optionsa"
+            :key="item.valuea"
+            :label="item.labela"
+            :value="item.valuea"
+          />
+        </el-select>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="瀵嗙爜锛�" :required="true" style="width: 25vw;">
+                <el-input autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        </el-form>
+            </el-form>
+          </div>
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="getTableRow('edit')">
+          纭
+        </el-button>
+        <el-button @click="adda = false">鍙栨秷</el-button>
+      </div>
+    </template>
+  </el-dialog>
+</template>
+
+<style scoped>
+
+#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
+#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
+#dialog-footer{
+  text-align: center;
+  margin-top: -15px;
+}
+#message{
+  text-align: center;
+  align-items: center;
+  color: black;
+   width: 200px;
+   height: 100px;
+   background-color: #337ecc;
+   margin-left: 28%;
+}
+#awatch{
+  height: 450px;
+}
+#main-body{
+  margin-top: -20px;
+  margin-left: 300px;
+}
+#main-bodya{
+  margin-top: -10px;
+  margin-left: 100px;
+}
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/User/rolelist.vue b/UI-Project/src/views/User/rolelist.vue
new file mode 100644
index 0000000..15a996d
--- /dev/null
+++ b/UI-Project/src/views/User/rolelist.vue
@@ -0,0 +1,461 @@
+<script lang="ts" setup>
+import {Search} from "@element-plus/icons-vue";
+import {reactive} from "vue";
+import {useRouter} from "vue-router"
+import { ref } from 'vue'
+
+const router = useRouter()
+const value1 = ref(true)
+const add = ref(false)
+const adda = ref(false)
+
+const changer = ref(false)
+import { ElMessage, ElMessageBox } from 'element-plus'
+
+const tableData = [
+  {
+    id: '1',
+    long: '1005',
+    wide: '183.6',
+    thick: '1991',
+    time: '2024/4/1',
+    type: '寰呰瘑鍒�',
+    typea: '1',
+  },
+  {
+    id: '2',
+    long: '105',
+    wide: '183',
+    time: '2024/4/1',
+    thick: '191',
+    typea: '1',
+    type: '寰呰瘑鍒�'
+  },
+  {
+    id: '2',
+    long: '105',
+    wide: '183',
+    time: '2024/4/1',
+    thick: '191',
+    typea: '1',
+    type: '寰呰瘑鍒�'
+  },
+]
+const open = () => {
+  ElMessageBox.confirm(
+    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+    '鎻愮ず',
+    {
+      confirmButtonText: '鏄�',
+      cancelButtonText: '鍙栨秷',
+      type: 'warning',
+    }
+  )
+    .then(() => {
+      ElMessage({
+        type: 'success',
+        message: '鍒犻櫎鎴愬姛锛�',
+      })
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '鍒犻櫎澶辫触',
+      })
+    })
+}
+const getTableRow = (row,type) =>{
+  switch (type) {
+    case 'edit' :{
+      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+      router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
+      break
+    }
+    case 'delete':{
+      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
+      break
+    }
+  }
+}
+const dialogForm = () => {
+  ElMessageBox.confirm(
+    '鏄惁閲嶇疆瀵嗙爜?',
+    '鎻愮ず',
+    {
+      confirmButtonText: '鏄�',
+      cancelButtonText: '鍙栨秷',
+      type: 'warning',
+    }
+  )
+  .then(() => {
+    // this.boxa = true
+    // this.box = false
+      
+    })
+}
+const dialogForma = () => {
+  ElMessageBox.confirm(
+    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+    '鎻愮ず',
+    {
+      confirmButtonText: '鏄�',
+      cancelButtonText: '鍙栨秷',
+      type: 'warning',
+    }
+  )
+}
+
+const options = [
+  {
+    value: 'Option1',
+    label: 'admin',
+  },
+  {
+    value: 'Option2',
+    label: 'ueser2',
+  },
+  {
+    value: 'Option3',
+    label: 'ueser3',
+  },
+]
+const optionsa = [
+  {
+    valuea: 'Option1',
+    labela: '姝e父',
+  },
+  {
+    valuea: 'Option2',
+    labela: '绂佺敤',
+  },
+]
+
+const data= reactive({
+   tableList:[]//table鏁版嵁
+})
+
+const beforeChange = () => {
+  return new Promise((resolve) => {
+    setTimeout(() => {
+      ElMessage.success("淇敼鎴愬姛锛�");
+      return resolve(true);
+    }, 1000);
+  });
+};
+
+// //js灞傦紝瀹炴垬鐗堟湰,涓庡悗鍙版帴鍙d氦浜�
+// const gettableList = (id) = >{
+//   xxx鎺ュ彛.({
+//    id:id
+// }).then((res)=>{
+//    //灏嗘暟鎹紶缁檈l-table缁戝畾鐨�:data=>data.tableList
+//    data.tableList = res.data
+   
+// })
+// }
+ 
+// //鏈�鍚庡皢璇锋眰鍑芥暟鎸傝浇鍒皏ue瑙嗗浘涓�
+// onMounted(() => {
+//   gettableList ()
+
+// })
+// const delete = () => {
+//   ElMessageBox.confirm(
+//     '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+//     '鎻愮ず',
+//     {
+//       confirmButtonText: '鏄�',
+//       cancelButtonText: '鍙栨秷',
+//       type: 'warning',
+//     }
+//   )
+//   .then(() => {
+      
+//     })
+// }
+const gridOptions = reactive({
+  border:  "full",//琛ㄦ牸鍔犺竟妗�
+  keepSource: true,//淇濇寔婧愭暟鎹�
+  align: 'center',//鏂囧瓧灞呬腑
+  stripe:true,//鏂戦┈绾�
+  rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  id: 'OrderList',
+  showFooter: true,//鏄剧ず鑴�
+  printConfig: {},
+  importConfig: {},
+  exportConfig: {},
+  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+  showOverflow:true,
+  columnConfig: {
+    resizable: true,
+    useKey: true
+  },
+  filterConfig: {   //绛涢�夐厤缃」
+    remote: true
+  },
+  customConfig: {
+    storage: true
+  },
+  editConfig: {
+    trigger: 'click',
+    mode: 'row',
+    showStatus: true
+  },
+  data:  [
+    {
+      'id': '1',
+      'long': '5',
+      'wide': '1005',
+      'thick': '183.6',
+      'time': '2024/4/1',
+    }
+  ]
+})
+
+</script>
+
+<template>
+  <div>
+        <el-button type="primary" style="margin-top: 10px;margin-left: 10px;"  size="mini" id="searchButton" @click="add = true">娣诲姞鐢ㄦ埛</el-button>
+        <el-input
+          clearable
+          placeholder="璇疯緭鍏ョ敤鎴峰悕"
+          size="mini"
+          style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;"
+        />
+        <el-input
+          clearable
+          placeholder="璇疯緭鍏ラ偖绠�"
+          size="mini"
+          style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;"
+        />
+        <el-button type="primary" size="mini" @click="searchSubmit" style="margin-top: 10px;">鏌ヨ</el-button >
+        <el-button type="primary" size="mini" @click="empty" style="margin-top: 10px;">娓呯┖</el-button>
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
+      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;">
+        <el-table height="100%" ref="table" 
+        @selection-change="handleSelectionChange"
+        :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+          <el-table-column prop="id" align="center" label="鐢ㄦ埛鍚�" min-width="80" />
+          <el-table-column prop="long" align="center" label="閭" min-width="120" />
+          <el-table-column prop="time" align="center" label="鍒涘缓鏃堕棿" min-width="120" />
+          <el-table-column  align="center" prop="changer"  label="鏄惁绂佺敤"   min-width="140"  >
+           <template #default="scope">
+           <el-switch  v-model="scope.row.changer"  :before-change="beforeChange" />
+         </template>
+         </el-table-column>
+
+          <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
+            <template #default>
+              <el-button size="mini" type="text" plain  @click="dialogForm">閲嶇疆瀵嗙爜</el-button>
+              <el-button size="mini" type="text" plain  @click="adda = true">缂栬緫</el-button>
+              <el-button size="mini" type="text" plain  @click="dialogForma">鍒犻櫎</el-button>
+            </template>
+        </el-table-column>
+        </el-table>
+      </div>
+    </el-card>
+   
+  </div>
+  
+  <el-dialog v-model="add" top="23vh" width="37%" title="娣诲姞鐢ㄦ埛" >
+    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
+            <el-form  size="mini" label-width="150px">
+      <el-form label-width="100px" label-position="right">
+        <el-row style="margin-top: -15px;margin-bottom: -2px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
+                <el-input  autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="瑙掕壊锛�" :required="true" style="width: 25vw;">
+                <el-select
+               v-model="value"
+               clearable
+               placeholder="璇烽�夋嫨瑙掕壊"
+               style="width: 330px"
+             >
+               <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="閭锛�" :required="true" style="width: 25vw;">
+                <el-input autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="鏄惁绂佺敤" :required="true" style="width: 25vw;">
+                <el-select
+               v-model="value"
+               clearable
+               placeholder="璇烽�夋嫨鏄惁绂佺敤"
+               style="width: 330px"
+             >
+               <el-option
+            v-for="item in optionsa"
+            :key="item.valuea"
+            :label="item.labela"
+            :value="item.valuea"
+          />
+        </el-select>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="瀵嗙爜锛�" :required="true" style="width: 25vw;">
+                <el-input autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        </el-form>
+            </el-form>
+          </div>
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="getTableRow('edit')">
+          纭
+        </el-button>
+        <el-button @click="add = false">鍙栨秷</el-button>
+      </div>
+    </template>
+  </el-dialog>  
+  <el-dialog v-model="adda" top="23vh" width="37%" title="淇敼鐢ㄦ埛" >
+    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
+            <el-form  size="mini" label-width="150px">
+      <el-form label-width="100px" label-position="right">
+        <el-row style="margin-top: -15px;margin-bottom: -2px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
+                <el-input  autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="瑙掕壊锛�" :required="true" style="width: 25vw;">
+                <el-select
+               v-model="value"
+               clearable
+               placeholder="璇烽�夋嫨瑙掕壊"
+               style="width: 330px"
+             >
+               <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="閭锛�" :required="true" style="width: 25vw;">
+                <el-input autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="鏄惁绂佺敤" :required="true" style="width: 25vw;">
+                <el-select
+               v-model="value"
+               clearable
+               placeholder="璇烽�夋嫨鏄惁绂佺敤"
+               style="width: 330px"
+             >
+               <el-option
+            v-for="item in optionsa"
+            :key="item.valuea"
+            :label="item.labela"
+            :value="item.valuea"
+          />
+        </el-select>
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 10px;">
+          <el-col :span="6">
+              <div id="dt" style="font-size: 15px;">
+        <div>
+              <el-form-item label="瀵嗙爜锛�" :required="true" style="width: 25vw;">
+                <el-input autocomplete="off" />
+              </el-form-item></div></div>
+          </el-col>
+        </el-row>
+        </el-form>
+            </el-form>
+          </div>
+    <template #footer>
+      <div id="dialog-footer">
+        <el-button type="primary" @click="getTableRow('edit')">
+          纭
+        </el-button>
+        <el-button @click="adda = false">鍙栨秷</el-button>
+      </div>
+    </template>
+  </el-dialog>
+</template>
+
+<style scoped>
+
+#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
+#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
+#dialog-footer{
+  text-align: center;
+  margin-top: -15px;
+}
+#message{
+  text-align: center;
+  align-items: center;
+  color: black;
+   width: 200px;
+   height: 100px;
+   background-color: #337ecc;
+   margin-left: 28%;
+}
+#awatch{
+  height: 450px;
+}
+#main-body{
+  margin-top: -20px;
+  margin-left: 300px;
+}
+#main-bodya{
+  margin-top: -10px;
+  margin-left: 100px;
+}
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/User/user.vue b/UI-Project/src/views/User/user.vue
new file mode 100644
index 0000000..d0567d3
--- /dev/null
+++ b/UI-Project/src/views/User/user.vue
@@ -0,0 +1,49 @@
+<script setup>
+import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue"
+import {useRouter} from "vue-router";
+let indexFlag=$ref(1)
+function changeRouter(index){
+  indexFlag=index
+}
+
+</script>
+
+<template>
+  <!-- <div id="main-div"> -->
+   
+
+    <div id="main-body">
+      <router-view  />
+    </div>
+  <!-- </div> -->
+</template>
+
+<style scoped>
+#main-div{
+  width: 100%;
+  height: 100%;
+}
+#div-title{
+  height: 2%;
+  width: 100%;
+}
+#searchButton{
+  margin-top: -5px;
+  margin-left: 1rem;
+}
+/* #searchButton1{
+//margin-left: 10rem;
+} */
+/*main-body鏍峰紡*/
+#main-body{
+  width: 100%;
+  height: 95%;
+  /* margin-top: 1%; */
+}
+#select{
+  margin-left:0.5rem;
+}
+:deep(.indexTag .el-breadcrumb__inner){
+  color: #5CADFE !important;
+}
+</style>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index 343b4ca..bc344ce 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -12,7 +12,7 @@
     public static final Long DEFULT_ROLE = 1L;
 
     //A09鍑虹墖鐩爣浣嶇疆
-    public static final String A09_OUT_TARGET_POSITION = "2001";
+    public static final Integer A09_OUT_TARGET_POSITION = 2001;
     //A09鍑虹墖鐩爣浣嶇疆
-    public static final String A10_OUT_TARGET_POSITION = "2002";
+    public static final Integer A10_OUT_TARGET_POSITION = 2002;
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java
deleted file mode 100644
index 0d60791..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package com.mes.device;
-
-import com.mes.tools.InitUtil;
-import org.springframework.context.annotation.Configuration;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-public class PLCAutoMes extends Thread {
-
-    // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
-    private Configuration config;
-    private static InitUtil initUtil;
-
-
-    // 鍗曚緥瀹炰緥
-    private static PLCAutoMes instance;
-    private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
-    private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
-    private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
-    //    private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
-//            .getResource("/JsonFile/PlcParameter.json").getPath();
-//    private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json")
-//            .getPath();
-//    private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json")
-//            .getPath();
-    private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
-    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
-
-    // 璋冪敤initword鏂规硶
-
-    //
-    // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
-    public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes);
-    public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
-    public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
-
-    // 绉佹湁鏋勯�犲嚱鏁�
-    public PLCAutoMes() throws IOException {
-
-        initUtil = new InitUtil();
-    }
-
-    // 鑾峰彇鍗曚緥瀹炰緥
-    public static synchronized PLCAutoMes getInstance() throws IOException {
-        if (instance == null) {
-            instance = new PLCAutoMes();
-        }
-        return instance;
-    }
-
-    @Override
-    public void run() {
-        while (this != null) {
-            try {
-                Thread.sleep(100);
-
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-
-            // System.out.println(jsonFilePath);
-
-            // readAndUpdateWordValues(PlcReadObject);
-            InitUtil.readAndUpdateWordValues(PlcMesObject);
-//      readAndUpdateWordValues(PlcframeObject);
-            // readAndUpdateWordValues(PlcframeObject);
-
-            // readAndUpdateWordValues(plcStateObject);
-            //  int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
-            // System.out.println(index);
-            //  PlcMesObject.getPlcParameter("AddStart").getAddress(index);
-            // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
-            List<String> addresses = new ArrayList<>();
-            addresses.add("FeedID");
-            addresses.add("AddStart");
-            // System.out.println(addresses);
-            // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
-            List<String> addresses2 = new ArrayList<>();
-            addresses2.add("FeedID");
-            addresses2.add("FeedCarStatus");
-
-            //   System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
-
-        }
-    }
-}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
index 3fefdac..bc14c50 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
@@ -54,19 +54,29 @@
      */
     public String getAddress(int index) {
         String[] stringdatas = this.startAddress.trim().split("\\.");
-        if (stringdatas.length < 2)
+        if (stringdatas.length < 2) {
             return null;
+        }
         int dbwindex = 0;
         int bitindex = 0;
         if (stringdatas.length == 3) {
             dbwindex = Integer.parseInt(stringdatas[1]);
             bitindex = Integer.parseInt(stringdatas[2]);
         } else
+        {
             return null;
+        }
         dbwindex += index / 8;
         bitindex += index % 8;
         return stringdatas[0] + "." + dbwindex + "." + bitindex;
     }
+    /**
+     * 鑾峰彇鍦板潃
+     *
+     */
+    public String getAddress() {
+      return   getAddress(this.addressIndex);
+    }
 
 
     public void setAddressIndex(int addressindex) {
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
index 2a86a0f..f427416 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
@@ -1,9 +1,6 @@
 package com.mes.device;
 
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 public class PlcBitObject {
 
@@ -11,7 +8,8 @@
     private String plcAddressBegin;
     // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害
     private int plcAddressLength;
-    private ArrayList<PlcBitInfo> plcBitList;
+    //private ArrayList<PlcBitInfo> plcBitList;
+    private LinkedHashMap<String,PlcBitInfo> plcBitMap;
 
     /**
      * @return 鏁版嵁鍖哄紑濮嬪湴鍧�
@@ -44,8 +42,8 @@
     /**
      * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎
      */
-    public ArrayList<PlcBitInfo> getBitList() {
-        return plcBitList;
+    public LinkedHashMap<String,PlcBitInfo> getBitMap() {
+        return plcBitMap;
     }
 
     /**
@@ -55,38 +53,29 @@
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
     public PlcBitInfo getPlcBit(String codeid) {
-        if (plcBitList != null) {
-            for (PlcBitInfo plcbitInfo : plcBitList) {
+        if (plcBitMap != null) {
+            /*for (PlcBitInfo plcbitInfo : plcBitList) {
                 if (plcbitInfo.getCodeId().equals(codeid))
                     return plcbitInfo;
-            }
-            return null;
+            }*/
+            return plcBitMap.get(codeid);
         } else
+        {
             return null;
+        }
     }
 
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      *
-     * @param codeid 鍙傛暟鏍囪瘑
+     * @param codeids 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
     public List<Boolean> getPlcBitValues(List<String> codeids) {
         List<Boolean> arrayList = new ArrayList<>();
-        if (plcBitList != null) {
-            Map<String, Boolean> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
-            for (PlcBitInfo plcBitInfo : plcBitList) {
-                if (codeids.contains(plcBitInfo.getCodeId().toString())) {
-                    resultMap.put(plcBitInfo.getCodeId().toString(), plcBitInfo.getValue());
-                }
-            }
+        if (plcBitMap != null) {
             for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘�
-                Boolean value = resultMap.get(codeId);
-                if (value != null) {
-                    arrayList.add(value);
-                } else {
-                    arrayList.add(null); // 濡傛灉鎵句笉鍒板搴旂殑鍊硷紝娣诲姞 null
-                }
+                    arrayList.add(plcBitMap.get(codeId).getValue());
             }
         }
         return arrayList;
@@ -96,15 +85,7 @@
     public List<String> getAddressListByCodeId(List<String> codeIdList) {
         List<String> addressList = new ArrayList<>();
         for (String codeId : codeIdList) {
-            for (PlcBitInfo plcBitInfo : plcBitList) {
-                if (plcBitInfo.getCodeId().equals(codeId)) {
-                    int index = plcBitInfo.getAddressIndex();
-                    String address = plcBitInfo.getAddress(index);
-                    if (address != null) {
-                        addressList.add(address);
-                    }
-                }
-            }
+            addressList.add(plcBitMap.get(codeId).getAddress());
         }
         return addressList;
     }
@@ -116,11 +97,11 @@
      * @param param 鍙傛暟瀹炰緥
      */
     public void addPlcBit(PlcBitInfo param) {
-        if (plcBitList != null)
-            plcBitList.add(param);
+        if (plcBitMap != null)
+            plcBitMap.put(param.getCodeId(),param);
         else {
-            plcBitList = new ArrayList<PlcBitInfo>();
-            plcBitList.add(param);
+            plcBitMap = new LinkedHashMap<String,PlcBitInfo>();
+            plcBitMap.put(param.getCodeId(),param);
         }
     }
 
@@ -130,8 +111,9 @@
      * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
      */
     public void setPlcBitList(List<Boolean> plcValueArray) {
-        if (plcBitList != null) {
-            for (PlcBitInfo plcbitInfo : plcBitList) {
+        if (plcBitMap != null) {
+            Collection<PlcBitInfo> values=plcBitMap.values();
+            for (PlcBitInfo plcbitInfo : values) {
                 plcbitInfo.setValue(plcValueArray.get(plcbitInfo.getAddressIndex()));
             }
         }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
index 4969c73..38155f0 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
@@ -120,11 +120,6 @@
 //        return null;
     }
 
-    public int getPlcAddress() {
-
-        return addressIndex;
-    }
-
     public String getAddress() {
         return getAddress(this.addressIndex);
     }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
index 2d34674..b32c593 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
@@ -2,10 +2,7 @@
 
 import java.lang.reflect.Array;
 import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 public class PlcParameterObject {
 
@@ -13,7 +10,8 @@
     private String plcAddressBegin;
     // 鏁版嵁鍦板潃闀垮害锛氱涓�鍙傛暟鍒版渶鍚庝竴涓弬鏁扮殑闀垮害
     private int plcAddressLength;
-    private ArrayList<PlcParameterInfo> plcParameterList;
+    //private ArrayList<PlcParameterInfo> plcParameterList;
+    private LinkedHashMap<String,PlcParameterInfo> plcParameterMap;
 
 
     /**
@@ -47,8 +45,8 @@
     /**
      * @return 鑾峰彇鍙傛暟瀹炰緥闆嗗悎
      */
-    public ArrayList<PlcParameterInfo> getPlcParameterList() {
-        return plcParameterList;
+    public LinkedHashMap<String,PlcParameterInfo> getPlcParameterMap() {
+        return plcParameterMap;
     }
 
     /**
@@ -58,14 +56,19 @@
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
     public PlcParameterInfo getPlcParameter(String codeid) {
-        if (plcParameterList != null) {
+        if (plcParameterMap != null) {
+                    return plcParameterMap.get(codeid);
+        } else {
+            return null;
+        }
+        /*if (plcParameterList != null) {
             for (PlcParameterInfo plcParameterInfo : plcParameterList) {
                 if (plcParameterInfo.getCodeId().equals(codeid))
                     return plcParameterInfo;
             }
             return null;
         } else
-            return null;
+            return null;*/
     }
 
 
@@ -77,15 +80,15 @@
      */
     public List<String> getPlcParameterValues(List<String> codeids) {
         List<String> arrayList = new ArrayList<>();
-        if (plcParameterList != null) {
-            Map<String, PlcParameterInfo> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
+        if (plcParameterMap != null) {
+            /*Map<String, PlcParameterInfo> resultMap = new LinkedHashMap<>(); // 浣跨敤 LinkedHashMap 淇濈暀鎻掑叆椤哄簭
             for (PlcParameterInfo plcParameterInfo : plcParameterList) {
                 if (codeids.contains(plcParameterInfo.getCodeId())) {
                     resultMap.put(plcParameterInfo.getCodeId(), plcParameterInfo);
                 }
-            }
+            }*/
             for (String codeId : codeids) { // 鎸夌収浼犲叆鍙傛暟鐨勯『搴忛亶鍘�
-                PlcParameterInfo plcParameterInfo = resultMap.get(codeId);
+                PlcParameterInfo plcParameterInfo = plcParameterMap.get(codeId);
                 if (plcParameterInfo != null) {
                     arrayList.add(plcParameterInfo.getValue());
                 } else {
@@ -96,19 +99,22 @@
         return arrayList;
     }
 
-
+    /**
+     * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇浼犲叆鍙傛暟鐨刾lc鍦板潃
+     *
+     * @param codeIdList 鍙傛暟鏍囪瘑
+     * @return 浼犲叆鍙傛暟鐨刾lc鍦板潃
+     */
     public List<String> getAddressListByCodeId(List<String> codeIdList) {
         List<String> addressList = new ArrayList<>();
-        for (String codeId : codeIdList) {
-            for (PlcParameterInfo plcParameterInfo : plcParameterList) {
-                if (plcParameterInfo.getCodeId().equals(codeId)) {
-                    int index = plcParameterInfo.getAddressIndex();
-                    String address = plcParameterInfo.getAddress(index);
+        if (plcParameterMap!=null)
+        {
+            for (String codeId : codeIdList) {
+                    String address = plcParameterMap.get(codeId).getAddress();
                     if (address != null) {
                         addressList.add(address);
                     }
-                }
-            }
+        }
         }
         return addressList;
     }
@@ -120,12 +126,19 @@
      * @param param 鍙傛暟瀹炰緥
      */
     public void addPlcParameter(PlcParameterInfo param) {
-        if (plcParameterList != null)
+        if (plcParameterMap != null) {
+            plcParameterMap.put(param.getCodeId(), param);
+        }
+        else {
+            plcParameterMap =new  LinkedHashMap<String,PlcParameterInfo>();
+            plcParameterMap.put(param.getCodeId(), param);
+        }
+        /*if (plcParameterList != null)
             plcParameterList.add(param);
         else {
             plcParameterList = new ArrayList<PlcParameterInfo>();
             plcParameterList.add(param);
-        }
+        }*/
     }
 
     /**
@@ -134,7 +147,28 @@
      * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
      */
     public void setPlcParameterList(byte[] plcValueArray) {
-        if (plcParameterList != null) {
+        if (plcParameterMap != null) {
+            Collection<PlcParameterInfo> values=  plcParameterMap.values();
+            for (PlcParameterInfo plcParameterInfo :values) {
+                byte[] valueList = new byte[plcParameterInfo.getAddressLength()];
+//                System.out.println(plcParameterInfo.getAddressLength());
+                for (int i = 0; i < plcParameterInfo.getAddressLength(); i++) {
+                    Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
+                }
+                if (plcParameterInfo.getAddressLength() == 2) {
+                    plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
+                } else if (plcParameterInfo.getAddressLength() == 4) {
+                    plcParameterInfo.setValue(String.valueOf(byte2int(valueList)));
+                }
+                else if (plcParameterInfo.getAddressLength() >10) {
+                    plcParameterInfo.setValue((byteToHexString(valueList)));
+                } else {
+                    String valuestr = new String(valueList);
+                    plcParameterInfo.setValue(valuestr);
+                }
+            }
+        }
+/*        if (plcParameterList != null) {
 
             for (PlcParameterInfo plcParameterInfo : plcParameterList) {
 
@@ -158,7 +192,7 @@
                     plcParameterInfo.setValue(valuestr);
                 }
             }
-        }
+        }*/
     }
 
     /**
@@ -206,6 +240,4 @@
         String str = new String(bytes, StandardCharsets.UTF_8).trim();
         return str;
     }
-
-
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
index 0bf1a9f..733b805 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
@@ -104,24 +104,4 @@
 //        plcBitObject.setPlcBitList(getplcvlues);
         return plcBitObject;
     }
-
-    //
-    public static void readAndUpdateBitValues(PlcBitObject plcBitObject) {
-
-        Boolean[] values1 = {false, true, true, true, false, false, true, false,
-                false, true, true};
-        List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
-        //List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
-        plcBitObject.setPlcBitList(getplcvlues);
-    }
-
-
-    public static void readAndUpdateWordValues(PlcParameterObject plcParameterObject) {
-
-        byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x03};
-        // byte[] getplcvlues = MockS7PLC.getInstance().readByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
-        plcParameterObject.setPlcParameterList(getplcvlues);
-    }
-
-
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
index 6f1479f..577e794 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -1,11 +1,7 @@
 package com.mes.edgstoragecage.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
-import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
-import com.mes.pp.entity.OptimizeDetail;
-import com.mes.taskcache.entity.TaskCache;
 
 import java.util.List;
 import java.util.Map;
@@ -48,4 +44,12 @@
      * @return
      */
     EdgStorageCageDetails selectConformGlass(String glassId, int poor);
+
+    /**
+     * 鑾峰彇鍑虹墖淇℃伅鏁版嵁
+     * @param glassId
+     * @param poor
+     * @return
+     */
+    EdgStorageCageDetails selectOutGlass(String glassId, int poor);
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index 322ea68..3196f32 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -24,7 +24,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -41,13 +40,13 @@
 @Slf4j
 public class EdgStorageCageDetailsServiceImpl extends MPJBaseServiceImpl<EdgStorageCageDetailsMapper, EdgStorageCageDetails> implements EdgStorageCageDetailsService {
 
-    @Resource
+    @Autowired
     UpPattenUsageMapper upPattenUsageMapper;
 
     @Autowired
     OptimizeDetailMapper optimizeDetailMapper;
 
-    @Resource
+    @Autowired
     EdgStorageCageMapper edgStorageCageMapper;
 
     @Autowired
@@ -144,29 +143,79 @@
 
     /**
      * 鏌ヨ绗煎唴鐗堝浘宸�艰寖鍥村唴鐨�  姝ゅ昂瀵哥幓鐠�  濡傛棤鍒欐寜鐓� 閽㈠寲鐗堝浘搴忓彿 浠ュ強鐜荤拑搴忓彿
+     * @param glassId
+     * @param poor
+     * @return
+     */
+    @Override
+    public EdgStorageCageDetails selectConformGlass(String glassId, int poor){
+        //1.鍘荤鍐呮煡璇㈡灏哄鐨勭幓鐠� 鐩墠鐗堝浘宸�煎唴鐨勭幓鐠�  鏄惁鏈夊悓灏哄鐨�
+        //1.1 鏈夊悓灏哄鐨� 鍒欑敓鎴愬悓灏哄鐨勪换鍔�
+        //1.2 鏃犲悓灏哄鐨� 鍒欑敓鎴愮増鍥鹃『搴忔渶灏忕殑鍑虹墖
+        EdgStorageCageDetails edgStorageCageDetails= baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
+                .selectAll(EdgStorageCageDetails.class)
+                .eq(EdgStorageCageDetails::getGlassId,glassId)
+        );
+        List<EdgStorageCageDetails> listEdgStorageCageDetails= baseMapper.selectList(new LambdaQueryWrapper<EdgStorageCageDetails>()
+                .lt(EdgStorageCageDetails::getState,200)
+                .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId,EdgStorageCageDetails::getTemperingFeedSequence)
+        );
+        EdgStorageCageDetails minTemperingLayoutId=new EdgStorageCageDetails();
+        if(!listEdgStorageCageDetails.isEmpty()){
+            minTemperingLayoutId=listEdgStorageCageDetails.get(0);
+        }
+        EdgStorageCageDetails result=new EdgStorageCageDetails();
+        if(edgStorageCageDetails!=null&&minTemperingLayoutId!=null){
+            result=edgStorageCageMapper.selectJoinOne(EdgStorageCageDetails.class,new MPJLambdaWrapper<EdgStorageCage>()
+                    .selectAll(EdgStorageCageDetails.class)
+                    .leftJoin(EdgStorageCageDetails.class,on->on
+                            .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
+                            .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+                    .isNotNull(EdgStorageCageDetails::getSlot)
+                    .eq(EdgStorageCageDetails::getWidth,edgStorageCageDetails.getWidth())
+                    .eq(EdgStorageCageDetails::getHeight,edgStorageCageDetails.getHeight())
+                    .ge(EdgStorageCageDetails::getTemperingLayoutId,minTemperingLayoutId.getTemperingLayoutId())
+                    .le(EdgStorageCageDetails::getTemperingLayoutId,minTemperingLayoutId.getTemperingLayoutId()+poor)
+                    .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId,EdgStorageCageDetails::getTemperingFeedSequence)
+            );
+        }
+
+        if (result==null){
+            result=edgStorageCageMapper.selectJoinOne(EdgStorageCageDetails.class,new MPJLambdaWrapper<EdgStorageCage>()
+                    .selectAll(EdgStorageCageDetails.class)
+                    .leftJoin(EdgStorageCageDetails.class,on->on
+                            .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
+                            .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+                    .isNotNull(EdgStorageCageDetails::getSlot)
+                    .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId,EdgStorageCageDetails::getTemperingFeedSequence)
+            );
+        }
+        return result;
+    }
+
+    /**
+     * 鏌ヨ绗煎唴鐗堝浘宸�艰寖鍥村唴鐨�  姝ゅ昂瀵哥幓鐠�  濡傛棤鍒欐寜鐓� 閽㈠寲鐗堝浘搴忓彿 浠ュ強鐜荤拑搴忓彿
      *
      * @param glassId
      * @param poor
      * @return
      */
     @Override
-    public EdgStorageCageDetails selectConformGlass(String glassId, int poor) {
-        //1.鍘荤鍐呮煡璇㈡灏哄鐨勭幓鐠� 鐩墠鐗堝浘宸�煎唴鐨勭幓鐠�  鏄惁鏈夊悓灏哄鐨�
-        //1.1 鏈夊悓灏哄鐨� 鍒欑敓鎴愬悓灏哄鐨勪换鍔�
-        //1.2 鏃犲悓灏哄鐨� 鍒欑敓鎴愮増鍥鹃『搴忔渶灏忕殑鍑虹墖
-        log.info("鎸夌収鐜荤拑id锛歿}鑾峰彇鐜荤拑淇℃伅", glassId);
+    public EdgStorageCageDetails selectOutGlass(String glassId, int poor) {
         EdgStorageCageDetails oldEdgStorageCageDetails = null;
         if (StringUtils.isNotEmpty(glassId)) {
             oldEdgStorageCageDetails = baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
                     .selectAll(EdgStorageCageDetails.class)
                     .eq(EdgStorageCageDetails::getGlassId, glassId));
         }
+        log.info("鎸夌収鐜荤拑id锛歿}鑾峰彇鐜荤拑淇℃伅{}", glassId, oldEdgStorageCageDetails);
 
         LambdaQueryWrapper<TaskCache> wrapper = new LambdaQueryWrapper<TaskCache>().select(TaskCache::getGlassId).eq(TaskCache::getTaskType, "2");
         List<TaskCache> taskCacheList = taskCacheService.list(wrapper);
         List<String> glassIds = taskCacheList.stream().map(TaskCache::getGlassId).collect(Collectors.toList());
         log.info("鑾峰彇绗煎唴鎵�鏈夊凡鍑虹墖鐨勭幓鐠僫d淇℃伅:{}", glassIds);
 
+        //鑾峰彇绗煎唴鏈�灏忕増鍥緄d鍙婄増搴忎负鏈�灏忕殑鐜荤拑淇℃伅锛堢幓鐠僫d涓嶅湪浠诲姟琛ㄤ腑鐨勫嚭鐗囪褰曚腑锛�
         EdgStorageCageDetails minTemperingLayoutId = baseMapper.selectOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
                 .eq(EdgStorageCageDetails::getState, 100)
                 .notIn(CollectionUtils.isNotEmpty(glassIds), EdgStorageCageDetails::getGlassId, glassIds)
@@ -177,36 +226,24 @@
                 minTemperingLayoutId.getTemperingFeedSequence(), minTemperingLayoutId);
 
         EdgStorageCageDetails outEdgStorageCageDetails = null;
+
+        //todo:鑾峰彇绗煎瓙鍐呮渶澶х増鍥緄d鍜屾渶灏忕増鍥緄d鎻掑�硷紝鍒ゆ柇鏄惁澶т簬闃堝�硷紝澶т簬闃堝�肩洿鎺ュ嚭鏈�灏忕増鍥剧幓鐠�
+        //todo:閫昏緫1锛氳幏鍙栦袱鏉$嚎宸插嚭鏈�鍚庝竴鍧楃幓鐠冨湪绗煎唴鐩稿悓灏哄鎵�鍓╂暟閲忥紝浼樺厛璧版暟閲忓皯鐨勭嚎
+        //todo:閫昏緫2锛氫紭鍏堣蛋绌洪棽鐨勭嚎
+        //todo:闇�瑕佸湪鍗у紡鐞嗙墖绗艰鎯呰〃涓柊澧炵姸鎬侊紝鐢ㄦ潵琛ㄧず鐜荤拑杩涘嚭鐞嗙墖绗兼儏鍐�
         if (oldEdgStorageCageDetails != null && minTemperingLayoutId != null) {
             log.info("鎸夌収涓婁竴鐗囧凡鍑虹幓鐠冨搴}锛岄珮搴}锛屽強鐗堝浘id鍖洪棿{}鍒皗}鑾峰彇鍑虹墖浠诲姟鐜荤拑淇℃伅", oldEdgStorageCageDetails.getWidth()
                     , oldEdgStorageCageDetails.getHeight(), minTemperingLayoutId.getTemperingLayoutId(), minTemperingLayoutId.getTemperingLayoutId() + poor);
-            outEdgStorageCageDetails = edgStorageCageMapper.selectJoinOne(EdgStorageCageDetails.class, new MPJLambdaWrapper<EdgStorageCage>()
-                    .selectAll(EdgStorageCageDetails.class)
-                    .leftJoin(EdgStorageCageDetails.class, on -> on
-                            .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId)
-                            .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot))
-                    .isNotNull(EdgStorageCageDetails::getSlot)
+            outEdgStorageCageDetails = this.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+                    .notIn(CollectionUtils.isNotEmpty(glassIds), EdgStorageCageDetails::getGlassId, glassIds)
                     .eq(EdgStorageCageDetails::getWidth, oldEdgStorageCageDetails.getWidth())
                     .eq(EdgStorageCageDetails::getHeight, oldEdgStorageCageDetails.getHeight())
-                    .ge(EdgStorageCageDetails::getTemperingLayoutId, minTemperingLayoutId.getTemperingLayoutId())
-                    .le(EdgStorageCageDetails::getTemperingLayoutId, minTemperingLayoutId.getTemperingLayoutId() + poor)
                     .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId, EdgStorageCageDetails::getTemperingFeedSequence)
-                    .last("limit 1")
-            );
+                    .last("limit 1"));
             log.info("鍑虹墖浠诲姟鐨勭幓鐠冧俊鎭細{}", outEdgStorageCageDetails);
         }
-
         if (outEdgStorageCageDetails == null) {
             outEdgStorageCageDetails = minTemperingLayoutId;
-//            outEdgStorageCageDetails = edgStorageCageMapper.selectJoinOne(EdgStorageCageDetails.class, new MPJLambdaWrapper<EdgStorageCage>()
-//                    .selectAll(EdgStorageCageDetails.class)
-//                    .leftJoin(EdgStorageCageDetails.class, on -> on
-//                            .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId)
-//                            .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot))
-//                    .isNotNull(EdgStorageCageDetails::getSlot)
-//                    .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId, EdgStorageCageDetails::getTemperingFeedSequence)
-//                    .last("limit 1")
-//            );
         }
         return outEdgStorageCageDetails;
     }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index df47433..d559304 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -131,20 +131,21 @@
         int endcell = 0;
 
         List<TaskCache> oldTaskCacheList;
-        log.info("2銆佸垽鏂嚭鐗囩嚎璺紝鑾峰彇鏈�鍚庤鏉$嚎宸插嚭鐗囩殑浠诲姟淇℃伅(澶囨敞锛�0寰呮墽琛岋紝1宸叉墽琛�)锛岄兘绌洪棽浼樺厛鍑篈09绾�");
         if (line == 2) {
-            endcell = 2002;
+            endcell = Const.A10_OUT_TARGET_POSITION;
             oldTaskCacheList = taskCacheService.selectLastOutCacheInfos(Const.A10_OUT_TARGET_POSITION);
         } else {
-            endcell = 2001;
+            endcell = Const.A09_OUT_TARGET_POSITION;
             oldTaskCacheList = taskCacheService.selectLastOutCacheInfos(Const.A09_OUT_TARGET_POSITION);
         }
+        log.info("2銆佸垽鏂嚭鐗囩嚎璺瘂}锛岃幏鍙栨渶鍚庤鏉$嚎宸插嚭鐗囩殑浠诲姟淇℃伅{}(澶囨敞锛�0寰呮墽琛岋紝1宸叉墽琛�).閮界┖闂蹭紭鍏堝嚭A09绾�", endcell, oldTaskCacheList);
+
         String glassId = "";
         if (CollectionUtil.isNotEmpty(oldTaskCacheList)) {
             glassId = oldTaskCacheList.get(0).getGlassId();
         }
-        log.info("3銆佹寜鐓у巻鍙插凡鍑虹幓鐠僫d{}鍜岄槇鍊納}锛屾嬁鍑虹悊鐗囩鍐呯殑鍑虹墖淇℃伅", glassId, threshold);
-        EdgStorageCageDetails glassInfo = edgStorageCageDetailsService.selectConformGlass(glassId, threshold);
+        EdgStorageCageDetails glassInfo = edgStorageCageDetailsService.selectOutGlass(glassId, threshold);
+        log.info("3銆佹寜鐓у巻鍙插凡鍑虹幓鐠僫d{}鍜岄槇鍊納}锛屾嬁鍑虹悊鐗囩鍐呯殑鍑虹墖淇℃伅{}", glassId, threshold, glassInfo);
 
         if (glassInfo != null) {
             log.info("4銆佹坊鍔犲嚭鐗囦换鍔★紝鐜荤拑id锛歿}锛屼换鍔$被鍨嬶細{}锛岃捣濮嬩綅缃細{}锛岀粨鏉熶綅缃細{}", glassInfo.getGlassId(),
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
index f90c418..c5a6f02 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
@@ -1,8 +1,6 @@
 package com.mes.taskcache.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
-import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.taskcache.entity.TaskCache;
 
 import java.util.List;
@@ -60,7 +58,7 @@
      * @param line
      * @return
      */
-    List<TaskCache> selectLastOutCacheInfos(String line);
+    List<TaskCache> selectLastOutCacheInfos(int line);
 
     /**
      * 鏌ヨ  A09  鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
index 6fd4740..e3218e1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
@@ -8,7 +8,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import static com.mes.tools.InitUtil.readAndUpdateWordValues;
+//import static com.mes.tools.InitUtil.readAndUpdateWordValues;
 
 public class PLCAutoMes extends Thread {
 
@@ -61,7 +61,7 @@
             // System.out.println(jsonFilePath);
 
             // readAndUpdateWordValues(PlcReadObject);
-            readAndUpdateWordValues(PlcMesObject);
+            //readAndUpdateWordValues(PlcMesObject);
 
             List<String> addresses = new ArrayList<>();
             addresses.add("FeedID");
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
deleted file mode 100644
index c0bf80e..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.mes.config;
-
-import com.mes.common.Plcdownglass;
-import com.mes.common.Plchome;
-import com.mes.device.PLCAutoMes;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Component;
-
-@Component
-@Order(1)
-
-public class AppRunnerConfig implements ApplicationRunner {
-
-    @Override
-    public void run(ApplicationArguments args) throws Exception {
-        // TODO Auto-generated method stub
-        //
-        System.out.println("鍚姩瀹屾垚");
-
-        //new Plcdownglass().start();
-
-//       new PLCAutoMes().start();
-//
-// new Plchome().start();
-
-    }
-}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
index e71747d..7aea275 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -55,6 +55,10 @@
      *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
      */
     boolean updateDownStorageCageDetails(int downStorageCageId,DownStorageCageDetails downStorageCageDetails);
+
+    /**
+     * @return 鏌ヨ绗煎瓙淇℃伅
+     */
     List<Map<String, Object>> selectDownStorageCages();
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index ca5df21..d139f5f 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -274,14 +274,8 @@
     public boolean updateDownStorageCageDetails(int downStorageCageId,DownStorageCageDetails downStorageCageDetails){
         DownStorageCage downItem=baseMapper.selectById(downStorageCageId);
         log.info("姝e父"+downItem);
-        DownStorageCageDetails edgDItem=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
-        if (downItem!=null){
-            //绉婚櫎
-            DownStorageCageDetails result=downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot,downStorageCageId));
-            if (result!=null){
-                result.setSlot(0);
-                downStorageCageDetailsMapper.updateById(result);
-            }
+        if(downStorageCageDetails !=null){
+            DownStorageCageDetails edgDItem=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
             //娣诲姞
             if(edgDItem!=null){
                 //鍙紶鏍煎瓙  锛氱Щ闄ょ幓鐠�
@@ -290,6 +284,16 @@
                 downStorageCageDetailsMapper.updateById(newresult);
             }
         }
+
+        if (downItem!=null){
+            //绉婚櫎
+            DownStorageCageDetails result=downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot,downStorageCageId));
+            if (result!=null){
+                result.setSlot(0);
+                downStorageCageDetailsMapper.updateById(result);
+            }
+
+        }
         return true;
     }
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
index c382433..b46da5e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
@@ -56,8 +56,9 @@
 
     @Test
     public void testCacheGlass() {
-        List<Map<String, Object>> map = downStorageCageServiceImpl.selectDownStorageCages();
-        log.info("绗煎唴淇℃伅锛歿}", Arrays.asList(map));
+        //List<Map<String, Object>> map = downStorageCageServiceImpl.selectDownStorageCages();
+      //  log.info("绗煎唴淇℃伅锛歿}", Arrays.asList(map));
+        downStorageCageServiceImpl.updateDownStorageCageDetails(1,null);
     }
 
     @Test

--
Gitblit v1.8.0