Commit Graph
96 Commits
Author SHA1 Message Date
zlwuandCursor fefef41524 fix(mobile): 协议单表单将项目归属移入协议信息分区
按专员/经理协议单诉求,把项目归属嵌入协议信息卡片并置于协议状态上方,避免独立成卡打断填写顺序。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-05 17:57:57 +08:00
zlwuandCursor a4defb2c94 fix(mobile): 协议单列表项目筛选下移并补齐科研捐赠筛选
将项目筛选并入搜索框下方的 van-dropdown 行,与协议状态样式一致;科研捐赠 Tab 同步展示两项筛选,并修复捐赠列表按 protocolStatus 过滤 donation_status。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-05 17:13:15 +08:00
zlwuandCursor 4a12d92631 feat(protocol): 记录协议单操作前后快照便于责任追溯
为细胞存储与科研捐赠协议增加 append-only 操作日志,覆盖 Web/小程序 create/update/delete/状态类动作,并在查看弹窗与移动详情提供操作日志入口(Issue #24)。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-05 12:11:34 +08:00
zlwu a511004812 fix(oa): include discussion comments and attachment links in approval PDFs
Merge discussion comments into the existing printed approval flow on Web and mobile OA, preserving detail timeline order and hiding revoked content. Include mentions and absolute attachment URLs, and add PDF link annotations so rasterized exports retain usable links. Add regression tests for ordering, attachments, mentions and revoked comments. Related to Gitea issue #30.
2026-11-05 10:27:39 +08:00
zlwu bd62416263 feat(project): add team attribution and business statistics
Add tenant-scoped teams and projects, order attribution across four businesses, conversion inheritance, scoped statistics and audited reassignment. Reuse existing Web and mobile UI patterns; team regions and hospitals remain informational.

Include incremental SQL and isolated regression coverage. Actual MySQL and browser/WebView integration validation remains pending; relates to issue #13.
2026-11-02 15:29:43 +08:00
zlwu f6cfce3315 fix(market): restrict protocol managers to region leaders
Use a dedicated tenant-scoped active region leader list instead of all region staff. Preserve historical labels without offering them as choices and remove the ordinary-member default during region changes.

Refs #1. Add regression coverage for tenant isolation, inactive records, deduplication, historical labels and region cascades.
2026-10-30 16:11:17 +08:00
zlwu b220298f89 chore: 清理历史资料并规范工程目录与开发规则
为减少仓库噪声和重复规则,整理当前开发入口并移除已废弃资料。

- 精简根 AGENTS,补充四个应用规则与 README,统一规范入口
- 归整部署文件、SOP 原稿和参考资源,修正迁移后的脚本路径
- 取消虚拟环境、工具状态、业务导出及备份的跟踪,本机所需原件保留
- 移除停用的 graphify 配置、脚本与产物
- 删除历史业务文档、执行计划、OpenSpec 业务变更和移动 UI 原型
- 清理失效引用,历史细胞产品导入改为必须显式指定 --file

验证:git diff --cached --check、OpenSpec 严格校验、导入参数隔离检查 3/3 通过;
迁移文件完整性和现行链接已核对。未执行部署、业务数据导入或服务启停。
2026-10-29 23:08:29 +08:00
zlwuandCursor 5e563a6669 fix: 子表保存改为就地同步,避免整批换 id 打断外键。
协议样本、生产产出和盘点明细按行更新并保留原 id;补齐存储证明质检预填、离职人员显示名,以及样本采集通知模板字段。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-28 10:51:53 +08:00
zlwuandCursor d66e55af65 fix: 小程序新增样本发微信通知,并放宽部分 Web 菜单强校验。
移动端协议保存后调度样本采集服务号通知;收款确认/储存证等写接口改为运营端登录即可。同步日期字段规范化与 OA 日期选择器复开修复。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-26 16:02:47 +08:00
zlwuandCursor 5dad1bb0e3 fix: 协议子资源单事务保存,并补齐样本编码/OA/质检等近期能力
锁定缴费校验失败时整单回滚,避免样本半成功落库;前端禁止删除锁定缴费样本,改码走更正编码。同步落地样本更正、采集微信通知、OA提及未读、细胞产品套餐与相关迁移文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-26 11:02:25 +08:00
zlwuandCursor 063727a7d8 feat: 完善协议缴费分期、样本编码搜索与鸿蒙附件选择
支持移动端样本编码远程关键字检索、分期起始日刷新与鸿蒙微信附件选取,并同步收款账户选择、角色页与相关设计文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 09:23:17 +08:00
zlwuandCursor 77e8c78cb6 fix: 移动端关联已有顺丰批次显示月结
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 20:08:13 +08:00
zlwuandCursor 9b34f9e1ba feat: 移动端和小程序的协议单、运费信息在选择顺丰时改为月结并填写单号
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 19:49:57 +08:00
zlwuandCursor 0506fe7e8a fix: 发起审批时说明当前用户还没有收款账户
两端选择器都只展示 options 接口返回的本人账户,空列表不再像是系统没有账户。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-21 19:13:30 +08:00
zlwuandCursor ac8e471aca fix: align sample registration, freight scope, and OA datetime display
Let customer-service quick register write storage, certificate, and insurance separately without extra menu or data-scope checks. List freight by document data scope like the web admin, allow protocol staff outside the collection region, and pad OA datetimes to seconds so PC date pickers can show historical minute values.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-20 17:30:30 +08:00
zlwu 03fcc01d6d 提交 2026-10-17 17:36:14 +08:00
zlwuandCursor 19dffbaa49 fix(mobile-oa-h5): skin market neutral tags as barley soft.
Map Element Plus info tones through Vant default and style them as
浅底大麦黄 so unpaid/pending tags stay visible and distinct from solid semantic tags.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 17:05:46 +08:00
zlwu be2226e4ca 提交 2026-10-17 11:46:53 +08:00
zlwuandCursor 48dcf991dc fix(mobile-oa-h5): finish storage-service tag tone parity for market details
Wire detail header statusTone for protocol/payment/freight/chase from the
registry mirror, stop hardcoding primary on nested tags, and map 已过期 to
warning so title and field colors stay consistent.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 11:27:29 +08:00
zlwuandCursor d355cd0640 feat(mobile-oa-h5): inline payment detail transfers aligned with web dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 11:12:23 +08:00
zlwuandCursor c825c170e7 refactor(mobile-oa-h5): extract ScheduleTransferEditor for shared transfer UI
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 11:04:14 +08:00
zlwuandCursor 9de7f5456e refactor(mobile-oa-h5): allow transfer helpers to use payment contextId
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 10:56:43 +08:00
zlwuandCursor e2fee1d9c5 feat(mobile-oa-h5): open protocol from payment as readonly detail
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 10:55:59 +08:00
zlwuandCursor 80d238d31d feat(mobile-oa-h5): add payment-entry helpers for readonly protocol view
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 10:53:11 +08:00
zlwuandCursor d998378e12 fix(mobile-oa-h5): rename presign collector label to 市场专员
Keep collectorUserId for convert-to-protocol mapping.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 17:44:41 +08:00
zlwuandCursor 90c1b83a54 fix(mobile-oa-h5): hide collector staff on protocol UI
Keep collectorUserId in form state as a hidden field with create defaults.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 17:39:39 +08:00
zlwu 06d021807b 提交 2026-10-15 23:21:07 +08:00
zlwu ecde2ba07d 提交 2026-10-15 14:27:42 +08:00
zlwuandCursor b9d981d46b fix(mobile-oa-h5): finish tagType wiring for market detail sections
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 10:07:32 +08:00
zlwuandCursor 2b5f2f939c fix(mobile-oa-h5): align presign and freight tags with registry mirror
Use info for draft; full payMode codes; receptionSource/transportType colors.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 10:06:07 +08:00
zlwuandCursor 7ba336169a fix(mobile-oa-h5): align protocol and chase tags with registry mirror
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 10:01:43 +08:00
zlwuandCursor 79f9c8785b fix(mobile-oa-h5): align payment list/detail tags with registry mirror
Prefer progressStatus codes and explicit tagType over Chinese heuristics.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 09:57:21 +08:00
zlwuandCursor 87f1e9a4eb feat(mobile-oa-h5): add market status-tag registry mirror
Mirror Web status-tag-registry for market modules with resolveStatusTag and parity tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 09:52:54 +08:00
zlwuandCursor 9d7a72673d feat(mobile-oa-h5): restyle payment schedule transfers as amount-first cards
Render schedule cards with metric grids and white transfer cards (amount, method·time, notes) in payment and protocol detail views.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 15:24:25 +08:00
zlwuandCursor f045841f1a fix(mobile-oa-h5): drop duplicate pay-mode tag on protocol detail payment cards
Sample payment cards already show 缴费模式 in the field list; remove the redundant status tag beside the sample code title.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 15:11:02 +08:00
zlwuandCursor 82b8a9c1b2 fix(mobile-oa-h5): slim payment list card fields to a two-column grid
Drop protocol number, storage years, and discount amount; remove wide spans so summary fields sit two per row.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 15:08:49 +08:00
zlwuandCursor 6eafec3fa9 test(mobile-oa-h5): align payment Excel-column parity with periodBlocks
Assert installment amount labels on the list card and periodBlocks/footerFields in the presenter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 15:03:29 +08:00
zlwuandCursor 321dd3ca43 feat(mobile-oa-h5): collapse payment installment rows on list cards
Render periodBlocks as independent expandable summary rows with footer totals after the period section.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 14:41:34 +08:00
zlwuandCursor 4e586e905b feat(mobile-oa-h5): present payment periods as collapsible periodBlocks
Stop flattening six installment field groups into list cards; emit periodBlocks and footerFields instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 14:40:00 +08:00
zlwu 3950b5c334 提交 2026-10-14 12:32:03 +08:00
zlwuandCursor a2125374a8 fix(mobile-oa-h5): limit presign detail bottom bar to edit convert delete
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 12:13:23 +08:00
zlwuandCursor 6e190665c0 test(mobile-oa-h5): expect presign detail actions to be order-level only
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 12:12:59 +08:00
zlwuandCursor 0398cb3897 feat(mobile-oa-h5): auto-submit paid earnest transfers after presign save
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 12:00:48 +08:00
zlwuandCursor ee95036666 feat(mobile-oa-h5): add helpers to auto-submit dfj presign transfers on save
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 11:58:11 +08:00
zlwuandCursor e4ec917a03 style(mobile-oa-h5): JD-style left status dropdown on presign list
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 10:55:55 +08:00
zlwuandCursor 63f1d7c2f9 fix(mobile-oa-h5): remove reset button from presign list filters
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 10:53:33 +08:00
zlwuandCursor c767373a8f test(mobile-oa-h5): expect JD-style presign status filter without reset
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 10:51:17 +08:00
zlwuandCursor a7b8560f5f feat(mobile-oa-h5): integrate sample payment panel into protocol form
Validate and persist samplePayments on cell_storage protocol save.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 15:30:22 +08:00
zlwuandCursor 3354e66d82 feat(mobile-oa-h5): add ProtocolSamplePaymentPanel for mobile protocol forms
Mobile card UI for per-sample pay modes, schedules, and autofill rules.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 15:30:22 +08:00
zlwuandCursor 20a8bf538a feat(mobile-oa-h5): wire samplePayments into protocol payload and detail
Drop read-only payment stubs; detail shows per-sample payment cards.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 15:30:22 +08:00