diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 3501b3f..37c6c26 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -51,6 +51,7 @@ declare module 'vue' { ElAside: typeof import('element-plus/es')['ElAside'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] ElBadge: typeof import('element-plus/es')['ElBadge'] + ElBu: typeof import('element-plus/es')['ElBu'] ElButton: typeof import('element-plus/es')['ElButton'] ElCard: typeof import('element-plus/es')['ElCard'] ElCarousel: typeof import('element-plus/es')['ElCarousel'] @@ -84,6 +85,7 @@ declare module 'vue' { ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElText: typeof import('element-plus/es')['ElText'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] + ElTransfer: typeof import('element-plus/es')['ElTransfer'] Error: typeof import('./src/components/taskbar/Error.vue')['default'] FileIcon: typeof import('./src/components/builtin/FileIcon.vue')['default'] FileIconImg: typeof import('./src/components/builtin/FileIconImg.vue')['default'] diff --git a/frontend/src/components/chat/Chat.vue b/frontend/src/components/chat/Chat.vue index 058407d..2f869ab 100644 --- a/frontend/src/components/chat/Chat.vue +++ b/frontend/src/components/chat/Chat.vue @@ -6,8 +6,22 @@ const workUrl = getWorkflowUrl(); onMounted(() => { store.initChat(); - // store.initSSE(); }); + + const generateData = () => { + const data = []; + for (let i = 1; i <= 15; i++) { + data.push({ + key: i, + label: ` ${i}`, + disabled: i % 4 === 0, + }); + } + return data; + }; + + const data = generateData(); + const value = ref([]); diff --git a/frontend/src/components/chat/ChatMenu.vue b/frontend/src/components/chat/ChatMenu.vue index 2439900..209394d 100644 --- a/frontend/src/components/chat/ChatMenu.vue +++ b/frontend/src/components/chat/ChatMenu.vue @@ -1,70 +1,116 @@ + \ No newline at end of file diff --git a/frontend/src/components/chat/ChatMessage.vue b/frontend/src/components/chat/ChatMessage.vue index 264ada4..17a8f12 100644 --- a/frontend/src/components/chat/ChatMessage.vue +++ b/frontend/src/components/chat/ChatMessage.vue @@ -1,158 +1,210 @@ \ No newline at end of file + .bubble-me { + background-color: #95ec69; + float: right; + border-radius: 4px; + margin-right: 5px; + margin-top: 5px; + } + + .bubble-me:hover { + background-color: #89d961; + } + + .chat-name-me { + font-size: 14px; + font-family: Arial, sans-serif; + line-height: 1.5; + color: #b2b2b2; + float: right; + margin-right: 5px; + } + + .bubble-other { + background-color: #ffffff; + float: left; + border-radius: 4px; + margin-left: 5px; + margin-top: 5px; + } + + .bubble-other:hover { + background-color: #ebebeb; + } + + .chat-name-other { + font-size: 14px; + font-family: Arial, sans-serif; + line-height: 1.5; + color: #b2b2b2; + float: left; + margin-left: 5px; + } + + .chat-font { + margin: 8px; + font-size: 15px; + font-family: Arial, sans-serif; + line-height: 1.5; + } + + .chat-avatar { + margin: 5px; + } + + .chat-item { + margin: 5px; + } + + .withdraw { + text-align: center; + font-size: 13px; + font-family: Arial, sans-serif; + color: #999999; + line-height: 3.2; + } + + .context-menu { + position: fixed; + background-color: white; + z-index: 9999; + border: 1px solid #cccc; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + } + + .context-menu-item { + width: 80px; + height: 30px; + } + + .context-menu-item:hover { + background-color: #e2e2e2; + } + + .context-menu-item-font { + font-size: 14px; + text-align: center; + font-family: Arial, sans-serif; + line-height: 2.2; + } + diff --git a/frontend/src/components/chat/ChatMsgList.vue b/frontend/src/components/chat/ChatMsgList.vue index 00c6ed9..1a69f8f 100644 --- a/frontend/src/components/chat/ChatMsgList.vue +++ b/frontend/src/components/chat/ChatMsgList.vue @@ -4,7 +4,7 @@ class="list-item" @click="store.changeChatList(item.id)" :style="{ - backgroundColor: item.id === store.targetUserId ? '#C4C4C4' : '', + backgroundColor: item.id === store.targetUserId ? '#bae7ff' : '', }" > @@ -60,13 +60,17 @@ const id = ref("1"); \ No newline at end of file + diff --git a/frontend/src/components/window/WindowTemplate.vue b/frontend/src/components/window/WindowTemplate.vue index 992f9fe..8ff8627 100644 --- a/frontend/src/components/window/WindowTemplate.vue +++ b/frontend/src/components/window/WindowTemplate.vue @@ -54,12 +54,12 @@ import { onUnmounted, provide, ref } from "vue"; import { onMounted, computed, UnwrapNestedRefs } from "vue"; import { WindowStateEnum } from "@/system/window/BrowserWindow"; - import { ScaleElement } from "@/system/window/dom/ScaleElement"; import { BrowserWindow } from "@/system/window/BrowserWindow"; import { emitEvent } from "@/system/event"; import { useSystem } from "@/system"; import { vDragable } from "@/system/window/MakeDragable"; + const sys = useSystem(); const props = defineProps<{ browserWindow: UnwrapNestedRefs; @@ -67,7 +67,6 @@ const props = defineProps<{ const browserWindow = props.browserWindow; const windowInfo = browserWindow.windowInfo; -// 传递windowid provide("browserWindow", browserWindow); provide("system", sys); @@ -96,7 +95,6 @@ onMounted(() => { height: computed(() => windowInfo.height + "px"), left: computed(() => windowInfo.x + "px"), top: computed(() => windowInfo.y + "px"), - zIndex: computed(() => { if (windowInfo.alwaysOnTop) { return 9999; @@ -107,12 +105,10 @@ onMounted(() => { }; }); -/* -挂载缩放事件 -*/ const resizable = ref(windowInfo.resizable); const resizemode = ref("null"); let scaleAble: ScaleElement; + onMounted(() => { scaleAble = new ScaleElement( resizemode, @@ -129,6 +125,7 @@ onMounted(() => { browserWindow.emit("resize", windowInfo.width, windowInfo.height); }); }); + function startScale(e: MouseEvent | TouchEvent, dire: string) { console.log(e); if (windowInfo.disable) { @@ -146,19 +143,17 @@ function startScale(e: MouseEvent | TouchEvent, dire: string) { onUnmounted(() => { scaleAble.unMount(); - // dragAble.unMount(); }); -// 定义拖拽边界类型 const dragBorders = [ - { type: 'r', class: 'right_border' }, - { type: 'b', class: 'bottom_border' }, - { type: 'l', class: 'left_border' }, - { type: 't', class: 'top_border' }, - { type: 'rb', class: 'right_bottom_border' }, - { type: 'lb', class: 'left_bottom_border' }, - { type: 'lt', class: 'left_top_border' }, - { type: 'rt', class: 'right_top_border' }, + { type: 'r', class: 'right_border', cursorClass: 'ew-resize' }, + { type: 'b', class: 'bottom_border', cursorClass: 'ns-resize' }, + { type: 'l', class: 'left_border', cursorClass: 'ew-resize' }, + { type: 't', class: 'top_border', cursorClass: 'ns-resize' }, + { type: 'rb', class: 'right_bottom_border', cursorClass: 'nwse-resize' }, + { type: 'lb', class: 'left_bottom_border', cursorClass: 'nesw-resize' }, + { type: 'lt', class: 'left_top_border', cursorClass: 'nwse-resize' }, + { type: 'rt', class: 'right_top_border', cursorClass: 'nesw-resize' }, ];