更新
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Doctor-notes image preview fix
|
||||
|
||||
## Confirmed cause
|
||||
|
||||
The actual editable and readonly diagnosis note thumbnail click chain was:
|
||||
|
||||
`NotesTimeline._RemoteImageButton.clicked` → `open_attachment_requested(url)` → `DiagnosisDialog._open_safe_resource(url)` → `QDesktopServices.openUrl(url)`.
|
||||
|
||||
The existing `ImagePreviewDialog` was not connected to this path. A regression using `QTest.mouseClick` on the real eight-image doctor-notes timeline failed before the implementation change because the system opener received `https://media.example.invalid/tongue-0.jpg`. This confirms an external-open bug. This reproduction did not establish an application crash or drawer reparenting bug.
|
||||
|
||||
## Changes
|
||||
|
||||
- Notes thumbnails now emit a dedicated image-group signal containing the note's image URLs and clicked index. Report-file attachment routing and deletion remain on their existing signals.
|
||||
- Both editable and readonly diagnosis note timelines connect that signal to a retained, diagnosis-owned `ImagePreviewDialog`. It opens inside the application and supports previous/next image, fit/original-size zoom, and close. Only its explicit `安全外部打开` button launches the system opener.
|
||||
- Closing the diagnosis closes its image preview. Closing the preview clears the retained reference without rejecting or reparenting the diagnosis.
|
||||
- The preview now cancels outstanding image requests in `done()` as well as `closeEvent()`, covering Escape/reject, which bypasses Qt's close event. Late responses cannot update the closed preview.
|
||||
|
||||
Changed application files:
|
||||
|
||||
- `app/src/doctor_workstation/ui/diagnosis_drawer.py`
|
||||
- `app/src/doctor_workstation/ui/dialogs/diagnosis.py`
|
||||
- `app/src/doctor_workstation/ui/diagnosis_media.py`
|
||||
|
||||
## Validation
|
||||
|
||||
All tests used synthetic local image bytes and fake HTTP transport; no patient-image requests were made.
|
||||
|
||||
- `.venv/Scripts/python.exe -m pytest tests/test_diagnosis_notes_image_preview.py -x -p no:cacheprovider` — **4 passed**, latest run 1.73 seconds. Actual clicks on first, eighth, and later thumbnails in both editable/readonly modes; selected image and eight-image group; decoded full-size preview; zoom; previous/next and wrap; close/reopen; Escape; diagnosis visibility/parent/generation retention; explicit external-open action; parent cleanup; pending-response cancellation with close button and Escape.
|
||||
- `.venv/Scripts/python.exe -m pytest tests/test_diagnosis_media_thumbnail_visual.py -p no:cacheprovider` — **9 passed**, 0.36 seconds. Existing thumbnail decode, stale-generation, URL/redirect/oversize safety, preview paging/cache, failures, deletion, chat and daily-toolbar checks. The tongue-click assertion now verifies the image-group signal rather than the external-attachment signal.
|
||||
- Ruff checks on all five edited Python files — **passed**.
|
||||
|
||||
New regression: `app/tests/test_diagnosis_notes_image_preview.py`.
|
||||
Updated regression: `app/tests/test_diagnosis_media_thumbnail_visual.py`.
|
||||
|
||||
## Reviewed screenshots
|
||||
|
||||
- `notes-eight-thumbnails.png`: editable doctor-notes tab with eight synthetic thumbnails and individual delete controls.
|
||||
- `notes-image-preview.png`: image 8/8 displayed in the application's preview, with navigation, original-size zoom, reload, explicit external action, and close controls.
|
||||
|
||||
Screenshots were visually inspected after registering the bundled CJK font and settling the Qt layout. Images are clearly labelled synthetic test imagery. No build or installation was performed by this worker; packaging belongs to the parent task.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 37 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
@@ -0,0 +1,31 @@
|
||||
# 处方订单与问诊功能交付
|
||||
|
||||
本次完成 Web 管理端功能,未发布到线上,未改动桌面 app 的现有开发内容。
|
||||
|
||||
## 功能
|
||||
|
||||
1. 全额退款后释放处方,可在已开处方列表再次创建订单。部分退款仍有余额时继续占用;保留历史订单和收款关联,并发创建只允许一个有效订单。返回缓存的处方列表会重新读取占用状态。
|
||||
2. PC / H5 处方业务订单列表、详情新增“修改创建时间”。时间保留秒,兼容旧时间戳,保存后刷新列表和详情。接口校验独立权限、订单访问范围,日志记录修改前后时间;失败整体回滚。
|
||||
3. 预约/挂号支持视频问诊和图文问诊,默认视频。医生 PC / H5 面诊及接诊台聊天窗口显示当前挂号的问诊类型。历史空值默认视频,已有电话记录保留历史描述。
|
||||
|
||||
## 部署
|
||||
|
||||
将本次 admin 与 server 源码一起部署。执行以下 SQL(当前仅准备文件,未运行):
|
||||
|
||||
- [订单时间权限菜单](../../server/sql/1.9.20260909/add_prescription_order_edit_time_menu.sql):执行后在角色管理中为指定角色勾选“修改业务订单创建时间”;普通角色不会自动获得权限。
|
||||
- [问诊类型默认值](../../server/sql/1.9.20260909/appointment_type_video_default.sql):回填空值并设默认视频,不改已有图文/电话记录。
|
||||
|
||||
脚本表前缀为 `zyt_`。退款释放本身无需改表或清理历史订单。
|
||||
|
||||
## 验证
|
||||
|
||||
- 前端 Vite 生产构建通过(日志 [build.log](build.log)),未执行会发布静态文件的 release 脚本。
|
||||
- 10 个修改/新增 Vue 组件的 script、template 和样式编译通过。
|
||||
- 订单创建时间组件 4 项行为测试通过:秒数保留、时间戳兼容、失败保留输入、提交期间防重入。
|
||||
- 浏览器隔离页面验证真实 Element Plus 弹窗:提交准确的订单 ID 和日期秒数、成功触发刷新事件、取消不发请求;390px 窄屏可正常显示。测试数据均为虚构,无业务 API 调用。
|
||||
- 新增订单后端 112 项真实 MySQL 断言、原收款关联 131 项回归均通过;覆盖退款重建、并发、权限、日志回滚和 INT/DATETIME。
|
||||
- 问诊类型默认值/校验/历史读取测试、三个聊天入口数据传递检查通过,相关既有 PHP 回归通过。
|
||||
- 全量 `vue-tsc` 未通过:57 个错误,位置均在本次未修改的代码行,包括既有地区数据 `never[]`、隐式 any、`searchPatientsAPI` 未定义和依赖类型问题。详见 [typecheck.log](typecheck.log) 与 [定位记录](typecheck-triage.json)。这不是一轮独立基线类型检查,未将其表述为全项目类型检查通过。
|
||||
- 未进行真实挂号、退款、腾讯云聊天或视频通话联调;测试 MySQL 已关闭并清理。生产构建产物及临时缓存已清理,仅保留日志和复现脚本。
|
||||
|
||||
更详细的后端和问诊说明见 [order-backend.md](order-backend.md)、[consultation-type.md](consultation-type.md)。
|
||||
@@ -0,0 +1,494 @@
|
||||
vite v6.4.2 building for production...
|
||||
|
||||
WARN
|
||||
(!) outDir D:\web\zyt\artifacts\prescription-enhancements\admin-build is not inside project root and will not be emptied.
|
||||
Use --emptyOutDir to override.
|
||||
|
||||
|
||||
transforming...
|
||||
✓ 4060 modules transformed.
|
||||
|
||||
WARN node_modules/.pnpm/tcplayer.js@5.3.4-beta.32/node_modules/tcplayer.js/dist/tcplayer.v5.3.4.min.js (3199:26): Use of eval in "node_modules/.pnpm/tcplayer.js@5.3.4-beta.32/node_modules/tcplayer.js/dist/tcplayer.v5.3.4.min.js" is strongly discouraged as it poses security risks and may cause issues with minification.
|
||||
|
||||
rendering chunks...
|
||||
computing gzip size...
|
||||
../artifacts/prescription-enhancements/admin-build/assets/default_avatar-C6VB7PGm.png 6.09 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/no_perms-jDxcYpYC.png 14.62 kB
|
||||
../artifacts/prescription-enhancements/admin-build/index.html 31.87 kB │ gzip: 16.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/login_bg-BkIjQ0FB.png 59.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/red3-NOuWP8DK.png 105.00 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/pink3-BxZ4Y6CS.png 108.36 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/blue3-D3K9OqGO.png 108.98 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/yellow3-C_qd9cqN.png 109.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/green3-CPorIQiC.png 109.99 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/purple3-BGd0LxTa.png 110.15 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/my_topbg-BiU0PleK.png 142.47 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/red2-Dw8p71sP.png 750.50 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/purple2-C0tQkldV.png 752.33 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/green2-C-VRKLSN.png 756.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/yellow2-B-WtqITJ.png 762.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/pink2-BpEp33zy.png 806.48 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/blue2-CRQPdLZd.png 806.81 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/red1-C6Y3UuNB.png 1,660.63 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/yellow1-Ebw0T5sw.png 1,662.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/pink1-BWNZrP7C.png 1,668.56 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/blue1-gLOo1H0w.png 1,676.54 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/purple1-BpMq9FWz.png 1,680.01 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/green1-h1zqes95.png 1,688.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CmFE2aZQ.css 0.04 kB │ gzip: 0.06 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CjSHFu-R.css 0.04 kB │ gzip: 0.06 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Oppei429.css 0.04 kB │ gzip: 0.06 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/CaseRecordList-Cl-c3q7S.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/DietRecordList-Cc-xUr2B.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/roster-CqNlv_rj.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/BloodRecordList-DhVK-Y_e.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-B3imPWFk.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/list-BluNBZln.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/ExerciseRecordList-DGtgtzou.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-CObVTcPU.css 0.09 kB │ gzip: 0.10 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-D-D8bVPM.css 0.09 kB │ gzip: 0.10 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/pc_details-nlJo1_D0.css 0.09 kB │ gzip: 0.10 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/AppointmentRecordPanel-DC22GDgn.css 0.09 kB │ gzip: 0.10 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/theme-picker-BsELUxM9.css 0.11 kB │ gzip: 0.09 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-Cl-9UIip.css 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/AssignLogPanel-DkQMoEkX.css 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-DXAsZ7EV.css 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-DaxRy47P.css 0.14 kB │ gzip: 0.14 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-CAJZpU7c.css 0.14 kB │ gzip: 0.12 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-DxNvUNZR.css 0.15 kB │ gzip: 0.15 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/useListTimeFilter-DI6SIumd.css 0.16 kB │ gzip: 0.14 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-C1NtFi7N.css 0.16 kB │ gzip: 0.11 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-Bd3rHJ5J.css 0.18 kB │ gzip: 0.15 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/change-password-DRfsLJ26.css 0.19 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-Dy_alH9u.css 0.19 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/decoration-img-C5XvHl9_.css 0.19 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/account_cost-fbCWUO9k.css 0.20 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-57RdOFNo.css 0.23 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/error-Cz3CexuM.css 0.24 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-D4atl_7z.css 0.25 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-lNortPsv.css 0.27 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/setting-CxqqGetv.css 0.27 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DX96drV3.css 0.28 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/menu-DYFusokT.css 0.29 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/OrderActionHost-DiqybThz.css 0.31 kB │ gzip: 0.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Bk2rMrqw.css 0.32 kB │ gzip: 0.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-D0f1Mn00.css 0.33 kB │ gzip: 0.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/prescription-drawer-BjwiqvPc.css 0.35 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/bind-work-wechat-BX1gqwq1.css 0.35 kB │ gzip: 0.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DhR2yeiO.css 0.39 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DoFDMZdP.css 0.40 kB │ gzip: 0.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DBNvK3ZK.css 0.45 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PatientOrderList-D8-uh2iu.css 0.45 kB │ gzip: 0.25 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/DiagnosisTodoList-D0SBmTHG.css 0.46 kB │ gzip: 0.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/CallRecordPanel-TsjZtTO8.css 0.47 kB │ gzip: 0.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-C_LxAEkS.css 0.48 kB │ gzip: 0.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/login-Bt4SvQsz.css 0.52 kB │ gzip: 0.28 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-sMbqkta2.css 0.55 kB │ gzip: 0.29 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/RecordingPlaybackBlock-B3KYFgvg.css 0.58 kB │ gzip: 0.26 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/medicine-DO6x6zrS.css 0.58 kB │ gzip: 0.29 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/preview-pc-BRQDo0AR.css 0.67 kB │ gzip: 0.36 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BzrSkGWL.css 0.67 kB │ gzip: 0.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/tabbar-DJsOahKR.css 0.69 kB │ gzip: 0.31 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/qywx-Dym8iFe0.css 0.74 kB │ gzip: 0.37 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/AssistantWatchCallDialog-BIPZRgaH.css 0.76 kB │ gzip: 0.38 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/picker-JBYDNsl5.css 0.84 kB │ gzip: 0.32 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/oa-phone-CctIyraX.css 0.94 kB │ gzip: 0.34 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/preview-C7oaKmYo.css 0.98 kB │ gzip: 0.41 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Bidrbn2Z.css 1.16 kB │ gzip: 0.51 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/TrackingNoteTimeline-B9T8pFso.css 1.18 kB │ gzip: 0.47 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/RecordingVideoPlayer-4DegHAwm.css 1.19 kB │ gzip: 0.53 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-55HtuLpn.css 1.21 kB │ gzip: 0.55 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PatientInfoCard-n6_UPo9e.css 1.32 kB │ gzip: 0.55 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/TrackingMatrix-zyxtXYPb.css 1.32 kB │ gzip: 0.44 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/SendPanel-DaGPWlQG.css 1.39 kB │ gzip: 0.50 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/picker-XZbUgFct.css 1.57 kB │ gzip: 0.50 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PrescriptionOrderDetailDrawer-B4rggqa1.css 1.73 kB │ gzip: 0.71 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/ImChatRecordPanel-aX8zpWRQ.css 1.74 kB │ gzip: 0.59 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BYOmK9R5.css 1.93 kB │ gzip: 0.58 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-OgnT0gUo.css 1.98 kB │ gzip: 0.56 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/MessageBubble-BwtdPM6K.css 2.04 kB │ gzip: 0.60 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BmDW9vcs.css 2.44 kB │ gzip: 0.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PatientCaseCard-C3Mob6yG.css 2.49 kB │ gzip: 0.81 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/tongji-C0VnzFxy.css 2.49 kB │ gzip: 0.77 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/dept-tongji-ky7rOYoi.css 2.67 kB │ gzip: 0.72 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/readonly-CdP3eZN0.css 2.69 kB │ gzip: 0.92 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/NoteTimeline-I2FSxX4s.css 2.74 kB │ gzip: 0.84 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/patient-call-k8V9hV2G.css 2.85 kB │ gzip: 0.91 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/DailyMatrix-DCZnxI8i.css 2.87 kB │ gzip: 0.85 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PaibanPanel-aqm8azGc.css 3.35 kB │ gzip: 0.88 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/paiban-BTUHWpUu.css 3.35 kB │ gzip: 0.88 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/appointment-gzuOW_Wp.css 3.43 kB │ gzip: 0.93 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PrescriptionAiBatchGenerateDialog-CKkykmdr.css 3.45 kB │ gzip: 0.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/h5-BSFcFSny.css 3.52 kB │ gzip: 0.99 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Bk7b_sL2.css 3.57 kB │ gzip: 0.96 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/add-ByXRFm8M.css 3.60 kB │ gzip: 0.87 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PromotionAutomationForm-BMhNCJa-.css 3.64 kB │ gzip: 1.03 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/mubiao-B6IOi2bJ.css 3.78 kB │ gzip: 1.08 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/WelcomeMessageEditor-DD5mXWP2.css 4.41 kB │ gzip: 1.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PrescriptionAiReportDialog-CV6AuHV3.css 4.46 kB │ gzip: 1.11 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CMsGEvq_.css 5.19 kB │ gzip: 1.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/mubiao-dept-node-ChUPkaxq.css 5.47 kB │ gzip: 1.29 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/OrderPanel-BzElZPEq.css 5.67 kB │ gzip: 1.46 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DYEnq1RY.css 6.11 kB │ gzip: 1.70 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/list-q8oaox07.css 6.51 kB │ gzip: 1.45 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DtDaTXOB.css 7.01 kB │ gzip: 1.69 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/mubiao-dept-card-naMqyghz.css 7.09 kB │ gzip: 1.53 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-AnyUcdTT.css 7.21 kB │ gzip: 1.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BqGStdXW.css 7.95 kB │ gzip: 2.30 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Bw7BJ7QR.css 8.03 kB │ gzip: 1.99 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/progress-99NT9ysL.css 8.14 kB │ gzip: 1.91 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Cmf8QBsF.css 8.75 kB │ gzip: 1.78 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CSIcxqFk.css 8.85 kB │ gzip: 2.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-B_6Taw4k.css 8.97 kB │ gzip: 1.91 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-DOd7Lhrw.css 9.47 kB │ gzip: 2.05 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Dnn9ddtX.css 9.49 kB │ gzip: 2.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-D9Td5Y2a.css 9.52 kB │ gzip: 2.10 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/ProgressPanel-C_aSqDJh.css 10.10 kB │ gzip: 2.10 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-nUsN4URL.css 10.57 kB │ gzip: 2.04 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DV5JwFnL.css 11.95 kB │ gzip: 2.61 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Dc4ifSiV.css 13.65 kB │ gzip: 3.05 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/commission-settlement-Gy2UsUPr.css 15.55 kB │ gzip: 3.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/list_h5-jFsYJrxI.css 17.68 kB │ gzip: 3.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CFNELBI3.css 18.14 kB │ gzip: 3.70 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/order_list-CMCIYVRT.css 18.15 kB │ gzip: 3.76 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/WecomFloatingWidgetBuilder-DRWt4rvh.css 19.20 kB │ gzip: 4.00 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index_h5-CWq8J0dT.css 19.54 kB │ gzip: 3.51 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/yeji-7-gSVFmd.css 25.24 kB │ gzip: 4.60 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BSycZlsS.css 45.91 kB │ gzip: 9.91 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/order_list_h5-DB3qJv9G.css 48.13 kB │ gzip: 7.68 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/.pnpm-B3v8nGpq.css 723.50 kB │ gzip: 100.49 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/getExposeType-BhVtb25-.js 0.07 kB │ gzip: 0.09 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-qqeREw9s.js 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-DcOELR-K.js 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-tHefvLXa.js 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/MediaSourceSelect-8A82adC4.js 0.14 kB │ gzip: 0.14 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/code-preview-CIVunYqB.js 0.16 kB │ gzip: 0.15 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-Co7L4ttZ.js 0.18 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/refund-log-BRlaZOKB.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/account-adjust-BFgKsZdH.js 0.19 kB │ gzip: 0.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-BpYUj_Ut.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-D0fdiu4F.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-CPJX7aZq.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-BjInnxER.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/perm-HaYrMCWO.js 0.20 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/diabetes-discovery-display-B_wmGXQJ.js 0.20 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PrescriptionOrderTimeDialog-B-3khR26.js 0.20 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/weapp-C-XSq1fW.js 0.20 kB │ gzip: 0.15 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/GancaoSubmissionReconcileButton-DGXcUKkq.js 0.21 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-BRTIPuah.js 0.21 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-C_uM_guK.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-CBCWkQoP.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-BpTpWOO4.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-CFcNI6WL.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-iNYgkylr.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-BD0rjr9u.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-DG0CrN4I.js 0.22 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-awcvFaxy.js 0.22 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-DvEPH3sF.js 0.22 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/oa-menu-form-DwPolhQ3.js 0.22 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/useLockFn-DZaCbVGv.js 0.22 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-CY53iZ3B.js 0.23 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/auth-sRUlaYll.js 0.24 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-CeKDYHFc.js 0.25 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/relations-add-CGiQKnhD.js 0.25 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/mobile-style-DeIlq2qM.js 0.26 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-BT4K02ki.js 0.27 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/cost-edit-vkFB05CX.js 0.30 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/yeji-edit-BKejg2AB.js 0.30 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/404-DS-JItKz.js 0.31 kB │ gzip: 0.29 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/data-table-C_9fAFGx.js 0.31 kB │ gzip: 0.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/oa-menu-form-edit-DUkWZWOB.js 0.33 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/medicine-BvHkP-D_.js 0.35 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/consumer-Ts8Nf5G7.js 0.35 kB │ gzip: 0.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/user-DmbsZ13s.js 0.37 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/role-YClNZf5Q.js 0.39 kB │ gzip: 0.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/useDictOptions-LHfhurwu.js 0.42 kB │ gzip: 0.32 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-vo74IWVd.js 0.42 kB │ gzip: 0.32 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/admin-3EbFrp6E.js 0.42 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-D_ZcGxxc.js 0.44 kB │ gzip: 0.36 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/pay-D3e9X3mp.js 0.45 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/department-CGgh1HrL.js 0.46 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/menu-GspVOHy4.js 0.46 kB │ gzip: 0.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-B3I2SVNo.js 0.47 kB │ gzip: 0.37 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-Csjfp-oa.js 0.48 kB │ gzip: 0.25 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/post-BPMBvuit.js 0.49 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/overflow-BtDvKS8r.js 0.49 kB │ gzip: 0.37 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/decoration-DUVYhum6.js 0.50 kB │ gzip: 0.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/message-BfNw89JV.js 0.50 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/403-46I84rPC.js 0.52 kB │ gzip: 0.44 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/footer.vue_vue_type_script_setup_true_lang-gw0L8407.js 0.53 kB │ gzip: 0.38 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-BMjPwU_u.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-DvdtgClO.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/add-nav-VGs4Jf5G.js 0.54 kB │ gzip: 0.28 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-D-yWR6FI.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/menu-set-Qx9AdTEM.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-Dv5CKOh8.js 0.55 kB │ gzip: 0.26 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/patient-CCCssgYh.js 0.56 kB │ gzip: 0.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/fans-B-ehwCmW.js 0.60 kB │ gzip: 0.21 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-C6e5Dzq3.js 0.60 kB │ gzip: 0.28 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-CqFmU0Hd.js 0.61 kB │ gzip: 0.29 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-BzUj7yBN.js 0.61 kB │ gzip: 0.29 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/diag-display-DCz_VAqj.js 0.61 kB │ gzip: 0.39 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content.vue_vue_type_script_setup_true_lang-DbOSzyLx.js 0.61 kB │ gzip: 0.41 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CKzB9GO3.js 0.63 kB │ gzip: 0.43 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-B3I_m_DB.js 0.63 kB │ gzip: 0.31 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/link-BoRd5k4g.js 0.64 kB │ gzip: 0.45 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/asset-ACfJS9AQ.js 0.67 kB │ gzip: 0.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content.vue_vue_type_script_setup_true_lang-gj34gUXN.js 0.69 kB │ gzip: 0.44 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/useMediaSourceOptions-DIRGbMwZ.js 0.70 kB │ gzip: 0.42 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content.vue_vue_type_script_setup_true_lang-CQZowpwb.js 0.70 kB │ gzip: 0.45 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/website-C0FFzOT-.js 0.74 kB │ gzip: 0.24 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/menu-BPR_9j2P.js 0.76 kB │ gzip: 0.49 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/usePaging-oaNM6A9T.js 0.77 kB │ gzip: 0.47 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/self_input_stats-CovRoU7_.js 0.79 kB │ gzip: 0.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/decoration-img-BP9RSmFp.js 0.81 kB │ gzip: 0.50 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/dict-D0OPXnmW.js 0.81 kB │ gzip: 0.25 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/code-DxsqLu3c.js 0.82 kB │ gzip: 0.26 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/blood-thresholds-CJ1fqMjh.js 0.83 kB │ gzip: 0.34 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-BcUmyOhn.js 0.84 kB │ gzip: 0.55 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content.vue_vue_type_script_setup_true_lang-CaLzOPk2.js 0.86 kB │ gzip: 0.55 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index.vue_vue_type_script_setup_true_lang-kAZgL5aN.js 0.86 kB │ gzip: 0.52 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index.vue_vue_type_script_setup_true_lang-CDLrQsa9.js 0.88 kB │ gzip: 0.51 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/error-tECyVHzh.js 0.89 kB │ gzip: 0.60 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/theme-picker-bwjfSLsU.js 0.92 kB │ gzip: 0.59 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/wecomOauthPostMessage-C_e6VGrO.js 0.95 kB │ gzip: 0.53 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index.vue_vue_type_script_setup_true_lang-Cmgm_Z5P.js 0.98 kB │ gzip: 0.53 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/wx_oa-bkNxJd6g.js 1.04 kB │ gzip: 0.29 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/article-DzmHbnqD.js 1.07 kB │ gzip: 0.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-setting.vue_vue_type_script_setup_true_lang-fGWC_p68.js 1.08 kB │ gzip: 0.62 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/rich_text-DnKDty0t.js 1.10 kB │ gzip: 0.58 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/cache-rFsSNc7I.js 1.13 kB │ gzip: 0.69 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-C-DfuUWJ.js 1.21 kB │ gzip: 0.70 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/popover_input-pPM8UqwF.js 1.25 kB │ gzip: 0.59 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/finance-DzNxfqmR.js 1.30 kB │ gzip: 0.37 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/pc-OjWOSsuI.js 1.31 kB │ gzip: 0.78 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/doctor-Da4YFg7J.js 1.32 kB │ gzip: 0.37 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-oX2l2ki2.js 1.33 kB │ gzip: 0.79 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-DCtJsuLU.js 1.33 kB │ gzip: 0.71 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-D_izAx69.js 1.37 kB │ gzip: 0.70 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-B7vyV0rD.js 1.38 kB │ gzip: 0.79 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/file-Dg1ApOWb.js 1.41 kB │ gzip: 0.64 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/upload-dvCF66Xt.js 1.41 kB │ gzip: 0.64 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content-BiveGCWR.js 1.42 kB │ gzip: 0.79 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/code-preview.vue_vue_type_script_setup_true_lang-DXGCRZf-.js 1.44 kB │ gzip: 0.85 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DtkMtnp5.js 1.44 kB │ gzip: 0.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index.vue_vue_type_style_index_0_lang-C6MqkrEH.js 1.46 kB │ gzip: 0.79 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/oa-phone-CS5d8r5m.js 1.47 kB │ gzip: 0.79 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-Cv7gctaD.js 1.50 kB │ gzip: 0.76 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/menu-SfOVRvgS.js 1.55 kB │ gzip: 0.88 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/MediaSourceSelect.vue_vue_type_script_setup_true_lang-xuHF5G6T.js 1.58 kB │ gzip: 0.80 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PatientInfoCard-CScsOFUA.js 1.60 kB │ gzip: 0.83 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-COHLxSGu.js 1.62 kB │ gzip: 0.71 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/style-4RIo8i5b.js 1.62 kB │ gzip: 0.88 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/refund-log.vue_vue_type_script_setup_true_lang-Coj6OpRO.js 1.66 kB │ gzip: 0.87 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/statistics-Dgjfiuew.js 1.69 kB │ gzip: 1.02 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-Dspuxz5n.js 1.71 kB │ gzip: 0.81 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/order-Bz4jYsfz.js 1.74 kB │ gzip: 0.44 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/environment-CCy1DPK4.js 1.74 kB │ gzip: 0.74 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/setup-X7GyN1W3.js 1.77 kB │ gzip: 1.00 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/useMenuOa-CouOh5gF.js 1.82 kB │ gzip: 0.84 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-setting-DQees9nS.js 1.88 kB │ gzip: 0.53 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BOuOly12.js 1.90 kB │ gzip: 0.99 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-OnodxOHZ.js 1.94 kB │ gzip: 1.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Du2LWZH8.js 2.03 kB │ gzip: 0.98 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BDaB0E-W.js 2.04 kB │ gzip: 1.14 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/TrackingNoteTimeline-qLkjW9mz.js 2.08 kB │ gzip: 1.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CmaqjF1i.js 2.09 kB │ gzip: 1.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-DeLGxVBS.js 2.09 kB │ gzip: 0.95 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/open_setting-DZOSv2TW.js 2.10 kB │ gzip: 1.12 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DeSiLVkl.js 2.12 kB │ gzip: 1.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/account-adjust.vue_vue_type_script_setup_true_lang-DLFHtDrF.js 2.16 kB │ gzip: 1.12 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/filing-CYd3ENah.js 2.17 kB │ gzip: 1.17 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BTZEVdSa.js 2.18 kB │ gzip: 1.28 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/icon-Cu3rKo7D.js 2.23 kB │ gzip: 0.82 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/content.vue_vue_type_script_setup_true_lang-D1QTCkhZ.js 2.24 kB │ gzip: 1.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-DM08I_Vq.js 2.28 kB │ gzip: 1.16 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-NioqwkUU.js 2.29 kB │ gzip: 1.09 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index.vue_vue_type_script_setup_true_lang-BBhGStE3.js 2.37 kB │ gzip: 1.15 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/RecordingPlaybackBlock-BF6oq8o0.js 2.40 kB │ gzip: 1.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/auth.vue_vue_type_script_setup_true_lang-DUpi8wXf.js 2.40 kB │ gzip: 1.34 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/stats-6NrBN28H.js 2.45 kB │ gzip: 0.58 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/data-table.vue_vue_type_script_setup_true_lang-iygDMeqN.js 2.51 kB │ gzip: 1.28 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/oa-attr-Dn9KQ_47.js 2.51 kB │ gzip: 1.25 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-DlwU_i68.js 2.52 kB │ gzip: 1.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/h5-zrKe_i5f.js 2.56 kB │ gzip: 1.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/change-password-DSsVBcWi.js 2.57 kB │ gzip: 1.35 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/im-business-message-parse-kN-fWnvR.js 2.60 kB │ gzip: 1.28 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/add-nav.vue_vue_type_script_setup_true_lang-p5lTMb02.js 2.61 kB │ gzip: 1.26 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/tabbar-Dihz2HuZ.js 2.66 kB │ gzip: 1.33 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/file-B23popwU.js 2.73 kB │ gzip: 1.06 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-DXvpViJ0.js 2.74 kB │ gzip: 1.25 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PrescriptionOrderTimeDialog.vue_vue_type_script_setup_true_lang-C4jZNm37.js 2.77 kB │ gzip: 1.53 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-DsJbOGlT.js 2.77 kB │ gzip: 1.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/CaseRecordList-Dh9DC_fX.js 2.80 kB │ gzip: 1.52 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-BJzZntTv.js 2.81 kB │ gzip: 1.06 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CKx87Ubw.js 2.85 kB │ gzip: 1.34 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/follow_reply-DiTghw3P.js 2.85 kB │ gzip: 1.50 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-B_uxSMlB.js 2.86 kB │ gzip: 1.44 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/cost-edit.vue_vue_type_script_setup_true_lang-BTUf_yHp.js 2.86 kB │ gzip: 1.35 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-BM6CiMfa.js 2.89 kB │ gzip: 1.41 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/default_reply-5uZeRby-.js 2.91 kB │ gzip: 1.54 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-CC49n2nI.js 2.96 kB │ gzip: 1.14 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/protocol-CvGh1xGi.js 2.98 kB │ gzip: 1.10 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-DwBA6-ZO.js 2.99 kB │ gzip: 1.45 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/mubiao-dept-node-DXQEmjMn.js 3.03 kB │ gzip: 1.25 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/relations-add.vue_vue_type_script_setup_true_lang-BvGKlLLh.js 3.04 kB │ gzip: 1.26 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/picker.vue_vue_type_script_setup_true_lang-3aLBqC48.js 3.05 kB │ gzip: 1.50 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/AssignLogPanel-BqArThE3.js 3.06 kB │ gzip: 1.48 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/keyword_reply-rznXpeKO.js 3.11 kB │ gzip: 1.60 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-DhKEOAee.js 3.12 kB │ gzip: 1.51 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Ca4paL5P.js 3.21 kB │ gzip: 1.52 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-BtXPz-s7.js 3.25 kB │ gzip: 1.47 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/menu-set.vue_vue_type_script_setup_true_lang-DOQPvZ0t.js 3.26 kB │ gzip: 1.40 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/pc_details-Uxx4oina.js 3.39 kB │ gzip: 1.49 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BEqR6PLL.js 3.39 kB │ gzip: 1.45 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DkByXqoV.js 3.42 kB │ gzip: 1.54 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-UQUSU7dW.js 3.43 kB │ gzip: 1.64 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-wi7xah8q.js 3.44 kB │ gzip: 1.70 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/balance_details-7lcctCpR.js 3.48 kB │ gzip: 1.63 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CNroqSvL.js 3.48 kB │ gzip: 1.64 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index.vue_vue_type_script_setup_true_lang-B2RpTCrr.js 3.52 kB │ gzip: 1.56 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/journal-NmX3wbNg.js 3.73 kB │ gzip: 1.46 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-Cawh5jcC.js 3.73 kB │ gzip: 1.57 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/detail-StjgxJHl.js 3.76 kB │ gzip: 1.55 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/AssistantWatchCallDialog-BsYlFxXL.js 3.78 kB │ gzip: 1.85 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/CallRecordPanel-DBKR-X7H.js 3.78 kB │ gzip: 1.77 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-1otTjhv8.js 3.91 kB │ gzip: 1.71 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/preview-pc-B5zPgP_e.js 3.98 kB │ gzip: 1.63 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/first_visit-DbNl62uk.js 3.98 kB │ gzip: 0.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/AppointmentRecordPanel-CDaS_4pU.js 4.02 kB │ gzip: 1.73 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-G-35h9K1.js 4.11 kB │ gzip: 1.65 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CaFIrKIw.js 4.11 kB │ gzip: 1.79 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/detail-Blb0B2h-.js 4.15 kB │ gzip: 1.56 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/MessageBubble-CA1nfUaB.js 4.17 kB │ gzip: 1.79 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-B4EmSVS2.js 4.22 kB │ gzip: 1.92 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/useListTimeFilter-CdH21Uys.js 4.26 kB │ gzip: 1.52 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CjkZgoWj.js 4.37 kB │ gzip: 2.14 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/bind-work-wechat-BRvEWoWp.js 4.40 kB │ gzip: 2.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/recharge_record-Bwz6to5J.js 4.43 kB │ gzip: 1.87 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-LX4iOnTi.js 4.45 kB │ gzip: 1.79 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-D8WElAVW.js 4.47 kB │ gzip: 1.91 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-jmopfA9M.js 4.49 kB │ gzip: 1.95 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-LQo_rtaS.js 4.49 kB │ gzip: 1.96 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/preview-B45i9day.js 4.49 kB │ gzip: 1.70 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-DlzXqFLn.js 4.51 kB │ gzip: 1.75 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/RecordingVideoPlayer-BcJus6KG.js 4.53 kB │ gzip: 2.26 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/ImChatRecordPanel-DWKR7L-S.js 4.54 kB │ gzip: 2.40 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-C8lE85Dl.js 4.55 kB │ gzip: 1.92 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/paiban-CF7tnZWS.js 4.56 kB │ gzip: 2.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BKYq8s9A.js 4.57 kB │ gzip: 1.33 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/login_register-CSM9Kik4.js 4.59 kB │ gzip: 2.01 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/dept-tongji-C5bUQulT.js 4.66 kB │ gzip: 2.04 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CulsBGOT.js 4.76 kB │ gzip: 2.05 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-Dja1yQfO.js 4.92 kB │ gzip: 2.04 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-COQereMa.js 5.04 kB │ gzip: 1.99 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-CDx_-bAQ.js 5.18 kB │ gzip: 2.03 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PaibanPanel-CdKCdBTV.js 5.28 kB │ gzip: 2.43 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DFClWNML.js 5.32 kB │ gzip: 2.19 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DjCsQj8A.js 5.53 kB │ gzip: 2.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/mubiao-D3sRFAGe.js 5.55 kB │ gzip: 2.56 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/yeji-edit.vue_vue_type_script_setup_true_lang-CYUehHGQ.js 5.56 kB │ gzip: 1.81 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/mobile-style.vue_vue_type_script_setup_true_lang-DUHo1XPs.js 5.59 kB │ gzip: 1.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/ExerciseRecordList-CZDXIKcq.js 5.62 kB │ gzip: 2.15 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/attr-BEgqAtig.js 5.62 kB │ gzip: 2.24 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/tongji-z5Fih1ec.js 5.66 kB │ gzip: 2.31 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PatientOrderList-Czd024sx.js 5.82 kB │ gzip: 2.84 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/DietRecordList-CYr0fCm3.js 5.84 kB │ gzip: 2.01 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/mubiao-dept-card-BNQancbO.js 5.91 kB │ gzip: 2.38 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/login-KCPIh0nm.js 6.03 kB │ gzip: 2.72 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/refund_record-CMWk9-O3.js 6.27 kB │ gzip: 2.33 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/DiagnosisTodoList-Bhqobaeg.js 6.34 kB │ gzip: 2.89 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DybjGNHj.js 6.35 kB │ gzip: 3.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/information-DwPa0fkX.js 6.36 kB │ gzip: 1.81 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/NoteTimeline-DVDEdlxQ.js 6.48 kB │ gzip: 2.60 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/account_cost-CExJsJtt.js 6.56 kB │ gzip: 2.86 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PatientCaseCard-8kM3csHH.js 6.61 kB │ gzip: 2.34 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-hEmlHfgd.js 6.61 kB │ gzip: 2.62 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CeBge0dD.js 6.77 kB │ gzip: 2.89 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/readonly-C6uAn3T-.js 6.98 kB │ gzip: 2.69 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/picker-DzWLch3S.js 7.32 kB │ gzip: 3.18 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-CyKpWZxa.js 7.35 kB │ gzip: 2.66 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/setting-Dlth4NoX.js 7.35 kB │ gzip: 2.93 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/weapp-BilWEKOP.js 7.39 kB │ gzip: 2.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/prescription-order-utils-CXfs2Bra.js 7.62 kB │ gzip: 3.11 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-C2aowR7v.js 7.65 kB │ gzip: 3.13 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/config-BAKzfPlG.js 7.77 kB │ gzip: 2.59 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/TrackingMatrix-BA03fK_p.js 7.84 kB │ gzip: 3.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/patient-call-y9ag_iTO.js 7.85 kB │ gzip: 3.24 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/dayjs-CF5xpNFg.js 8.07 kB │ gzip: 3.45 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/tcm-D9nD2Ol1.js 8.99 kB │ gzip: 1.57 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-CHe9Dfjn.js 9.00 kB │ gzip: 2.83 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/tim-upload-plugin-B7yxlBgj.js 9.47 kB │ gzip: 3.61 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Di3gFWXl.js 9.49 kB │ gzip: 3.84 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/BloodRecordList-B8yTz_Tz.js 9.58 kB │ gzip: 3.33 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/medicine-v_W1vhCm.js 9.74 kB │ gzip: 3.55 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-a1XCehrj.js 9.99 kB │ gzip: 3.55 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BTeEtmW8.js 10.06 kB │ gzip: 3.98 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-PBq5viNw.js 10.33 kB │ gzip: 3.89 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PrescriptionAiBatchGenerateDialog-BZDXI40z.js 10.36 kB │ gzip: 4.29 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/SendPanel-r3TfoEF0.js 10.37 kB │ gzip: 3.57 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/progress-BWtny4Wt.js 11.18 kB │ gzip: 4.59 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/list-BKszrwkD.js 11.18 kB │ gzip: 4.02 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-KpgyDKEY.js 11.30 kB │ gzip: 4.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/appointment-I3BGfzIl.js 11.34 kB │ gzip: 4.24 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-4mncObtW.js 11.44 kB │ gzip: 3.76 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/OrderPanel-WKPUGsCa.js 11.74 kB │ gzip: 4.22 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/picker-sezG1KHk.js 12.15 kB │ gzip: 4.49 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/ProgressPanel-BUHkILAg.js 12.58 kB │ gzip: 4.48 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/prescription-drawer-wzPrwF6j.js 12.76 kB │ gzip: 3.87 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-D09YPXtL.js 13.00 kB │ gzip: 4.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DKTZIx4g.js 13.11 kB │ gzip: 3.91 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/h5-2YOqn3nI.js 13.83 kB │ gzip: 4.40 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BrB35imQ.js 14.26 kB │ gzip: 5.90 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/guahao-pxg547CQ.js 14.96 kB │ gzip: 4.41 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/WecomFloatingWidgetBuilder-DN-H_bHO.js 15.22 kB │ gzip: 6.02 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DLwugLSk.js 15.52 kB │ gzip: 6.40 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Co1sYRjN.js 15.90 kB │ gzip: 5.20 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-EBLK7IMQ.js 15.90 kB │ gzip: 4.70 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CMFEoXkU.js 16.34 kB │ gzip: 6.06 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CdWQT_Py.js 16.35 kB │ gzip: 5.11 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-BFGqGjsy.js 16.60 kB │ gzip: 6.07 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PrescriptionAiReportDialog-BqOt_-ti.js 17.15 kB │ gzip: 6.47 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-D3rT0Mvw.js 17.84 kB │ gzip: 6.02 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/roster-DvICKm55.js 18.09 kB │ gzip: 5.72 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CEwBxoDh.js 18.19 kB │ gzip: 6.88 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PromotionAutomationForm-B1uWR2mJ.js 18.23 kB │ gzip: 6.36 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DEL1rgiP.js 18.60 kB │ gzip: 5.23 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/WelcomeMessageEditor-a_tb4fnt.js 19.11 kB │ gzip: 6.95 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/OrderActionHost-C4DqnjCB.js 21.16 kB │ gzip: 6.02 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-5PRvhCFL.js 21.91 kB │ gzip: 7.87 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/add-BbndHWat.js 22.29 kB │ gzip: 5.36 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DSJuHc0c.js 22.76 kB │ gzip: 7.97 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/DailyMatrix-HQBijfZ6.js 24.97 kB │ gzip: 7.09 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/list_h5-CpVyXjRp.js 27.36 kB │ gzip: 9.28 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/list-DrsIy_hb.js 29.93 kB │ gzip: 9.61 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/qywx-CpFscJx8.js 30.35 kB │ gzip: 10.01 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/commission-settlement-OjE5LP5q.js 35.83 kB │ gzip: 9.75 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/edit-s5raOMrp.js 35.86 kB │ gzip: 9.03 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CPHxXlTR.js 36.24 kB │ gzip: 12.99 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-JUq5sTZq.js 36.70 kB │ gzip: 11.81 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index_h5-FfUrDajA.js 37.44 kB │ gzip: 11.45 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-Cyxgawcy.js 40.10 kB │ gzip: 11.87 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/PrescriptionOrderDetailDrawer-Bna8yji5.js 48.77 kB │ gzip: 13.48 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CqFdR5pc.js 50.72 kB │ gzip: 14.97 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-D1YB6a1X.js 55.03 kB │ gzip: 15.89 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/tim-profanity-filter-plugin-BJ7z5puq.js 55.90 kB │ gzip: 21.04 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CA84xqNx.js 62.86 kB │ gzip: 19.09 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/rtc-detect-CAvkmauD.js 74.80 kB │ gzip: 25.93 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/yeji-Db3Ivgkq.js 87.40 kB │ gzip: 23.27 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-DOdLmw6B.js 88.42 kB │ gzip: 25.65 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/order_list-De0sJbu0.js 114.89 kB │ gzip: 31.80 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/order_list_h5-CAW3276M.js 139.58 kB │ gzip: 36.82 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/@tencentcloud/chat-uikit-engine-BJz4IWsw.js 162.84 kB │ gzip: 41.72 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/index-CB1231KF.js 290.16 kB │ gzip: 91.99 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/@tencentcloud/chat-Bg29VzHQ.js 725.88 kB │ gzip: 178.89 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/@tencentcloud/call-engine-js-CRx4G1jN.js 2,290.42 kB │ gzip: 749.64 kB
|
||||
../artifacts/prescription-enhancements/admin-build/assets/.pnpm-BHOjf1ZS.js 18,525.72 kB │ gzip: 5,519.46 kB
|
||||
|
||||
WARN
|
||||
(!) Some chunks are larger than 500 kB after minification. Consider:
|
||||
- Using dynamic import() to code-split the application
|
||||
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
|
||||
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
|
||||
|
||||
✓ built in 1m 54s
|
||||
@@ -0,0 +1,39 @@
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import { createRequire } from 'node:module'
|
||||
import { execFileSync } from 'node:child_process'
|
||||
|
||||
const root = 'D:/web/zyt'
|
||||
const require = createRequire(path.join(root, 'admin/package.json'))
|
||||
const { parse, compileScript, compileTemplate, compileStyleAsync } = require('@vue/compiler-sfc')
|
||||
const changed = execFileSync('git', ['diff', '--name-only', '--', 'admin/src'], { cwd: root, encoding: 'utf8' })
|
||||
const files = changed.trim().split(/\r?\n/).filter((file) => file.endsWith('.vue'))
|
||||
files.push('admin/src/views/consumer/prescription/components/PrescriptionOrderTimeDialog.vue')
|
||||
const results = []
|
||||
for (const file of [...new Set(files)]) {
|
||||
const filename = path.join(root, file)
|
||||
const { descriptor, errors } = parse(fs.readFileSync(filename, 'utf8'), { filename })
|
||||
const diagnostics = [...errors]
|
||||
try {
|
||||
const script = compileScript(descriptor, { id: file })
|
||||
if (descriptor.template) {
|
||||
diagnostics.push(...compileTemplate({
|
||||
id: file, filename, source: descriptor.template.content,
|
||||
compilerOptions: { bindingMetadata: script.bindings }
|
||||
}).errors)
|
||||
}
|
||||
for (const style of descriptor.styles) {
|
||||
const output = await compileStyleAsync({
|
||||
id: file, filename, source: style.content, scoped: style.scoped,
|
||||
preprocessLang: style.lang, preprocessCustomRequire: require
|
||||
})
|
||||
diagnostics.push(...output.errors)
|
||||
}
|
||||
} catch (error) {
|
||||
diagnostics.push(error)
|
||||
}
|
||||
results.push({ file, errors: diagnostics.map(String) })
|
||||
}
|
||||
fs.writeFileSync(path.join(root, 'artifacts/prescription-enhancements/vue-compile.json'), JSON.stringify(results, null, 2))
|
||||
console.log(JSON.stringify(results, null, 2))
|
||||
process.exitCode = results.some((result) => result.errors.length) ? 1 : 0
|
||||
@@ -0,0 +1,65 @@
|
||||
# 预约问诊类型:Web 管理端交付记录
|
||||
|
||||
日期:2026-09-09
|
||||
|
||||
## 完成行为
|
||||
|
||||
- 复用 `doctor_appointment.appointment_type`。`video` 为视频问诊,`text` 为图文问诊;没有改动诊单的 `diagnosis_type`(诊断/初复诊相关字段),也没有新增冗余诊单字段。
|
||||
- 预约问诊抽屉新增图文问诊选项;初次打开及每次重开默认视频问诊,提交所选值。
|
||||
- 消费者处方的挂号编辑仅允许选择视频问诊、图文问诊。
|
||||
- 医生面诊 PC 列表、H5 列表(包括详情的操作入口)、接诊台均把**当前挂号行**的问诊类型传入共享聊天窗口。窗口标题展示类型标签,缩小后仍在标题显示。切换患者或新开会话时重新设置,不沿用上次类型。
|
||||
- 类型仅用作展示,不改变聊天、视频通话、处方、排班、权限及挂号状态的现有业务行为。
|
||||
|
||||
## 服务端数据与兼容性
|
||||
|
||||
- 新增 `server/app/common/enum/AppointmentTypeEnum.php`,统一严格写入枚举、缺省请求处理及读取标签。
|
||||
- `AppointmentValidate` 创建场景允许旧客户端省略类型,按视频校验;显式 null、空串、空白、电话、大小写变体、数组、布尔及数值均拒绝。
|
||||
- `AppointmentLogic::create` 同样补省略字段的默认视频值,并在任何数据库操作前严格校验,避免其他内部调用绕过控制器。
|
||||
- 编辑场景要求显式提供合法类型。不能因为旧客户端省略类型而把已有图文记录悄悄重置为视频;内部 `adminEdit` 同样校验。
|
||||
- 保存兼容逻辑发现预约表没有 `appointment_type` 列时,会明确报错,避免成功提示但丢弃图文选择。
|
||||
- 预约模型、预约详情、预约列表及接诊聚合详情统一把旧 null/空白类型按视频返回。
|
||||
- 诊单列表返回的当前挂号、逐条 `appointments[]` 和最近挂号摘要均携带类型与描述。
|
||||
- 已明确记录为 `phone` 的历史记录继续显示“电话问诊”,不把真实历史问诊方式改写为视频;新建/编辑不能再写入 phone。未知历史值保持未知,避免伪造已知类型。
|
||||
|
||||
## 覆盖文件
|
||||
|
||||
前端:
|
||||
|
||||
- `admin/src/views/tcm/diagnosis/appointment.vue`
|
||||
- `admin/src/views/consumer/prescription/guahao.vue`
|
||||
- `admin/src/components/chat-dialog/index.vue`
|
||||
- `admin/src/views/tcm/appointment/list.vue`
|
||||
- `admin/src/views/tcm/appointment/list_h5.vue`
|
||||
- `admin/src/views/patient/reception/index.vue`
|
||||
- `admin/src/utils/appointment-type.ts`
|
||||
|
||||
后端:
|
||||
|
||||
- `server/app/common/enum/AppointmentTypeEnum.php`
|
||||
- `server/app/common/model/doctor/Appointment.php`
|
||||
- `server/app/adminapi/validate/doctor/AppointmentValidate.php`
|
||||
- `server/app/adminapi/logic/doctor/AppointmentLogic.php`
|
||||
- `server/app/adminapi/lists/doctor/AppointmentLists.php`
|
||||
- `server/app/adminapi/lists/tcm/DiagnosisLists.php`
|
||||
|
||||
## 验证结果
|
||||
|
||||
全部通过,未连接业务数据库:
|
||||
|
||||
1. `php server/tests/AppointmentTypeTest.php`:video/text 双向校验、13 种非法入参、内部逻辑 DB 前拒绝、创建默认值、编辑显式选值、模型历史标签、保存字段保留/缺列报错、最近挂号摘要切换。
|
||||
2. `node admin/scripts/verify-appointment-type.cjs`:类型标签默认/兼容行为、3 个聊天入口使用当前挂号行、预约控件与提交映射、6 个 Vue 组件的 script/template/style 编译。
|
||||
3. `php server/tests/DiagnosisValidateAddSceneTest.php`。
|
||||
4. `php server/tests/DiagnosisWorkspaceRowAuthorizationTest.php`。
|
||||
5. `php server/tests/PrescriptionAppointmentScopeContractTest.php`。
|
||||
6. 所有修改 PHP 文件与新增测试文件 `php -l`。
|
||||
7. 本子任务所属文件 `git diff --check`。
|
||||
|
||||
没有进行真实挂号写入、腾讯云聊天登录/视频通话或线上数据库迁移;本次前端验证为真实组件编译和数据传递约束检查,不冒充浏览器完整联调。
|
||||
|
||||
## 部署
|
||||
|
||||
- 新安装建表脚本 `server/sql/doctor_appointment.sql` 已将字段设为 `NOT NULL DEFAULT 'video'`。
|
||||
- 现有环境部署时运行 `server/sql/1.9.20260909/appointment_type_video_default.sql`:只回填 null/空白历史值为 video,然后设置非空及默认值,不改 text 或 phone。
|
||||
- SQL 尚未执行。表前缀按仓库现有脚本使用 `zyt_`,若目标环境前缀不同,需要对应调整。
|
||||
- 将 server 源码随前端构建一起部署;这项改动复用现有预约/挂号接口和权限,无新增权限菜单。
|
||||
- 本次覆盖用户指定的 Web 管理端。桌面 `app/` 保持现有进行中的用户改动,未扩展桌面预约入口。
|
||||
@@ -0,0 +1,41 @@
|
||||
# 处方业务订单后端变更
|
||||
|
||||
## 交付行为
|
||||
|
||||
- 取消(fulfillment_status=4)和退款(10)的未删除历史订单不再占用处方。已有 10 状态数据立即兼容,无需回填 refund_amount 或删除关联。
|
||||
- 列表与详情的 `has_prescription_order`、业务处方驳回角标、风险置顶、作废校验和订单创建校验使用同一状态常量。其余非删除订单(含已完成、拒收、保留药方)仍占用处方。
|
||||
- 现有退款逻辑:全额退款或退款后已付余额归零进入状态 10;部分退款且仍有余额则保留原履约状态。因此部分退款不会提前释放处方。
|
||||
- 已通过审核的处方可以在释放后直接重新创建业务订单;已作废、已删除处方仍禁止创建。退款不重置处方审核。
|
||||
- 历史业务订单、prescription_id、支付单关联和药房编号保持原样。处方详情中的历史打印收件/金额仍可回看最近未取消订单,新订单建立后自然优先新订单。
|
||||
- 创建过程先取得处方行锁,随后检查有效订单,写入业务订单、收款关联、代收快照与日志,同一事务提交。两个同时提交的创建请求只有一个成功。日志失败回滚创建,避免半成品订单占用处方。
|
||||
|
||||
## 前端接口
|
||||
|
||||
`POST /adminapi/tcm.prescriptionOrder/editTime`
|
||||
|
||||
请求:`{"id":123,"create_time":"2026-09-09 10:20:30"}`。日期必须为有效且完整的 `YYYY-MM-DD HH:mm:ss`,按应用现有服务器时区解释。id 为正整数。
|
||||
|
||||
权限:`tcm.prescriptionOrder/editTime`,超管或明确授予该权限的角色可用。逻辑层显式校验,因此未执行菜单 SQL 时不会因中间件默认放行而越权。
|
||||
|
||||
成功数据:`{"id":123,"create_time":1788920430}`,具体时间取决于服务器时区;INT 库保留时间戳,DATETIME 历史变体保留规范日期字符串。返回数据只有 id/create_time。
|
||||
|
||||
本接口不受履约状态或远端药房快照锁影响,可以修正退款、完成、发货等订单的创建时间;遵守现有业务订单访问规则。只更新 create_time、自动 update_time,并记录 `edit_time` 操作日志(操作者、旧时间、新时间)。日志失败回滚;重复提交相同时间不重复写日志。其他额外请求字段不参与更新。
|
||||
|
||||
处方前端继续用 `has_prescription_order === 0` 判断是否已有有效业务订单,并保留现有作废/权限条件即可;不需要根据 refund_amount 做前端猜测。
|
||||
|
||||
## SQL 部署
|
||||
|
||||
执行 `server/sql/1.9.20260909/add_prescription_order_edit_time_menu.sql`,默认表前缀 zyt_。脚本可重复执行,将“修改业务订单创建时间”按钮放在处方业务订单列表菜单下;不会给任何普通角色自动授予权限。再于角色管理中给指定角色勾选该权限。
|
||||
|
||||
退款释放不涉及表结构或业务数据迁移。没有运行任何业务数据库 SQL。
|
||||
|
||||
## 验证
|
||||
|
||||
- `server/tests/PrescriptionOrderReleaseAndTimeTest.php`:112 项真实 ORM/MySQL 断言通过。覆盖旧退款/取消/软删历史、所有活跃状态、真实全退/部分退/剩余退款/撤回流程、审批不重置、支付与远端关联历史、作废/删除限制、创建及时间编辑日志失败回滚、缺失权限/授权角色、严格时间校验、INT/DATETIME、重复时间幂等、两条独立 PHP/数据库连接并发创建(有/无退款历史)。
|
||||
- `server/tests/PrescriptionOrderUnlinkPayOrderTest.php`:131 项断言通过。
|
||||
- `server/tests/OrderEditTimeContractTest.php`:通过。
|
||||
- 修改 PHP 文件语法检查通过;使用仓库现有换行风格,`git -c core.whitespace=cr-at-eol diff --check` 对订单相关改动通过。
|
||||
|
||||
验证只使用显式启动的 127.0.0.1:13379 临时 MySQL 5.7,不初始化应用配置,不连接业务数据库。测试自行创建随机名测试库并在 finally 删除,独立 MySQL 已关闭,临时数据目录已清理。
|
||||
|
||||
重新运行新测试:先启动独立 MySQL,然后在 PowerShell 设置 `$env:ZYT_RX_ORDER_TEST_MYSQL_PORT='独立端口'`,运行 `php server/tests/PrescriptionOrderReleaseAndTimeTest.php`。
|
||||
@@ -0,0 +1,53 @@
|
||||
import { createServer } from '../../admin/node_modules/vite/dist/node/index.js'
|
||||
import vue from '../../admin/node_modules/@vitejs/plugin-vue/dist/index.mjs'
|
||||
|
||||
const root = 'D:/web/zyt/admin'
|
||||
const entry = `
|
||||
import { createApp, h, onMounted, reactive, ref } from 'vue';
|
||||
import ElementPlus from 'element-plus';
|
||||
import zhCn from 'element-plus/es/locale/lang/zh-cn';
|
||||
import 'element-plus/dist/index.css';
|
||||
import Dialog from '/src/views/consumer/prescription/components/PrescriptionOrderTimeDialog.vue';
|
||||
import { state } from 'time-fixture-state';
|
||||
createApp({setup() {
|
||||
const dialog = ref(null);
|
||||
const row = {id: 42, order_no: '测试订单-42', create_time: '2026-09-09 11:12:37'};
|
||||
onMounted(() => dialog.value.open(row));
|
||||
return () => h('main', {style:'font-family:system-ui;padding:20px'}, [
|
||||
h('h2', '订单时间隔离验证(虚构数据)'),
|
||||
h('button', {onClick:() => dialog.value.open(row)}, '打开弹窗'),
|
||||
h('pre', {id:'fixture-state'}, JSON.stringify(state, null, 2)),
|
||||
h(Dialog, {ref:dialog, onSaved:id => state.saved.push(id)})
|
||||
]);
|
||||
}}).use(ElementPlus, {locale:zhCn}).mount('#app');`
|
||||
|
||||
const server = await createServer({
|
||||
configFile: false, root, base: '/',
|
||||
cacheDir: 'D:/web/zyt/artifacts/prescription-enhancements/vite-cache',
|
||||
optimizeDeps: { entries: [], include: ['vue', 'element-plus'] },
|
||||
resolve: { alias: { '@': `${root}/src` } },
|
||||
plugins: [{
|
||||
name: 'time-dialog-isolated-fixture', enforce: 'pre',
|
||||
resolveId(id) {
|
||||
if (id === 'time-fixture-state') return '\0time-state'
|
||||
if (id === '@/api/tcm' || id.endsWith('/src/api/tcm')) return '\0time-api'
|
||||
if (id === '/__time-entry.js') return '\0time-entry'
|
||||
},
|
||||
load(id) {
|
||||
if (id === '\0time-state') return `import {reactive} from 'vue'; export const state = reactive({requests:[],saved:[]});`
|
||||
if (id === '\0time-api') return `import {state} from 'time-fixture-state'; export async function prescriptionOrderEditTime(params){state.requests.push(params);return {...params};}`
|
||||
if (id === '\0time-entry') return entry
|
||||
},
|
||||
configureServer(dev) {
|
||||
dev.middlewares.use((req, res, next) => {
|
||||
if (!req.url?.startsWith('/__time-check')) return next()
|
||||
res.setHeader('Content-Type', 'text/html;charset=utf-8')
|
||||
res.end('<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>订单创建时间验证</title></head><body><div id="app"></div><script type="module" src="/__time-entry.js"></script></body></html>')
|
||||
})
|
||||
}
|
||||
}, vue()],
|
||||
server: { host: '127.0.0.1', port: 5586, strictPort: true, open: false }
|
||||
})
|
||||
await server.listen()
|
||||
console.log('Isolated fixture: http://127.0.0.1:5586/__time-check')
|
||||
for (const event of ['SIGINT', 'SIGTERM']) process.on(event, async () => { await server.close(); process.exit(0) })
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"errors": 57,
|
||||
"errorsOnChangedLines": [],
|
||||
"note": "Reported diagnostic locations are checked against the diff; this is not a separate baseline typecheck run."
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
src/components/chat-dialog/ChatMessageItem.vue(29,7): error TS7022: 'attrs' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
|
||||
src/components/editor/index.vue(29,44): error TS7016: Could not find a declaration file for module '@wangeditor/editor-for-vue'. 'D:/web/zyt/admin/node_modules/.pnpm/@wangeditor+editor-for-vue@_d49ef1161b4f4b880c450fdbfe3a0001/node_modules/@wangeditor/editor-for-vue/dist/index.esm.js' implicitly has an 'any' type.
|
||||
There are types at 'D:/web/zyt/admin/node_modules/@wangeditor/editor-for-vue/dist/src/index.d.ts', but this result could not be resolved when respecting package.json "exports". The '@wangeditor/editor-for-vue' library may need to update its package.json or typings.
|
||||
src/components/link/mini-program.vue(11,30): error TS7006: Parameter 'value' implicitly has an 'any' type.
|
||||
src/components/link/mini-program.vue(22,30): error TS7006: Parameter 'value' implicitly has an 'any' type.
|
||||
src/components/link/mini-program.vue(33,30): error TS7006: Parameter 'value' implicitly has an 'any' type.
|
||||
src/components/link/mini-program.vue(48,31): error TS7006: Parameter 'value' implicitly has an 'any' type.
|
||||
src/utils/call-local-recorder.ts(335,26): error TS2339: Property 'captureStream' does not exist on type 'HTMLVideoElement'.
|
||||
src/views/asset/user/index.vue(230,20): error TS2339: Property 'remark' does not exist on type 'never'.
|
||||
src/views/consumer/prescription/index.vue(1952,9): error TS2322: Type '{ name: any; code: any; children: any; }[]' is not assignable to type 'never[]'.
|
||||
Type '{ name: any; code: any; children: any; }' is not assignable to type 'never'.
|
||||
src/views/consumer/prescription/index.vue(1958,13): error TS2322: Type '{ name: string; children: { name: string; children: { name: string; }[]; }[]; }' is not assignable to type 'never'.
|
||||
src/views/consumer/prescription/index.vue(1986,13): error TS2322: Type '{ name: string; children: { name: string; children: { name: string; }[]; }[]; }' is not assignable to type 'never'.
|
||||
src/views/consumer/prescription/index.vue(2001,13): error TS2322: Type '{ name: string; children: { name: string; children: { name: string; }[]; }[]; }' is not assignable to type 'never'.
|
||||
src/views/consumer/prescription/index.vue(2016,13): error TS2322: Type '{ name: string; children: { name: string; children: { name: string; }[]; }[]; }' is not assignable to type 'never'.
|
||||
src/views/consumer/prescription/index.vue(2256,32): error TS2304: Cannot find name 'searchPatientsAPI'.
|
||||
src/views/consumer/prescription/order_list.vue(1939,68): error TS7006: Parameter 'r' implicitly has an 'any' type.
|
||||
src/views/consumer/prescription/order_list.vue(2379,9): error TS2322: Type '{ value: any; label: any; code: any; children: any; }[]' is not assignable to type 'never[]'.
|
||||
Type '{ value: any; label: any; code: any; children: any; }' is not assignable to type 'never'.
|
||||
src/views/consumer/prescription/order_list.vue(3775,13): error TS2322: Type 'string | number | undefined' is not assignable to type 'number | undefined'.
|
||||
Type 'string' is not assignable to type 'number'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(497,96): error TS7006: Parameter 'cmd' implicitly has an 'any' type.
|
||||
src/views/consumer/prescription/order_list_h5.vue(566,47): error TS2345: Argument of type 'Record<string, any>' is not assignable to parameter of type '{ id: number; }'.
|
||||
Property 'id' is missing in type 'Record<string, any>' but required in type '{ id: number; }'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(576,58): error TS2345: Argument of type 'Record<string, any>' is not assignable to parameter of type '{ id: number; }'.
|
||||
Property 'id' is missing in type 'Record<string, any>' but required in type '{ id: number; }'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(586,47): error TS2345: Argument of type 'Record<string, any>' is not assignable to parameter of type '{ id: number; }'.
|
||||
Property 'id' is missing in type 'Record<string, any>' but required in type '{ id: number; }'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(596,59): error TS2345: Argument of type 'Record<string, any>' is not assignable to parameter of type '{ id: number; }'.
|
||||
Property 'id' is missing in type 'Record<string, any>' but required in type '{ id: number; }'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(611,46): error TS2345: Argument of type 'Record<string, any>' is not assignable to parameter of type '{ id: number; express_company?: unknown; tracking_number?: unknown; ship_mode?: unknown; }'.
|
||||
Property 'id' is missing in type 'Record<string, any>' but required in type '{ id: number; express_company?: unknown; tracking_number?: unknown; ship_mode?: unknown; }'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(621,53): error TS2345: Argument of type 'Record<string, any>' is not assignable to parameter of type '{ id: number; diagnosis_id?: number | undefined; pay_order_ids?: number[] | undefined; }'.
|
||||
Property 'id' is missing in type 'Record<string, any>' but required in type '{ id: number; diagnosis_id?: number | undefined; pay_order_ids?: number[] | undefined; }'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(631,53): error TS2345: Argument of type 'Record<string, any>' is not assignable to parameter of type '{ id: number; }'.
|
||||
Property 'id' is missing in type 'Record<string, any>' but required in type '{ id: number; }'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(641,53): error TS2345: Argument of type 'Record<string, any>' is not assignable to parameter of type '{ id: number; }'.
|
||||
Property 'id' is missing in type 'Record<string, any>' but required in type '{ id: number; }'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(2509,68): error TS7006: Parameter 'r' implicitly has an 'any' type.
|
||||
src/views/consumer/prescription/order_list_h5.vue(2848,9): error TS2322: Type '{ value: any; label: any; code: any; children: any; }[]' is not assignable to type 'never[]'.
|
||||
Type '{ value: any; label: any; code: any; children: any; }' is not assignable to type 'never'.
|
||||
src/views/consumer/prescription/order_list_h5.vue(4694,13): error TS2322: Type 'string | number | undefined' is not assignable to type 'number | undefined'.
|
||||
Type 'string' is not assignable to type 'number'.
|
||||
src/views/decoration/component/tabbar/pc/attr.vue(10,18): error TS2345: Argument of type '{ modelValue: any; }' is not assignable to parameter of type '{ readonly modelValue: any[]; readonly max?: number | undefined; readonly min?: number | undefined; readonly itemData: any; readonly "onUpdate:modelValue"?: ((value: any) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Record<...>'.
|
||||
Property 'itemData' is missing in type '{ modelValue: any; }' but required in type '{ readonly modelValue: any[]; readonly max?: number | undefined; readonly min?: number | undefined; readonly itemData: any; readonly "onUpdate:modelValue"?: ((value: any) => any) | undefined; }'.
|
||||
src/views/decoration/component/tabbar/pc/attr.vue(13,18): error TS2345: Argument of type '{ modelValue: any; }' is not assignable to parameter of type '{ readonly modelValue: any[]; readonly max?: number | undefined; readonly min?: number | undefined; readonly itemData: any; readonly "onUpdate:modelValue"?: ((value: any) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Record<...>'.
|
||||
Property 'itemData' is missing in type '{ modelValue: any; }' but required in type '{ readonly modelValue: any[]; readonly max?: number | undefined; readonly min?: number | undefined; readonly itemData: any; readonly "onUpdate:modelValue"?: ((value: any) => any) | undefined; }'.
|
||||
src/views/decoration/component/widgets/middle-banner/content.vue(6,33): error TS2339: Property 'height' does not exist on type '{}'.
|
||||
src/views/doctor/dept-tongji.vue(131,31): error TS7006: Parameter 'depts' implicitly has an 'any' type.
|
||||
src/views/doctor/dept-tongji.vue(132,17): error TS7034: Variable 'result' implicitly has type 'any[]' in some locations where its type cannot be determined.
|
||||
src/views/doctor/dept-tongji.vue(133,27): error TS7006: Parameter 'dept' implicitly has an 'any' type.
|
||||
src/views/doctor/dept-tongji.vue(136,30): error TS7005: Variable 'result' implicitly has an 'any[]' type.
|
||||
src/views/doctor/dept-tongji.vue(139,20): error TS7005: Variable 'result' implicitly has an 'any[]' type.
|
||||
src/views/doctor/tongji.vue(230,48): error TS2769: No overload matches this call.
|
||||
Overload 1 of 3, '(callbackfn: (previousValue: unknown, currentValue: unknown, currentIndex: number, array: unknown[]) => unknown, initialValue: unknown): unknown', gave the following error.
|
||||
Argument of type '(total: number, count: number) => number' is not assignable to parameter of type '(previousValue: unknown, currentValue: unknown, currentIndex: number, array: unknown[]) => unknown'.
|
||||
Types of parameters 'total' and 'previousValue' are incompatible.
|
||||
Type 'unknown' is not assignable to type 'number'.
|
||||
Overload 2 of 3, '(callbackfn: (previousValue: number, currentValue: unknown, currentIndex: number, array: unknown[]) => number, initialValue: number): number', gave the following error.
|
||||
Argument of type '(total: number, count: number) => number' is not assignable to parameter of type '(previousValue: number, currentValue: unknown, currentIndex: number, array: unknown[]) => number'.
|
||||
Types of parameters 'count' and 'currentValue' are incompatible.
|
||||
Type 'unknown' is not assignable to type 'number'.
|
||||
src/views/doctor/tongji.vue(236,51): error TS2769: No overload matches this call.
|
||||
Overload 1 of 3, '(callbackfn: (previousValue: unknown, currentValue: unknown, currentIndex: number, array: unknown[]) => unknown, initialValue: unknown): unknown', gave the following error.
|
||||
Argument of type '(total: number, count: number) => number' is not assignable to parameter of type '(previousValue: unknown, currentValue: unknown, currentIndex: number, array: unknown[]) => unknown'.
|
||||
Types of parameters 'total' and 'previousValue' are incompatible.
|
||||
Type 'unknown' is not assignable to type 'number'.
|
||||
Overload 2 of 3, '(callbackfn: (previousValue: number, currentValue: unknown, currentIndex: number, array: unknown[]) => number, initialValue: number): number', gave the following error.
|
||||
Argument of type '(total: number, count: number) => number' is not assignable to parameter of type '(previousValue: number, currentValue: unknown, currentIndex: number, array: unknown[]) => number'.
|
||||
Types of parameters 'count' and 'currentValue' are incompatible.
|
||||
Type 'unknown' is not assignable to type 'number'.
|
||||
src/views/first_visit/my_patients/components/OrderActionHost.vue(13,28): error TS7006: Parameter 'command' implicitly has an 'any' type.
|
||||
src/views/first_visit/my_patients/components/OrderPanel.vue(202,40): error TS7006: Parameter 'command' implicitly has an 'any' type.
|
||||
src/views/first_visit/wecom_promotion/index.vue(97,43): error TS7006: Parameter 'checked' implicitly has an 'any' type.
|
||||
src/views/first_visit/wecom_promotion/index.vue(183,184): error TS7006: Parameter 'value' implicitly has an 'any' type.
|
||||
src/views/order/index.vue(446,33): error TS2367: This comparison appears to be unintentional because the types '"supplement"' and '"normal"' have no overlap.
|
||||
src/views/order/index.vue(1542,13): error TS2367: This comparison appears to be unintentional because the types '"supplement"' and '"normal"' have no overlap.
|
||||
src/views/tcm/appointment/list.vue(263,69): error TS7006: Parameter 'cmd' implicitly has an 'any' type.
|
||||
src/views/tcm/diagnosis/add.vue(744,49): error TS2349: This expression is not callable.
|
||||
Type 'String' has no call signatures.
|
||||
src/views/tcm/diagnosis/add.vue(772,45): error TS2349: This expression is not callable.
|
||||
Type 'String' has no call signatures.
|
||||
src/views/tcm/diagnosis/components/BloodRecordList.vue(416,5): error TS2322: Type 'string' is not assignable to type 'number'.
|
||||
src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue(145,54): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue(146,50): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue(147,47): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue(148,47): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue(154,26): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/views/tcm/diagnosis/index.vue(379,69): error TS7006: Parameter 'cmd' implicitly has an 'any' type.
|
||||
src/views/tcm/follow/index.vue(239,69): error TS7006: Parameter 'cmd' implicitly has an 'any' type.
|
||||
src/views/workbench/index.vue(541,18): error TS7006: Parameter 'd' implicitly has an 'any' type.
|
||||
@@ -0,0 +1,42 @@
|
||||
[
|
||||
{
|
||||
"file": "admin/src/components/chat-dialog/index.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/consumer/prescription/guahao.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/consumer/prescription/index.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/consumer/prescription/order_list.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/consumer/prescription/order_list_h5.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/patient/reception/index.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/tcm/appointment/list.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/tcm/appointment/list_h5.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/tcm/diagnosis/appointment.vue",
|
||||
"errors": []
|
||||
},
|
||||
{
|
||||
"file": "admin/src/views/consumer/prescription/components/PrescriptionOrderTimeDialog.vue",
|
||||
"errors": []
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,29 @@
|
||||
# 企业微信成员范围同步修复
|
||||
|
||||
## 原因与处理
|
||||
|
||||
截图中的“待移出”来自本地禁用状态与上次企微范围不一致。批量修改原来只写入同步队列,依赖后台分钟任务;单独保存忽略了同步器的 `noop`/未完成状态。另有两个一致性缺陷:同步期间配置版本变化后仍返回 synced;周期重算可能将超时租约或尚未应用的版本直接视为完成。
|
||||
|
||||
本次修改:
|
||||
|
||||
- 新增 POST `/firstvisit.wecomPromotion/syncMemberRange`,只向当前有权限操作的方案推送完整可用成员名单,再回读确认。不使用会导入其他链接的 `syncRemoteLinks`。
|
||||
- 批量保存后由页面最多 2 并发调用专用同步接口,等待每个方案结果,不以后台任务启动为本次修改立即生效的前提。
|
||||
- 单独保存、批量保存、手动同步均返回明确的 `synced` / `pending` / `failed` / `blocked` 状态。保存本地成功与远端确认分开显示。
|
||||
- 已下线成员从推送名单排除,部门范围清空;回读仍含旧成员或部门时判失败,不能标同步成功。
|
||||
- 同步完成时检查租约、令牌、配置版本。过期工作不能覆盖新确认快照;变更未完成时继续排队。
|
||||
- 同样的开关状态再次批量保存仍会重算,以修复之前留下的待同步任务。
|
||||
- 页面新增“同步成员范围”按钮和批量失败结果重试,并展示当前计划、上次确认的远端范围与具体同步错误。
|
||||
|
||||
## 部署与现有方案
|
||||
|
||||
本次修改源代码,未部署,未读取业务数据库或调用真实企业微信修改接口。不新增表结构或权限菜单,沿用获客助手页面和方案操作范围权限;需将 admin 构建及 server 修改一起部署。已有队列表仍按原项目要求安装。
|
||||
|
||||
部署后,对已经出现“待移出”的方案点击“同步成员范围”;只有显示“企微成员范围已确认同步”,才能认为当前计划已经由企业微信回读确认。批量重新保存也会主动同步各方案。后台分钟任务仍用于上限、有效期和失败补偿。
|
||||
|
||||
## 验证记录
|
||||
|
||||
见 [前端验证](frontend.md) 与 [隔离数据库验证](backend-tests.md)。所有测试使用虚构数据,未向真实企业微信发送请求。
|
||||
|
||||
生产构建通过(Vite,2 分 4 秒),输出到任务临时目录,未覆盖线上目录。完整输出保留在 `build.log`;仍有既有的大体积分包警告。前端 7 项回归与后端 24 个场景、52 个断言均通过。全量类型检查仍有其他模块的已有报错,详情见前端验证记录。
|
||||
|
||||
浏览器隔离验证已通过:使用实际 Vue 页面和本地 API 替身,初始仅“测试许可”上线、“测试旧医助”仍在远端快照中。手动同步成功后,页面显示仅许可在企微范围,旧医助变为“未在企微范围”;模拟接口失败后,页面保留旧医助“待移出(仍在企微)”,展示具体错误和“重试同步”。验证页及临时服务已关闭。复现入口为 `ui-preview.mjs`,使用本机回环地址和虚构数据。
|
||||
@@ -0,0 +1,31 @@
|
||||
PASS only XuKe is sent and both remote range dimensions are verified
|
||||
PASS GET mismatch rejects old user and remains retryable
|
||||
PASS GET mismatch rejects department expansion and remains retryable
|
||||
PASS transport failure preserves last confirmed snapshot and retry
|
||||
PASS active sync lease cannot be reported as synced or stolen
|
||||
PASS version change during GET reports pending and resyncs
|
||||
PASS lease expiry during GET cannot commit success
|
||||
PASS superseded lease cannot overwrite newer worker snapshot
|
||||
PASS reconcile keeps expired running lease pending despite matching cache
|
||||
PASS reconcile keeps unconfirmed version pending despite matching cache
|
||||
PASS reconcile removes cached departments even when users match
|
||||
PASS explicit retry repairs old pending without changing member switches
|
||||
PASS explicit retry repairs old failed backoff without changing member switches
|
||||
PASS explicit retry active lease returns pending without false success
|
||||
PASS explicit retry API failure remains failed with saved local state
|
||||
PASS no eligible member is blocked and never sends empty official range
|
||||
PASS explicit retry rejects pools outside operator scope
|
||||
PASS batch repeated offline selection requeues the unsynced remote range
|
||||
PASS batch disables both old assistants and queue confirms XuKe only
|
||||
PASS single offline with active worker reports pending then retries successfully
|
||||
PASS single and batch preserve at least one eligible assistant
|
||||
PASS shared operator can retry its own assigned pool
|
||||
PASS retry never revives deleting pool
|
||||
PASS retry never revives delete failed pool
|
||||
{
|
||||
"passed": 24,
|
||||
"failed": 0,
|
||||
"checks": 52,
|
||||
"failures": []
|
||||
}
|
||||
Disposable test database dropped.
|
||||
@@ -0,0 +1,31 @@
|
||||
# 企微成员范围同步回归验证
|
||||
|
||||
2026-09-09 验证通过:**24 个场景,52 个断言,0 失败**。
|
||||
|
||||
- 测试:`server/tests/WecomPromotionMemberSyncTest.php`
|
||||
- 启动脚本:`artifacts/wecom-member-sync/run-backend-tests.ps1`
|
||||
- 完整输出:`artifacts/wecom-member-sync/backend-test-output.log`
|
||||
- 环境:PHP 8.2.9、独立 MySQL 5.7.26、真实 Think ORM 与事务。
|
||||
|
||||
运行命令(仓库根目录):
|
||||
|
||||
```powershell
|
||||
& ./artifacts/wecom-member-sync/run-backend-tests.ps1
|
||||
```
|
||||
|
||||
启动脚本使用随机空闲回环端口、`--no-defaults` 和独立临时 datadir;测试另建随机 `wecom_member_test_*` 数据库。测试仅加载 vendor、框架辅助函数、未初始化的 `think\App` 及显式测试 DB 配置,不读取业务数据库配置或 `.env`。测试使用部署 SQL 中的真实建表定义,API fake 不访问企微。
|
||||
|
||||
验证覆盖:
|
||||
|
||||
1. 仅许可 `XuKe` 启用时,update 精确发送 `user_list=[XuKe]` 和 `department_list=[]`,随后 GET 校验并保存真实返回范围。
|
||||
2. GET 仍含旧医助或非空部门时失败,保留失败原因、原已确认版本和重试计划;本地下线状态保持不变。
|
||||
3. 接口异常保留原已确认远端快照及重试退避。
|
||||
4. 活跃租约不会被抢占或误报已同步;GET 期间版本变化、租约过期或被新工作接管均返回 pending;旧工作不能覆盖新快照。
|
||||
5. 重算不会把过期租约、未应用版本或残留部门误置为已同步。
|
||||
6. 显式重试可修复旧 pending、失败退避以及开关未变化的状态,并准确返回 synced / pending / failed / blocked。
|
||||
7. 实际批量下线两个旧医助后,真实队列服务仅同步 XuKe;重复选择已下线医助仍会重新排队。
|
||||
8. 实际单独下线遇到活跃工作时返回 pending,过期后可重试完成。
|
||||
9. 单独和批量下线都保持至少一名可用医助;空可用范围不会向企微发送空列表。
|
||||
10. 已分配共享操作人可重试自己的方案;无关账号被拒绝;删除中或删除失败的方案不会被同步操作复活。
|
||||
|
||||
最终运行已删除测试数据库、关闭临时 MySQL 进程并移除临时 datadir。未访问线上企微,也未验证真实租户接口权限或实际远端数据;该报告证明本地同步与状态机回归通过。
|
||||
@@ -0,0 +1,494 @@
|
||||
vite v6.4.2 building for production...
|
||||
|
||||
WARN
|
||||
(!) outDir D:\web\zyt\artifacts\wecom-member-sync\admin-build is not inside project root and will not be emptied.
|
||||
Use --emptyOutDir to override.
|
||||
|
||||
|
||||
transforming...
|
||||
✓ 4060 modules transformed.
|
||||
|
||||
WARN node_modules/.pnpm/tcplayer.js@5.3.4-beta.32/node_modules/tcplayer.js/dist/tcplayer.v5.3.4.min.js (3199:26): Use of eval in "node_modules/.pnpm/tcplayer.js@5.3.4-beta.32/node_modules/tcplayer.js/dist/tcplayer.v5.3.4.min.js" is strongly discouraged as it poses security risks and may cause issues with minification.
|
||||
|
||||
rendering chunks...
|
||||
computing gzip size...
|
||||
../artifacts/wecom-member-sync/admin-build/assets/default_avatar-C6VB7PGm.png 6.09 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/no_perms-jDxcYpYC.png 14.62 kB
|
||||
../artifacts/wecom-member-sync/admin-build/index.html 31.87 kB │ gzip: 16.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/login_bg-BkIjQ0FB.png 59.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/red3-NOuWP8DK.png 105.00 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/pink3-BxZ4Y6CS.png 108.36 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/blue3-D3K9OqGO.png 108.98 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/yellow3-C_qd9cqN.png 109.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/green3-CPorIQiC.png 109.99 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/purple3-BGd0LxTa.png 110.15 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/my_topbg-BiU0PleK.png 142.47 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/red2-Dw8p71sP.png 750.50 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/purple2-C0tQkldV.png 752.33 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/green2-C-VRKLSN.png 756.86 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/yellow2-B-WtqITJ.png 762.86 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/pink2-BpEp33zy.png 806.48 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/blue2-CRQPdLZd.png 806.81 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/red1-C6Y3UuNB.png 1,660.63 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/yellow1-Ebw0T5sw.png 1,662.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/pink1-BWNZrP7C.png 1,668.56 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/blue1-gLOo1H0w.png 1,676.54 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/purple1-BpMq9FWz.png 1,680.01 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/green1-h1zqes95.png 1,688.20 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CmFE2aZQ.css 0.04 kB │ gzip: 0.06 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CjSHFu-R.css 0.04 kB │ gzip: 0.06 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Oppei429.css 0.04 kB │ gzip: 0.06 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/CaseRecordList-Cl-c3q7S.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/DietRecordList-Cc-xUr2B.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/roster-CqNlv_rj.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/BloodRecordList-DhVK-Y_e.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-B3imPWFk.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/list-BluNBZln.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/ExerciseRecordList-DGtgtzou.css 0.05 kB │ gzip: 0.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-CObVTcPU.css 0.09 kB │ gzip: 0.10 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-D-D8bVPM.css 0.09 kB │ gzip: 0.10 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/pc_details-nlJo1_D0.css 0.09 kB │ gzip: 0.10 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/AppointmentRecordPanel-DC22GDgn.css 0.09 kB │ gzip: 0.10 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/theme-picker-BsELUxM9.css 0.11 kB │ gzip: 0.09 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-Cl-9UIip.css 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/AssignLogPanel-DkQMoEkX.css 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-DXAsZ7EV.css 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-DaxRy47P.css 0.14 kB │ gzip: 0.14 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-CAJZpU7c.css 0.14 kB │ gzip: 0.12 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-DxNvUNZR.css 0.15 kB │ gzip: 0.15 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/useListTimeFilter-DI6SIumd.css 0.16 kB │ gzip: 0.14 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-C1NtFi7N.css 0.16 kB │ gzip: 0.11 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-Bd3rHJ5J.css 0.18 kB │ gzip: 0.15 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/change-password-DRfsLJ26.css 0.19 kB │ gzip: 0.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-Dy_alH9u.css 0.19 kB │ gzip: 0.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/decoration-img-C5XvHl9_.css 0.19 kB │ gzip: 0.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/account_cost-fbCWUO9k.css 0.20 kB │ gzip: 0.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-57RdOFNo.css 0.23 kB │ gzip: 0.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/error-Cz3CexuM.css 0.24 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-D4atl_7z.css 0.25 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-lNortPsv.css 0.27 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/setting-CxqqGetv.css 0.27 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DX96drV3.css 0.28 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/menu-DYFusokT.css 0.29 kB │ gzip: 0.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/OrderActionHost-DiqybThz.css 0.31 kB │ gzip: 0.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Bk2rMrqw.css 0.32 kB │ gzip: 0.20 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-D0f1Mn00.css 0.33 kB │ gzip: 0.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/prescription-drawer-BjwiqvPc.css 0.35 kB │ gzip: 0.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/bind-work-wechat-BX1gqwq1.css 0.35 kB │ gzip: 0.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DhR2yeiO.css 0.39 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DoFDMZdP.css 0.40 kB │ gzip: 0.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DBNvK3ZK.css 0.45 kB │ gzip: 0.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PatientOrderList-D8-uh2iu.css 0.45 kB │ gzip: 0.25 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/DiagnosisTodoList-D0SBmTHG.css 0.46 kB │ gzip: 0.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/CallRecordPanel-TsjZtTO8.css 0.47 kB │ gzip: 0.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-C_LxAEkS.css 0.48 kB │ gzip: 0.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/login-Bt4SvQsz.css 0.52 kB │ gzip: 0.28 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-sMbqkta2.css 0.55 kB │ gzip: 0.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/RecordingPlaybackBlock-B3KYFgvg.css 0.58 kB │ gzip: 0.26 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/medicine-DO6x6zrS.css 0.58 kB │ gzip: 0.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/preview-pc-BRQDo0AR.css 0.67 kB │ gzip: 0.36 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BzrSkGWL.css 0.67 kB │ gzip: 0.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/tabbar-DJsOahKR.css 0.69 kB │ gzip: 0.31 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/qywx-Dym8iFe0.css 0.74 kB │ gzip: 0.37 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/AssistantWatchCallDialog-BIPZRgaH.css 0.76 kB │ gzip: 0.38 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/picker-JBYDNsl5.css 0.84 kB │ gzip: 0.32 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/oa-phone-CctIyraX.css 0.94 kB │ gzip: 0.34 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/preview-C7oaKmYo.css 0.98 kB │ gzip: 0.41 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Bidrbn2Z.css 1.16 kB │ gzip: 0.51 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/TrackingNoteTimeline-B9T8pFso.css 1.18 kB │ gzip: 0.47 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/RecordingVideoPlayer-4DegHAwm.css 1.19 kB │ gzip: 0.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-55HtuLpn.css 1.21 kB │ gzip: 0.55 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PatientInfoCard-n6_UPo9e.css 1.32 kB │ gzip: 0.55 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/TrackingMatrix-zyxtXYPb.css 1.32 kB │ gzip: 0.44 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/SendPanel-DaGPWlQG.css 1.39 kB │ gzip: 0.50 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/picker-XZbUgFct.css 1.57 kB │ gzip: 0.50 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PrescriptionOrderDetailDrawer-B4rggqa1.css 1.73 kB │ gzip: 0.71 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/ImChatRecordPanel-aX8zpWRQ.css 1.74 kB │ gzip: 0.59 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BYOmK9R5.css 1.93 kB │ gzip: 0.58 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-OgnT0gUo.css 1.98 kB │ gzip: 0.56 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/MessageBubble-BwtdPM6K.css 2.04 kB │ gzip: 0.60 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BmDW9vcs.css 2.44 kB │ gzip: 0.86 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PatientCaseCard-C3Mob6yG.css 2.49 kB │ gzip: 0.81 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/tongji-C0VnzFxy.css 2.49 kB │ gzip: 0.77 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/dept-tongji-ky7rOYoi.css 2.67 kB │ gzip: 0.72 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/readonly-CdP3eZN0.css 2.69 kB │ gzip: 0.92 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/NoteTimeline-I2FSxX4s.css 2.74 kB │ gzip: 0.84 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/patient-call-k8V9hV2G.css 2.85 kB │ gzip: 0.91 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/DailyMatrix-DCZnxI8i.css 2.87 kB │ gzip: 0.85 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PaibanPanel-aqm8azGc.css 3.35 kB │ gzip: 0.88 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/paiban-BTUHWpUu.css 3.35 kB │ gzip: 0.88 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/appointment-gzuOW_Wp.css 3.43 kB │ gzip: 0.93 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PrescriptionAiBatchGenerateDialog-CKkykmdr.css 3.45 kB │ gzip: 0.86 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/h5-BSFcFSny.css 3.52 kB │ gzip: 0.99 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Bk7b_sL2.css 3.57 kB │ gzip: 0.96 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/add-ByXRFm8M.css 3.60 kB │ gzip: 0.87 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PromotionAutomationForm-BMhNCJa-.css 3.64 kB │ gzip: 1.03 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/mubiao-B6IOi2bJ.css 3.78 kB │ gzip: 1.08 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/WelcomeMessageEditor-DD5mXWP2.css 4.41 kB │ gzip: 1.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PrescriptionAiReportDialog-CV6AuHV3.css 4.46 kB │ gzip: 1.11 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CMsGEvq_.css 5.19 kB │ gzip: 1.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/mubiao-dept-node-ChUPkaxq.css 5.47 kB │ gzip: 1.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/OrderPanel-BzElZPEq.css 5.67 kB │ gzip: 1.46 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DYEnq1RY.css 6.11 kB │ gzip: 1.70 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/list-q8oaox07.css 6.51 kB │ gzip: 1.45 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DtDaTXOB.css 7.01 kB │ gzip: 1.69 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/mubiao-dept-card-naMqyghz.css 7.09 kB │ gzip: 1.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-AnyUcdTT.css 7.21 kB │ gzip: 1.86 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BqGStdXW.css 7.95 kB │ gzip: 2.30 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Bw7BJ7QR.css 8.03 kB │ gzip: 1.99 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/progress-99NT9ysL.css 8.14 kB │ gzip: 1.91 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Cmf8QBsF.css 8.75 kB │ gzip: 1.78 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CSIcxqFk.css 8.85 kB │ gzip: 2.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-B_6Taw4k.css 8.97 kB │ gzip: 1.91 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-DOd7Lhrw.css 9.47 kB │ gzip: 2.05 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Dnn9ddtX.css 9.49 kB │ gzip: 2.20 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-D9Td5Y2a.css 9.52 kB │ gzip: 2.10 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/ProgressPanel-C_aSqDJh.css 10.10 kB │ gzip: 2.10 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-nUsN4URL.css 10.57 kB │ gzip: 2.04 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DV5JwFnL.css 11.95 kB │ gzip: 2.61 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Dc4ifSiV.css 13.65 kB │ gzip: 3.05 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/commission-settlement-Gy2UsUPr.css 15.55 kB │ gzip: 3.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/list_h5-jFsYJrxI.css 17.68 kB │ gzip: 3.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/order_list-CMCIYVRT.css 18.15 kB │ gzip: 3.76 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-C6H7fmYO.css 18.86 kB │ gzip: 3.83 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/WecomFloatingWidgetBuilder-DRWt4rvh.css 19.20 kB │ gzip: 4.00 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index_h5-CWq8J0dT.css 19.54 kB │ gzip: 3.51 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/yeji-7-gSVFmd.css 25.24 kB │ gzip: 4.60 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BSycZlsS.css 45.91 kB │ gzip: 9.91 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/order_list_h5-DB3qJv9G.css 48.13 kB │ gzip: 7.68 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/.pnpm-B3v8nGpq.css 723.50 kB │ gzip: 100.49 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/getExposeType-BhVtb25-.js 0.07 kB │ gzip: 0.09 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-qqeREw9s.js 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-DcOELR-K.js 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-tHefvLXa.js 0.13 kB │ gzip: 0.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/MediaSourceSelect-8A82adC4.js 0.14 kB │ gzip: 0.14 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/code-preview-DRmC7RiQ.js 0.16 kB │ gzip: 0.15 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-X53VrVRm.js 0.18 kB │ gzip: 0.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/refund-log-B9It8rlX.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/account-adjust-qMgPFEex.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-Bl11rHMa.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-ne8NsUKb.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-Dms_y08P.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-tYml8wxW.js 0.19 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/perm-Cs7Dcdwt.js 0.20 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/diabetes-discovery-display-B_wmGXQJ.js 0.20 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PrescriptionOrderTimeDialog-Dqm-s38p.js 0.20 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/weapp-z86WO93x.js 0.20 kB │ gzip: 0.15 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/GancaoSubmissionReconcileButton-IPCTzvIw.js 0.21 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-Ddgk3Vgk.js 0.21 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-CE55pahX.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-AvD9VAin.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-CboBRRXJ.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-DjOH93eC.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-C4ieP-Hx.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-Dxe0CJRt.js 0.21 kB │ gzip: 0.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-DG0CrN4I.js 0.22 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-awcvFaxy.js 0.22 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-DvEPH3sF.js 0.22 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/oa-menu-form-_sZJZZlo.js 0.22 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/useLockFn-DZaCbVGv.js 0.22 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-DbL-VfLn.js 0.23 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/auth-CzTX0mcP.js 0.24 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-BVUVZ4z1.js 0.25 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/relations-add-Bbfd_-Kp.js 0.25 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/mobile-style-DS1gdFbp.js 0.26 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-XEIomOE9.js 0.27 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/cost-edit-BOiGaL17.js 0.30 kB │ gzip: 0.20 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/yeji-edit-F8OmljrO.js 0.30 kB │ gzip: 0.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/404-cLkY5rts.js 0.31 kB │ gzip: 0.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/data-table-BybaVEqV.js 0.31 kB │ gzip: 0.20 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/oa-menu-form-edit-CNLd_xiS.js 0.33 kB │ gzip: 0.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/medicine-DHDpGXRz.js 0.35 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/consumer-FZiu13hZ.js 0.35 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/user-CVW3IWKF.js 0.37 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/role-BMscz-0E.js 0.39 kB │ gzip: 0.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/useDictOptions-B6OsldKP.js 0.42 kB │ gzip: 0.32 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-D4MbHviX.js 0.42 kB │ gzip: 0.32 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/admin-BG9sUQT0.js 0.42 kB │ gzip: 0.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-Czz9V8bo.js 0.44 kB │ gzip: 0.36 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/pay-CLNugi0F.js 0.45 kB │ gzip: 0.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/department-CNIAiYg7.js 0.46 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/menu-p4ALi4Sf.js 0.46 kB │ gzip: 0.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-uGlbGuas.js 0.47 kB │ gzip: 0.37 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-CWDxq6pQ.js 0.48 kB │ gzip: 0.25 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/post-C0FRzdXA.js 0.49 kB │ gzip: 0.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/overflow-Bh-ERwlc.js 0.49 kB │ gzip: 0.37 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/decoration-CvKJtp9z.js 0.50 kB │ gzip: 0.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/message-B01Piuuj.js 0.50 kB │ gzip: 0.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/403-WJpkLdIc.js 0.52 kB │ gzip: 0.44 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/footer.vue_vue_type_script_setup_true_lang-CJd2gVU1.js 0.53 kB │ gzip: 0.38 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-Bj_piHuB.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-DwQmZN66.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/add-nav-CxIe0DSN.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-C8KmKRfj.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/menu-set-C2QaR06b.js 0.54 kB │ gzip: 0.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-CxOIVUbW.js 0.55 kB │ gzip: 0.26 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/patient-CAccvuDU.js 0.56 kB │ gzip: 0.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/fans-ymq1y7mi.js 0.60 kB │ gzip: 0.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-CRgmMBI6.js 0.60 kB │ gzip: 0.28 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-C65vISyn.js 0.61 kB │ gzip: 0.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-DepTsRMB.js 0.61 kB │ gzip: 0.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/diag-display-DCz_VAqj.js 0.61 kB │ gzip: 0.39 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content.vue_vue_type_script_setup_true_lang-BOyQbtb7.js 0.61 kB │ gzip: 0.41 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Bgu1hGId.js 0.63 kB │ gzip: 0.43 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-BRVMaOaW.js 0.63 kB │ gzip: 0.32 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/link-D9GAHWRN.js 0.64 kB │ gzip: 0.44 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/asset-MS9grbtE.js 0.67 kB │ gzip: 0.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content.vue_vue_type_script_setup_true_lang-D2f7dQtt.js 0.69 kB │ gzip: 0.45 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/useMediaSourceOptions-B-KC30lN.js 0.70 kB │ gzip: 0.42 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content.vue_vue_type_script_setup_true_lang-CZ5ik_hN.js 0.70 kB │ gzip: 0.45 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/website-B8vbukz_.js 0.74 kB │ gzip: 0.24 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/menu-_vTr8Gju.js 0.76 kB │ gzip: 0.49 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/usePaging-oaNM6A9T.js 0.77 kB │ gzip: 0.47 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/self_input_stats-DN-gl7Ot.js 0.79 kB │ gzip: 0.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/decoration-img-D9zjI4VN.js 0.81 kB │ gzip: 0.50 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/dict-BeF70n9_.js 0.81 kB │ gzip: 0.25 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/code-IeXe1BXO.js 0.82 kB │ gzip: 0.25 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/blood-thresholds-CJ1fqMjh.js 0.83 kB │ gzip: 0.34 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-DhfW0oMX.js 0.84 kB │ gzip: 0.55 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content.vue_vue_type_script_setup_true_lang-B7uTRM6j.js 0.86 kB │ gzip: 0.55 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index.vue_vue_type_script_setup_true_lang-kAZgL5aN.js 0.86 kB │ gzip: 0.52 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index.vue_vue_type_script_setup_true_lang-CDLrQsa9.js 0.88 kB │ gzip: 0.51 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/error-DqXjSnDQ.js 0.89 kB │ gzip: 0.60 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/theme-picker-CJcYdGjg.js 0.92 kB │ gzip: 0.59 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/wecomOauthPostMessage-C_e6VGrO.js 0.95 kB │ gzip: 0.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index.vue_vue_type_script_setup_true_lang-Cmgm_Z5P.js 0.98 kB │ gzip: 0.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/wx_oa-BX1EksXU.js 1.04 kB │ gzip: 0.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/article-C_uwRm-g.js 1.07 kB │ gzip: 0.26 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-setting.vue_vue_type_script_setup_true_lang-C1N5GjJr.js 1.08 kB │ gzip: 0.61 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/rich_text-DHfEzg2F.js 1.10 kB │ gzip: 0.58 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/cache-DwXb7UJT.js 1.13 kB │ gzip: 0.69 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DCOziDmg.js 1.21 kB │ gzip: 0.70 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/popover_input-pPM8UqwF.js 1.25 kB │ gzip: 0.59 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/finance-aNuyRBoJ.js 1.30 kB │ gzip: 0.37 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/pc-Bg3ZB7sY.js 1.31 kB │ gzip: 0.78 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/doctor-CK2s5tr0.js 1.32 kB │ gzip: 0.37 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CRAXblPZ.js 1.33 kB │ gzip: 0.78 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-BYP2_Tvt.js 1.33 kB │ gzip: 0.72 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-CbdFdpr9.js 1.37 kB │ gzip: 0.70 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-DNecD5Ej.js 1.38 kB │ gzip: 0.79 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/file-Bp3s6tGU.js 1.41 kB │ gzip: 0.64 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/upload-B7edCrM6.js 1.41 kB │ gzip: 0.64 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content-Btz_MAcB.js 1.42 kB │ gzip: 0.79 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/code-preview.vue_vue_type_script_setup_true_lang-uoGImbA_.js 1.44 kB │ gzip: 0.85 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Eef1y49A.js 1.44 kB │ gzip: 0.85 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index.vue_vue_type_style_index_0_lang-YvOGf2LN.js 1.46 kB │ gzip: 0.79 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/oa-phone-BSc3cQZO.js 1.47 kB │ gzip: 0.79 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-C5crH6QC.js 1.50 kB │ gzip: 0.76 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/menu-D0XeSt7x.js 1.55 kB │ gzip: 0.87 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/MediaSourceSelect.vue_vue_type_script_setup_true_lang-xuHF5G6T.js 1.58 kB │ gzip: 0.80 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PatientInfoCard-DS1nmIqs.js 1.60 kB │ gzip: 0.82 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-CzFCY2cx.js 1.62 kB │ gzip: 0.71 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/style-Dr3deMtC.js 1.62 kB │ gzip: 0.88 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/refund-log.vue_vue_type_script_setup_true_lang-MUi35Imc.js 1.66 kB │ gzip: 0.87 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/statistics-CJjYO2rr.js 1.69 kB │ gzip: 1.02 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-I0pt-6bF.js 1.71 kB │ gzip: 0.81 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/order-BUKOtASo.js 1.74 kB │ gzip: 0.44 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/environment-DWwJCNO7.js 1.74 kB │ gzip: 0.74 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/setup-DiCR4FTt.js 1.77 kB │ gzip: 1.00 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/useMenuOa-BkNkTb8E.js 1.82 kB │ gzip: 0.85 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-setting-u7gF0hf4.js 1.88 kB │ gzip: 0.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-d48aBo9A.js 1.90 kB │ gzip: 0.99 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-QYQSHa-u.js 1.94 kB │ gzip: 1.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-C2cPGRvp.js 2.03 kB │ gzip: 0.98 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-bKgIS70c.js 2.04 kB │ gzip: 1.14 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/TrackingNoteTimeline-xYwE1xTb.js 2.08 kB │ gzip: 1.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Xkc1_OtQ.js 2.09 kB │ gzip: 1.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-B6HGq-9K.js 2.09 kB │ gzip: 0.95 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/open_setting-9okEzl7R.js 2.10 kB │ gzip: 1.12 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Bgd9wlhP.js 2.12 kB │ gzip: 1.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/account-adjust.vue_vue_type_script_setup_true_lang-D-3zXgHH.js 2.16 kB │ gzip: 1.12 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/filing-CyXPFn3v.js 2.17 kB │ gzip: 1.17 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Cj99LS1q.js 2.18 kB │ gzip: 1.28 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/icon-Bns0PfYA.js 2.23 kB │ gzip: 0.82 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/content.vue_vue_type_script_setup_true_lang-DhnZ5uUj.js 2.24 kB │ gzip: 1.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-BOJvKXiZ.js 2.28 kB │ gzip: 1.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-BStMM2L3.js 2.29 kB │ gzip: 1.09 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index.vue_vue_type_script_setup_true_lang-BBhGStE3.js 2.37 kB │ gzip: 1.15 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/RecordingPlaybackBlock-DqgFGONg.js 2.40 kB │ gzip: 1.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/auth.vue_vue_type_script_setup_true_lang-gsN33aVY.js 2.40 kB │ gzip: 1.33 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/stats-DnnjDn0w.js 2.45 kB │ gzip: 0.58 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/data-table.vue_vue_type_script_setup_true_lang--ailqOCz.js 2.51 kB │ gzip: 1.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/oa-attr-CUvkQdHO.js 2.51 kB │ gzip: 1.25 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-C5GzP6lG.js 2.52 kB │ gzip: 1.21 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/h5-DSNR1Mm7.js 2.56 kB │ gzip: 1.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/change-password-ta6h_6OO.js 2.57 kB │ gzip: 1.35 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/im-business-message-parse-kN-fWnvR.js 2.60 kB │ gzip: 1.28 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/add-nav.vue_vue_type_script_setup_true_lang-CFknNh-L.js 2.61 kB │ gzip: 1.26 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/tabbar-C88gPo2h.js 2.66 kB │ gzip: 1.33 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/file-CMovQJ90.js 2.73 kB │ gzip: 1.06 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-RehJztW-.js 2.74 kB │ gzip: 1.25 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PrescriptionOrderTimeDialog.vue_vue_type_script_setup_true_lang-Cpki_pAM.js 2.77 kB │ gzip: 1.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-C-68I4vC.js 2.77 kB │ gzip: 1.08 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/CaseRecordList-8zdwttyu.js 2.80 kB │ gzip: 1.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-CLLhcmpE.js 2.81 kB │ gzip: 1.06 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DiASvNNV.js 2.85 kB │ gzip: 1.34 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/follow_reply-CSorma7I.js 2.85 kB │ gzip: 1.49 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Bffw7YqJ.js 2.86 kB │ gzip: 1.44 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/cost-edit.vue_vue_type_script_setup_true_lang-Cmvbgg8a.js 2.86 kB │ gzip: 1.35 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-CtES0DRg.js 2.89 kB │ gzip: 1.41 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/default_reply-CscRdIJ0.js 2.91 kB │ gzip: 1.54 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-0LKRFKuR.js 2.96 kB │ gzip: 1.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/protocol-ZLC8fa4K.js 2.98 kB │ gzip: 1.10 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-B-G1Tu-E.js 2.99 kB │ gzip: 1.45 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/mubiao-dept-node-CBylWf1i.js 3.03 kB │ gzip: 1.25 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/relations-add.vue_vue_type_script_setup_true_lang-aR2rU0ed.js 3.04 kB │ gzip: 1.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/picker.vue_vue_type_script_setup_true_lang-BfUAGTj-.js 3.05 kB │ gzip: 1.50 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/AssignLogPanel-bKGiDzvs.js 3.06 kB │ gzip: 1.48 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/keyword_reply-CsSFhqK2.js 3.11 kB │ gzip: 1.60 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-BpbTpEr6.js 3.12 kB │ gzip: 1.52 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-C7CPelVN.js 3.21 kB │ gzip: 1.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-Ci8Hxg9H.js 3.25 kB │ gzip: 1.47 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/menu-set.vue_vue_type_script_setup_true_lang-DIhktTQ1.js 3.26 kB │ gzip: 1.40 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/pc_details-DLsyGZVY.js 3.39 kB │ gzip: 1.49 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-EK1ZoXzo.js 3.39 kB │ gzip: 1.45 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-B4DqQN1y.js 3.42 kB │ gzip: 1.53 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-F1TVtlEt.js 3.43 kB │ gzip: 1.64 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-CXsYk_L_.js 3.44 kB │ gzip: 1.70 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/balance_details-D1em5rcF.js 3.48 kB │ gzip: 1.63 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Dz-tv5pp.js 3.48 kB │ gzip: 1.64 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index.vue_vue_type_script_setup_true_lang-BkG4Pyop.js 3.52 kB │ gzip: 1.56 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/journal-B3VHOvYL.js 3.73 kB │ gzip: 1.46 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-S15Fn-vv.js 3.73 kB │ gzip: 1.57 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/detail-BN8q6bc8.js 3.76 kB │ gzip: 1.55 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/AssistantWatchCallDialog-D6ItC7fG.js 3.78 kB │ gzip: 1.85 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/CallRecordPanel-BkgzguRi.js 3.78 kB │ gzip: 1.77 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-D8D8cWM0.js 3.91 kB │ gzip: 1.71 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/preview-pc-BUr4tqb-.js 3.98 kB │ gzip: 1.63 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/AppointmentRecordPanel-DofowFlu.js 4.02 kB │ gzip: 1.73 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-ccE_MiO_.js 4.11 kB │ gzip: 1.65 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CyvXSol2.js 4.11 kB │ gzip: 1.79 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/first_visit-BgsXe0rB.js 4.13 kB │ gzip: 0.89 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/detail-D2efPnyJ.js 4.15 kB │ gzip: 1.56 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/MessageBubble-CNAEZB2M.js 4.17 kB │ gzip: 1.79 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-C1yhlKda.js 4.22 kB │ gzip: 1.92 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/useListTimeFilter-DmwzA9pt.js 4.26 kB │ gzip: 1.52 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Cf0PaHkM.js 4.37 kB │ gzip: 2.14 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/bind-work-wechat-D86sStWr.js 4.40 kB │ gzip: 2.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/recharge_record-CYVPA2q8.js 4.43 kB │ gzip: 1.87 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-C4phnhkw.js 4.45 kB │ gzip: 1.79 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Dcp58BAx.js 4.47 kB │ gzip: 1.91 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BYfcmOIK.js 4.49 kB │ gzip: 1.96 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-D7s6xUn-.js 4.49 kB │ gzip: 1.96 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/preview-C8KaKJOT.js 4.49 kB │ gzip: 1.70 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-BO2nUIFI.js 4.51 kB │ gzip: 1.75 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/RecordingVideoPlayer-DG_ItJGl.js 4.53 kB │ gzip: 2.26 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/ImChatRecordPanel-DBsLrdAR.js 4.54 kB │ gzip: 2.40 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BGjkic1N.js 4.55 kB │ gzip: 1.91 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/paiban-BHVNKfBv.js 4.56 kB │ gzip: 2.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CCjsau_X.js 4.57 kB │ gzip: 1.33 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/login_register-BUwvSc4G.js 4.59 kB │ gzip: 2.01 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/dept-tongji-D3yDbmue.js 4.66 kB │ gzip: 2.04 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-diGjfvCp.js 4.76 kB │ gzip: 2.05 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr.vue_vue_type_script_setup_true_lang-BrN1pP87.js 4.92 kB │ gzip: 2.04 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-B9rCxYXv.js 5.04 kB │ gzip: 1.99 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-BKQXUJgT.js 5.18 kB │ gzip: 2.03 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PaibanPanel-LklYduy4.js 5.28 kB │ gzip: 2.43 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CQBKhK32.js 5.32 kB │ gzip: 2.19 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-C5quTqHH.js 5.53 kB │ gzip: 2.20 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/mubiao-spsl5dpC.js 5.55 kB │ gzip: 2.56 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/yeji-edit.vue_vue_type_script_setup_true_lang-CpWA2Fm9.js 5.56 kB │ gzip: 1.81 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/mobile-style.vue_vue_type_script_setup_true_lang-Cd_o1G2a.js 5.59 kB │ gzip: 1.86 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/ExerciseRecordList-2DnzVhG1.js 5.62 kB │ gzip: 2.16 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/attr-BEKvhJVW.js 5.62 kB │ gzip: 2.24 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/tongji-DdsvLKqf.js 5.66 kB │ gzip: 2.31 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PatientOrderList-SLHonpPV.js 5.82 kB │ gzip: 2.84 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/DietRecordList-DXFlk9Hu.js 5.84 kB │ gzip: 2.01 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/mubiao-dept-card-BvVBrj2J.js 5.91 kB │ gzip: 2.38 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/login-DahMaDyR.js 6.03 kB │ gzip: 2.72 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/refund_record-tVmHQHkz.js 6.27 kB │ gzip: 2.33 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/DiagnosisTodoList-DL7sSeE_.js 6.34 kB │ gzip: 2.89 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-B3CV61hr.js 6.35 kB │ gzip: 3.20 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/information-CkVlFtW3.js 6.36 kB │ gzip: 1.80 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/NoteTimeline-DrUjWbF8.js 6.48 kB │ gzip: 2.60 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/account_cost-D0LoQOBc.js 6.56 kB │ gzip: 2.86 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PatientCaseCard-CGXlt3-4.js 6.61 kB │ gzip: 2.34 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CBmrTp4t.js 6.61 kB │ gzip: 2.62 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-MiIcWS8C.js 6.77 kB │ gzip: 2.89 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/readonly-BvagAVZz.js 6.98 kB │ gzip: 2.69 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/picker-L0C-vjJL.js 7.32 kB │ gzip: 3.18 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit.vue_vue_type_script_setup_true_lang-B2Ih0vdW.js 7.35 kB │ gzip: 2.66 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/setting-B0hbjCIa.js 7.35 kB │ gzip: 2.93 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/weapp-DXM2HiOo.js 7.39 kB │ gzip: 2.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/prescription-order-utils-CXfs2Bra.js 7.62 kB │ gzip: 3.11 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Dlg6Bi8D.js 7.65 kB │ gzip: 3.13 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/config-BcLOIFO3.js 7.77 kB │ gzip: 2.59 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/TrackingMatrix-DOwGys12.js 7.84 kB │ gzip: 3.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/patient-call-Y8nXiKQB.js 7.85 kB │ gzip: 3.24 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/dayjs-CF5xpNFg.js 8.07 kB │ gzip: 3.45 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/tcm-DXNwz16C.js 8.99 kB │ gzip: 1.57 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-CNbGRUOL.js 9.00 kB │ gzip: 2.83 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/tim-upload-plugin-B7yxlBgj.js 9.47 kB │ gzip: 3.61 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-C3eHLn0f.js 9.49 kB │ gzip: 3.84 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/BloodRecordList-DDUvca7F.js 9.58 kB │ gzip: 3.33 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/medicine-C5ovRLd1.js 9.74 kB │ gzip: 3.56 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-BU-RSgIR.js 9.99 kB │ gzip: 3.55 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BaNoRHB2.js 10.06 kB │ gzip: 3.98 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DPwU-iXs.js 10.33 kB │ gzip: 3.89 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PrescriptionAiBatchGenerateDialog-MAUu97Gq.js 10.36 kB │ gzip: 4.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/SendPanel-CP6ywpBj.js 10.37 kB │ gzip: 3.57 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/progress-Bdpacf-D.js 11.18 kB │ gzip: 4.59 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/list-DLWc-1Ay.js 11.18 kB │ gzip: 4.03 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DI3xU_bx.js 11.30 kB │ gzip: 4.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/appointment-BnHZdDEA.js 11.34 kB │ gzip: 4.24 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-D7zgLcEk.js 11.44 kB │ gzip: 3.76 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/OrderPanel-BeU2BFQj.js 11.74 kB │ gzip: 4.22 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/picker-BmsTkGwL.js 12.15 kB │ gzip: 4.49 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/ProgressPanel-ud8QcUjn.js 12.58 kB │ gzip: 4.48 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/prescription-drawer-FdfeYO6a.js 12.76 kB │ gzip: 3.88 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-hktqVhuc.js 13.00 kB │ gzip: 4.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-Brf9bxlj.js 13.11 kB │ gzip: 3.91 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/h5-CcXRh9Cg.js 13.83 kB │ gzip: 4.40 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CWW_NfST.js 14.26 kB │ gzip: 5.90 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/guahao-DcHTagDB.js 14.96 kB │ gzip: 4.41 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/WecomFloatingWidgetBuilder--gBah4yP.js 15.22 kB │ gzip: 6.02 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-6M0lWcGt.js 15.52 kB │ gzip: 6.41 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DZLpymXv.js 15.90 kB │ gzip: 5.20 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-BbgFd2kT.js 15.90 kB │ gzip: 4.70 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-D0fXfjGU.js 16.34 kB │ gzip: 6.06 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DogyaUiZ.js 16.35 kB │ gzip: 5.11 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-D58SNEFF.js 16.60 kB │ gzip: 6.07 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PrescriptionAiReportDialog-Bu6VbnFg.js 17.15 kB │ gzip: 6.47 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-mbKhz0ZD.js 17.84 kB │ gzip: 6.02 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/roster-BiU7KYHE.js 18.09 kB │ gzip: 5.71 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-KaH-WGp4.js 18.19 kB │ gzip: 6.88 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PromotionAutomationForm-Dl6eSdrv.js 18.23 kB │ gzip: 6.37 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-KtwiGqvr.js 18.60 kB │ gzip: 5.23 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/WelcomeMessageEditor-lo-w_F0X.js 19.11 kB │ gzip: 6.95 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/OrderActionHost-B1_31moq.js 21.16 kB │ gzip: 6.02 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-B6abcro-.js 21.91 kB │ gzip: 7.87 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/add-DZ_NopBp.js 22.29 kB │ gzip: 5.36 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CPsxxVLT.js 22.76 kB │ gzip: 7.97 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/DailyMatrix-CUZg4BRS.js 24.97 kB │ gzip: 7.09 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/list_h5-BQk1KH7b.js 27.36 kB │ gzip: 9.29 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/list-CHJTYjNq.js 29.93 kB │ gzip: 9.61 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/qywx-vbiMVYqv.js 30.35 kB │ gzip: 10.01 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/commission-settlement-rcwbrTnB.js 35.83 kB │ gzip: 9.75 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/edit-DUaMYFnP.js 35.86 kB │ gzip: 9.02 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-BxaPQXKm.js 36.24 kB │ gzip: 12.99 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CwotNYII.js 36.70 kB │ gzip: 11.82 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index_h5-BKLNAJoN.js 37.44 kB │ gzip: 11.46 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-GLDXkTd_.js 40.10 kB │ gzip: 11.87 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/PrescriptionOrderDetailDrawer-C0hb8NZr.js 48.77 kB │ gzip: 13.48 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-JRqlrlqw.js 50.72 kB │ gzip: 14.98 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DmecxuyG.js 55.03 kB │ gzip: 15.89 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/tim-profanity-filter-plugin-BJ7z5puq.js 55.90 kB │ gzip: 21.04 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-DYj8tK9D.js 67.65 kB │ gzip: 20.68 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/rtc-detect-CAvkmauD.js 74.80 kB │ gzip: 25.93 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/yeji-5JxNzYB_.js 87.40 kB │ gzip: 23.27 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-RIkBLGnV.js 88.42 kB │ gzip: 25.66 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/order_list-C6JoI8wj.js 114.89 kB │ gzip: 31.81 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/order_list_h5-DFg5JSxg.js 139.58 kB │ gzip: 36.82 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/@tencentcloud/chat-uikit-engine-BJz4IWsw.js 162.84 kB │ gzip: 41.72 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/index-CE4okNZ0.js 290.16 kB │ gzip: 92.01 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/@tencentcloud/chat-Bg29VzHQ.js 725.88 kB │ gzip: 178.89 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/@tencentcloud/call-engine-js-CRx4G1jN.js 2,290.42 kB │ gzip: 749.64 kB
|
||||
../artifacts/wecom-member-sync/admin-build/assets/.pnpm-BHOjf1ZS.js 18,525.72 kB │ gzip: 5,519.46 kB
|
||||
|
||||
WARN
|
||||
(!) Some chunks are larger than 500 kB after minification. Consider:
|
||||
- Using dynamic import() to code-split the application
|
||||
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
|
||||
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
|
||||
|
||||
✓ built in 2m 4s
|
||||
@@ -0,0 +1,45 @@
|
||||
# 企业微信获客成员范围同步:前端修复
|
||||
|
||||
## 诊断
|
||||
|
||||
- 单独开关原先只检查 `sync_error`,为空就提示“企微多人路由范围已重新计算”;该字段无法区分同步已确认、任务仍在排队、活跃租约导致未执行等情况。
|
||||
- 批量保存原先只提示后台同步,没有主动消费成功入队的方案;分钟任务未运行时本地规则可以长期与官方链接不一致。
|
||||
- `is_in_remote_range` 来自官方链接上次确认的 `range_user_json`,并非本地 enabled 状态。“待移出”代表成员仍在记录中的企微范围,确实可能继续获客。
|
||||
- 原有 `syncRemoteLinks` 是企业微信链接列表导入接口,会扫描 `listLinks/getLink` 并 upsert,本次没有将它误用为推送当前方案成员范围的入口。
|
||||
|
||||
## 最终行为
|
||||
|
||||
- 接入新的 `POST /firstvisit.wecomPromotion/syncMemberRange`,只提交指定 `pool_id`,使用 120 秒超时并关闭 HTTP 自动重试。
|
||||
- 保存方案、保存成员规则、单独切换成员,仅在后端明确返回 `sync_status: synced` 时提示企微成员范围已确认同步;旧服务端缺少该字段时保守显示尚未确认同步。
|
||||
- 批量保存成功且 `sync_queued` 的方案立即进行专用范围同步,最多并发 2 个,全部等待结束再完成交互。对话框页脚显示同步进度,未完成时禁止关闭。
|
||||
- 按方案保留本地保存结果、企微同步结果及具体错误。保存失败或同步未确认的方案保持勾选,允许重试;pending 不做无界重复请求。
|
||||
- 方案顶部提供“同步成员范围”,结果列表提供“重试同步”。权限沿用方案 `can_operate`,必须已有官方链接。
|
||||
- 页面明确展示“当前计划”和“上次企微确认”成员及确认时间,保留服务端 `last_error`;行状态改为“企微范围内”“待移出(仍在企微)”“待加入企微”“未在企微范围”。
|
||||
|
||||
## 文件
|
||||
|
||||
- `admin/src/views/first_visit/wecom_promotion/index.vue`
|
||||
- `admin/src/api/first_visit.ts`
|
||||
- `admin/tests/wecom-promotion-member-sync.test.cjs`
|
||||
|
||||
## 验证
|
||||
|
||||
命令:`cd admin && node --test tests/wecom-promotion-member-sync.test.cjs`
|
||||
|
||||
7 项通过,使用 Vue SFC 真实 setup 编译后执行,并编译模板及 SCSS;API 均为测试替身,不连接数据库或企业微信。
|
||||
|
||||
1. 本地禁用而远端仍包含的成员明确显示待移出,展示实际同步错误。
|
||||
2. 单成员切换不把空错误和计划入队误判为企微同步成功。
|
||||
3. 单成员规则保存保留企微失败原因,只接受明确 synced 确认。
|
||||
4. 方案保存 pending 时保持警告。
|
||||
5. 手动重试只调用指定方案专用接口,并检查操作权限。
|
||||
6. 批量同步最多两并发,等待全部结果;本地保存失败项不会请求企微同步。
|
||||
7. 批量保存部分失败和企微超时保留逐项错误与选择,不误报整体成功。
|
||||
|
||||
`git diff --check` 对修改文件通过。
|
||||
|
||||
全量 `npx vue-tsc --noEmit --pretty false` 已执行,退出 1。报错位于工作区其他文件(处方、聊天、录音、装修、医生统计等);本次修改的获客助手页面和 `first_visit.ts` 无报错。未为本次修复扩展修改这些独立模块。
|
||||
|
||||
## 验证边界
|
||||
|
||||
没有访问业务数据库、真实企微凭据,也没有发送消息或调用企业微信修改接口。尚未对真实已投放链接执行修复后的同步;需部署匹配的前后端后,在目标方案点击“同步成员范围”,以远端回读确认结果为准。
|
||||
@@ -0,0 +1,65 @@
|
||||
param(
|
||||
[string]$Php = 'D:/phpstudy_pro/Extensions/php/php8.2.9nts/php.exe',
|
||||
[string]$MySqlRoot = 'D:/phpstudy_pro/Extensions/MySQL5.7.26'
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$artifactRoot = [System.IO.Path]::GetFullPath($PSScriptRoot)
|
||||
$workspaceRoot = [System.IO.Path]::GetFullPath((Join-Path $artifactRoot '../..'))
|
||||
$runRoot = [System.IO.Path]::GetFullPath((Join-Path $artifactRoot ('mysql-test-' + [guid]::NewGuid().ToString('N'))))
|
||||
if (-not $runRoot.StartsWith($artifactRoot + [System.IO.Path]::DirectorySeparatorChar, [System.StringComparison]::OrdinalIgnoreCase)) {
|
||||
throw 'Disposable data directory escaped its artifact directory.'
|
||||
}
|
||||
$dataRoot = Join-Path $runRoot 'data'
|
||||
$mysqld = Join-Path $MySqlRoot 'bin/mysqld.exe'
|
||||
$mysqladmin = Join-Path $MySqlRoot 'bin/mysqladmin.exe'
|
||||
$listener = [System.Net.Sockets.TcpListener]::new([System.Net.IPAddress]::Loopback, 0)
|
||||
$listener.Start()
|
||||
$port = $listener.LocalEndpoint.Port
|
||||
$listener.Stop()
|
||||
$mysqlProcess = $null
|
||||
$testExit = 1
|
||||
$previousPort = $env:ZYT_WECOM_MEMBER_TEST_MYSQL_PORT
|
||||
try {
|
||||
New-Item -ItemType Directory -Path $dataRoot -Force | Out-Null
|
||||
$initArguments = @('--no-defaults', '--initialize-insecure', ('--basedir=' + $MySqlRoot), ('--datadir=' + $dataRoot))
|
||||
$initProcess = Start-Process -FilePath $mysqld -ArgumentList $initArguments -WindowStyle Hidden -PassThru -Wait -RedirectStandardError (Join-Path $runRoot 'initialize.log')
|
||||
if ($initProcess.ExitCode -ne 0) { throw 'Disposable MySQL initialization failed.' }
|
||||
$startArguments = @('--no-defaults', ('--basedir=' + $MySqlRoot), ('--datadir=' + $dataRoot), ('--port=' + $port), '--bind-address=127.0.0.1', '--innodb-buffer-pool-size=32M')
|
||||
$mysqlProcess = Start-Process -FilePath $mysqld -ArgumentList $startArguments -WindowStyle Hidden -PassThru -RedirectStandardError (Join-Path $runRoot 'server.log')
|
||||
$ready = $false
|
||||
for ($attempt = 0; $attempt -lt 60; $attempt++) {
|
||||
if ($mysqlProcess.HasExited) { throw 'Disposable MySQL exited before becoming ready.' }
|
||||
$client = [System.Net.Sockets.TcpClient]::new()
|
||||
try {
|
||||
$client.Connect('127.0.0.1', $port)
|
||||
$ready = $true
|
||||
} catch {
|
||||
Start-Sleep -Milliseconds 250
|
||||
} finally {
|
||||
$client.Dispose()
|
||||
}
|
||||
if ($ready) { break }
|
||||
}
|
||||
if (-not $ready) { throw 'Disposable MySQL did not become ready.' }
|
||||
$env:ZYT_WECOM_MEMBER_TEST_MYSQL_PORT = [string]$port
|
||||
& $Php (Join-Path $workspaceRoot 'server/tests/WecomPromotionMemberSyncTest.php') 2>&1 | Tee-Object -FilePath (Join-Path $artifactRoot 'backend-test-output.log')
|
||||
$testExit = $LASTEXITCODE
|
||||
} finally {
|
||||
$env:ZYT_WECOM_MEMBER_TEST_MYSQL_PORT = $previousPort
|
||||
if ($null -ne $mysqlProcess -and -not $mysqlProcess.HasExited) {
|
||||
& $mysqladmin --no-defaults --host=127.0.0.1 ('--port=' + $port) --user=root shutdown 2>$null
|
||||
$mysqlProcess.WaitForExit(10000) | Out-Null
|
||||
if (-not $mysqlProcess.HasExited) {
|
||||
Stop-Process -Id $mysqlProcess.Id -Force
|
||||
$mysqlProcess.WaitForExit(5000) | Out-Null
|
||||
}
|
||||
}
|
||||
$resolvedRunRoot = [System.IO.Path]::GetFullPath($runRoot)
|
||||
if (-not $resolvedRunRoot.StartsWith($artifactRoot + [System.IO.Path]::DirectorySeparatorChar, [System.StringComparison]::OrdinalIgnoreCase) -or (Split-Path $resolvedRunRoot -Leaf) -notmatch '^mysql-test-[a-f0-9]{32}$') {
|
||||
throw 'Refusing to remove an unverified temporary path.'
|
||||
}
|
||||
if (Test-Path -LiteralPath $resolvedRunRoot) { Remove-Item -LiteralPath $resolvedRunRoot -Recurse -Force }
|
||||
Write-Output 'Disposable MySQL stopped and its temporary data directory removed.'
|
||||
}
|
||||
exit $testExit
|
||||
@@ -0,0 +1,70 @@
|
||||
import { createServer } from '../../admin/node_modules/vite/dist/node/index.js'
|
||||
import vue from '../../admin/node_modules/@vitejs/plugin-vue/dist/index.mjs'
|
||||
import fs from 'node:fs'
|
||||
|
||||
const root = 'D:/web/zyt/admin'
|
||||
const apiNames = [...fs.readFileSync(`${root}/src/api/first_visit.ts`, 'utf8').matchAll(/export (?:async )?function (wecomPromotion\w+)\s*\(/g)].map(match => match[1])
|
||||
const members = [
|
||||
{ id: 1, admin_id: 1, name: '测试许可', userid: 'test_xuke', enabled: 1, reception_available: true },
|
||||
{ id: 2, admin_id: 2, name: '测试旧医助', userid: 'test_old', enabled: 0, reception_available: false }
|
||||
].map(member => ({ ...member, dept_ids: [1], dept_names: ['测试部门'], display_dept_id: 1,
|
||||
status: member.enabled, today_count: 0, total_count: 0, daily_limit: 0, is_in_remote_range: true, sync_status: 1 }))
|
||||
const overview = {
|
||||
automation_installed: false, meta: { scope_label: '隔离验证', generated_at: '' },
|
||||
config: { configured: true, ready: true, missing: [], callback_ready: true },
|
||||
summary: { configured_apps: 1, pool_count: 1, online_links: 1, today_clicks: 0 },
|
||||
member_options: members, operator_options: [], department_options: [{ id: 1, name: '测试部门' }], links: [],
|
||||
pools: [{ id: 99, name: '仅许可接待测试方案', public_key: 'test-only', status: 1, member_admin_ids: [1, 2],
|
||||
main_url: 'https://work.weixin.qq.com/ca/test-only', can_operate: true, can_manage_access: true, can_delete: true,
|
||||
operator_admin_ids: [], member_rules: members, automation_config: { backup_member_admin_ids: [] },
|
||||
official_link: { id: 199, remote_link_id: 'test-link', range_userids: ['test_xuke', 'test_old'], range_department_ids: [], last_sync_time: 1788920000 },
|
||||
dispatch_sync: { status: 1, desired_version: 2, applied_version: 1, last_error: '' }
|
||||
}]
|
||||
}
|
||||
const fixture = `const overview = ${JSON.stringify(overview)};
|
||||
async function invoke(name, params) {
|
||||
if (name === 'wecomPromotionOverview') return structuredClone(overview);
|
||||
if (name === 'wecomPromotionSyncMemberRange') {
|
||||
const pool = overview.pools[0];
|
||||
if (new URLSearchParams(location.search).get('mode') === 'failure') {
|
||||
pool.dispatch_sync.status = 3; pool.dispatch_sync.last_error = '模拟企微网络错误';
|
||||
pool.member_rules.forEach(row => {row.sync_status = 3; row.sync_error = '模拟企微网络错误';});
|
||||
return {pool_id:99,sync_status:'failed',sync_error:'模拟企微网络错误',sync_queued:true};
|
||||
}
|
||||
pool.official_link.range_userids = ['test_xuke']; pool.official_link.last_sync_time = Math.floor(Date.now()/1000);
|
||||
pool.dispatch_sync = {status:0,desired_version:2,applied_version:2,last_error:''};
|
||||
pool.member_rules.forEach(row => {row.is_in_remote_range = row.enabled === 1; row.sync_status = 0;});
|
||||
return {pool_id:99,sync_status:'synced',sync_error:'',sync_queued:false,range_userids:['test_xuke'],range_department_ids:[]};
|
||||
}
|
||||
throw new Error('隔离页面未实现该操作:' + name);
|
||||
}
|
||||
${apiNames.map(name => `export function ${name}(params) {return invoke('${name}',params);}`).join('\n')}`
|
||||
|
||||
const server = await createServer({
|
||||
configFile: false, root, base: '/',
|
||||
cacheDir: 'D:/web/zyt/artifacts/wecom-member-sync/vite-cache',
|
||||
optimizeDeps: { entries: [], include: ['vue', 'element-plus', '@element-plus/icons-vue'] },
|
||||
resolve: { alias: { '@': `${root}/src` } },
|
||||
plugins: [{
|
||||
name: 'member-sync-isolated-fixture', enforce: 'pre',
|
||||
resolveId(id) {
|
||||
if (id === '@/api/first_visit' || id.endsWith('/src/api/first_visit')) return '\0member-sync-api'
|
||||
if (id === '/__member-sync-entry.js') return '\0member-sync-entry'
|
||||
},
|
||||
load(id) {
|
||||
if (id === '\0member-sync-api') return fixture
|
||||
if (id === '\0member-sync-entry') return `import {createApp} from 'vue';import ElementPlus from 'element-plus';import 'element-plus/dist/index.css';import View from '/src/views/first_visit/wecom_promotion/index.vue';createApp(View).use(ElementPlus).mount('#app');`
|
||||
},
|
||||
configureServer(dev) {
|
||||
dev.middlewares.use((req, res, next) => {
|
||||
if (!req.url?.startsWith('/__member-sync-check')) return next()
|
||||
res.setHeader('Content-Type', 'text/html;charset=utf-8')
|
||||
res.end('<!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><title>企微成员同步隔离验证</title></head><body><p>隔离验证:虚构数据,不连接企业微信</p><div id="app"></div><script type="module" src="/__member-sync-entry.js"></script></body></html>')
|
||||
})
|
||||
}
|
||||
}, vue()],
|
||||
server: { host: '127.0.0.1', port: 5587, strictPort: true, open: false }
|
||||
})
|
||||
await server.listen()
|
||||
console.log('Isolated UI: http://127.0.0.1:5587/__member-sync-check')
|
||||
for (const event of ['SIGINT', 'SIGTERM']) process.on(event, async () => { await server.close(); process.exit(0) })
|
||||
Reference in New Issue
Block a user