|
@@ -275,6 +275,20 @@ const handleViewportResize = () => {
|
|
|
requestAnimationFrame(() => {
|
|
requestAnimationFrame(() => {
|
|
|
window.scrollTo(0, scrollTop)
|
|
window.scrollTo(0, scrollTop)
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
|
|
+ // 固定底部按钮位置,防止键盘弹出时上浮
|
|
|
|
|
+ const footerEl = document.querySelector('.footer-buttons') as HTMLElement
|
|
|
|
|
+ if (footerEl && window.visualViewport) {
|
|
|
|
|
+ const viewportHeight = window.visualViewport.height
|
|
|
|
|
+ const windowHeight = window.innerHeight
|
|
|
|
|
+ if (viewportHeight < windowHeight) {
|
|
|
|
|
+ // 键盘弹出,固定底部按钮到视口底部
|
|
|
|
|
+ footerEl.style.bottom = `${windowHeight - viewportHeight}px`
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 键盘收起,恢复原位
|
|
|
|
|
+ footerEl.style.bottom = '0'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 设置料箱号输入框焦点
|
|
// 设置料箱号输入框焦点
|
|
@@ -994,6 +1008,8 @@ const callRobot = async () => {
|
|
|
closeToast()
|
|
closeToast()
|
|
|
scanSuccess()
|
|
scanSuccess()
|
|
|
showToast('呼唤机器人成功')
|
|
showToast('呼唤机器人成功')
|
|
|
|
|
+ // 重置页面数据并聚焦到料箱输入框
|
|
|
|
|
+ resetAllData()
|
|
|
} catch (error: any) {
|
|
} catch (error: any) {
|
|
|
closeToast()
|
|
closeToast()
|
|
|
scanError()
|
|
scanError()
|