commit 7428184f013ae392e234c4a51d8b44bf129d5903 Author: Yoga <1836051468@qq.com> Date: Thu Sep 24 16:25:09 2026 +0800 1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..97b3f27 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +/unpackage/ +/docweb/node_modules/ +/docweb/dist/ +/docs/node_modules/ +.DS_Store +/uni_modules/x-ocr-s/utssdk/app-ios/Resources/ +*._ +._.* +._. +._* \ No newline at end of file diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..07b129c --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,10 @@ +{ + "version" : "1.0", + "configurations" : [ + { + "customPlaygroundType" : "device", + "playground" : "standard", + "type" : "uni-app:app-android" + } + ] +} diff --git a/.workbuddy/badge-fix-preview.html b/.workbuddy/badge-fix-preview.html new file mode 100644 index 0000000..b76ec31 --- /dev/null +++ b/.workbuddy/badge-fix-preview.html @@ -0,0 +1,262 @@ + + +
+ +…+ + + + + diff --git a/.workbuddy/badge-fix-preview.png b/.workbuddy/badge-fix-preview.png new file mode 100644 index 0000000..17d2ead Binary files /dev/null and b/.workbuddy/badge-fix-preview.png differ diff --git a/.workbuddy/badge-preview.html b/.workbuddy/badge-preview.html new file mode 100644 index 0000000..dc7d082 --- /dev/null +++ b/.workbuddy/badge-preview.html @@ -0,0 +1,143 @@ + + + + +
hr-scan-cam:cameraOn 默认 false,取景区新增 @click="openCamera";未开启时展示居中引导「点击开启摄像头」,不再进页面即占用摄像头。play-circle-line),点击即可开启/暂停。openCamera / toggleCamera 内 startLaser / stopLaser),不再 onMounted 空跑。op-hos 内联单选列表 → 折叠字段「医院名 + 床位数 + ⌄」,点击整行唤起 hr-mask + hr-sheet(与 伤员查询 / 检伤建档 同一套类)。hospitalMeta(距现场km · 约N分钟),满员医院名置灰、床位红字,点击弹 toast 且不关闭弹层。A 本轮修复前(right:0 + 取消出血)
+ item(60px) {"l":44,"t":110,"r":76,"b":170,"w":32,"h":60}
+ .xBadgeWrap {"l":44,"t":114.5,"r":76,"b":165.5,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":44,"t":114.5,"r":76,"b":165.5,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":48,"t":114.5,"r":72,"b":138.5,"w":24,"h":24}
+ 角标 {"l":48,"t":114.5,"r":76,"b":132.5,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:24.0 × 18.0 px(横向占 icon 的 100%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 0.0 px ✓ 不会被裁
+
+B 上一轮的错解(right:-20rpx,按角标宽 18px 推算)
+ item(60px) {"l":44,"t":215.8,"r":76,"b":275.8,"w":32,"h":60}
+ .xBadgeWrap {"l":44,"t":220.3,"r":76,"b":271.3,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":44,"t":220.3,"r":76,"b":271.3,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":48,"t":220.3,"r":72,"b":244.3,"w":24,"h":24}
+ 角标 {"l":58,"t":218.3,"r":86,"b":236.3,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:14.0 × 16.0 px(横向占 icon 的 58%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 10.0 px ⚠ 有被裁风险
+
+C 本轮定稿(left:44rpx,3 Tab)
+ item(60px) {"l":44,"t":321.5,"r":76,"b":381.5,"w":32,"h":60}
+ .xBadgeWrap {"l":44,"t":326,"r":76,"b":377,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":44,"t":326,"r":76,"b":377,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":48,"t":326,"r":72,"b":350,"w":24,"h":24}
+ 角标 {"l":66,"t":324,"r":94,"b":342,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:6.0 × 16.0 px(横向占 icon 的 25%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 18.0 px ⚠ 有被裁风险
+
+C 本轮定稿(left:44rpx,5 Tab 仓管端)
+ item(60px) {"l":76,"t":427.3,"r":108,"b":487.3,"w":32,"h":60}
+ .xBadgeWrap {"l":76,"t":431.8,"r":108,"b":482.8,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":76,"t":431.8,"r":108,"b":482.8,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":80,"t":431.8,"r":104,"b":455.8,"w":24,"h":24}
+ 角标 {"l":98,"t":429.8,"r":126,"b":447.8,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:6.0 × 16.0 px(横向占 icon 的 25%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 18.0 px ⚠ 有被裁风险
+
+C 本轮定稿(两位数角标,验证向右生长不回头)
+ item(60px) {"l":76,"t":533,"r":108,"b":593,"w":32,"h":60}
+ .xBadgeWrap {"l":76,"t":537.5,"r":108,"b":588.5,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":76,"t":537.5,"r":108,"b":588.5,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":80,"t":537.5,"r":104,"b":561.5,"w":24,"h":24}
+ 角标 {"l":98,"t":535.5,"r":126,"b":553.5,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:6.0 × 16.0 px(横向占 icon 的 25%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 18.0 px ⚠ 有被裁风险
+
+D 库默认「半出血」(对照:需要上方留白)
+ item(60px) {"l":44,"t":638.8,"r":76,"b":698.8,"w":32,"h":60}
+ .xBadgeWrap {"l":44,"t":643.3,"r":76,"b":694.3,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":44,"t":643.3,"r":76,"b":694.3,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":48,"t":643.3,"r":72,"b":667.3,"w":24,"h":24}
+ 角标 {"l":62,"t":639.3,"r":90,"b":657.3,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:10.0 × 14.0 px(横向占 icon 的 42%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 14.0 px ⚠ 有被裁风险
+ A 本轮修复前(right:0 + 取消出血)
+ item(60px) {"l":137,"t":110,"r":262,"b":170,"w":125,"h":60}
+ .xBadgeWrap {"l":183.5,"t":114.5,"r":215.5,"b":165.5,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":183.5,"t":114.5,"r":215.5,"b":165.5,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":187.5,"t":114.5,"r":211.5,"b":138.5,"w":24,"h":24}
+ 角标 {"l":187.5,"t":114.5,"r":215.5,"b":132.5,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:24.0 × 18.0 px(横向占 icon 的 100%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 0.0 px ✓ 不会被裁
+
+B 上一轮的错解(right:-20rpx,按角标宽 18px 推算)
+ item(60px) {"l":137,"t":215.8,"r":262,"b":275.8,"w":125,"h":60}
+ .xBadgeWrap {"l":183.5,"t":220.3,"r":215.5,"b":271.3,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":183.5,"t":220.3,"r":215.5,"b":271.3,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":187.5,"t":220.3,"r":211.5,"b":244.3,"w":24,"h":24}
+ 角标 {"l":197.5,"t":218.3,"r":225.5,"b":236.3,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:14.0 × 16.0 px(横向占 icon 的 58%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 0.0 px ✓ 不会被裁
+
+C 本轮定稿(left:44rpx,3 Tab)
+ item(60px) {"l":137,"t":321.5,"r":262,"b":381.5,"w":125,"h":60}
+ .xBadgeWrap {"l":183.5,"t":326,"r":215.5,"b":377,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":183.5,"t":326,"r":215.5,"b":377,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":187.5,"t":326,"r":211.5,"b":350,"w":24,"h":24}
+ 角标 {"l":205.5,"t":324,"r":233.5,"b":342,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:6.0 × 16.0 px(横向占 icon 的 25%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 0.0 px ✓ 不会被裁
+
+C 本轮定稿(left:44rpx,5 Tab 仓管端)
+ item(60px) {"l":162,"t":427.3,"r":237,"b":487.3,"w":75,"h":60}
+ .xBadgeWrap {"l":183.5,"t":431.8,"r":215.5,"b":482.8,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":183.5,"t":431.8,"r":215.5,"b":482.8,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":187.5,"t":431.8,"r":211.5,"b":455.8,"w":24,"h":24}
+ 角标 {"l":205.5,"t":429.8,"r":233.5,"b":447.8,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:6.0 × 16.0 px(横向占 icon 的 25%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 0.0 px ✓ 不会被裁
+
+C 本轮定稿(两位数角标,验证向右生长不回头)
+ item(60px) {"l":162,"t":533,"r":237,"b":593,"w":75,"h":60}
+ .xBadgeWrap {"l":183.5,"t":537.5,"r":215.5,"b":588.5,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":183.5,"t":537.5,"r":215.5,"b":588.5,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":187.5,"t":537.5,"r":211.5,"b":561.5,"w":24,"h":24}
+ 角标 {"l":205.5,"t":535.5,"r":233.5,"b":553.5,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:6.0 × 16.0 px(横向占 icon 的 25%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 0.0 px ✓ 不会被裁
+
+D 库默认「半出血」(对照:需要上方留白)
+ item(60px) {"l":137,"t":638.8,"r":262,"b":698.8,"w":125,"h":60}
+ .xBadgeWrap {"l":183.5,"t":643.3,"r":215.5,"b":694.3,"w":32,"h":51} ← 角标的定位基准(半宽 16.0px)
+ .xBadge {"l":183.5,"t":643.3,"r":215.5,"b":694.3,"w":32,"h":51} ✓ 在 item 内
+ icon {"l":187.5,"t":643.3,"r":211.5,"b":667.3,"w":24,"h":24}
+ 角标 {"l":201.5,"t":639.3,"r":229.5,"b":657.3,"w":28,"h":18} ← 实际宽 28px
+ ⇒ 角标压住 icon:10.0 × 14.0 px(横向占 icon 的 42%)
+ ⇒ 裁切检查:上溢 0.0 / 下溢 0.0 / 右溢 0.0 px ✓ 不会被裁
+ Tab 由 3 个变 2 个(各占 50%),点标签可切换查看
+已移除:「待接收」Tab | P0 全屏推送整块(60 秒倒计时 / 立即接收 / 稍后处理)| 卡片 pending 分支与 footer 守卫 | 空态与注释里对「全屏告警推送」的描述
+ +