From 1c631b345aae30bb6aa7e9dc8d856a0f40d5f1e3 Mon Sep 17 00:00:00 2001
From: liulijun <liulijun@hnkhzn.com>
Date: 星期五, 20 三月 2026 10:49:08 +0800
Subject: [PATCH] 修复货位平面图锁定状态的显示
---
项目代码/WMS/WMSClient/src/views/Index.vue | 86 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 81 insertions(+), 5 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/Index.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/Index.vue"
index a882a94..1050623 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/Index.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/Index.vue"
@@ -191,12 +191,29 @@
destroy-on-close
size="40%"
>
- <Message :list="messageList"></Message>
+ <div style="margin-bottom: 20px;">
+ <el-button type="danger" @click="clearAllMessages">鍏ㄩ儴娓呴櫎</el-button>
+ </div>
+ <Message :list="messageList" @delete-message="handleDeleteMessage"></Message>
</el-drawer>
</div>
</template>
<style lang="less" scoped>
@import "./index/index.less";
+
+/* 涓烘秷鎭垪琛ㄧ殑drawer娣诲姞鍦嗚 */
+:deep(.el-drawer__header) {
+ padding: 20px;
+}
+
+:deep(.el-drawer__body) {
+ padding: 0 20px 20px 20px;
+}
+
+:deep(.el-drawer) {
+ border-radius: 12px 0 0 12px !important;
+ overflow: hidden;
+}
</style>
<script>
import loading from "@/components/basic/RouterLoading";
@@ -297,7 +314,6 @@
const theme = ref("blue2");
const menuOptions = ref([]);
const permissionInited = ref(false);
- const messageList = reactive([]);
let _config = getCurrentInstance().appContext.config.globalProperties;
let router = useRouter();
const toggleLeft = () => {
@@ -316,7 +332,8 @@
const handleMessage = (e) => {
let data = JSON.parse(e.data);
- messageList.push(data);
+ // 浣跨敤store鐨刟ddMessage mutation娣诲姞娑堟伅
+ store.commit('addMessage', data);
ElNotification({
title: data.title,
message: h("i", { style: "color: teal" }, data.message),
@@ -626,7 +643,8 @@
//寮�鍚秷鎭帹閫侊紙main.js涓缃槸鍚﹀紑鍚痵ignalR锛�2022.05.05
if (_config.$global.signalR) {
MessageConfig(http, (result) => {
- messageList.unshift(result);
+ // 浣跨敤store鐨刟ddMessage mutation娣诲姞娑堟伅
+ store.commit('addMessage', result);
// console.log(result)
});
}
@@ -654,6 +672,59 @@
});
};
created();
+ // 澶勭悊鍒犻櫎鍗曟潯娑堟伅
+ const handleDeleteMessage = ({ item, index }) => {
+ // 浠庡叏灞�娑堟伅鍒楄〃涓垹闄よ娑堟伅
+ if (_config.$global.messageList && Array.isArray(_config.$global.messageList)) {
+ _config.$global.messageList = _config.$global.messageList.filter(msg => msg.id !== item.id);
+ }
+
+ // 浠巗tore涓垹闄よ娑堟伅
+ if (store) {
+ // 浣跨敤mutation鍒犻櫎鍗曚釜娑堟伅
+ store.commit('removeMessage', item.id);
+ }
+
+ // 灏嗗垹闄ょ殑娑堟伅ID娣诲姞鍒癿essageDeleted鏁扮粍锛岀敤浜庨�氱煡缁勪欢閲嶇疆瀹氭椂鍣�
+ if (_config.$global.messageDeleted && Array.isArray(_config.$global.messageDeleted)) {
+ _config.$global.messageDeleted.push(item.id);
+ }
+
+ // 鏄剧ず鎴愬姛鎻愮ず
+ _config.$message.success('娑堟伅宸插垹闄�');
+
+ // 寮哄埗缁勪欢鏇存柊锛岀‘淇濇秷鎭垪琛ㄧ珛鍗冲埛鏂�
+ proxy.$nextTick(() => {
+ // 瑙﹀彂閲嶆覆鏌�
+ _config.$forceUpdate && _config.$forceUpdate();
+ });
+ };
+
+ // 娓呯悊鍏ㄩ儴娑堟伅
+ const clearAllMessages = () => {
+ // 鑾峰彇鎵�鏈夊綋鍓嶆秷鎭殑ID锛岀敤浜庨噸缃畾鏃跺櫒
+ const messageIds = _config.$global.messageList.map(msg => msg.id);
+
+ // 鍏堟竻绌簊tore涓殑娑堟伅鍒楄〃
+ store.commit('clearMessages');
+ // 鐒跺悗娓呯┖鍏ㄥ眬娑堟伅鍒楄〃锛屼娇鐢ㄩ噸鏂拌祴鍊肩殑鏂瑰紡纭繚鍝嶅簲寮忔洿鏂�
+ _config.$global.messageList = [];
+
+ // 灏嗘墍鏈夊垹闄ょ殑娑堟伅ID娣诲姞鍒癿essageDeleted鏁扮粍锛岀敤浜庨�氱煡缁勪欢閲嶇疆瀹氭椂鍣�
+ if (_config.$global.messageDeleted && Array.isArray(_config.$global.messageDeleted)) {
+ _config.$global.messageDeleted.push(...messageIds);
+ }
+
+ // 鏄剧ず鎴愬姛鎻愮ず
+ _config.$message.success('娑堟伅宸插叏閮ㄦ竻闄�');
+
+ // 寮哄埗缁勪欢鏇存柊锛岀‘淇濇秷鎭垪琛ㄧ珛鍗冲埛鏂�
+ proxy.$nextTick(() => {
+ // 瑙﹀彂閲嶆覆鏌�
+ _config.$forceUpdate && _config.$forceUpdate();
+ });
+ };
+
return {
menuWidth,
isCollapse,
@@ -681,12 +752,17 @@
to,
toggleLeft,
messageModel,
- messageList,
+ // 浠庡叏灞�瀵硅薄涓幏鍙栨秷鎭垪琛�
+ get messageList() {
+ return _config.$global.messageList;
+ },
contextMenuVisible,
visibleItem,
closeTabsMenu,
closeTabs,
currentMenuId,
+ clearAllMessages,
+ handleDeleteMessage,
};
},
/**
--
Gitblit v1.9.3