From dae69f88983b4191a8492a81d3c2a9c15e212b5b Mon Sep 17 00:00:00 2001 From: zhangjiming Date: Fri, 17 Jan 2025 20:53:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96tip=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Index/History.vue | 16 +- src/pages/Index/Index.vue | 27 +- src/pages/Index/Regular/Consumables.vue | 18 +- src/pages/Index/Regular/Emergency.vue | 10 +- src/pages/Index/Regular/TestTube.vue | 57 +-- src/pages/Index/Settings/Device.vue | 14 +- src/pages/Index/TestTube/TubeUserId.vue | 16 +- .../Index/components/Setting/UpdatePinModal.vue | 555 +++++++++++---------- src/pages/Index/utils/index.ts | 36 ++ src/style.css | 7 +- 10 files changed, 390 insertions(+), 366 deletions(-) diff --git a/src/pages/Index/History.vue b/src/pages/Index/History.vue index a0e3e8c..1618c2d 100644 --- a/src/pages/Index/History.vue +++ b/src/pages/Index/History.vue @@ -134,10 +134,10 @@ import { } from '../../services/Index/index' import HistoryMessage from './components/History/HistoryMessage.vue' import type { TableItem } from '../../types/Index' -import { ElMessage } from 'element-plus' import WarnSvg from '@/assets/Index/History/warn.svg' import PrintSvg from '@/assets/Index/History/print.svg' import ErrorSvg from '@/assets/Warn.svg' +import { eMessage } from './utils' // 添加表格引用 const historyTableRef = ref() @@ -356,16 +356,6 @@ const handleCancel = () => { showWarn.value = false } -// 自定义 ElMessage 样式 -const showCustomMessage = (message: string, type: 'success' | 'error' = 'success') => { - ElMessage({ - message, - type, - customClass: 'custom-message', - duration: 2000, - }) -} - // 处理删除确认 const handleConfirmDelete = async () => { try { @@ -386,9 +376,9 @@ const handleConfirmDelete = async () => { historyTableRef.value.clearSelection() } - showCustomMessage('删除成功') + eMessage.success('删除成功') } catch (error) { - showCustomMessage('删除失败', 'error') + eMessage.error('删除失败') } finally { showModal.value = false } diff --git a/src/pages/Index/Index.vue b/src/pages/Index/Index.vue index 312c6db..bb47b0d 100644 --- a/src/pages/Index/Index.vue +++ b/src/pages/Index/Index.vue @@ -224,7 +224,7 @@ - - - \ No newline at end of file +} + +.keyboard { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + height: 300px; + background-color: #f5f7fa; + border-top-left-radius: 16px; + border-top-right-radius: 16px; + box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.1); + z-index: 1000; +} +// 键盘动画 +.slide-up-enter-active, +.slide-up-leave-active { + transition: transform 0.3s ease; +} + +.slide-up-enter-from, +.slide-up-leave-to { + transform: translateY(100%); +} + +.pwd-view { + font-size: 30px; + position: absolute; + margin-left: -40px; + margin-top: 16px; +} + diff --git a/src/pages/Index/utils/index.ts b/src/pages/Index/utils/index.ts index 508deba..7aa0225 100644 --- a/src/pages/Index/utils/index.ts +++ b/src/pages/Index/utils/index.ts @@ -1,6 +1,42 @@ +import { ElMessage } from 'element-plus' export function formatRemainTime(seconds: number) { const min = Math.floor(seconds / 60).toFixed() const sec = (seconds % 60).toFixed() return min.padStart(2, '0') + ':' + sec.padStart(2, '0') } + +export const eMessage = { + error: (msg: string) => { + ElMessage({ + message: msg, + type: 'error', + customClass: 'ElMessageExtClass', + offset: 60, + }) + }, + warning: (msg: string) => { + ElMessage({ + message: msg, + type: 'warning', + customClass: 'ElMessageExtClass', + offset: 60, + }) + }, + success: (msg: string) => { + ElMessage({ + message: msg, + type: 'success', + customClass: 'ElMessageExtClass', + offset: 60, + }) + }, + info: (msg: string) => { + ElMessage({ + message: msg, + type: 'info', + customClass: 'ElMessageExtClass', + offset: 60, + }) + }, +} diff --git a/src/style.css b/src/style.css index ed4db57..dd59310 100644 --- a/src/style.css +++ b/src/style.css @@ -12,7 +12,12 @@ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } - +.ElMessageExtClass { + font-size: 2.5rem; + .el-message__content { + font-size: 1.8rem; + } +} a { font-weight: 500; color: #646cff;