From b7cd657f32997f692d4b08ba047b5a1d8cc50403 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Mon, 6 Jul 2026 19:41:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app.pid | 2 +- backend/app/crud/collection_protocol.py | 2 +- .../app/services/protocol_pay_mode_switch.py | 30 +- .../app/services/qc_work_order_fee_summary.py | 8 +- .../tests/test_protocol_pay_mode_switch.py | 33 +- .../2026-07-06-protocol-payment-defaults.md | 596 +++++ ...-07-06-protocol-payment-defaults-design.md | 214 ++ .../graphify-out/.graphify_analysis.json | 2040 ++++++++--------- web-admin/graphify-out/.graphify_extract.json | 1097 +++++---- web-admin/graphify-out/GRAPH_REPORT.md | 204 +- web-admin/graphify-out/graph.html | 8 +- web-admin/graphify-out/manifest.json | 23 +- .../scripts/test-protocol-payment-presets.ts | 38 + .../index.vue | 5 +- ...3bb1505bb00b1c40a05f24f2f86d856e29da6.json | 1 + ...d95c5775948940177a073d572254d8ab36b1b.json | 1 + ...001917160b134eecb5655fea54765569c238b.json | 1 + ...921363e26ef3cb87647013e47076490a0243f.json | 1 + ...eee6b39b0d2069f58bbad61cb93b8cd234aa8.json | 1 + ...c7b509f2760b5c7edac041ba55de0f80a44a3.json | 1 + ...ceec03783cf86c5e20f1942924ebed56924c9.json | 1 + ...23dfbbfb5444c45d7a344b2c62036dadab021.json | 1 + ...8adf1e85f2cc332fbd84c061eb6f5919caef4.json | 1 + ...9c82e4526e22d90a9b737053ad68a0ab40996.json | 1 + .../src/utils/protocol-pay-mode-switch.ts | 98 +- .../src/utils/protocol-payment-installment.ts | 6 +- .../src/utils/protocol-payment-presets.ts | 58 + .../utils/protocol-standard-import-parse.ts | 7 +- web-admin/src/utils/status-tag-registry.ts | 3 +- .../protocol/ProtocolFormDialog.vue | 325 +-- .../protocol/ProtocolViewDialog.vue | 11 +- .../QcWorkOrderProtocolPaymentPanel.vue | 3 +- 32 files changed, 2885 insertions(+), 1936 deletions(-) create mode 100644 docs/superpowers/plans/2026-07-06-protocol-payment-defaults.md create mode 100644 docs/superpowers/specs/2026-07-06-protocol-payment-defaults-design.md create mode 100644 web-admin/scripts/test-protocol-payment-presets.ts create mode 100644 web-admin/src/graphify-out/cache/ast/40ec8417d186f6e8e63b64aa7343bb1505bb00b1c40a05f24f2f86d856e29da6.json create mode 100644 web-admin/src/graphify-out/cache/ast/41f5d888fe56efed15ddabbd5c5d95c5775948940177a073d572254d8ab36b1b.json create mode 100644 web-admin/src/graphify-out/cache/ast/60613537371aa4062e4e4fea33e001917160b134eecb5655fea54765569c238b.json create mode 100644 web-admin/src/graphify-out/cache/ast/85fabe68addfbf745802dc17f10921363e26ef3cb87647013e47076490a0243f.json create mode 100644 web-admin/src/graphify-out/cache/ast/86c9fcd1fa57991d2f674a5f870eee6b39b0d2069f58bbad61cb93b8cd234aa8.json create mode 100644 web-admin/src/graphify-out/cache/ast/a07a05be66a02d75918debabd8cc7b509f2760b5c7edac041ba55de0f80a44a3.json create mode 100644 web-admin/src/graphify-out/cache/ast/a5b7ea4ddccc9c59d5b1d797572ceec03783cf86c5e20f1942924ebed56924c9.json create mode 100644 web-admin/src/graphify-out/cache/ast/b1d132148762c9f7c1a6f86faa523dfbbfb5444c45d7a344b2c62036dadab021.json create mode 100644 web-admin/src/graphify-out/cache/ast/b5369fa58156896e656592f0fd78adf1e85f2cc332fbd84c061eb6f5919caef4.json create mode 100644 web-admin/src/graphify-out/cache/ast/e86eccf0fd66287c05fdf88de559c82e4526e22d90a9b737053ad68a0ab40996.json create mode 100644 web-admin/src/utils/protocol-payment-presets.ts diff --git a/backend/app.pid b/backend/app.pid index 119bef7f..41dd4856 100644 --- a/backend/app.pid +++ b/backend/app.pid @@ -1 +1 @@ -56839 +35093 diff --git a/backend/app/crud/collection_protocol.py b/backend/app/crud/collection_protocol.py index e1082c6a..c08a7655 100644 --- a/backend/app/crud/collection_protocol.py +++ b/backend/app/crud/collection_protocol.py @@ -2811,7 +2811,7 @@ def align_fq_payment_details_payload( pay: BizProtocolPayment, details: Optional[list], ) -> list: - if pay.pay_mode != "fq" or not pay.installment_count or int(pay.installment_count) < 1: + if pay.pay_mode not in ("fq", "djfq") or not pay.installment_count or int(pay.installment_count) < 1: return list(details or []) count = int(pay.installment_count) rows = [_normalize_fields(dict(d)) for d in (details or [])] diff --git a/backend/app/services/protocol_pay_mode_switch.py b/backend/app/services/protocol_pay_mode_switch.py index 1346fc99..bae485fc 100644 --- a/backend/app/services/protocol_pay_mode_switch.py +++ b/backend/app/services/protocol_pay_mode_switch.py @@ -48,22 +48,16 @@ def validate_payment_details_for_save( yjf_rows = [r for r in rows if (r.get("pay_status") or r.get("payStatus")) == "yjf"] if pay_mode == "dj": - if len(dfj_rows) > 1: - raise ValueError("趸交模式仅允许一条待缴费明细") - remaining = round(contract - paid_sum, 2) - if dfj_rows: - due = _dec( - dfj_rows[0].get("due_amount") - if dfj_rows[0].get("due_amount") is not None - else dfj_rows[0].get("dueAmount") + total_due = sum( + _dec(r.get("due_amount") if r.get("due_amount") is not None else r.get("dueAmount")) + for r in rows + ) + if contract and abs(total_due - contract) > 0.015: + raise ValueError( + f"趸交各明细应缴金额之和应为 {contract:.2f},当前为 {total_due:.2f}" ) - expected = remaining if yjf_rows else contract - if abs(due - expected) > 0.015: - raise ValueError( - f"趸交待缴金额应为 {expected:.2f},当前为 {due:.2f}" - ) - elif pay_mode == "fq": + elif pay_mode in ("fq", "djfq"): count = int(installment_count or 0) if count < 1: raise ValueError("分期模式须填写分期期数") @@ -76,8 +70,6 @@ def validate_payment_details_for_save( if is_legacy_installment_ratios(values, Decimal(str(contract)) if contract else None): if abs(sum(values) - 100.0) > 0.01: raise ValueError("缴费比例之和须等于 100%") - elif contract and abs(sum(values) - contract) > 0.015: - raise ValueError("分期金额合计须等于合同金额") if len(rows) != count: raise ValueError(f"分期明细条数应等于分期期数({count})") fq_forbidden = frozenset({"jfqrz", "tfqrz"}) @@ -85,12 +77,6 @@ def validate_payment_details_for_save( status = (r.get("pay_status") or r.get("payStatus") or "dfj").strip() if status in fq_forbidden: raise ValueError("分期模式下存在不可保存的缴费状态") - total_due = sum( - _dec(r.get("due_amount") if r.get("due_amount") is not None else r.get("dueAmount")) - for r in rows - ) - if contract and abs(total_due - contract) > 0.015: - raise ValueError("分期各期应缴金额之和应等于合同金额") if yjf_rows: max_paid_no = max( int(r.get("installment_no") or r.get("installmentNo") or 0) diff --git a/backend/app/services/qc_work_order_fee_summary.py b/backend/app/services/qc_work_order_fee_summary.py index 132bd513..2321501f 100644 --- a/backend/app/services/qc_work_order_fee_summary.py +++ b/backend/app/services/qc_work_order_fee_summary.py @@ -14,7 +14,7 @@ from app.models.models import ( BizProtocolPaymentDetail, ) -_PAY_MODE_LABELS = {"dj": "趸交", "fq": "分期"} +_PAY_MODE_LABELS = {"dj": "趸交", "fq": "分期", "djfq": "趸交+分期"} _PAY_STATUS_LABELS = { "dfj": "待缴费", "jfqrz": "缴费确认中", @@ -57,7 +57,7 @@ def _protocol_status_hint(pay_mode: str, statuses: List[str]) -> str: paid = counts.get("yjf", 0) confirm = counts.get("jfqrz", 0) pending = counts.get("dfj", 0) - if pay_mode == "fq": + if pay_mode in ("fq", "djfq"): parts: List[str] = ["分期"] if paid: parts.append(f"{paid} 期已缴") @@ -105,7 +105,7 @@ def _fmt_ymd(val: Any) -> str: def _payment_detail_row(d: BizProtocolPaymentDetail, pay_mode: str, idx: int) -> Dict[str, Any]: st = (d.pay_status or "").strip() inst_no = d.installment_no - if pay_mode == "fq" and inst_no is not None: + if pay_mode in ("fq", "djfq") and inst_no is not None: label = f"第{inst_no}期" else: label = f"缴费{idx + 1}" @@ -153,7 +153,7 @@ def build_protocol_payment_summary( "receivedAmount": received, "pendingAmount": pending, "statusHint": hint, - "installmentCount": len(detail_rows) if pay_mode == "fq" else None, + "installmentCount": len(detail_rows) if pay_mode in ("fq", "djfq") else None, "paymentDetails": detail_rows, **overall, } diff --git a/backend/tests/test_protocol_pay_mode_switch.py b/backend/tests/test_protocol_pay_mode_switch.py index dab57b6d..51a4faef 100644 --- a/backend/tests/test_protocol_pay_mode_switch.py +++ b/backend/tests/test_protocol_pay_mode_switch.py @@ -14,18 +14,29 @@ class TestValidatePaymentDetailsForSave(unittest.TestCase): [{"payStatus": "dfj", "dueAmount": 10000}], ) - def test_dj_rejects_multiple_dfj(self): + def test_dj_allows_multiple_dfj_when_sum_matches(self): + validate_payment_details_for_save( + "dj", + 10000, + None, + [ + {"payStatus": "dfj", "dueAmount": 2000}, + {"payStatus": "dfj", "dueAmount": 8000}, + ], + ) + + def test_dj_rejects_multiple_dfj_wrong_sum(self): with self.assertRaises(ValueError) as ctx: validate_payment_details_for_save( "dj", 10000, None, [ - {"payStatus": "dfj", "dueAmount": 5000}, - {"payStatus": "dfj", "dueAmount": 5000}, + {"payStatus": "dfj", "dueAmount": 2000}, + {"payStatus": "dfj", "dueAmount": 7000}, ], ) - self.assertIn("仅允许一条待缴费", str(ctx.exception)) + self.assertIn("之和应为", str(ctx.exception)) def test_dj_partial_paid_remaining(self): validate_payment_details_for_save( @@ -50,6 +61,20 @@ class TestValidatePaymentDetailsForSave(unittest.TestCase): ], ) + def test_djfq_same_as_fq(self): + validate_payment_details_for_save( + "djfq", + 41000, + 4, + [ + {"payStatus": "dfj", "installmentNo": 1, "dueAmount": 29360}, + {"payStatus": "dfj", "installmentNo": 2, "dueAmount": 3880}, + {"payStatus": "dfj", "installmentNo": 3, "dueAmount": 3880}, + {"payStatus": "dfj", "installmentNo": 4, "dueAmount": 3880}, + ], + installment_ratios=[29360, 3880, 3880, 3880], + ) + def test_fq_count_mismatch(self): with self.assertRaises(ValueError): validate_payment_details_for_save( diff --git a/docs/superpowers/plans/2026-07-06-protocol-payment-defaults.md b/docs/superpowers/plans/2026-07-06-protocol-payment-defaults.md new file mode 100644 index 00000000..ec41969b --- /dev/null +++ b/docs/superpowers/plans/2026-07-06-protocol-payment-defaults.md @@ -0,0 +1,596 @@ +# 采集协议单 · 缴费默认定价 Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 按「样本数 × 缴费模式」在新建/首次选模式时填充默认合同金额与分期模板;支持双样本 `djfq`(趸交+分期);趸交允许多条缴费明细;样本数/样本价变化不再自动改合同金额。 + +**Architecture:** 前端新增 `protocol-payment-presets.ts` 集中定价表与 `applyPaymentPreset()`;`PayMode` 扩展为 `dj | fq | djfq`,分期逻辑通过 `isInstallmentPayMode()` 统一处理 `fq` 与 `djfq`;后端校验放宽趸交多 `dfj`、合计校验,`djfq` 走分期分支;方案 B 用 `paymentDefaultsApplied` 标记避免重复填默认。 + +**Tech Stack:** Vue 3 · TypeScript · Element Plus · FastAPI · Python unittest · `tsx`(前端纯函数冒烟) + +**Design spec:** `docs/superpowers/specs/2026-07-06-protocol-payment-defaults-design.md` + +--- + +## File Map + +| 文件 | 职责 | +|------|------| +| `web-admin/src/utils/protocol-payment-presets.ts` | **新建** 定价表、`getActiveSampleCount`、`applyPaymentPreset`、`isInstallmentPayMode` | +| `web-admin/scripts/test-protocol-payment-presets.ts` | **新建** 定价表冒烟脚本(`tsx` 运行) | +| `web-admin/src/utils/protocol-pay-mode-switch.ts` | `PayMode` 含 `djfq`;趸交多明细;切换时用 preset 重建 | +| `web-admin/src/utils/protocol-payment-installment.ts` | `alignFq*` / `syncFq*` 识别 `djfq` | +| `web-admin/src/utils/status-tag-registry.ts` | `djfq` 标签 | +| `web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue` | 模式 UI、首次默认、去掉样本价联动、保存校验 | +| `web-admin/src/views/cell-storage/protocol/ProtocolViewDialog.vue` | `djfq` 只读展示 | +| `web-admin/src/components/business/protocol-payment-detail-readonly/index.vue` | 分期字段展示含 `djfq` | +| `web-admin/src/views/quality-inspection/qc-work-order/QcWorkOrderProtocolPaymentPanel.vue` | 摘要 `djfq` 按分期展示 | +| `web-admin/src/utils/protocol-standard-import-parse.ts` | (P1)识别「趸交+分期」 | +| `backend/app/services/protocol_pay_mode_switch.py` | 趸交多明细合计校验;`djfq`→分期分支 | +| `backend/app/crud/collection_protocol.py` | `align_fq_*` 等 `djfq` 与 `fq` 同等 | +| `backend/app/services/qc_work_order_fee_summary.py` | `djfq` 标签与分期摘要 | +| `backend/tests/test_protocol_pay_mode_switch.py` | 更新/新增校验单测 | +| `backend/tests/test_protocol_payment_presets.py` | **新建**(可选)后端不依赖 preset,本任务以前端脚本为主 | + +--- + +## 依赖顺序 + +```text +Task 1 (presets 纯函数) + → Task 2 (后端校验) + → Task 3 (pay-mode-switch + installment 工具) + → Task 4 (标签/只读组件) + → Task 5 (ProtocolFormDialog 主改动) + → Task 6 (导入 P1 + 收尾 QA) +``` + +--- + +### Task 1: 定价表纯函数与冒烟测试 + +**Files:** +- Create: `web-admin/src/utils/protocol-payment-presets.ts` +- Create: `web-admin/scripts/test-protocol-payment-presets.ts` + +- [ ] **Step 1: 创建 `protocol-payment-presets.ts`** + +```typescript +// web-admin/src/utils/protocol-payment-presets.ts +export type PayMode = 'dj' | 'fq' | 'djfq' + +export type PaymentPreset = { + contractAmount: number + installmentCount?: number + installmentAmounts?: number[] +} + +const PRESETS: Record<1 | 2, Partial>> = { + 1: { + dj: { contractAmount: 22880 }, + fq: { + contractAmount: 25880, + installmentCount: 6, + installmentAmounts: [6480, 3880, 3880, 3880, 3880, 3880] + } + }, + 2: { + dj: { contractAmount: 37880 }, + djfq: { + contractAmount: 41000, + installmentCount: 5, + installmentAmounts: [22880, 6480, 3880, 3880, 3880] + }, + fq: { + contractAmount: 44000, + installmentCount: 5, + installmentAmounts: [12960, 7760, 7760, 7760, 7760] + } + } +} + +export function getActiveSampleCount( + samples: Array<{ sampleStatus?: string }> +): 1 | 2 { + const n = samples.filter((s) => String(s.sampleStatus || '') !== 'yzf').length + return (n >= 2 ? 2 : 1) as 1 | 2 +} + +export function resolvePaymentPreset( + sampleCount: 1 | 2, + payMode: PayMode +): PaymentPreset | null { + return PRESETS[sampleCount]?.[payMode] ?? null +} + +export function isInstallmentPayMode(payMode: string): boolean { + return payMode === 'fq' || payMode === 'djfq' +} + +export function availablePayModes(sampleCount: 1 | 2): PayMode[] { + return sampleCount === 2 ? ['dj', 'djfq', 'fq'] : ['dj', 'fq'] +} + +/** 校验双样本才能用 djfq */ +export function isPayModeValidForSampleCount( + payMode: PayMode, + sampleCount: 1 | 2 +): boolean { + return availablePayModes(sampleCount).includes(payMode) +} +``` + +- [ ] **Step 2: 创建冒烟脚本** + +```typescript +// web-admin/scripts/test-protocol-payment-presets.ts +import assert from 'node:assert/strict' +import { + resolvePaymentPreset, + getActiveSampleCount, + isInstallmentPayMode, + isPayModeValidForSampleCount +} from '../src/utils/protocol-payment-presets' + +const fq1 = resolvePaymentPreset(1, 'fq')! +assert.equal(fq1.contractAmount, 25880) +assert.deepEqual(fq1.installmentAmounts, [6480, 3880, 3880, 3880, 3880, 3880]) +assert.equal( + fq1.installmentAmounts!.reduce((s, v) => s + v, 0), + fq1.contractAmount +) + +const djfq2 = resolvePaymentPreset(2, 'djfq')! +assert.equal(djfq2.contractAmount, 41000) +assert.equal(djfq2.installmentCount, 5) + +assert.equal(getActiveSampleCount([{ sampleStatus: 'ycj' }]), 1) +assert.equal(getActiveSampleCount([{ sampleStatus: 'ycj' }, { sampleStatus: 'yzf' }]), 1) +assert.equal( + getActiveSampleCount([{ sampleStatus: 'ycj' }, { sampleStatus: 'ycj' }]), + 2 +) + +assert.equal(isInstallmentPayMode('djfq'), true) +assert.equal(isInstallmentPayMode('dj'), false) +assert.equal(isPayModeValidForSampleCount('djfq', 1), false) +assert.equal(isPayModeValidForSampleCount('djfq', 2), true) + +console.log('protocol-payment-presets: OK') +``` + +- [ ] **Step 3: 运行冒烟** + +```bash +cd web-admin && pnpm exec tsx scripts/test-protocol-payment-presets.ts +``` + +Expected: 输出 `protocol-payment-presets: OK`,exit 0。 + +--- + +### Task 2: 后端保存校验(趸交多明细 + djfq) + +**Files:** +- Modify: `backend/app/services/protocol_pay_mode_switch.py` +- Modify: `backend/tests/test_protocol_pay_mode_switch.py` + +- [ ] **Step 1: 修改 `validate_payment_details_for_save` 趸交分支** + +将 `dj` 分支中「仅 1 条 dfj」改为「全部明细应缴合计 = 合同金额」: + +```python +# backend/app/services/protocol_pay_mode_switch.py — pay_mode == "dj" 分支替换为: + +if pay_mode == "dj": + total_due = sum( + _dec(r.get("due_amount") if r.get("due_amount") is not None else r.get("dueAmount")) + for r in rows + ) + if contract and abs(total_due - contract) > 0.015: + raise ValueError( + f"趸交各明细应缴金额之和应为 {contract:.2f},当前为 {total_due:.2f}" + ) + # 保留:存在 yjf 时,dfj 行 due 之和应等于 remaining(可选细化为与 total 一致即可) +``` + +删除: + +```python +if len(dfj_rows) > 1: + raise ValueError("趸交模式仅允许一条待缴费明细") +``` + +以及单条 `dfj` 的 `expected` 校验(已由 `total_due` 覆盖)。 + +- [ ] **Step 2: `djfq` 走分期分支** + +```python +installment_modes = ("fq", "djfq") +# ... +elif pay_mode in installment_modes: + # 原 fq 逻辑不变 +``` + +- [ ] **Step 3: 更新单测** + +`test_dj_rejects_multiple_dfj` 改名为 `test_dj_allows_multiple_dfj_when_sum_matches`: + +```python +def test_dj_allows_multiple_dfj_when_sum_matches(self): + validate_payment_details_for_save( + "dj", + 10000, + None, + [ + {"payStatus": "dfj", "dueAmount": 2000}, + {"payStatus": "dfj", "dueAmount": 8000}, + ], + ) + +def test_dj_rejects_multiple_dfj_wrong_sum(self): + with self.assertRaises(ValueError) as ctx: + validate_payment_details_for_save( + "dj", + 10000, + None, + [ + {"payStatus": "dfj", "dueAmount": 2000}, + {"payStatus": "dfj", "dueAmount": 7000}, + ], + ) + self.assertIn("之和应为", str(ctx.exception)) +``` + +新增: + +```python +def test_djfq_same_as_fq(self): + validate_payment_details_for_save( + "djfq", + 41000, + 5, + [ + {"payStatus": "dfj", "installmentNo": 1, "dueAmount": 22880}, + {"payStatus": "dfj", "installmentNo": 2, "dueAmount": 6480}, + {"payStatus": "dfj", "installmentNo": 3, "dueAmount": 3880}, + {"payStatus": "dfj", "installmentNo": 4, "dueAmount": 3880}, + {"payStatus": "dfj", "installmentNo": 5, "dueAmount": 3880}, + ], + installment_ratios=[22880, 6480, 3880, 3880, 3880], + ) +``` + +- [ ] **Step 4: 运行后端单测** + +```bash +cd backend && source venv/bin/activate && python -m pytest tests/test_protocol_pay_mode_switch.py -v +``` + +Expected: 全部 PASS。 + +- [ ] **Step 5: 修改 `collection_protocol.py` 分期对齐** + +约 L2814,将: + +```python +if pay.pay_mode != "fq" or not pay.installment_count: +``` + +改为: + +```python +if pay.pay_mode not in ("fq", "djfq") or not pay.installment_count: +``` + +全文检索 `pay_mode != "fq"` / `pay_mode == "fq"` 在同文件内一并调整。 + +--- + +### Task 3: 前端工具层(pay-mode-switch + installment) + +**Files:** +- Modify: `web-admin/src/utils/protocol-pay-mode-switch.ts` +- Modify: `web-admin/src/utils/protocol-payment-installment.ts` + +- [ ] **Step 1: 扩展 `PayMode` 并导入 preset** + +```typescript +// protocol-pay-mode-switch.ts 顶部 +import { + type PayMode, + isInstallmentPayMode, + resolvePaymentPreset, + getActiveSampleCount +} from '@/utils/protocol-payment-presets' +export type { PayMode } +``` + +- [ ] **Step 2: `canAddPaymentDetail` 趸交始终可添加** + +```typescript +export function canAddPaymentDetail(payMode: string, _details: DetailLike[]): boolean { + if (isInstallmentPayMode(payMode)) return true + return true // dj:允许多条明细 +} +``` + +- [ ] **Step 3: `evaluatePayModeSwitch` / `applyPayModeSwitch` 支持 `djfq`** + +- `dj` → `djfq`:与 `dj` → `fq` 相同(无已缴才允许) +- `djfq` → `dj`:与 `fq` → `dj` +- `djfq` ↔ `fq`:按分期规则处理 +- `applyPayModeSwitch` 重建分期明细时,从 `resolvePaymentPreset(sampleCount, toMode)` 取 `installmentAmounts`,无 preset 时回退 `defaultInstallmentAmounts` + +- [ ] **Step 4: `protocol-payment-installment.ts`** + +将所有 `payment.payMode !== 'fq'` / `=== 'fq'` 改为使用 `isInstallmentPayMode(payment.payMode as string)`(从 presets 导入)。 + +- [ ] **Step 5: 类型检查** + +```bash +cd web-admin && pnpm exec vue-tsc --noEmit 2>&1 | head -40 +``` + +Expected: 无新增 error(允许既有 warning)。 + +--- + +### Task 4: 标签与只读展示 + +**Files:** +- Modify: `web-admin/src/utils/status-tag-registry.ts` +- Modify: `web-admin/src/views/cell-storage/protocol/ProtocolViewDialog.vue` +- Modify: `web-admin/src/components/business/protocol-payment-detail-readonly/index.vue` +- Modify: `web-admin/src/views/quality-inspection/qc-work-order/QcWorkOrderProtocolPaymentPanel.vue` +- Modify: `backend/app/services/qc_work_order_fee_summary.py` + +- [ ] **Step 1: `status-tag-registry.ts` 增加** + +```typescript +djfq: { label: '趸交+分期', tagType: 'warning' } // 或 primary,与 fq 区分即可 +``` + +- [ ] **Step 2: 只读组件分期条件** + +`payment?.payMode === 'fq'` → `isInstallmentPayMode(payment?.payMode || '')`(ViewDialog、readonly、QcWorkOrderProtocolPaymentPanel)。 + +- [ ] **Step 3: 后端 `_PAY_MODE_LABELS`** + +```python +_PAY_MODE_LABELS = {"dj": "趸交", "fq": "分期", "djfq": "趸交+分期"} +``` + +`build_protocol_payment_summary` 内 `pay_mode == "fq"` 改为 `pay_mode in ("fq", "djfq")`。 + +--- + +### Task 5: ProtocolFormDialog 主改动 + +**Files:** +- Modify: `web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue` + +- [ ] **Step 1: 缴费模式单选 UI** + +```vue + + 趸交 + 趸交+分期 + 分期 + +``` + +`activeSampleCount` = `computed(() => getActiveSampleCount(formData.samples))`。 + +- [ ] **Step 2: 分期区块条件** + +`formData.payMode === 'fq'` → `isInstallmentPayMode(formData.payMode)`(模板内所有分期表单项、分期金额行)。 + +- [ ] **Step 3: 新增状态 `paymentDefaultsApplied`** + +```typescript +const paymentDefaultsApplied = ref>({ + dj: false, + fq: false, + djfq: false +}) + +function applyPaymentPresetForMode(payMode: PayMode) { + const preset = resolvePaymentPreset(getActiveSampleCount(formData.samples), payMode) + if (!preset) return + formData.contractAmount = preset.contractAmount + if (isInstallmentPayMode(payMode) && preset.installmentCount) { + formData.installmentCount = preset.installmentCount + formData.installmentIntervalMonths = formData.installmentIntervalMonths ?? 6 + formData.installmentStartDate = + formData.installmentStartDate || defaultInstallmentStartDateYmd() + formData.installmentAdvanceDays = + formData.installmentAdvanceDays ?? DEFAULT_INSTALLMENT_ADVANCE_DAYS + formData.installmentRatios = [...(preset.installmentAmounts || [])] + formData.paymentDetails = generateInitialFqDetails( + getFqParamsFromForm(), + preset.contractAmount + ) + initPaymentDetailExpandFlags(formData.paymentDetails) + markPayDetailLocks(formData.paymentDetails) + syncLastConfirmedFqParams() + } else { + formData.paymentDetails = [ + createPaymentDetailRow({ + dueAmount: preset.contractAmount, + installmentDueDate: formData.lumpSumDeadline || '', + expanded: true + }) + ] + } + paymentDefaultsApplied.value[payMode] = true +} +``` + +- [ ] **Step 4: 改造 `onPayModeChange`** + +在既有 `evaluatePayModeSwitch` 之前/之后: + +```typescript +async function onPayModeChange(newMode: PayMode) { + const oldMode = lastConfirmedPayMode.value + // ... 既有 evaluate + apply 逻辑 ... + + if (!paymentDefaultsApplied.value[newMode]) { + applyPaymentPresetForMode(newMode) + } + lastConfirmedPayMode.value = newMode +} +``` + +新建弹窗 `resetForm` / `openCreate` 时重置 `paymentDefaultsApplied` 全 `false`;编辑加载详情后全部标 `true`(不覆盖库内数据)。 + +- [ ] **Step 5: 去掉样本价 → 合同额自动联动** + +`onSamplePriceChange` 改为空实现或仅刷新弱提示: + +```typescript +function onSamplePriceChange() { + // 方案 B:不调用 syncContractAmount() +} +``` + +删除或停用 `syncContractAmount()` 内对 `formData.contractAmount` 的写入;保留函数供「恢复默认」P1 使用时可再启用。 + +可选弱提示(缴费 Tab): + +```typescript +const samplePriceContractHint = computed(() => { + const sampleTotal = formData.samples + .filter((s) => s.sampleStatus !== 'yzf') + .reduce((sum, s) => sum + (Number(s.price) || 0), 0) + if (formData.contractAmount == null) return '' + if (Math.abs(sampleTotal - Number(formData.contractAmount)) > 0.01) { + return `样本价格合计 ${fmtMoney(sampleTotal)} 与合同金额不一致,请核对` + } + return '' +}) +``` + +- [ ] **Step 6: 保存前校验 `djfq` 样本数** + +在 `handleSubmit` 缴费校验段: + +```typescript +if ( + formData.payMode === 'djfq' && + getActiveSampleCount(formData.samples) !== 2 +) { + await ElMessageBox.alert('「趸交+分期」仅适用于 2 个样本,请切换缴费模式', '无法保存', { + type: 'warning' + }) + return +} +if (!isPayModeValidForSampleCount(formData.payMode as PayMode, getActiveSampleCount(formData.samples))) { + await ElMessageBox.alert('当前缴费模式与样本数量不匹配', '无法保存', { type: 'warning' }) + return +} +``` + +- [ ] **Step 7: 标准导入后标记默认已应用** + +`applyPaymentFromImport` 末尾: + +```typescript +paymentDefaultsApplied.value = { dj: true, fq: true, djfq: true } +``` + +- [ ] **Step 8: 编辑加载 `lastConfirmedPayMode`** + +```typescript +lastConfirmedPayMode.value = (['fq', 'djfq'].includes(formData.payMode) + ? formData.payMode + : 'dj') as PayMode +``` + +- [ ] **Step 9: 手动验证(开发环境)** + +1. 新建 → 添加 1 样本 → 首次选「分期」→ 合同 25880、6 期金额正确 +2. 再添加第 2 样本 → 合同/明细**不变** +3. 新建 2 样本 → 选「趸交+分期」→ 41000、5 期 +4. 趸交 → 添加 2 条明细 2000+20880 → 保存成功 +5. 2 样本 `djfq` 删 1 样本 → 保存拦截 + +--- + +### Task 6: 标准导入(P1)与收尾 + +**Files:** +- Modify: `web-admin/src/utils/protocol-standard-import-parse.ts` +- Run: `./scripts/update-graph.sh frontend` + +- [ ] **Step 1: 导入识别 `djfq`** + +`parsePayMode` 中: + +```typescript +if (/趸交\s*[++]\s*分期|趸交.*分期/.test(v)) return { payMode: 'djfq' } +``` + +`ProtocolStandardImportParsed.payMode` 类型改为 `'dj' | 'fq' | 'djfq'`。 + +- [ ] **Step 2: 更新知识图谱** + +```bash +./scripts/update-graph.sh frontend +``` + +- [ ] **Step 3: Lint** + +```bash +cd web-admin && pnpm lint +cd backend && python -m pytest tests/test_protocol_pay_mode_switch.py -v +``` + +- [ ] **Step 4: 更新 design spec 状态** + +`docs/superpowers/specs/2026-07-06-protocol-payment-defaults-design.md` 表头 `状态` → `已实现`。 + +--- + +## Spec 覆盖自检 + +| Spec § | Task | +|--------|------| +| §3 默认定价表 | Task 1 | +| §4 方案 B 填充时机 | Task 5 Step 3–4、7 | +| §5 趸交多明细 | Task 2、3、5 | +| §5.2 djfq 分期 | Task 2–5 | +| §6 模式切换修订 | Task 3、5 | +| §7 pay_mode=djfq | Task 2、4 | +| §8 UI | Task 4、5 | +| §8.3 样本价解耦 | Task 5 Step 5 | +| §9–10 前后端摘要 | Task 2–5 | +| §11 测试要点 | 各 Task Step 验证 | +| §4.3 恢复默认 P1 | **范围外**(未列入 Task) | + +--- + +## 人工回归清单(提测) + +- [ ] 新建 1 样本首次 `fq`:25880 / 6 期模板 +- [ ] 新建 2 样本首次 `djfq`:41000 / 5 期 +- [ ] 样本数 1→2 后金额不变 +- [ ] 趸交 2+ 条 `dfj` 保存成功 +- [ ] 分期合计 ≠ 合同额:前后端拦截 +- [ ] 已缴锁定 + 模式切换:仍符合 2026-06-04 +- [ ] 查看弹窗 / 质检费用摘要:`djfq` 标签与期次表 +- [ ] 标准导入多笔趸交转账保存成功 + +--- + +## 执行方式 + +**Plan 已保存至** `docs/superpowers/plans/2026-07-06-protocol-payment-defaults.md`。 + +**两种执行方式:** + +1. **Subagent-Driven(推荐)** — 每 Task 派发独立子代理,Task 间人工/代理复核 +2. **Inline Execution** — 本会话按 Task 1→6 连续实现,每 Task 末 checkpoint + +告知选用哪种方式即可开始实现。 diff --git a/docs/superpowers/specs/2026-07-06-protocol-payment-defaults-design.md b/docs/superpowers/specs/2026-07-06-protocol-payment-defaults-design.md new file mode 100644 index 00000000..1fe374a5 --- /dev/null +++ b/docs/superpowers/specs/2026-07-06-protocol-payment-defaults-design.md @@ -0,0 +1,214 @@ +# 采集协议单 · 缴费默认定价与明细规则设计 + +**日期**:2026-07-06 +**范围**:`web-admin` 采集协议单新增/编辑(`ProtocolFormDialog.vue`)、标准信息导入、后端缴费保存校验 +**前置 spec**:[2026-06-04-protocol-pay-mode-switch-design.md](./2026-06-04-protocol-pay-mode-switch-design.md)、[2026-06-10-protocol-installment-config-design.md](./2026-06-10-protocol-installment-config-design.md) +**状态**:已实现 + +--- + +## 1. 背景与目标 + +业务方给出「样本数 × 缴费模式」下的**默认合同金额、默认期数、默认各期金额**。这些数值仅作录入辅助;用户可自由修改合同金额、分期期数、各期金额;趸交也可拆成多条缴费明细(如预付款 + 尾款)。 + +当前实现与目标的主要差距: + +| 维度 | 现状 | 目标 | +|------|------|------| +| 合同金额来源 | 非作废样本 `price` 之和 | 按定价表填**默认**,用户可改;样本数变化**不**自动改金额 | +| 分期默认金额 | 均分或历史 50/10/10… | 固定模板(6,480 / 3,880…) | +| 分期默认期数 | 一律 6 期 | 1 样本 6 期;2 样本分期/混合 5 期 | +| 缴费模式 | `dj` / `fq` | 增加双样本 **趸交+分期** `djfq` | +| 趸交明细条数 | 后端禁止多条 `dfj` | 允许多条,合计 = 合同金额 | +| 默认填充时机 | 切分期、改样本价等会联动 | **方案 B**:仅新建或**首次**选缴费模式时填默认 | + +--- + +## 2. 决策记录 + +| 议题 | 决定 | +|------|------| +| 默认值性质 | 仅初始填充,**不锁定**;用户可改合同金额、期数、各期金额 | +| 样本数变化 | **不**自动改合同金额、期数、明细(方案 B) | +| 缴费模式变化 | **首次**从空/未选切到某模式时填该模式默认;已选过且用户已编辑后,再次切换仍走既有「模式切换」确认流(见 §6) | +| 单样本分期默认合同额 | **25,880**(6,480 + 3,880×5) | +| 趸交默认合同额 | 优惠价:1 样本 **22,880**;2 样本 **37,880** | +| 双样本「趸交+分期」 | 新模式 `djfq`,默认 **41,000**,5 期:22,880、6,480、3,880、3,880、3,880 | +| 双样本纯分期 | 默认 **44,000**,5 期:12,960、7,760、7,760、7,760、7,760 | +| 趸交多条明细 | 允许;`Σ dueAmount(全部明细)= contractAmount`;保存时不再限制「仅 1 条 dfj」 | +| 样本 `price` 字段 | 仍维护样本单价;与合同默认**解耦**;导入/保存时可提示样本价合计与合同额不一致,**不阻断** | +| 定价表存放 | 前端 `protocol-payment-presets.ts`(常量);后端镜像校验逻辑不依赖默认表,只校验合计与条数 | + +--- + +## 3. 默认定价表 + +有效样本数 = 当前协议单内 `sampleStatus !== 'yzf'` 的样本条数,取值 **1** 或 **2**(与现网一致,不支持 0 样本保存缴费)。 + +| 样本数 | `pay_mode` | 默认合同金额 | 默认期数 | 默认各期金额(元) | +|--------|------------|-------------|----------|-------------------| +| 1 | `dj` | 22,880 | — | 单条明细 `dueAmount = 22,880`(用户可拆多条) | +| 1 | `fq` | 25,880 | 6 | 6,480、3,880、3,880、3,880、3,880、3,880 | +| 2 | `dj` | 37,880 | — | 单条明细 `dueAmount = 37,880`(用户可拆多条) | +| 2 | `djfq` | 41,000 | 5 | 22,880、6,480、3,880、3,880、3,880 | +| 2 | `fq` | 44,000 | 5 | 12,960、7,760、7,760、7,760、7,760 | + +**标签**:`djfq` 展示为「趸交+分期」;字典 `status-tag-registry` / 后端摘要增加 `djfq` → `趸交+分期`。 + +**双样本时缴费模式选项**:`dj`、`djfq`、`fq`(隐藏或禁用 `djfq` 当样本数 ≠ 2)。 + +--- + +## 4. 默认填充时机(方案 B) + +### 4.1 会填充默认的场景 + +1. **新建协议单**,用户**第一次**选择缴费模式(`pay_mode` 从初始 `dj` 切到 `fq` / `djfq`,或新建后首次进入缴费 Tab 且明细为空时的初始化,与产品确认以「首次 `onPayModeChange` 且该模式从未应用过」为准)。 +2. **新建协议单**,打开时若默认 `pay_mode=dj` 且 `paymentDetails` 为空:按 **当前样本数** 填趸交默认(合同额 + 1 条明细)。若此时样本数仍为 0,待用户添加第 1 个样本后**不**自动重填(方案 B);用户选模式或手动点「套用默认」时再填。 + +> **实现建议**:维护 `paymentDefaultsApplied: Record`(或 `lastAppliedPresetKey: string | null`)。某 `pay_mode` 第一次生效时调用 `applyPaymentPreset(sampleCount, payMode)`,并标记已应用。 + +### 4.2 不会自动改金额的场景 + +- 增删样本、样本作废/恢复 +- 修改样本 `price` +- 修改合同金额后回头改样本 + +用户自行改合同额、期数、明细;仅触发**合计校验**与既有「分期参数变更 / 模式切换」确认流。 + +### 4.3 可选辅助(P1,非本期必须) + +缴费主表旁「恢复默认」按钮:按当前样本数 + 当前 `pay_mode` 重新套用 §3 定价表,**需二次确认**。 + +--- + +## 5. 缴费明细与校验 + +### 5.1 趸交 `dj` + +- 明细 **≥ 1** 条;用户可通过「添加明细」增加(含预付款场景)。 +- `canAddPaymentDetail`:改为在 `dj` 下**始终允许**添加(或:待缴条数无硬上限,仅校验合计)。 +- 保存校验: + - `Σ dueAmount(全部明细)` 与 `contractAmount` 差额 ≤ 0.01; + - 允许多条 `dfj`; + - 若存在 `yjf`:`Σ yjf.dueAmount + Σ dfj.dueAmount` 仍须等于 `contractAmount`(与现 `remaining` 逻辑一致,但允许多条 `dfj` 分摊剩余)。 + +### 5.2 分期 `fq` 与混合 `djfq` + +- 明细条数 **=** `installment_count`(与现 `fq` 一致)。 +- `installment_ratios` 存**各期金额(元)**,非百分比(与现网一致)。 +- `Σ 各期 dueAmount = contractAmount`。 +- `djfq` 在数据层按分期处理:每期有 `installmentNo`、应缴日;第 1 期金额语义为「趸交部分」,不做单独子表。 + +### 5.3 与标准信息导入 + +- 导入解析到的 `contractAmount`、多笔 `transfer` **覆盖**默认填充(与 [2026-07-02-protocol-standard-import-design.md](./2026-07-02-protocol-standard-import-design.md) 一致)。 +- 导入后标记 `paymentDefaultsApplied` 全部为已应用,避免再自动覆盖。 + +--- + +## 6. 缴费模式切换(在 2026-06-04 上的修订) + +既有切换规则(已缴锁定、确认流)**保留**。下列条目**修订**原 spec: + +| 原规则 | 新规则 | +|--------|--------| +| 趸交仅 1 条有效明细 | 趸交可多条;切换生成时仍可合并为 1 条**默认**,用户随后可拆 | +| `pay_mode` 仅 `dj`/`fq` | 增加 `djfq`;`djfq` ↔ `fq` 按分期规则;`djfq` → `dj` 同 `fq` → `dj` | +| 切换后分期金额均分 | 切换后若走「重建明细」,使用 §3 对应默认各期金额(非均分) | + +**双样本 → 单样本**(或反向):不自动改合同/明细(方案 B);若当前 `pay_mode=djfq` 且样本数变为 1,**阻断保存**并提示「请切换缴费模式」,或自动要求用户改模式(推荐:**保存前校验**样本数与 `djfq` 一致)。 + +--- + +## 7. 数据模型 + +### 7.1 `biz_protocol_payment.pay_mode` + +| 值 | 含义 | +|----|------| +| `dj` | 趸交 | +| `fq` | 分期 | +| `djfq` | 趸交+分期(仅双样本) | + +字段长度 `varchar(8)` 足够。无需新列;`installment_count` / `installment_ratios` 在 `djfq` 与 `fq` 用法相同。 + +### 7.2 迁移 + +- 字典项(若缴费模式走 dict):增加 `djfq`。 +- 历史数据无 `djfq`,只读展示兼容即可。 + +--- + +## 8. UI + +### 8.1 缴费模式 + +```text +[ 趸交 ] [ 分期 ] // 1 样本 +[ 趸交 ] [ 趸交+分期 ] [ 分期 ] // 2 样本 +``` + +### 8.2 分期金额区 + +- `fq` / `djfq`:展示期数、间隔、开始时间、各期金额输入格;默认期数/金额来自 §3。 +- 合计行:`合计 xxx / 合同 xxx`(已有)。 + +### 8.3 样本价格 + +- 样本 Tab 的「价格」保留;**移除** `syncContractAmount()` 在样本价变更时对 `contractAmount` 的自动写入(方案 B)。 +- 可选弱提示:样本价合计 ≠ 合同金额时展示 `form-tip`(不阻断保存)。 + +--- + +## 9. 后端改动摘要 + +| 文件 | 改动 | +|------|------| +| `protocol_pay_mode_switch.py` | `dj`:删除「仅 1 条 dfj」;改为明细总额校验;支持 `djfq` 走 `fq` 分支 | +| `collection_protocol.py` | 读写 `pay_mode=djfq`;列表/详情标签 | +| `qc_work_order_fee_summary.py` 等 | `djfq` 标签与分期展示 | + +--- + +## 10. 前端改动摘要 + +| 文件 | 改动 | +|------|------| +| `protocol-payment-presets.ts` | **新建**,§3 定价表 + `applyPaymentPreset()` | +| `protocol-payment-installment.ts` | 默认金额生成改为调用 preset(均分仅作无 preset 时的兜底) | +| `protocol-pay-mode-switch.ts` | `dj` 多明细;`PayMode` 含 `djfq` | +| `ProtocolFormDialog.vue` | 模式 UI、首次填充、去掉样本价→合同额联动 | +| `ProtocolViewDialog.vue` | `djfq` 展示 | +| `status-tag-registry.ts` | `djfq` | +| `protocol-standard-import-parse.ts` | 识别「趸交+分期」文案 → `djfq`(P1) | + +--- + +## 11. 测试要点 + +- [ ] 新建 1 样本,首次选 `fq` → 合同 25,880,6 期金额正确 +- [ ] 新建 2 样本,首次选 `djfq` → 41,000,5 期正确 +- [ ] 改样本数 1→2,合同/明细**不变** +- [ ] 趸交添加 2 条明细,合计 = 合同额,保存成功 +- [ ] 趸交 2 条 `dfj` 预付款场景,保存成功 +- [ ] 修改各期金额后合计 ≠ 合同额,前后端均拦截 +- [ ] 模式切换 + 已缴锁定,仍符合 2026-06-04 +- [ ] 2 样本 `djfq` 删至 1 样本,保存提示改模式 +- [ ] 标准导入多笔转账 + 趸交,保存成功 + +--- + +## 12. 范围外 + +- 定价表后台可配置化(本期写死常量) +- 3 个及以上样本 +- 按样本绑定不同缴费模式(每样本独立主表) + +--- + +## 13. 修订记录 + +| 日期 | 说明 | +|------|------| +| 2026-07-06 | 初稿:默认定价表、方案 B、djfq、趸交多明细 | diff --git a/web-admin/graphify-out/.graphify_analysis.json b/web-admin/graphify-out/.graphify_analysis.json index 539e6fbe..714b5d0b 100644 --- a/web-admin/graphify-out/.graphify_analysis.json +++ b/web-admin/graphify-out/.graphify_analysis.json @@ -277,15 +277,16 @@ "api_cell_product_ts", "api_chinaregion_fetchchinaregiontree", "api_chinaregion_ts", - "api_env_detect_record_fetchcreateenvdetectrecord", - "api_env_detect_record_fetchdeleteenvdetectrecord", - "api_env_detect_record_fetchenvdetectrecorddetail", - "api_env_detect_record_fetchenvdetectrecordlist", - "api_env_detect_record_fetchupdateenvdetectrecord", - "api_env_detect_record_ts", "api_infusion_schedule_handover_fetchinfusionscheduleoutboundhandover", "api_infusion_schedule_handover_saveinfusionscheduleoutboundhandover", "api_infusion_schedule_handover_ts", + "api_leave_fetchcreateleave", + "api_leave_fetchdeleteleave", + "api_leave_fetchleavedetail", + "api_leave_fetchleavelist", + "api_leave_fetchsubmitleave", + "api_leave_fetchupdateleave", + "api_leave_ts", "api_material_stock_check_fetchcancelmaterialstockcheck", "api_material_stock_check_fetchcompletematerialstockcheck", "api_material_stock_check_fetchcreatematerialstockcheck", @@ -359,10 +360,6 @@ "api_qc_material_usage_fetchqcmaterialrequisitionoptions", "api_qc_material_usage_fetchqcmaterialusagelist", "api_qc_material_usage_ts", - "api_qc_sms_notification_fetchgenerateqcsms", - "api_qc_sms_notification_fetchqcsmslist", - "api_qc_sms_notification_fetchtoggleqcsmsnotified", - "api_qc_sms_notification_ts", "api_qc_task_result_fetchcompletetaskwithresult", "api_qc_task_result_fetchqctaskmaterialusages", "api_qc_task_result_fetchqctaskresults", @@ -423,8 +420,26 @@ "api_system_fetchgetcurrentversion", "api_system_fetchgetsystemconfig", "api_system_ts", + "api_workflow_fetchapprovetask", + "api_workflow_fetchbusinessalltasks", + "api_workflow_fetchcompletedtasks", + "api_workflow_fetchcreateprocessdef", + "api_workflow_fetchdeleteprocessdef", + "api_workflow_fetchdesignerdata", + "api_workflow_fetchinstancedetail", + "api_workflow_fetchmyinstances", + "api_workflow_fetchpendingtasks", + "api_workflow_fetchprocessdeflist", + "api_workflow_fetchpublishversion", + "api_workflow_fetchrejecttask", + "api_workflow_fetchstartinstance", + "api_workflow_fetchupdateprocessdef", + "api_workflow_fetchversionlist", + "api_workflow_ts", "cell_product_type_projectpricesystemtab_if", "checkup_management_checkupdetaildialog_loaddata", + "components_approvaldialog_handlesubmit", + "components_approvaldialog_loadformdata", "infusion_schedule_outbound_chain_view_index_loaddetail", "material_index_loaddictoptions", "modules_user_dialog_initformdata", @@ -435,7 +450,8 @@ "utils_cell_product_spec_resolvecellproductspecidbyname", "utils_storage_slot_options_remotesearchstorageslotselectoptions", "views_pilot_service_cell_product_type_projectpricesystemtab_vue", - "views_system_user_modules_user_dialog_vue" + "views_system_user_modules_user_dialog_vue", + "views_system_workflow_components_approvaldialog_vue" ], "1": [ "api_admin_batchsavepilotcheckup", @@ -449,6 +465,7 @@ "api_admin_savepilotcheckup", "api_admin_savepilotcheckupactualitems", "api_admin_savepilotcheckupreserveitems", + "api_production_material_fetchmyproductionmaterialconsumptions", "checkup_management_checkup_reserve_items_actualitemexists", "checkup_management_checkup_reserve_items_appendcheckupactualitems", "checkup_management_checkup_reserve_items_appendcheckupreserveitems", @@ -494,6 +511,7 @@ "checkup_management_checkupmarkcheckeddialog_confirmpackageselect", "checkup_management_checkupmarkcheckeddialog_confirmprojectselect", "checkup_management_checkupmarkcheckeddialog_downloadreport", + "checkup_management_checkupmarkcheckeddialog_formatnowdatetime", "checkup_management_checkupmarkcheckeddialog_fullfileurl", "checkup_management_checkupmarkcheckeddialog_handleopenpackageselector", "checkup_management_checkupmarkcheckeddialog_handleopenprojectselector", @@ -520,6 +538,8 @@ "checkup_management_checkupregisterdialog_requireinstitution", "checkup_management_checkupregisterdialog_reserveitemspayload", "components_business_dialog_form_body_index_vue", + "material_index_formattodaydate", + "my_production_material_usage_index_handletabchange", "pilot_application_applicationdetaildialog_if", "pilot_application_checkupmanagementtab_caneditactualcheckupinfo", "pilot_application_checkupmanagementtab_caneditreserve", @@ -542,6 +562,18 @@ "pilot_application_checkupmanagementtab_oninstitutionselectvisible", "pilot_application_checkupmanagementtab_remotesearchinstitutions", "pilot_application_clinicalpaymenttab_for", + "production_material_materialconsumptiontab_displayconsumptionqty", + "production_material_materialconsumptiontab_handlereset", + "production_material_materialconsumptiontab_handlesearch", + "production_material_materialconsumptiontab_loaddata", + "protocol_protocolformdialog_pad", + "utils_sample_reception_lab_storage_code_buildprefilledlabstoragecode", + "utils_sample_reception_lab_storage_code_formatyear", + "utils_sample_reception_lab_storage_code_formatym", + "utils_sample_reception_lab_storage_code_normalizesampletypename", + "utils_sample_reception_lab_storage_code_normalizesourcetype", + "utils_sample_reception_lab_storage_code_parselabstoragereferencedate", + "utils_sample_reception_lab_storage_code_ts", "views_pilot_service_checkup_management_checkup_reserve_items_ts", "views_pilot_service_checkup_management_checkupdetaildialog_vue", "views_pilot_service_checkup_management_checkupfilldialog_vue", @@ -551,218 +583,110 @@ "views_pilot_service_pilot_application_checkupmanagementtab_vue", "views_pilot_service_pilot_application_clinicalpaymenttab_vue", "views_pilot_service_pilot_application_index_vue", - "views_production_production_material_productionmaterialconfiguredcatalogdialog_vue" + "views_production_my_production_material_usage_index_vue", + "views_production_production_material_materialconsumptiontab_vue", + "views_production_production_material_productionmaterialconfiguredcatalogdialog_vue", + "views_production_production_material_productionmaterialusagetab_vue" ], "2": [ - "api_business_fetchuploadattachment", - "art_fireworks_effect_index_fireworksystem", - "art_fireworks_effect_index_fireworksystem_constructor", - "art_fireworks_effect_index_fireworksystem_createfirework", - "art_fireworks_effect_index_fireworksystem_createparticle", - "art_fireworks_effect_index_fireworksystem_getavailableparticle", - "art_fireworks_effect_index_fireworksystem_initializepool", - "art_fireworks_effect_index_fireworksystem_preloadallimages", - "art_fireworks_effect_index_fireworksystem_preloadimage", - "checkup_management_checkupdetaildialog_handlereportupload", - "checkup_management_checkupmarkcheckeddialog_handlereportupload", - "clean_room_index_walk", - "components_core_layouts_art_fireworks_effect_index_vue", - "composables_production_view_sections_buildbasefields", - "composables_production_view_sections_buildfeesection", - "composables_production_view_sections_buildinboundbasicsection", - "composables_production_view_sections_buildinboundcellstorageproductionviewsections", - "composables_production_view_sections_buildinboundresearchdonationproductionviewsections", - "composables_production_view_sections_buildoutboundbasicexperimentproductionviewsections", - "composables_production_view_sections_buildoutboundclinicalproductionviewsections", - "composables_production_view_sections_buildoutbounddetail", - "composables_production_view_sections_buildoutboundpilotproductionviewsections", - "composables_production_view_sections_buildoutboundsections", - "composables_production_view_sections_buildreceptionsection", - "composables_production_view_sections_buildtemporaryproductionviewsections", - "composables_production_view_sections_buildtransportsections", - "composables_production_view_sections_formatmetric", - "composables_production_view_sections_isoutboundproductionview", - "composables_production_view_sections_sourcetag", - "composables_production_view_sections_wostatustag", - "pilot_application_applicationdetaildialog_async", - "pilot_application_applicationdetaildialog_initdata", - "pilot_application_applicationdetaildialog_validate", - "production_work_order_stepdetailpanel_for", - "protocol_audit_fullmoontodotab_handleattachmentchange", - "sop_index_for", - "storage_facility_index_push", - "utils_outbound_qc_pilot_view_sections_resolveoutboundviewvariant", - "utils_protocol_fq_params_change_applyfqparamschange", - "utils_protocol_fq_params_change_buildfqamounts", - "utils_protocol_fq_params_change_countbystatus", - "utils_protocol_fq_params_change_evaluatefqparamschange", - "utils_protocol_fq_params_change_formatmoneysummary", - "utils_protocol_fq_params_change_fqparamssnapshot", - "utils_protocol_fq_params_change_generateinitialfqdetails", - "utils_protocol_fq_params_change_getpaidinstallmentrows", - "utils_protocol_fq_params_change_issamefqparams", - "utils_protocol_fq_params_change_maxpaidinstallmentno", - "utils_protocol_fq_params_change_ratiosequal", - "utils_protocol_fq_params_change_ts", - "utils_protocol_pay_mode_switch_activedetails", - "utils_protocol_pay_mode_switch_applypaymodeswitch", - "utils_protocol_pay_mode_switch_calcremainingamount", - "utils_protocol_pay_mode_switch_countbystatus", - "utils_protocol_pay_mode_switch_createpaymentdetailrow", - "utils_protocol_pay_mode_switch_evaluatepaymodeswitch", - "utils_protocol_pay_mode_switch_formatmoneysummary", - "utils_protocol_pay_mode_switch_hasblockingstatus", - "utils_protocol_pay_mode_switch_ispaydetaillocked", - "utils_protocol_pay_mode_switch_markpaydetaillocks", - "utils_protocol_pay_mode_switch_sumpaidamount", - "utils_protocol_pay_mode_switch_ts", - "utils_protocol_payment_installment_adddaysymd", - "utils_protocol_payment_installment_addintervalmonthsymd", - "utils_protocol_payment_installment_addmonthsymd", - "utils_protocol_payment_installment_alignfqpaymentdetailsfordisplay", - "utils_protocol_payment_installment_calcfqinstallmentduedate", - "utils_protocol_payment_installment_calcinstallmentdueamounts", - "utils_protocol_payment_installment_calcinstallmentdueamountsbyratios", - "utils_protocol_payment_installment_calcunpaidamountsbyratios", - "utils_protocol_payment_installment_defaultinstallmentamounts", - "utils_protocol_payment_installment_defaultinstallmentratios", - "utils_protocol_payment_installment_finalizeinstallmentratios", - "utils_protocol_payment_installment_isinstallmentamountsvalid", - "utils_protocol_payment_installment_isinstallmentratiosvalid", - "utils_protocol_payment_installment_islegacyinstallmentratios", - "utils_protocol_payment_installment_normalizeinstallmentamounts", - "utils_protocol_payment_installment_resizeinstallmentamounts", - "utils_protocol_payment_installment_resizeinstallmentratios", - "utils_protocol_payment_installment_resolvefqamounts", - "utils_protocol_payment_installment_scaleinstallmentamountstocontract", - "utils_protocol_payment_installment_sortfqpaymentdetails", - "utils_protocol_payment_installment_suminstallmentamounts", - "utils_protocol_payment_installment_syncfqpaymentdetailrowcount", - "utils_protocol_payment_installment_ts", - "utils_qc_work_order_card_meta_buildcellstoragegroupcontext", - "utils_qc_work_order_card_meta_builddonationgroupcontext", - "utils_qc_work_order_card_meta_buildgroupcontextsubtitle", - "utils_qc_work_order_card_meta_buildoutboundbasicexperimentgroupcontext", - "utils_qc_work_order_card_meta_buildoutboundpilotgroupcontext", - "utils_qc_work_order_card_meta_formatdetectmethods", - "utils_qc_work_order_card_meta_formatoutboundschedulesortno", - "utils_qc_work_order_card_meta_formatoutboundscheduletotalcount", - "utils_qc_work_order_card_meta_formatqctarget", - "utils_qc_work_order_card_meta_formattempcellproductfield", - "utils_qc_work_order_card_meta_getcardmetaconfig", - "utils_qc_work_order_card_meta_isinbounduserinforow", - "utils_qc_work_order_card_meta_protocolstatuslabelbysource", - "utils_qc_work_order_card_meta_protocolstatustagtypebysource", - "utils_qc_work_order_card_meta_resolvecardmetaforrow", - "utils_qc_work_order_card_meta_resolveinboundsamplegroupcardtitle", - "utils_qc_work_order_card_meta_resolveinboundworkordercardtitle", - "utils_qc_work_order_card_meta_resolveprotocolgrouppaymentsummary", - "utils_qc_work_order_card_meta_resolveprotocolgroupstatus", - "utils_qc_work_order_card_meta_ts", - "views_operations_clean_room_index_vue", - "views_pilot_service_pilot_application_applicationdetaildialog_vue", - "views_production_production_work_order_composables_production_view_sections_ts", - "views_production_production_work_order_stepdetailpanel_vue", - "views_production_sop_index_vue" + "composables_inbound_view_sections_buildinboundbasicsection", + "composables_inbound_view_sections_buildinboundcellstorageviewsections", + "composables_inbound_view_sections_buildinboundresearchdonationviewsections", + "composables_inbound_view_sections_buildreceptionsection", + "composables_inbound_view_sections_buildtemporaryviewsections", + "composables_inbound_view_sections_buildtransportsection", + "composables_inbound_view_sections_formatmetric", + "composables_inbound_view_sections_resolveinboundprotocolstatus", + "composables_useqcworkordertaskviewsections_appendtaskresultsections", + "composables_useqcworkordertaskviewsections_batchtasksforpanelslot", + "composables_useqcworkordertaskviewsections_buildconfiguredonlysection", + "composables_useqcworkordertaskviewsections_isbatchtaskpanelslot", + "composables_useqcworkordertaskviewsections_loadenrichedqcworkordertasks", + "composables_useqcworkordertaskviewsections_materialrowsfromapi", + "composables_useqcworkordertaskviewsections_taskattachmentslotname", + "composables_useqcworkordertaskviewsections_taskmaterialslotname", + "composables_useqcworkordertaskviewsections_useqcworkordertaskslothelpers", + "pilot_application_applicationviewdialog_for", + "process_processroutetab_for", + "process_processroutetab_if", + "process_processroutetab_set", + "qc_work_order_qcworkordercardlist_alltabinboundanchorid", + "qc_work_order_qcworkordercardlist_alltabitemkey", + "qc_work_order_qcworkordercardlist_cardindex", + "qc_work_order_qcworkordercardlist_managepresetbatches", + "qc_work_order_qcworkorderprotocolgroup_gateworkorder", + "qc_work_order_qcworkorderprotocolgroup_sampletabstatuslabel", + "qc_work_order_qcworkorderprotocolgroup_sampletabstatustagtype", + "qc_work_order_qcworkorderprotocolgroup_sampletypelabel", + "qc_work_order_qcworkorderprotocolgroup_workorderstatustagtype", + "qc_work_order_qcworkordersamplegroup_workorderstatustagtype", + "qc_work_order_qcworkordersamplegroup_workordertabtitle", + "source_chain_chaintoflow_annotateforkedges", + "source_chain_chaintoflow_chainapitoelements", + "source_chain_chaintoflow_haschaingraphcontent", + "source_chain_chaintoflow_layoutchainelements", + "source_chain_chaintoflow_makeflowedge", + "source_chain_chaintoflow_makeflownode", + "source_chain_chaintoflow_walkancestorbranch", + "source_chain_chaintoflow_walkancestorparents", + "storage_facility_index_if", + "utils_cell_product_spec_normalizecellproductrow", + "utils_cell_product_spec_resolvecellproductspecdisplay", + "utils_cell_product_spec_ts", + "utils_inbound_sample_special_mark_caneditinboundsamplespecialmark", + "utils_inbound_sample_special_mark_resolveinboundsamplespecialmarktarget", + "utils_inbound_sample_special_mark_resolveinboundsamplespecialmarktargetfromrow", + "utils_inbound_sample_special_mark_ts", + "utils_qc_inspection_batch_batchtaskspanelslot", + "utils_qc_inspection_batch_buildbatchsectionsfrombatches", + "utils_qc_inspection_batch_buildbatchsectionsfromtasks", + "utils_qc_inspection_batch_createemptyinspectionbatch", + "utils_qc_inspection_batch_fetchqcinspectionbatches", + "utils_qc_inspection_batch_fetchqcinspectionbatchesbatch", + "utils_qc_inspection_batch_loadqcinspectionbatches", + "utils_qc_inspection_batch_resolvebatchsections", + "utils_qc_inspection_batch_resolvebatchsectiontasks", + "utils_qc_inspection_batch_ts", + "utils_qc_work_order_card_meta_buildprotocolgroupprogresslabel", + "utils_qc_work_order_groups_buildalltablistitems", + "utils_qc_work_order_groups_countconfiguredsamplesinprotocolgroup", + "utils_qc_work_order_groups_groupinboundqcworkorders", + "utils_qc_work_order_groups_groupinboundqcworkordersbyprotocol", + "utils_qc_work_order_groups_groupoutboundqcworkorders", + "utils_qc_work_order_groups_isgatetriggersource", + "utils_qc_work_order_groups_istemporaryqcfromproduction", + "utils_qc_work_order_groups_matchestemporaryqcsourcefilter", + "utils_qc_work_order_groups_protocolgroupsorttime", + "utils_qc_work_order_groups_resolvegateworkorderforsamplegroup", + "utils_qc_work_order_groups_resolveinboundprotocolgroupkey", + "utils_qc_work_order_groups_resolveinboundsamplegroupkey", + "utils_qc_work_order_groups_sortworkordersingroup", + "utils_qc_work_order_groups_temporaryqcsourcelabel", + "utils_qc_work_order_groups_temporaryqcsourcetagtype", + "utils_qc_work_order_groups_triggersortweight", + "utils_qc_work_order_groups_triggersourcetablabel", + "utils_qc_work_order_groups_ts", + "utils_qc_work_order_inbound_sample_cards_buildinboundsamplecardanchorid", + "utils_qc_work_order_inbound_sample_cards_buildinboundsamplelistitems", + "utils_qc_work_order_inbound_sample_cards_buildlinksfromvisiblegroups", + "utils_qc_work_order_inbound_sample_cards_buildprotocolsiblinglinksfromsamples", + "utils_qc_work_order_inbound_sample_cards_protocolsorttime", + "utils_qc_work_order_inbound_sample_cards_resolveprotocolsiblinglinksforgroup", + "utils_qc_work_order_inbound_sample_cards_resolveprotocolsiblingsamplesforgroup", + "utils_qc_work_order_inbound_sample_cards_sampletypenameforgroup", + "utils_qc_work_order_inbound_sample_cards_ts", + "views_operations_storage_facility_index_vue", + "views_pilot_service_pilot_application_applicationviewdialog_vue", + "views_production_cell_product_source_chain_chaintoflow_ts", + "views_production_process_processroutetab_vue", + "views_quality_inspection_qc_work_order_composables_inbound_view_sections_ts", + "views_quality_inspection_qc_work_order_composables_useqcworkordertaskviewsections_ts", + "views_quality_inspection_qc_work_order_qcworkordercardlist_vue", + "views_quality_inspection_qc_work_order_qcworkorderprotocolgroup_vue", + "views_quality_inspection_qc_work_order_qcworkordersamplegroup_vue", + "views_quality_inspection_qc_work_order_qcworkordersinglecard_vue" ], "3": [ - "api_admin_fetchfullmoontodolist", - "api_admin_fetchupdatefullmoontodoinsurance", - "api_collection_protocol_fetchcollectionprotocolauditlist", - "api_collection_protocol_fetchcollectionprotocoldetail", - "api_collection_protocol_fetchcollectionprotocollist", - "api_collection_protocol_fetchcompleteprotocolinvoicerequest", - "api_collection_protocol_fetchcreatecollectionprotocol", - "api_collection_protocol_fetchcreateprotocolinvoicerequest", - "api_collection_protocol_fetchdeletecollectionprotocol", - "api_collection_protocol_fetchinvoiceeligiblepayments", - "api_collection_protocol_fetchpaymentdetaillist", - "api_collection_protocol_fetchprotocolinvoicependingcount", - "api_collection_protocol_fetchprotocolinvoicerequestlist", - "api_collection_protocol_fetchprotocolinvoicerequests", - "api_collection_protocol_fetchreceiptconfirmedlist", - "api_collection_protocol_fetchreceiptconfirmlist", - "api_collection_protocol_fetchreceiptconfirmreject", - "api_collection_protocol_fetchreceiptconfirmsubmit", - "api_collection_protocol_fetchrefundconfirmedlist", - "api_collection_protocol_fetchrefundconfirmlist", - "api_collection_protocol_fetchrefundconfirmreject", - "api_collection_protocol_fetchrefundconfirmsubmit", - "api_collection_protocol_fetchsubmitprotocolaudit", - "api_collection_protocol_fetchsubmitreceiptfinance", - "api_collection_protocol_fetchsubmitreceiptfinancebatch", - "api_collection_protocol_fetchsubmitrefundfinance", - "api_collection_protocol_fetchsubmitrefundfinancebatch", - "api_collection_protocol_fetchupdatecollectionprotocol", - "api_collection_protocol_fetchupdatepaymentdetaildraft", - "api_collection_protocol_ts", - "components_business_infusion_schedule_outbound_chain_view_index_vue", - "components_business_outbound_material_readonly_panel_index_vue", - "composables_useqcviewattachmenthelpers_qcattachmentfilesfromcommaurls", - "composables_useqcviewattachmenthelpers_qcattachmentfullurl", - "composables_useqcviewattachmenthelpers_qcdownloadattachment", - "composables_useqcviewattachmenthelpers_qcpreviewattachment", - "infusion_schedule_management_infusionschedulehandoverdialog_handledownloadattachment", - "infusion_schedule_outbound_chain_view_index_attachmentfullurl", - "infusion_schedule_outbound_chain_view_index_dash", - "infusion_schedule_outbound_chain_view_index_handleattachmentdownload", - "infusion_schedule_outbound_chain_view_index_handleattachmentpreview", - "infusion_schedule_outbound_chain_view_index_hasinfusionconfirm", - "outbound_material_readonly_panel_index_attachmentfullurl", - "outbound_material_readonly_panel_index_handledownloadpaperattachment", - "outbound_material_readonly_panel_index_handlepreviewpaperattachment", - "outbound_material_readonly_panel_index_isimagefile", - "outbound_material_readonly_panel_index_isvideofile", - "outbound_material_readonly_panel_index_paperattachmentname", - "outbound_material_readonly_panel_index_parsepaperattachments", - "outbound_material_readonly_panel_index_spliturls", - "outbound_release_review_outboundreleasereviewdialog_handledownloadattachment", - "protocol_audit_fullmoontodotab_buildinsuranceattachmentsvalue", - "protocol_audit_fullmoontodotab_buildinsurancepayload", - "protocol_audit_fullmoontodotab_formatymdfromany", - "protocol_audit_fullmoontodotab_fullfileurl", - "protocol_audit_fullmoontodotab_getinvoiceattachmentfiles", - "protocol_audit_fullmoontodotab_getinvoicerequestitems", - "protocol_audit_fullmoontodotab_handlebatchedit", - "protocol_audit_fullmoontodotab_handledownloadattachment", - "protocol_audit_fullmoontodotab_handleedit", - "protocol_audit_fullmoontodotab_handleexportinsurancesheet", - "protocol_audit_fullmoontodotab_handleinsurancecompanychange", - "protocol_audit_fullmoontodotab_handleinsurancedialogclosed", - "protocol_audit_fullmoontodotab_handleinsurancetypechange", - "protocol_audit_fullmoontodotab_handleinvoiceattachmentdownload", - "protocol_audit_fullmoontodotab_handleinvoiceattachmentpreview", - "protocol_audit_fullmoontodotab_handleinvoicecreatedialogclosed", - "protocol_audit_fullmoontodotab_handleinvoicedialogclosed", - "protocol_audit_fullmoontodotab_handleinvoiceeligibleselectionchange", - "protocol_audit_fullmoontodotab_handlepreviewattachment", - "protocol_audit_fullmoontodotab_handlereset", - "protocol_audit_fullmoontodotab_handlesearch", - "protocol_audit_fullmoontodotab_handlesubmit", - "protocol_audit_fullmoontodotab_isimagefile", - "protocol_audit_fullmoontodotab_isvideofile", - "protocol_audit_fullmoontodotab_loaddata", - "protocol_audit_fullmoontodotab_loadinvoicedialogdata", - "protocol_audit_fullmoontodotab_loadinvoiceeligible", - "protocol_audit_fullmoontodotab_loadinvoicehistory", - "protocol_audit_fullmoontodotab_normalizenewbornsex", - "protocol_audit_fullmoontodotab_openinvoicecreatedialog", - "protocol_audit_fullmoontodotab_openinvoicedialog", - "protocol_audit_fullmoontodotab_openinvoiceviewdialog", - "protocol_audit_fullmoontodotab_parseinsuranceattachmentsfromurls", - "protocol_audit_fullmoontodotab_removeattachment", - "protocol_audit_fullmoontodotab_resetdialogcontext", - "protocol_audit_fullmoontodotab_resetformfields", - "protocol_audit_fullmoontodotab_resetinvoiceform", - "protocol_audit_fullmoontodotab_resolveprotocolid", - "protocol_audit_fullmoontodotab_submitinvoicerequest", - "utils_download_attachment_downloadattachmentfile", - "utils_download_attachment_triggeranchordownload", - "utils_download_attachment_ts", - "views_cell_storage_protocol_audit_fullmoontodotab_vue", - "views_quality_inspection_qc_work_order_composables_useqcviewattachmenthelpers_ts" - ], - "4": [ "api_admin_fetchgetmenulist", "core_componentloader_componentloader", "core_componentloader_componentloader_constructor", @@ -858,7 +782,190 @@ "utils_router_sidebar_menu_filter_ts", "utils_router_ts" ], + "4": [ + "api_business_fetchuploadattachment", + "checkup_management_checkupdetaildialog_handlereportupload", + "checkup_management_checkupmarkcheckeddialog_handlereportupload", + "clean_room_index_walk", + "pilot_application_applicationdetaildialog_async", + "pilot_application_applicationdetaildialog_initdata", + "pilot_application_applicationdetaildialog_validate", + "production_work_order_stepdetailpanel_for", + "protocol_audit_fullmoontodotab_handleattachmentchange", + "sop_index_for", + "storage_facility_index_push", + "utils_protocol_fq_params_change_applyfqparamschange", + "utils_protocol_fq_params_change_buildfqamounts", + "utils_protocol_fq_params_change_countbystatus", + "utils_protocol_fq_params_change_evaluatefqparamschange", + "utils_protocol_fq_params_change_formatmoneysummary", + "utils_protocol_fq_params_change_fqparamssnapshot", + "utils_protocol_fq_params_change_generateinitialfqdetails", + "utils_protocol_fq_params_change_getpaidinstallmentrows", + "utils_protocol_fq_params_change_issamefqparams", + "utils_protocol_fq_params_change_maxpaidinstallmentno", + "utils_protocol_fq_params_change_ratiosequal", + "utils_protocol_fq_params_change_ts", + "utils_protocol_pay_mode_switch_activedetails", + "utils_protocol_pay_mode_switch_applypaymodeswitch", + "utils_protocol_pay_mode_switch_buildinstallmentdetails", + "utils_protocol_pay_mode_switch_calcremainingamount", + "utils_protocol_pay_mode_switch_canaddpaymentdetail", + "utils_protocol_pay_mode_switch_countbystatus", + "utils_protocol_pay_mode_switch_createpaymentdetailrow", + "utils_protocol_pay_mode_switch_evaluatepaymodeswitch", + "utils_protocol_pay_mode_switch_formatmoneysummary", + "utils_protocol_pay_mode_switch_hasblockingstatus", + "utils_protocol_pay_mode_switch_ispaydetaillocked", + "utils_protocol_pay_mode_switch_markpaydetaillocks", + "utils_protocol_pay_mode_switch_sumpaidamount", + "utils_protocol_pay_mode_switch_ts", + "utils_protocol_payment_installment_adddaysymd", + "utils_protocol_payment_installment_addintervalmonthsymd", + "utils_protocol_payment_installment_addmonthsymd", + "utils_protocol_payment_installment_alignfqpaymentdetailsfordisplay", + "utils_protocol_payment_installment_calcfqinstallmentduedate", + "utils_protocol_payment_installment_calcinstallmentdueamounts", + "utils_protocol_payment_installment_calcinstallmentdueamountsbyratios", + "utils_protocol_payment_installment_calcunpaidamountsbyratios", + "utils_protocol_payment_installment_defaultinstallmentamounts", + "utils_protocol_payment_installment_defaultinstallmentratios", + "utils_protocol_payment_installment_finalizeinstallmentratios", + "utils_protocol_payment_installment_isinstallmentamountsvalid", + "utils_protocol_payment_installment_isinstallmentratiosvalid", + "utils_protocol_payment_installment_islegacyinstallmentratios", + "utils_protocol_payment_installment_normalizeinstallmentamounts", + "utils_protocol_payment_installment_resizeinstallmentamounts", + "utils_protocol_payment_installment_resizeinstallmentratios", + "utils_protocol_payment_installment_resolvefqamounts", + "utils_protocol_payment_installment_scaleinstallmentamountstocontract", + "utils_protocol_payment_installment_sortfqpaymentdetails", + "utils_protocol_payment_installment_suminstallmentamounts", + "utils_protocol_payment_installment_syncfqpaymentdetailrowcount", + "utils_protocol_payment_installment_ts", + "utils_protocol_payment_presets_availablepaymodes", + "utils_protocol_payment_presets_getactivesamplecount", + "utils_protocol_payment_presets_isinstallmentpaymode", + "utils_protocol_payment_presets_ispaymodevalidforsamplecount", + "utils_protocol_payment_presets_resolvepaymentpreset", + "utils_protocol_payment_presets_ts", + "utils_qc_work_order_card_meta_buildcellstoragegroupcontext", + "utils_qc_work_order_card_meta_builddonationgroupcontext", + "utils_qc_work_order_card_meta_buildgroupcontextsubtitle", + "utils_qc_work_order_card_meta_buildoutboundbasicexperimentgroupcontext", + "utils_qc_work_order_card_meta_buildoutboundpilotgroupcontext", + "utils_qc_work_order_card_meta_formatdetectmethods", + "utils_qc_work_order_card_meta_formatoutboundschedulesortno", + "utils_qc_work_order_card_meta_formatoutboundscheduletotalcount", + "utils_qc_work_order_card_meta_formatqctarget", + "utils_qc_work_order_card_meta_formattempcellproductfield", + "utils_qc_work_order_card_meta_getcardmetaconfig", + "utils_qc_work_order_card_meta_isinbounduserinforow", + "utils_qc_work_order_card_meta_protocolstatuslabelbysource", + "utils_qc_work_order_card_meta_protocolstatustagtypebysource", + "utils_qc_work_order_card_meta_resolvecardmetaforrow", + "utils_qc_work_order_card_meta_resolveinboundsamplegroupcardtitle", + "utils_qc_work_order_card_meta_resolveinboundworkordercardtitle", + "utils_qc_work_order_card_meta_resolveprotocolgrouppaymentsummary", + "utils_qc_work_order_card_meta_resolveprotocolgroupstatus", + "utils_qc_work_order_card_meta_ts", + "views_operations_clean_room_index_vue", + "views_pilot_service_pilot_application_applicationdetaildialog_vue", + "views_production_production_work_order_stepdetailpanel_vue", + "views_production_sop_index_vue" + ], "5": [ + "api_admin_fetchfullmoontodolist", + "api_admin_fetchupdatefullmoontodoinsurance", + "api_collection_protocol_fetchcollectionprotocolauditlist", + "api_collection_protocol_fetchcollectionprotocoldetail", + "api_collection_protocol_fetchcollectionprotocollist", + "api_collection_protocol_fetchcompleteprotocolinvoicerequest", + "api_collection_protocol_fetchcreatecollectionprotocol", + "api_collection_protocol_fetchcreateprotocolinvoicerequest", + "api_collection_protocol_fetchdeletecollectionprotocol", + "api_collection_protocol_fetchinvoiceeligiblepayments", + "api_collection_protocol_fetchpaymentdetaillist", + "api_collection_protocol_fetchprotocolinvoicependingcount", + "api_collection_protocol_fetchprotocolinvoicerequestlist", + "api_collection_protocol_fetchprotocolinvoicerequests", + "api_collection_protocol_fetchreceiptconfirmedlist", + "api_collection_protocol_fetchreceiptconfirmlist", + "api_collection_protocol_fetchreceiptconfirmreject", + "api_collection_protocol_fetchreceiptconfirmsubmit", + "api_collection_protocol_fetchrefundconfirmedlist", + "api_collection_protocol_fetchrefundconfirmlist", + "api_collection_protocol_fetchrefundconfirmreject", + "api_collection_protocol_fetchrefundconfirmsubmit", + "api_collection_protocol_fetchsubmitprotocolaudit", + "api_collection_protocol_fetchsubmitreceiptfinance", + "api_collection_protocol_fetchsubmitreceiptfinancebatch", + "api_collection_protocol_fetchsubmitrefundfinance", + "api_collection_protocol_fetchsubmitrefundfinancebatch", + "api_collection_protocol_fetchupdatecollectionprotocol", + "api_collection_protocol_fetchupdatepaymentdetaildraft", + "api_collection_protocol_ts", + "components_business_outbound_material_readonly_panel_index_vue", + "composables_useqcviewattachmenthelpers_qcattachmentfilesfromcommaurls", + "composables_useqcviewattachmenthelpers_qcattachmentfullurl", + "composables_useqcviewattachmenthelpers_qcdownloadattachment", + "composables_useqcviewattachmenthelpers_qcpreviewattachment", + "infusion_schedule_management_infusionschedulehandoverdialog_handledownloadattachment", + "outbound_material_readonly_panel_index_attachmentfullurl", + "outbound_material_readonly_panel_index_handledownloadpaperattachment", + "outbound_material_readonly_panel_index_handlepreviewpaperattachment", + "outbound_material_readonly_panel_index_isimagefile", + "outbound_material_readonly_panel_index_isvideofile", + "outbound_material_readonly_panel_index_paperattachmentname", + "outbound_material_readonly_panel_index_parsepaperattachments", + "outbound_material_readonly_panel_index_spliturls", + "outbound_release_review_outboundreleasereviewdialog_handledownloadattachment", + "protocol_audit_fullmoontodotab_buildinsuranceattachmentsvalue", + "protocol_audit_fullmoontodotab_buildinsurancepayload", + "protocol_audit_fullmoontodotab_formatymdfromany", + "protocol_audit_fullmoontodotab_fullfileurl", + "protocol_audit_fullmoontodotab_getinvoiceattachmentfiles", + "protocol_audit_fullmoontodotab_getinvoicerequestitems", + "protocol_audit_fullmoontodotab_handlebatchedit", + "protocol_audit_fullmoontodotab_handledownloadattachment", + "protocol_audit_fullmoontodotab_handleedit", + "protocol_audit_fullmoontodotab_handleexportinsurancesheet", + "protocol_audit_fullmoontodotab_handleinsurancecompanychange", + "protocol_audit_fullmoontodotab_handleinsurancedialogclosed", + "protocol_audit_fullmoontodotab_handleinsurancetypechange", + "protocol_audit_fullmoontodotab_handleinvoiceattachmentdownload", + "protocol_audit_fullmoontodotab_handleinvoiceattachmentpreview", + "protocol_audit_fullmoontodotab_handleinvoicecreatedialogclosed", + "protocol_audit_fullmoontodotab_handleinvoicedialogclosed", + "protocol_audit_fullmoontodotab_handleinvoiceeligibleselectionchange", + "protocol_audit_fullmoontodotab_handlepreviewattachment", + "protocol_audit_fullmoontodotab_handlereset", + "protocol_audit_fullmoontodotab_handlesearch", + "protocol_audit_fullmoontodotab_handlesubmit", + "protocol_audit_fullmoontodotab_isimagefile", + "protocol_audit_fullmoontodotab_isvideofile", + "protocol_audit_fullmoontodotab_loaddata", + "protocol_audit_fullmoontodotab_loadinvoicedialogdata", + "protocol_audit_fullmoontodotab_loadinvoiceeligible", + "protocol_audit_fullmoontodotab_loadinvoicehistory", + "protocol_audit_fullmoontodotab_normalizenewbornsex", + "protocol_audit_fullmoontodotab_openinvoicecreatedialog", + "protocol_audit_fullmoontodotab_openinvoicedialog", + "protocol_audit_fullmoontodotab_openinvoiceviewdialog", + "protocol_audit_fullmoontodotab_parseinsuranceattachmentsfromurls", + "protocol_audit_fullmoontodotab_removeattachment", + "protocol_audit_fullmoontodotab_resetdialogcontext", + "protocol_audit_fullmoontodotab_resetformfields", + "protocol_audit_fullmoontodotab_resetinvoiceform", + "protocol_audit_fullmoontodotab_resolveprotocolid", + "protocol_audit_fullmoontodotab_submitinvoicerequest", + "utils_download_attachment_downloadattachmentfile", + "utils_download_attachment_triggeranchordownload", + "utils_download_attachment_ts", + "views_cell_storage_protocol_audit_fullmoontodotab_vue", + "views_quality_inspection_qc_work_order_composables_useqcviewattachmenthelpers_ts" + ], + "6": [ "api_production_fetchaddroutestep", "api_production_fetchallconsumablepacks", "api_production_fetchallconsumables", @@ -948,185 +1055,92 @@ "api_production_fetchupdatestepreagents", "api_production_ts" ], - "6": [ - "amount_input_index_handleblur", - "amount_input_index_handlefocus", - "amount_input_index_handleinput", - "api_ethnic_fetchethniclist", - "api_ethnic_ts", - "channel_channelserviceordertab_if", - "channel_channelviewdialog_formatprice", - "channel_channelviewdialog_fullfileurl", - "channel_channelviewdialog_normalizeagreementrow", - "checkup_management_checkupmarkcheckeddialog_formatnowdatetime", - "clinical_payment_confirm_index_formatamount", - "clinical_payment_confirm_refundconfirmtab_formatamount", - "clinical_payment_confirm_timeline_index_formatprotocolamount", - "clinical_payment_confirm_timeline_index_protocolpaymodelabel", - "clinical_payment_confirm_timeline_index_showstepcontent", - "components_business_clinical_payment_confirm_timeline_index_vue", - "components_business_sample_transport_form_section_index_vue", - "components_common_amount_input_index_vue", - "list_donationformdialog_applydonationbundletoform", - "list_donationformdialog_createemptytransport", - "list_donationformdialog_ensureethnicoptioninlist", - "list_donationformdialog_fullfileurl", - "list_donationformdialog_handleopenforadd", - "list_donationformdialog_if", - "list_donationformdialog_loadethnicoptions", - "list_donationformdialog_normalizesamplerow", - "list_donationformdialog_resetform", - "list_donationformdialog_scrolltosection", - "material_index_formattodaydate", - "pilot_application_applicationformdialog_if", - "pilot_application_applicationformdialog_remotesearchcustomers", - "protocol_audit_fullmoontodotab_formatinvoiceamount", - "protocol_audit_paymentinfotab_createcolumnstate", - "protocol_audit_paymentinfotab_receiptattachmentstourls", - "protocol_audit_storagecerttab_for", - "protocol_protocolformdialog_addpaymentdetail", - "protocol_protocolformdialog_applyfqpaymentdefaults", - "protocol_protocolformdialog_createemptytransport", - "protocol_protocolformdialog_datetimetoymd", - "protocol_protocolformdialog_defaultinstallmentstartdateymd", - "protocol_protocolformdialog_ensureethnicoptioninlist", - "protocol_protocolformdialog_ensuretransfertypeoptions", - "protocol_protocolformdialog_fmtmoney", - "protocol_protocolformdialog_for", - "protocol_protocolformdialog_fullfileurl", - "protocol_protocolformdialog_if", - "protocol_protocolformdialog_initpaymentdetailexpandflags", - "protocol_protocolformdialog_isfqnumericfieldempty", - "protocol_protocolformdialog_loadethnicoptions", - "protocol_protocolformdialog_normalizesamplerow", - "protocol_protocolformdialog_pad", - "protocol_protocolformdialog_paymentdetailsummary", - "protocol_protocolformdialog_resetform", - "protocol_protocolformdialog_scrolltosection", - "protocol_protocolformdialog_togglepaymentdetailexpand", - "protocol_protocolviewdialog_financeconfirmattachmentfiles", - "protocol_protocolviewdialog_refundattachmentfiles", - "protocol_protocolviewdialog_refundfinanceconfirmattachmentfiles", - "sample_transport_form_section_index_if", - "utils_money_format_addthousandseparators", - "utils_money_format_formatmoneydisplay", - "utils_money_format_formatmoneyinputdisplay", - "utils_money_format_parsemoneytonumber", - "utils_money_format_sanitizemoneyinput", - "utils_money_format_ts", - "utils_protocol_pay_mode_switch_canaddpaymentdetail", - "utils_sample_reception_lab_storage_code_buildprefilledlabstoragecode", - "utils_sample_reception_lab_storage_code_formatyear", - "utils_sample_reception_lab_storage_code_formatym", - "utils_sample_reception_lab_storage_code_normalizesampletypename", - "utils_sample_reception_lab_storage_code_normalizesourcetype", - "utils_sample_reception_lab_storage_code_parselabstoragereferencedate", - "utils_sample_reception_lab_storage_code_ts", - "utils_transfer_type_dict_gettransfertypeoptions", - "utils_transfer_type_dict_loadtransfertypedict", - "utils_transfer_type_dict_resolvetransfertypelabel", - "utils_transfer_type_dict_resolvetransfertypetagtype", - "utils_transfer_type_dict_ts", - "views_cell_storage_protocol_audit_index_vue", - "views_cell_storage_protocol_audit_paymentinfotab_vue", - "views_cell_storage_protocol_audit_storagecerttab_vue", - "views_cell_storage_protocol_protocolformdialog_vue", - "views_cell_storage_protocol_protocolviewdialog_vue", - "views_pilot_service_channel_channelserviceordertab_vue", - "views_pilot_service_channel_channelviewdialog_vue", - "views_pilot_service_channel_index_vue", - "views_pilot_service_pilot_application_applicationformdialog_vue", - "views_research_donation_list_donationformdialog_vue" - ], "7": [ - "composables_inbound_view_sections_buildtemporaryviewsections", - "composables_useqcworkordertaskviewsections_appendtaskresultsections", - "composables_useqcworkordertaskviewsections_batchtasksforpanelslot", - "composables_useqcworkordertaskviewsections_buildconfiguredonlysection", - "composables_useqcworkordertaskviewsections_isbatchtaskpanelslot", - "composables_useqcworkordertaskviewsections_loadenrichedqcworkordertasks", - "composables_useqcworkordertaskviewsections_materialrowsfromapi", - "composables_useqcworkordertaskviewsections_taskattachmentslotname", - "composables_useqcworkordertaskviewsections_taskmaterialslotname", - "composables_useqcworkordertaskviewsections_useqcworkordertaskslothelpers", - "pilot_application_applicationviewdialog_for", - "process_processroutetab_for", - "process_processroutetab_if", - "process_processroutetab_set", - "qc_work_order_qcworkordercardlist_alltabinboundanchorid", - "qc_work_order_qcworkordercardlist_alltabitemkey", - "qc_work_order_qcworkordercardlist_cardindex", - "qc_work_order_qcworkordercardlist_managepresetbatches", - "qc_work_order_qcworkorderprotocolgroup_gateworkorder", - "qc_work_order_qcworkorderprotocolgroup_sampletabstatuslabel", - "qc_work_order_qcworkorderprotocolgroup_sampletabstatustagtype", - "qc_work_order_qcworkorderprotocolgroup_sampletypelabel", - "qc_work_order_qcworkorderprotocolgroup_workorderstatustagtype", - "qc_work_order_qcworkordersamplegroup_workorderstatustagtype", - "qc_work_order_qcworkordersamplegroup_workordertabtitle", - "source_chain_chaintoflow_annotateforkedges", - "source_chain_chaintoflow_chainapitoelements", - "source_chain_chaintoflow_haschaingraphcontent", - "source_chain_chaintoflow_layoutchainelements", - "source_chain_chaintoflow_makeflowedge", - "source_chain_chaintoflow_makeflownode", - "source_chain_chaintoflow_walkancestorbranch", - "source_chain_chaintoflow_walkancestorparents", - "storage_facility_index_if", - "utils_cell_product_spec_normalizecellproductrow", - "utils_cell_product_spec_resolvecellproductspecdisplay", - "utils_cell_product_spec_ts", - "utils_inbound_sample_special_mark_caneditinboundsamplespecialmark", - "utils_inbound_sample_special_mark_resolveinboundsamplespecialmarktarget", - "utils_inbound_sample_special_mark_resolveinboundsamplespecialmarktargetfromrow", - "utils_inbound_sample_special_mark_ts", - "utils_qc_inspection_batch_batchtaskspanelslot", - "utils_qc_inspection_batch_buildbatchsectionsfrombatches", - "utils_qc_inspection_batch_buildbatchsectionsfromtasks", - "utils_qc_inspection_batch_createemptyinspectionbatch", - "utils_qc_inspection_batch_fetchqcinspectionbatches", - "utils_qc_inspection_batch_fetchqcinspectionbatchesbatch", - "utils_qc_inspection_batch_loadqcinspectionbatches", - "utils_qc_inspection_batch_resolvebatchsections", - "utils_qc_inspection_batch_resolvebatchsectiontasks", - "utils_qc_inspection_batch_ts", - "utils_qc_work_order_card_meta_buildprotocolgroupprogresslabel", - "utils_qc_work_order_groups_buildalltablistitems", - "utils_qc_work_order_groups_countconfiguredsamplesinprotocolgroup", - "utils_qc_work_order_groups_groupinboundqcworkorders", - "utils_qc_work_order_groups_groupinboundqcworkordersbyprotocol", - "utils_qc_work_order_groups_groupoutboundqcworkorders", - "utils_qc_work_order_groups_isgatetriggersource", - "utils_qc_work_order_groups_istemporaryqcfromproduction", - "utils_qc_work_order_groups_matchestemporaryqcsourcefilter", - "utils_qc_work_order_groups_protocolgroupsorttime", - "utils_qc_work_order_groups_resolvegateworkorderforsamplegroup", - "utils_qc_work_order_groups_resolveinboundprotocolgroupkey", - "utils_qc_work_order_groups_resolveinboundsamplegroupkey", - "utils_qc_work_order_groups_sortworkordersingroup", - "utils_qc_work_order_groups_temporaryqcsourcelabel", - "utils_qc_work_order_groups_temporaryqcsourcetagtype", - "utils_qc_work_order_groups_triggersortweight", - "utils_qc_work_order_groups_triggersourcetablabel", - "utils_qc_work_order_groups_ts", - "utils_qc_work_order_inbound_sample_cards_buildinboundsamplecardanchorid", - "utils_qc_work_order_inbound_sample_cards_buildinboundsamplelistitems", - "utils_qc_work_order_inbound_sample_cards_buildlinksfromvisiblegroups", - "utils_qc_work_order_inbound_sample_cards_buildprotocolsiblinglinksfromsamples", - "utils_qc_work_order_inbound_sample_cards_protocolsorttime", - "utils_qc_work_order_inbound_sample_cards_resolveprotocolsiblinglinksforgroup", - "utils_qc_work_order_inbound_sample_cards_resolveprotocolsiblingsamplesforgroup", - "utils_qc_work_order_inbound_sample_cards_sampletypenameforgroup", - "utils_qc_work_order_inbound_sample_cards_ts", - "views_operations_storage_facility_index_vue", - "views_pilot_service_pilot_application_applicationviewdialog_vue", - "views_production_cell_product_source_chain_chaintoflow_ts", - "views_production_process_processroutetab_vue", - "views_quality_inspection_qc_work_order_composables_useqcworkordertaskviewsections_ts", - "views_quality_inspection_qc_work_order_qcworkordercardlist_vue", - "views_quality_inspection_qc_work_order_qcworkorderprotocolgroup_vue", - "views_quality_inspection_qc_work_order_qcworkordersamplegroup_vue", - "views_quality_inspection_qc_work_order_qcworkordersinglecard_vue" + "api_production_task_fetchmyproductiontasks", + "api_qc_task_fetchcompleteqctask", + "api_qc_task_fetchcreateqctask", + "api_qc_task_fetchdeleteqctask", + "api_qc_task_fetchmyqctasklist", + "api_qc_task_fetchqctaskdetail", + "api_qc_task_fetchqctasklist", + "api_qc_task_fetchstartqctask", + "api_qc_task_fetchupdateqctaskattachments", + "api_qc_task_ts", + "composables_useqcworkordertabpage_shouldapplytriggersourcefilter", + "composables_useqcworkordertabpage_useqcworkordertabpage", + "utils_production_mine_task_groups_buildminetablerows", + "utils_production_mine_task_groups_buildpresettasksmap", + "utils_production_mine_task_groups_buildworkorderfromtasks", + "utils_production_mine_task_groups_enrichmineentrieswithworkorders", + "utils_production_mine_task_groups_fetchallmineproductiontasks", + "utils_production_mine_task_groups_fetchminetasksbyscope", + "utils_production_mine_task_groups_filtermineentriesbyworkordersearch", + "utils_production_mine_task_groups_groupminetasksbyworkorder", + "utils_production_mine_task_groups_keywordmatchesworkorder", + "utils_production_mine_task_groups_paginatemineentries", + "utils_production_mine_task_groups_resolveworkordertabkey", + "utils_production_mine_task_groups_ts", + "utils_production_work_order_card_meta_buildinboundmetafields", + "utils_production_work_order_card_meta_formatoutboundschedulesortno", + "utils_production_work_order_card_meta_formatoutboundscheduletotalcount", + "utils_production_work_order_card_meta_getcardmetaconfig", + "utils_production_work_order_card_meta_getcardmetaconfigforlegacytab", + "utils_production_work_order_card_meta_protocolstatustagtypefortab", + "utils_production_work_order_card_meta_resolvecardmetaforrow", + "utils_production_work_order_card_meta_ts", + "utils_production_work_order_category_productionworkordercategorylabel", + "utils_production_work_order_category_productionworkordercategorytagtype", + "utils_production_work_order_category_resolveworkordercategorykey", + "utils_production_work_order_category_shouldshowtaskheaderlabstoragecode", + "utils_production_work_order_category_toalltablistquery", + "utils_production_work_order_category_ts", + "utils_production_work_order_category_workordermatchescategory", + "utils_production_work_order_tabs_getproductionworkordertab", + "utils_production_work_order_tabs_isallproductionworkordertab", + "utils_production_work_order_tabs_keywordplaceholderfortab", + "utils_production_work_order_tabs_parseproductionworkordertabkey", + "utils_production_work_order_tabs_resolveeffectiverowtabkey", + "utils_production_work_order_tabs_resolvetabkeyfromworkorder", + "utils_production_work_order_tabs_tabsupportsinactiveprotocolfilter", + "utils_production_work_order_tabs_toworkorderlistquery", + "utils_production_work_order_tabs_ts", + "utils_production_work_order_tabs_workordermatchestab", + "utils_qc_mine_task_groups_buildminecardlistmodel", + "utils_qc_mine_task_groups_buildminetablerows", + "utils_qc_mine_task_groups_buildpresettasksmap", + "utils_qc_mine_task_groups_buildworkorderfromtasks", + "utils_qc_mine_task_groups_dateinrange", + "utils_qc_mine_task_groups_enrichmineentrieswithworkorders", + "utils_qc_mine_task_groups_fetchallminetasks", + "utils_qc_mine_task_groups_filtermineentriesbyworkordersearch", + "utils_qc_mine_task_groups_groupminetasksbyworkorder", + "utils_qc_mine_task_groups_keywordmatchesworkorder", + "utils_qc_mine_task_groups_paginatemineentries", + "utils_qc_mine_task_groups_resolveworkordertabkey", + "utils_qc_mine_task_groups_ts", + "utils_qc_work_order_card_meta_cardmetausesgroupedlist", + "utils_qc_work_order_card_meta_cardmetausesinboundgroups", + "utils_qc_work_order_card_meta_cardmetausesoutboundgroups", + "utils_qc_work_order_category_matchesalltabtriggersource", + "utils_qc_work_order_category_qcworkordercategorylabel", + "utils_qc_work_order_category_qcworkordercategorytagtype", + "utils_qc_work_order_category_resolveworkordercategorykey", + "utils_qc_work_order_category_toalltablistquery", + "utils_qc_work_order_category_ts", + "utils_qc_work_order_category_workordermatchescategory", + "utils_qc_work_order_tabs_filtertimelabelfortab", + "utils_qc_work_order_tabs_getqcworkordertab", + "utils_qc_work_order_tabs_isallqcworkordertab", + "utils_qc_work_order_tabs_isinboundsampleqctab", + "utils_qc_work_order_tabs_keywordplaceholderfortab", + "utils_qc_work_order_tabs_parseqcworkordertabkey", + "utils_qc_work_order_tabs_resolveeffectiverowtabkey", + "utils_qc_work_order_tabs_resolvetabkeyfromworkorder", + "utils_qc_work_order_tabs_tabusesinfusiontimefilter", + "utils_qc_work_order_tabs_toworkorderlistquery", + "utils_qc_work_order_tabs_ts", + "utils_qc_work_order_tabs_workordermatchestab", + "views_quality_inspection_qc_work_order_composables_useqcworkordertabpage_ts" ], "8": [ "api_admin_fetchcheckupinstitutioninvoices", @@ -1186,6 +1200,7 @@ "core_routevalidator_routevalidator_checknestedindexcomponent", "core_routevalidator_routevalidator_resolvepath", "core_routevalidator_routevalidator_validate", + "customer_index_handlebatchdelete", "dept_index_catch", "list_donationauditdialog_handlesubmit", "list_donationauditdialog_resetform", @@ -1212,165 +1227,80 @@ "views_system_product_index_vue" ], "9": [ - "api_admin_fetchcreatemenu", - "api_admin_fetchdeletemenu", - "api_admin_fetchmenutree", - "api_admin_fetchroleoptions", - "api_admin_fetchupdatemenu", - "api_material_fetchbatchdiscardmaterial", - "api_material_fetchbatchstockinmaterial", - "api_material_fetchbatchstockoutmaterial", - "api_material_fetchcreatematerial", - "api_material_fetchdeletematerial", - "api_material_fetchdeletematerialbatch", - "api_material_fetchmaterialbatchlist", - "api_material_fetchmaterialbatchoptions", - "api_material_fetchmateriallist", - "api_material_fetchmaterialoptions", - "api_material_fetchstockinmaterial", - "api_material_fetchupdatematerial", - "api_material_fetchupdatematerialbatch", - "api_material_ts", - "api_material_usage_fetchmarkmaterialusagefullyused", - "api_material_usage_fetchmaterialusagelist", - "api_material_usage_fetchmymaterialusagelist", - "api_material_usage_ts", - "category_index_catch", - "category_index_collectids", - "category_index_handlecategorytableselectionchange", - "category_index_handleview", - "components_business_system_view_dialog_index_vue", - "composables_useinboundqcviewdialog_useinboundqcviewdialog", - "composables_useoutboundqcviewdialog_useoutboundqcviewdialog", - "dept_index_get", - "dept_index_postorder", - "dept_index_preorder", - "material_index_defaultoperatorname", - "material_index_ensureoperatoroption", - "material_index_ensuretabmounted", - "material_index_handledelete", - "material_index_handleedit", - "material_index_handlereset", - "material_index_handlesearch", - "material_index_handlesubmit", - "material_index_handletabchange", - "material_index_handleview", - "material_index_initoperatorfield", - "material_index_loaddata", - "material_index_oneditpriceqtychange", - "material_index_onstockinmaterialkeychange", - "menu_index_applytreeexpand", - "menu_index_handleadd", - "menu_index_handleaddchild", - "menu_index_handledelete", - "menu_index_handledialogclose", - "menu_index_handledropdowncommand", - "menu_index_handleedit", - "menu_index_handlereset", - "menu_index_handlesearch", - "menu_index_handleselectionchange", - "menu_index_handlesubmit", - "menu_index_handleview", - "menu_index_loaddata", - "menu_index_resetform", - "menu_index_toggleexpand", - "reagent_index_isstocklow", - "reagent_index_sourcetypelabel", - "reagent_index_sourcetypetagtype", - "reagent_index_truncatetext", - "user_index_loadroleoptions", - "views_cell_storage_material_index_vue", - "views_cell_storage_material_materialstockchecktab_vue", - "views_cell_storage_material_materialusagetab_vue", - "views_pilot_service_checkup_management_checkupviewdialog_vue", - "views_production_reagent_index_vue", - "views_quality_inspection_qc_work_order_composables_useinboundqcviewdialog_ts", - "views_quality_inspection_qc_work_order_composables_useoutboundqcviewdialog_ts", - "views_system_category_index_vue", - "views_system_dept_index_vue", - "views_system_menu_index_vue", - "views_system_user_index_vue" + "composables_production_view_sections_buildbasefields", + "composables_production_view_sections_buildfeesection", + "composables_production_view_sections_buildinboundbasicsection", + "composables_production_view_sections_buildinboundcellstorageproductionviewsections", + "composables_production_view_sections_buildinboundresearchdonationproductionviewsections", + "composables_production_view_sections_buildoutboundbasicexperimentproductionviewsections", + "composables_production_view_sections_buildoutboundclinicalproductionviewsections", + "composables_production_view_sections_buildoutbounddetail", + "composables_production_view_sections_buildoutboundpilotproductionviewsections", + "composables_production_view_sections_buildoutboundsections", + "composables_production_view_sections_buildreceptionsection", + "composables_production_view_sections_buildtemporaryproductionviewsections", + "composables_production_view_sections_buildtransportsections", + "composables_production_view_sections_formatmetric", + "composables_production_view_sections_isoutboundproductionview", + "composables_production_view_sections_sourcetag", + "composables_production_view_sections_wostatustag", + "storage_release_review_storagereleaseviewdialog_formatmetric", + "storage_release_review_storagereleaseviewdialog_protocolstatusdisplay", + "utils_mask_sensitive_maskidcard", + "utils_mask_sensitive_ts", + "utils_outbound_qc_pilot_view_sections_buildbasicexperimentapplicationfields", + "utils_outbound_qc_pilot_view_sections_builddefaultapplicationfields", + "utils_outbound_qc_pilot_view_sections_buildoutboundpilotcontextsections", + "utils_outbound_qc_pilot_view_sections_isoutboundpilotserviceqctask", + "utils_outbound_qc_pilot_view_sections_resolveoutboundviewvariant", + "utils_outbound_qc_pilot_view_sections_ts", + "utils_production_work_order_card_meta_protocolstatuslabelfortab", + "utils_status_tag_registry_applicationstatuslabel", + "utils_status_tag_registry_applicationstatustagtype", + "utils_status_tag_registry_biztypelabel", + "utils_status_tag_registry_biztypetagtype", + "utils_status_tag_registry_cellproductstatuslabel", + "utils_status_tag_registry_cellproductstatustagtype", + "utils_status_tag_registry_checkupstatuslabel", + "utils_status_tag_registry_checkupstatustagtype", + "utils_status_tag_registry_createlabelgetter", + "utils_status_tag_registry_createtagtypegetter", + "utils_status_tag_registry_donationstatusdisplaylabel", + "utils_status_tag_registry_feestatuslabel", + "utils_status_tag_registry_feestatustagtype", + "utils_status_tag_registry_infusionmethodlabel", + "utils_status_tag_registry_infusionstatuslabel", + "utils_status_tag_registry_infusionstatustagtype", + "utils_status_tag_registry_isinactiveprotocolstatus", + "utils_status_tag_registry_joinworkorderstatusfilter", + "utils_status_tag_registry_matchesworkorderstatusfilter", + "utils_status_tag_registry_normalizescheduleproductstatuscode", + "utils_status_tag_registry_outboundmaterialcellstatuslabel", + "utils_status_tag_registry_outboundmaterialcellstatustagtype", + "utils_status_tag_registry_productstatuslabel", + "utils_status_tag_registry_productstatustagtype", + "utils_status_tag_registry_protocolstatusdisplaylabel", + "utils_status_tag_registry_protocolstatusdisplaylabelbysource", + "utils_status_tag_registry_qcstatuslabel", + "utils_status_tag_registry_qcstatustagtype", + "utils_status_tag_registry_releasereviewconclusionlabel", + "utils_status_tag_registry_releasereviewconclusiontagtype", + "utils_status_tag_registry_schedulestatuslabel", + "utils_status_tag_registry_schedulestatustagtype", + "utils_status_tag_registry_ts", + "utils_status_tag_registry_txnstatuslabel", + "utils_status_tag_registry_txnstatustagtype", + "utils_status_tag_registry_txntypelabel", + "utils_status_tag_registry_txntypetagtype", + "utils_void_type_dict_buildfallbackoptions", + "utils_void_type_dict_getvoidtypeoptions", + "utils_void_type_dict_loadvoidtypedict", + "utils_void_type_dict_resolvevoidtypelabel", + "utils_void_type_dict_ts", + "views_production_production_work_order_composables_production_view_sections_ts", + "views_quality_inspection_storage_release_review_storagereleaseviewdialog_vue" ], "10": [ - "api_production_task_fetchmyproductiontasks", - "api_qc_task_fetchcompleteqctask", - "api_qc_task_fetchcreateqctask", - "api_qc_task_fetchdeleteqctask", - "api_qc_task_fetchmyqctasklist", - "api_qc_task_fetchqctaskdetail", - "api_qc_task_fetchqctasklist", - "api_qc_task_fetchstartqctask", - "api_qc_task_fetchupdateqctaskattachments", - "api_qc_task_ts", - "composables_useqcworkordertabpage_shouldapplytriggersourcefilter", - "composables_useqcworkordertabpage_useqcworkordertabpage", - "utils_production_mine_task_groups_buildminetablerows", - "utils_production_mine_task_groups_buildpresettasksmap", - "utils_production_mine_task_groups_buildworkorderfromtasks", - "utils_production_mine_task_groups_enrichmineentrieswithworkorders", - "utils_production_mine_task_groups_fetchallmineproductiontasks", - "utils_production_mine_task_groups_fetchminetasksbyscope", - "utils_production_mine_task_groups_filtermineentriesbyworkordersearch", - "utils_production_mine_task_groups_groupminetasksbyworkorder", - "utils_production_mine_task_groups_keywordmatchesworkorder", - "utils_production_mine_task_groups_paginatemineentries", - "utils_production_mine_task_groups_resolveworkordertabkey", - "utils_production_mine_task_groups_ts", - "utils_production_work_order_category_productionworkordercategorylabel", - "utils_production_work_order_category_productionworkordercategorytagtype", - "utils_production_work_order_category_resolveworkordercategorykey", - "utils_production_work_order_category_shouldshowtaskheaderlabstoragecode", - "utils_production_work_order_category_toalltablistquery", - "utils_production_work_order_category_ts", - "utils_production_work_order_category_workordermatchescategory", - "utils_production_work_order_tabs_getproductionworkordertab", - "utils_production_work_order_tabs_isallproductionworkordertab", - "utils_production_work_order_tabs_keywordplaceholderfortab", - "utils_production_work_order_tabs_parseproductionworkordertabkey", - "utils_production_work_order_tabs_resolveeffectiverowtabkey", - "utils_production_work_order_tabs_resolvetabkeyfromworkorder", - "utils_production_work_order_tabs_tabsupportsinactiveprotocolfilter", - "utils_production_work_order_tabs_toworkorderlistquery", - "utils_production_work_order_tabs_ts", - "utils_production_work_order_tabs_workordermatchestab", - "utils_qc_mine_task_groups_buildminecardlistmodel", - "utils_qc_mine_task_groups_buildminetablerows", - "utils_qc_mine_task_groups_buildpresettasksmap", - "utils_qc_mine_task_groups_buildworkorderfromtasks", - "utils_qc_mine_task_groups_dateinrange", - "utils_qc_mine_task_groups_enrichmineentrieswithworkorders", - "utils_qc_mine_task_groups_fetchallminetasks", - "utils_qc_mine_task_groups_filtermineentriesbyworkordersearch", - "utils_qc_mine_task_groups_groupminetasksbyworkorder", - "utils_qc_mine_task_groups_keywordmatchesworkorder", - "utils_qc_mine_task_groups_paginatemineentries", - "utils_qc_mine_task_groups_resolveworkordertabkey", - "utils_qc_mine_task_groups_ts", - "utils_qc_work_order_card_meta_cardmetausesgroupedlist", - "utils_qc_work_order_card_meta_cardmetausesinboundgroups", - "utils_qc_work_order_card_meta_cardmetausesoutboundgroups", - "utils_qc_work_order_category_matchesalltabtriggersource", - "utils_qc_work_order_category_qcworkordercategorylabel", - "utils_qc_work_order_category_qcworkordercategorytagtype", - "utils_qc_work_order_category_resolveworkordercategorykey", - "utils_qc_work_order_category_toalltablistquery", - "utils_qc_work_order_category_ts", - "utils_qc_work_order_category_workordermatchescategory", - "utils_qc_work_order_tabs_filtertimelabelfortab", - "utils_qc_work_order_tabs_getqcworkordertab", - "utils_qc_work_order_tabs_isallqcworkordertab", - "utils_qc_work_order_tabs_isinboundsampleqctab", - "utils_qc_work_order_tabs_keywordplaceholderfortab", - "utils_qc_work_order_tabs_parseqcworkordertabkey", - "utils_qc_work_order_tabs_resolveeffectiverowtabkey", - "utils_qc_work_order_tabs_resolvetabkeyfromworkorder", - "utils_qc_work_order_tabs_tabusesinfusiontimefilter", - "utils_qc_work_order_tabs_toworkorderlistquery", - "utils_qc_work_order_tabs_ts", - "utils_qc_work_order_tabs_workordermatchestab", - "views_quality_inspection_qc_work_order_composables_useqcworkordertabpage_ts" - ], - "11": [ "components_core_layouts_art_settings_panel_composables_usesettingshandlers_ts", "components_core_layouts_art_settings_panel_composables_usesettingspanel_ts", "components_core_layouts_art_settings_panel_composables_usesettingsstate_ts", @@ -1392,10 +1322,6 @@ "env_detect_record_index_if", "hooks_core_useceremony_ts", "hooks_core_usetheme_ts", - "post_index_collectallpostbinddeptids", - "post_index_collectpostbinddeptsubtreeids", - "post_index_expandpostbinddepttree", - "post_index_findpostbinddeptnodebyid", "role_index_walk", "router_core_routepermissionvalidator_ts", "ui_animation_themeanimation", @@ -1445,9 +1371,79 @@ "utils_tree_path_ts", "utils_ui_animation_ts", "views_quality_inspection_env_detect_record_index_vue", - "views_system_post_index_vue", "views_system_role_index_vue" ], + "11": [ + "api_auth_fetchchangepassword", + "api_auth_fetchgetmenucodes", + "api_auth_fetchgetuserinfo", + "api_auth_fetchlogin", + "api_auth_fetchlogout", + "api_auth_fetchrefreshtoken", + "api_auth_fetchupdateprofile", + "api_auth_fetchuploadprofileavatar", + "api_auth_ts", + "art_screen_lock_index_tologin", + "components_core_layouts_art_header_bar_widget_userprofiledialog_vue", + "guards_beforeeach_fetchuserinfo", + "http_crypto_base64tobytes", + "http_crypto_bytestobase64", + "http_crypto_decryptjson", + "http_crypto_derivekey", + "http_crypto_encryptjson", + "http_crypto_frombase64url", + "http_crypto_hextobytes", + "http_crypto_randomnonce", + "http_crypto_sha256hex", + "http_crypto_tobase64url", + "http_error_geterrormessage", + "http_error_handleerror", + "http_error_httperror", + "http_error_httperror_constructor", + "http_error_httperror_tologdata", + "http_error_showerror", + "http_error_showsuccess", + "http_index_createhttperror", + "http_index_decryptresponseifneeded", + "http_index_delay", + "http_index_getencryptskipreason", + "http_index_getmaxretriesforconfig", + "http_index_handleunauthorizedresponse", + "http_index_ispathexcluded", + "http_index_logout", + "http_index_normalizerequestdata", + "http_index_onrefreshed", + "http_index_onrefreshfailed", + "http_index_parseuseridfromtoken", + "http_index_request", + "http_index_resetunauthorizederror", + "http_index_resolveuserid", + "http_index_retryrequest", + "http_index_shouldretry", + "http_index_subscribetokenrefresh", + "http_index_triggerlogoutwithdebounce", + "utils_http_crypto_ts", + "utils_http_error_ts", + "utils_http_index_ts", + "utils_loginrsa_buildwebencryptedloginbody", + "utils_loginrsa_ts", + "utils_user_avatar_defaultavatarpathbyrole", + "utils_user_avatar_hascustomuseravatar", + "utils_user_avatar_joinpublicasset", + "utils_user_avatar_normalizeavatarstoragekey", + "utils_user_avatar_pickuploadavatarurl", + "utils_user_avatar_pickuseravatarraw", + "utils_user_avatar_resolvestoragefileurl", + "utils_user_avatar_resolveuseravatarfrominfo", + "utils_user_avatar_resolveuseravatarurl", + "utils_user_avatar_ts", + "widget_userprofiledialog_handleavatarchange", + "widget_userprofiledialog_handleclearavatar", + "widget_userprofiledialog_handleclose", + "widget_userprofiledialog_handlesubmit", + "widget_userprofiledialog_loadprofile", + "widget_userprofiledialog_revokeavatarlocalpreview" + ], "12": [ "api_admin_fetchcreatecustomer", "api_admin_fetchcustomerlist", @@ -1458,7 +1454,6 @@ "components_business_attachment_zip_progress_dialog_index_vue", "components_core_layouts_art_settings_panel_widget_settingitem_vue", "customer_index_handleadd", - "customer_index_handlebatchdelete", "customer_index_handledelete", "customer_index_handledropdowncommand", "customer_index_handleedit", @@ -1521,144 +1516,72 @@ "widget_settingitem_if" ], "13": [ - "composables_inbound_view_sections_buildinboundbasicsection", - "composables_inbound_view_sections_buildinboundcellstorageviewsections", - "composables_inbound_view_sections_buildinboundresearchdonationviewsections", - "composables_inbound_view_sections_buildreceptionsection", - "composables_inbound_view_sections_buildtransportsection", - "composables_inbound_view_sections_formatmetric", - "composables_inbound_view_sections_resolveinboundprotocolstatus", - "storage_release_review_storagereleaseviewdialog_formatmetric", - "storage_release_review_storagereleaseviewdialog_protocolstatusdisplay", - "utils_mask_sensitive_maskidcard", - "utils_mask_sensitive_ts", - "utils_outbound_qc_pilot_view_sections_buildbasicexperimentapplicationfields", - "utils_outbound_qc_pilot_view_sections_builddefaultapplicationfields", - "utils_outbound_qc_pilot_view_sections_buildoutboundpilotcontextsections", - "utils_outbound_qc_pilot_view_sections_isoutboundpilotserviceqctask", - "utils_outbound_qc_pilot_view_sections_ts", - "utils_production_work_order_card_meta_buildinboundmetafields", - "utils_production_work_order_card_meta_formatoutboundschedulesortno", - "utils_production_work_order_card_meta_formatoutboundscheduletotalcount", - "utils_production_work_order_card_meta_getcardmetaconfig", - "utils_production_work_order_card_meta_getcardmetaconfigforlegacytab", - "utils_production_work_order_card_meta_protocolstatuslabelfortab", - "utils_production_work_order_card_meta_protocolstatustagtypefortab", - "utils_production_work_order_card_meta_resolvecardmetaforrow", - "utils_production_work_order_card_meta_ts", - "utils_status_tag_registry_applicationstatuslabel", - "utils_status_tag_registry_applicationstatustagtype", - "utils_status_tag_registry_biztypelabel", - "utils_status_tag_registry_biztypetagtype", - "utils_status_tag_registry_cellproductstatuslabel", - "utils_status_tag_registry_cellproductstatustagtype", - "utils_status_tag_registry_checkupstatuslabel", - "utils_status_tag_registry_checkupstatustagtype", - "utils_status_tag_registry_createlabelgetter", - "utils_status_tag_registry_createtagtypegetter", - "utils_status_tag_registry_donationstatusdisplaylabel", - "utils_status_tag_registry_feestatuslabel", - "utils_status_tag_registry_feestatustagtype", - "utils_status_tag_registry_infusionmethodlabel", - "utils_status_tag_registry_infusionstatuslabel", - "utils_status_tag_registry_infusionstatustagtype", - "utils_status_tag_registry_isinactiveprotocolstatus", - "utils_status_tag_registry_joinworkorderstatusfilter", - "utils_status_tag_registry_matchesworkorderstatusfilter", - "utils_status_tag_registry_normalizescheduleproductstatuscode", - "utils_status_tag_registry_outboundmaterialcellstatuslabel", - "utils_status_tag_registry_outboundmaterialcellstatustagtype", - "utils_status_tag_registry_productstatuslabel", - "utils_status_tag_registry_productstatustagtype", - "utils_status_tag_registry_protocolstatusdisplaylabel", - "utils_status_tag_registry_protocolstatusdisplaylabelbysource", - "utils_status_tag_registry_qcstatuslabel", - "utils_status_tag_registry_qcstatustagtype", - "utils_status_tag_registry_releasereviewconclusionlabel", - "utils_status_tag_registry_releasereviewconclusiontagtype", - "utils_status_tag_registry_schedulestatuslabel", - "utils_status_tag_registry_schedulestatustagtype", - "utils_status_tag_registry_ts", - "utils_status_tag_registry_txnstatuslabel", - "utils_status_tag_registry_txnstatustagtype", - "utils_status_tag_registry_txntypelabel", - "utils_status_tag_registry_txntypetagtype", - "utils_void_type_dict_buildfallbackoptions", - "utils_void_type_dict_getvoidtypeoptions", - "utils_void_type_dict_loadvoidtypedict", - "utils_void_type_dict_resolvevoidtypelabel", - "utils_void_type_dict_ts", - "views_quality_inspection_qc_work_order_composables_inbound_view_sections_ts", - "views_quality_inspection_storage_release_review_storagereleaseviewdialog_vue" + "amount_input_index_handleblur", + "amount_input_index_handlefocus", + "amount_input_index_handleinput", + "api_ethnic_fetchethniclist", + "api_ethnic_ts", + "channel_channelserviceordertab_if", + "channel_channelviewdialog_formatprice", + "channel_channelviewdialog_fullfileurl", + "channel_channelviewdialog_normalizeagreementrow", + "clinical_payment_confirm_index_formatamount", + "clinical_payment_confirm_refundconfirmtab_formatamount", + "clinical_payment_confirm_timeline_index_formatprotocolamount", + "clinical_payment_confirm_timeline_index_protocolpaymodelabel", + "clinical_payment_confirm_timeline_index_showstepcontent", + "components_business_clinical_payment_confirm_timeline_index_vue", + "components_business_sample_transport_form_section_index_vue", + "components_common_amount_input_index_vue", + "list_donationformdialog_applydonationbundletoform", + "list_donationformdialog_createemptytransport", + "list_donationformdialog_ensureethnicoptioninlist", + "list_donationformdialog_fullfileurl", + "list_donationformdialog_handleopenforadd", + "list_donationformdialog_if", + "list_donationformdialog_loadethnicoptions", + "list_donationformdialog_normalizesamplerow", + "list_donationformdialog_resetform", + "list_donationformdialog_scrolltosection", + "pilot_application_applicationformdialog_if", + "pilot_application_applicationformdialog_remotesearchcustomers", + "protocol_audit_fullmoontodotab_formatinvoiceamount", + "protocol_audit_paymentinfotab_createcolumnstate", + "protocol_audit_paymentinfotab_receiptattachmentstourls", + "protocol_audit_storagecerttab_for", + "protocol_protocolformdialog_applyfqpaymentdefaults", + "protocol_protocolformdialog_applypaymentpresetformode", + "protocol_protocolformdialog_ensuretransfertypeoptions", + "protocol_protocolformdialog_fmtmoney", + "protocol_protocolformdialog_for", + "protocol_protocolformdialog_if", + "protocol_protocolviewdialog_financeconfirmattachmentfiles", + "protocol_protocolviewdialog_refundattachmentfiles", + "protocol_protocolviewdialog_refundfinanceconfirmattachmentfiles", + "sample_transport_form_section_index_if", + "utils_money_format_addthousandseparators", + "utils_money_format_formatmoneydisplay", + "utils_money_format_formatmoneyinputdisplay", + "utils_money_format_parsemoneytonumber", + "utils_money_format_sanitizemoneyinput", + "utils_money_format_ts", + "utils_transfer_type_dict_gettransfertypeoptions", + "utils_transfer_type_dict_loadtransfertypedict", + "utils_transfer_type_dict_resolvetransfertypelabel", + "utils_transfer_type_dict_resolvetransfertypetagtype", + "utils_transfer_type_dict_ts", + "views_cell_storage_protocol_audit_index_vue", + "views_cell_storage_protocol_audit_paymentinfotab_vue", + "views_cell_storage_protocol_audit_storagecerttab_vue", + "views_cell_storage_protocol_protocolformdialog_vue", + "views_cell_storage_protocol_protocolviewdialog_vue", + "views_pilot_service_channel_channelserviceordertab_vue", + "views_pilot_service_channel_channelviewdialog_vue", + "views_pilot_service_channel_index_vue", + "views_pilot_service_pilot_application_applicationformdialog_vue", + "views_research_donation_list_donationformdialog_vue" ], "14": [ - "clinical_schedule_payment_detail_index_dash", - "clinical_schedule_payment_detail_index_fmtmoney", - "components_business_clinical_schedule_payment_detail_index_vue", - "components_business_protocol_finance_confirm_fields_index_vue", - "components_business_sample_code_with_special_display_index_vue", - "components_business_sample_production_info_cards_index_vue", - "components_business_sample_reception_dual_readonly_panel_index_vue", - "components_business_sample_storage_release_info_index_vue", - "list_donationviewdialog_auditordisplay", - "list_donationviewdialog_dash", - "list_donationviewdialog_ensureunitsinoptions", - "list_donationviewdialog_expressname", - "list_donationviewdialog_formatmetric", - "list_donationviewdialog_formatym", - "list_donationviewdialog_formatymd", - "list_donationviewdialog_samplereceptionchecklist", - "list_donationviewdialog_sampletypename", - "list_donationviewdialog_sitename", - "list_donationviewdialog_unitname", - "protocol_finance_confirm_fields_index_for", - "protocol_protocolattachmentreadonly_resolvefileurl", - "sample_production_info_cards_index_productiontaskstatuslabel", - "storage_release_review_storagereleasereviewdialog_fullfileurl", - "storage_release_review_storagereleasereviewdialog_getlist", - "storage_release_review_storagereleasereviewdialog_isimagefile", - "storage_release_review_storagereleasereviewdialog_removeattachment", - "storage_release_review_storagereleasereviewdialog_resetform", - "utils_clinical_payment_flow_steps_buildpaymentflowsteps", - "utils_clinical_payment_flow_steps_dash", - "utils_clinical_payment_flow_steps_formatamount", - "utils_clinical_payment_flow_steps_hasfinancereceipt", - "utils_clinical_payment_flow_steps_hasfinancerefund", - "utils_clinical_payment_flow_steps_hasreceiptsubmit", - "utils_clinical_payment_flow_steps_hasrefundsubmit", - "utils_clinical_payment_flow_steps_receiptsubmittime", - "utils_clinical_payment_flow_steps_resolvestepstate", - "utils_clinical_payment_flow_steps_ts", - "utils_datetime_display_formatdateonly", - "utils_datetime_display_formatdatetimedisplay", - "utils_datetime_display_formatdisplayordash", - "utils_datetime_display_lookslikedatetime", - "utils_datetime_display_ts", - "utils_sample_production_reception_fields_formatprocesstimedate", - "utils_sample_production_reception_fields_formatproductionfieldvalue", - "utils_sample_production_reception_fields_infectiousfourtestlabel", - "utils_sample_production_reception_fields_resolveproductionreceptionfields", - "utils_sample_production_reception_fields_ts", - "utils_sample_reception_view_sections_buildproductionreceptionviewsection", - "utils_sample_reception_view_sections_buildqcreceptionviewfields", - "utils_sample_reception_view_sections_ts", - "views_cell_storage_protocol_protocolattachmentreadonly_vue", - "views_production_cell_product_source_chain_samplecustomerviewdialog_vue", - "views_production_production_work_order_taskpaperattachmentspanel_vue", - "views_quality_inspection_qc_work_order_qcworkorderprotocolpaymentpanel_vue", - "views_quality_inspection_qc_work_order_view_dialogs_inboundcellstorageviewdialog_vue", - "views_quality_inspection_qc_work_order_view_dialogs_inboundresearchdonationviewdialog_vue", - "views_quality_inspection_qc_work_order_view_dialogs_outboundbasicexperimentviewdialog_vue", - "views_quality_inspection_qc_work_order_view_dialogs_outboundclinicalviewdialog_vue", - "views_quality_inspection_qc_work_order_view_dialogs_outboundpilotviewdialog_vue", - "views_quality_inspection_qc_work_order_view_dialogs_outboundqcproducttable_vue", - "views_quality_inspection_qc_work_order_view_dialogs_qcworkordersystemviewdialog_vue", - "views_quality_inspection_qc_work_order_view_dialogs_temporaryqcviewdialog_vue", - "views_quality_inspection_qc_work_order_view_dialogs_view_dialog_registry_ts", - "views_quality_inspection_storage_release_review_storagereleasereviewdialog_vue", - "views_research_donation_list_donationviewdialog_vue" - ], - "15": [ "api_business_batchsubmitclinicalreceipt", "api_business_batchsubmitclinicalrefund", "api_business_confirmclinicalreceipt", @@ -1721,7 +1644,7 @@ "views_pilot_service_clinical_payment_confirm_index_vue", "views_pilot_service_clinical_payment_confirm_refundconfirmtab_vue" ], - "16": [ + "15": [ "api_admin_fetchuserlist", "api_production_task_fetchaddtaskstep", "api_production_task_fetchcopytaskstep", @@ -1773,6 +1696,56 @@ "views_production_production_work_order_edittaskinfodialog_vue", "views_production_production_work_order_forwardtaskdialog_vue" ], + "16": [ + "api_admin_fetchcreatemenu", + "api_admin_fetchdeletemenu", + "api_admin_fetchmenutree", + "api_admin_fetchroleoptions", + "api_admin_fetchupdatemenu", + "category_index_catch", + "category_index_collectids", + "category_index_handlecategorytableselectionchange", + "category_index_handleview", + "components_business_system_view_dialog_index_vue", + "composables_useinboundqcviewdialog_useinboundqcviewdialog", + "composables_useoutboundqcviewdialog_useoutboundqcviewdialog", + "dept_index_get", + "dept_index_postorder", + "dept_index_preorder", + "menu_index_applytreeexpand", + "menu_index_handleadd", + "menu_index_handleaddchild", + "menu_index_handledelete", + "menu_index_handledialogclose", + "menu_index_handledropdowncommand", + "menu_index_handleedit", + "menu_index_handlereset", + "menu_index_handlesearch", + "menu_index_handleselectionchange", + "menu_index_handlesubmit", + "menu_index_handleview", + "menu_index_loaddata", + "menu_index_resetform", + "menu_index_toggleexpand", + "post_index_collectallpostbinddeptids", + "post_index_collectpostbinddeptsubtreeids", + "post_index_expandpostbinddepttree", + "post_index_findpostbinddeptnodebyid", + "reagent_index_isstocklow", + "reagent_index_sourcetypelabel", + "reagent_index_sourcetypetagtype", + "reagent_index_truncatetext", + "user_index_loadroleoptions", + "views_pilot_service_checkup_management_checkupviewdialog_vue", + "views_production_reagent_index_vue", + "views_quality_inspection_qc_work_order_composables_useinboundqcviewdialog_ts", + "views_quality_inspection_qc_work_order_composables_useoutboundqcviewdialog_ts", + "views_system_category_index_vue", + "views_system_dept_index_vue", + "views_system_menu_index_vue", + "views_system_post_index_vue", + "views_system_user_index_vue" + ], "17": [ "utils_chinese_datetime_parse_formatdatetimetominute", "utils_chinese_datetime_parse_handlechinesedatetimepaste", @@ -1823,6 +1796,143 @@ "utils_protocol_standard_import_parse_upsertsamplehint" ], "18": [ + "api_qc_material_fetchbatchdiscardqcmaterial", + "api_qc_material_fetchbatchstockinqcmaterial", + "api_qc_material_fetchbatchstockoutqcmaterial", + "api_qc_material_fetchcreateqcmaterial", + "api_qc_material_fetchdeleteqcmaterial", + "api_qc_material_fetchdeleteqcmaterialbatch", + "api_qc_material_fetchqcmaterialbatchlist", + "api_qc_material_fetchqcmaterialbatchoptions", + "api_qc_material_fetchqcmateriallist", + "api_qc_material_fetchqcmaterialoptions", + "api_qc_material_fetchstockinqcmaterial", + "api_qc_material_fetchupdateqcmaterial", + "api_qc_material_fetchupdateqcmaterialbatch", + "api_qc_material_ts", + "api_qc_material_usage_fetchmarkqcmaterialusagefullyused", + "components_business_protocol_finance_confirm_fields_finance_attachments_ts", + "components_business_protocol_finance_confirm_fields_index_vue", + "protocol_finance_confirm_fields_finance_attachments_financeattachmentstourlstring", + "protocol_finance_confirm_fields_index_for", + "qc_material_index_ensuretabmounted", + "qc_material_index_handletabchange", + "qc_material_qcmaterialbatchattachmentdialog_handlesubmit", + "qc_material_qcmaterialbatchattachmentdialog_resetform", + "qc_material_qcmaterialbatchattachmentdialog_urlstofinanceitems", + "qc_material_qcmaterialusagetab_canmarkfullyused", + "qc_material_qcmaterialusagetab_displaypurpose", + "qc_material_qcmaterialusagetab_displayqctaskno", + "qc_material_qcmaterialusagetab_displayreceiver", + "qc_material_qcmaterialusagetab_displaystockbefore", + "qc_material_qcmaterialusagetab_displaytaskusageqty", + "qc_material_qcmaterialusagetab_displayusageqty", + "qc_material_qcmaterialusagetab_displayusetime", + "qc_material_qcmaterialusagetab_getchangetypelabel", + "qc_material_qcmaterialusagetab_getchangetypetagtype", + "qc_material_qcmaterialusagetab_getsourcelabel", + "qc_material_qcmaterialusagetab_getsourcetagtype", + "qc_material_qcmaterialusagetab_handlemarkfullyused", + "qc_material_qcmaterialusagetab_isdiscardrow", + "qc_material_qcmaterialusagetab_ismanualoutrow", + "qc_material_qcmaterialusagetab_parsefromremark", + "views_production_production_work_order_taskpaperattachmentspanel_vue", + "views_quality_inspection_qc_material_index_vue", + "views_quality_inspection_qc_material_qcmaterialbatchattachmentdialog_vue", + "views_quality_inspection_qc_material_qcmaterialstockchecktab_vue", + "views_quality_inspection_qc_material_qcmaterialusagetab_vue" + ], + "19": [ + "components_business_infusion_schedule_outbound_chain_view_index_vue", + "infusion_schedule_outbound_chain_view_index_attachmentfullurl", + "infusion_schedule_outbound_chain_view_index_dash", + "infusion_schedule_outbound_chain_view_index_handleattachmentdownload", + "infusion_schedule_outbound_chain_view_index_handleattachmentpreview", + "infusion_schedule_outbound_chain_view_index_hasinfusionconfirm", + "utils_clinical_payment_flow_steps_buildpaymentflowsteps", + "utils_clinical_payment_flow_steps_dash", + "utils_clinical_payment_flow_steps_formatamount", + "utils_clinical_payment_flow_steps_hasfinancereceipt", + "utils_clinical_payment_flow_steps_hasfinancerefund", + "utils_clinical_payment_flow_steps_hasreceiptsubmit", + "utils_clinical_payment_flow_steps_hasrefundsubmit", + "utils_clinical_payment_flow_steps_receiptsubmittime", + "utils_clinical_payment_flow_steps_resolvestepstate", + "utils_clinical_payment_flow_steps_ts", + "utils_datetime_display_formatdateonly", + "utils_datetime_display_formatdatetimedisplay", + "utils_datetime_display_formatdisplayordash", + "utils_datetime_display_lookslikedatetime", + "utils_datetime_display_ts", + "utils_protocol_payment_flow_steps_buildprotocolpaymentflowsteps", + "utils_protocol_payment_flow_steps_dash", + "utils_protocol_payment_flow_steps_financereceipttime", + "utils_protocol_payment_flow_steps_formatamount", + "utils_protocol_payment_flow_steps_hasfinancereceipt", + "utils_protocol_payment_flow_steps_hasfinancerefund", + "utils_protocol_payment_flow_steps_hasreceiptsubmit", + "utils_protocol_payment_flow_steps_hasrefundsubmit", + "utils_protocol_payment_flow_steps_receiptsubmittime", + "utils_protocol_payment_flow_steps_refundfinancetime", + "utils_protocol_payment_flow_steps_refundsubmittime", + "utils_protocol_payment_flow_steps_resolveattachmenturls", + "utils_protocol_payment_flow_steps_resolvestepstate", + "utils_protocol_payment_flow_steps_ts", + "utils_sample_production_reception_fields_formatprocesstimedate", + "utils_sample_production_reception_fields_formatproductionfieldvalue", + "utils_sample_production_reception_fields_infectiousfourtestlabel", + "utils_sample_production_reception_fields_resolveproductionreceptionfields", + "utils_sample_production_reception_fields_ts", + "utils_sample_reception_view_sections_buildproductionreceptionviewsection", + "utils_sample_reception_view_sections_buildqcreceptionviewfields", + "utils_sample_reception_view_sections_ts" + ], + "20": [ + "api_production_work_order_fetchproductionworkorderqcinfo", + "clinical_schedule_payment_detail_index_dash", + "clinical_schedule_payment_detail_index_fmtmoney", + "components_business_clinical_schedule_payment_detail_index_vue", + "components_business_sample_code_with_special_display_index_vue", + "components_business_sample_production_info_cards_index_vue", + "components_business_sample_qc_info_grouped_panel_index_vue", + "components_business_sample_reception_dual_readonly_panel_index_vue", + "components_business_sample_storage_release_info_index_vue", + "list_donationviewdialog_auditordisplay", + "list_donationviewdialog_dash", + "list_donationviewdialog_ensureunitsinoptions", + "list_donationviewdialog_expressname", + "list_donationviewdialog_formatmetric", + "list_donationviewdialog_formatym", + "list_donationviewdialog_formatymd", + "list_donationviewdialog_samplereceptionchecklist", + "list_donationviewdialog_sampletypename", + "list_donationviewdialog_sitename", + "list_donationviewdialog_unitname", + "production_work_order_productionworkorderqcviewdialog_loaddetail", + "protocol_protocolattachmentreadonly_resolvefileurl", + "sample_production_info_cards_index_productiontaskstatuslabel", + "storage_release_review_storagereleasereviewdialog_fullfileurl", + "storage_release_review_storagereleasereviewdialog_getlist", + "storage_release_review_storagereleasereviewdialog_isimagefile", + "storage_release_review_storagereleasereviewdialog_removeattachment", + "storage_release_review_storagereleasereviewdialog_resetform", + "views_cell_storage_protocol_protocolattachmentreadonly_vue", + "views_production_cell_product_source_chain_samplecustomerviewdialog_vue", + "views_production_production_work_order_productionworkorderqcviewdialog_vue", + "views_quality_inspection_qc_work_order_qcworkorderprotocolpaymentpanel_vue", + "views_quality_inspection_qc_work_order_view_dialogs_inboundcellstorageviewdialog_vue", + "views_quality_inspection_qc_work_order_view_dialogs_inboundresearchdonationviewdialog_vue", + "views_quality_inspection_qc_work_order_view_dialogs_outboundbasicexperimentviewdialog_vue", + "views_quality_inspection_qc_work_order_view_dialogs_outboundclinicalviewdialog_vue", + "views_quality_inspection_qc_work_order_view_dialogs_outboundpilotviewdialog_vue", + "views_quality_inspection_qc_work_order_view_dialogs_outboundqcproducttable_vue", + "views_quality_inspection_qc_work_order_view_dialogs_qcworkordersystemviewdialog_vue", + "views_quality_inspection_qc_work_order_view_dialogs_temporaryqcviewdialog_vue", + "views_quality_inspection_qc_work_order_view_dialogs_view_dialog_registry_ts", + "views_quality_inspection_storage_release_review_storagereleasereviewdialog_vue", + "views_research_donation_list_donationviewdialog_vue" + ], + "21": [ "socket_index_websocketclient", "socket_index_websocketclient_calculatereconnectdelay", "socket_index_websocketclient_clearalltimers", @@ -1866,132 +1976,6 @@ "utils_socket_index_ts", "utils_table_tablecache_ts" ], - "19": [ - "api_qc_material_fetchbatchdiscardqcmaterial", - "api_qc_material_fetchbatchstockinqcmaterial", - "api_qc_material_fetchbatchstockoutqcmaterial", - "api_qc_material_fetchcreateqcmaterial", - "api_qc_material_fetchdeleteqcmaterial", - "api_qc_material_fetchdeleteqcmaterialbatch", - "api_qc_material_fetchqcmaterialbatchlist", - "api_qc_material_fetchqcmaterialbatchoptions", - "api_qc_material_fetchqcmateriallist", - "api_qc_material_fetchqcmaterialoptions", - "api_qc_material_fetchstockinqcmaterial", - "api_qc_material_fetchupdateqcmaterial", - "api_qc_material_fetchupdateqcmaterialbatch", - "api_qc_material_ts", - "api_qc_material_usage_fetchmarkqcmaterialusagefullyused", - "components_business_protocol_finance_confirm_fields_finance_attachments_ts", - "protocol_finance_confirm_fields_finance_attachments_financeattachmentstourlstring", - "qc_material_index_ensuretabmounted", - "qc_material_index_handletabchange", - "qc_material_qcmaterialbatchattachmentdialog_handlesubmit", - "qc_material_qcmaterialbatchattachmentdialog_resetform", - "qc_material_qcmaterialbatchattachmentdialog_urlstofinanceitems", - "qc_material_qcmaterialusagetab_canmarkfullyused", - "qc_material_qcmaterialusagetab_displaypurpose", - "qc_material_qcmaterialusagetab_displayqctaskno", - "qc_material_qcmaterialusagetab_displayreceiver", - "qc_material_qcmaterialusagetab_displaystockbefore", - "qc_material_qcmaterialusagetab_displaytaskusageqty", - "qc_material_qcmaterialusagetab_displayusageqty", - "qc_material_qcmaterialusagetab_displayusetime", - "qc_material_qcmaterialusagetab_getchangetypelabel", - "qc_material_qcmaterialusagetab_getchangetypetagtype", - "qc_material_qcmaterialusagetab_getsourcelabel", - "qc_material_qcmaterialusagetab_getsourcetagtype", - "qc_material_qcmaterialusagetab_handlemarkfullyused", - "qc_material_qcmaterialusagetab_isdiscardrow", - "qc_material_qcmaterialusagetab_ismanualoutrow", - "qc_material_qcmaterialusagetab_parsefromremark", - "views_quality_inspection_qc_material_index_vue", - "views_quality_inspection_qc_material_qcmaterialbatchattachmentdialog_vue", - "views_quality_inspection_qc_material_qcmaterialstockchecktab_vue", - "views_quality_inspection_qc_material_qcmaterialusagetab_vue" - ], - "20": [ - "art_screen_lock_index_tologin", - "http_crypto_base64tobytes", - "http_crypto_bytestobase64", - "http_crypto_decryptjson", - "http_crypto_derivekey", - "http_crypto_encryptjson", - "http_crypto_frombase64url", - "http_crypto_hextobytes", - "http_crypto_randomnonce", - "http_crypto_sha256hex", - "http_crypto_tobase64url", - "http_error_geterrormessage", - "http_error_handleerror", - "http_error_httperror", - "http_error_httperror_constructor", - "http_error_httperror_tologdata", - "http_error_showerror", - "http_error_showsuccess", - "http_index_createhttperror", - "http_index_decryptresponseifneeded", - "http_index_delay", - "http_index_getencryptskipreason", - "http_index_getmaxretriesforconfig", - "http_index_handleunauthorizedresponse", - "http_index_ispathexcluded", - "http_index_logout", - "http_index_normalizerequestdata", - "http_index_onrefreshed", - "http_index_onrefreshfailed", - "http_index_parseuseridfromtoken", - "http_index_request", - "http_index_resetunauthorizederror", - "http_index_resolveuserid", - "http_index_retryrequest", - "http_index_shouldretry", - "http_index_subscribetokenrefresh", - "http_index_triggerlogoutwithdebounce", - "utils_http_crypto_ts", - "utils_http_error_ts", - "utils_http_index_ts" - ], - "21": [ - "api_production_work_order_fetchcompleteproductionworkorder", - "api_production_work_order_fetchconfigureproductionworkorder", - "api_production_work_order_fetchcreateproductionworkorder", - "api_production_work_order_fetchcreateqcfromproduction", - "api_production_work_order_fetchdeleteproductionworkorder", - "api_production_work_order_fetchmineproductionworkordertabstepcounts", - "api_production_work_order_fetchmineproductionworkordertabstepcountsdeduped", - "api_production_work_order_fetchproductionworkordercellproductoptions", - "api_production_work_order_fetchproductionworkorderdetail", - "api_production_work_order_fetchproductionworkorderlist", - "api_production_work_order_fetchproductionworkorderqcdispatchoptions", - "api_production_work_order_fetchproductionworkorderqcinfo", - "api_production_work_order_fetchproductionworkordertabstepcounts", - "api_production_work_order_fetchproductionworkordertabstepcountsdeduped", - "api_production_work_order_fetchupdateproductionworkorder", - "api_production_work_order_formatproductionworkordertabstepbadge", - "api_production_work_order_isproductionworkordertabstepbadgezero", - "api_production_work_order_sumproductionworkordertabstepcounts", - "api_production_work_order_ts", - "components_business_sample_qc_info_grouped_panel_index_vue", - "production_work_order_productionworkorderqcviewdialog_loaddetail", - "utils_production_menu_badge_collectvisibleproductionmenubadgecodes", - "utils_production_menu_badge_refreshproductionmenubadges", - "utils_production_menu_badge_resolveproductionmenubadgecode", - "utils_production_menu_badge_ts", - "utils_production_work_order_step_badge_isactivestep", - "utils_production_work_order_step_badge_isactivetask", - "utils_production_work_order_step_badge_isactiveworkorder", - "utils_production_work_order_step_badge_isminequalifyingtask", - "utils_production_work_order_step_badge_isproductionworkorderstepbadgevisible", - "utils_production_work_order_step_badge_isstepfutureincomplete", - "utils_production_work_order_step_badge_isstepoverdueincomplete", - "utils_production_work_order_step_badge_productionworkorderstepbadgetitle", - "utils_production_work_order_step_badge_stepassigneeuserids", - "utils_production_work_order_step_badge_sumproductionworkorderstepbadgecount", - "utils_production_work_order_step_badge_todayymd", - "utils_production_work_order_step_badge_ts", - "views_production_production_work_order_productionworkorderqcviewdialog_vue" - ], "22": [ "locales_index_getdefaultlanguage", "locales_index_ts", @@ -2032,44 +2016,6 @@ "utils_storage_storage_ts" ], "23": [ - "api_sample_production_reception_fetchproductionreceptionbysamplecode", - "api_sample_production_reception_fetchproductionreceptionsubmit", - "api_sample_production_reception_fetchproductionreceptionupdate", - "api_sample_production_reception_ts", - "components_business_work_order_remark_dialog_index_vue", - "core_iframeroutemanager_iframeroutemanager_clear", - "production_work_order_dispatchstepdialog_mergeduseroptions", - "production_work_order_dispatchstepdialog_onuserselectvisible", - "production_work_order_dispatchstepdialog_remotesearchusers", - "production_work_order_dispatchtaskdialog_if", - "production_work_order_samplereceptiondialog_buildpayload", - "production_work_order_samplereceptiondialog_ensuredefaulthandler", - "production_work_order_samplereceptiondialog_handleclosed", - "production_work_order_samplereceptiondialog_initdialog", - "production_work_order_samplereceptiondialog_loadassignees", - "production_work_order_samplereceptiondialog_onhandlerchange", - "production_work_order_samplereceptiondialog_populatefromproduction", - "production_work_order_samplereceptiondialog_protocolstatustagtypebysource", - "production_work_order_samplereceptiondialog_resetprodform", - "production_work_order_samplereceptiondialog_searchassignees", - "production_work_order_samplereceptiondialog_submitproduction", - "production_work_order_samplereceptiondialog_todaydate", - "utils_production_step_assignee_fetchproductionstepassigneeusers", - "utils_production_step_assignee_invalidateproductionstepassigneeusercache", - "utils_production_step_assignee_productionstepassigneeuserlistparams", - "utils_production_step_assignee_ts", - "views_production_my_production_task_index_vue", - "views_production_production_work_order_dispatchqcworkorderdialog_vue", - "views_production_production_work_order_dispatchstepdialog_vue", - "views_production_production_work_order_dispatchtaskdialog_vue", - "views_production_production_work_order_index_vue", - "views_production_production_work_order_productionworkordertabbar_vue", - "views_production_production_work_order_samplereceptiondialog_vue", - "views_production_production_work_order_tabs_productionworkordertabpanel_vue", - "work_order_remark_dialog_index_handleclose", - "work_order_remark_dialog_index_handlesubmit" - ], - "24": [ "production_work_order_task_step_editor_persistence_createemptysnapshots", "production_work_order_task_step_editor_persistence_normalizeconfiguredreagents", "production_work_order_task_step_editor_persistence_normalizeconsumables", @@ -2107,7 +2053,82 @@ "views_production_production_work_order_task_step_editor_persistence_ts", "views_production_production_work_order_usetaskstepeditor_ts" ], + "24": [ + "api_sample_production_reception_fetchproductionreceptionbysamplecode", + "api_sample_production_reception_fetchproductionreceptionsubmit", + "api_sample_production_reception_fetchproductionreceptionupdate", + "api_sample_production_reception_ts", + "components_business_work_order_remark_dialog_index_vue", + "core_iframeroutemanager_iframeroutemanager_clear", + "production_work_order_dispatchstepdialog_mergeduseroptions", + "production_work_order_dispatchstepdialog_onuserselectvisible", + "production_work_order_dispatchstepdialog_remotesearchusers", + "production_work_order_dispatchtaskdialog_if", + "production_work_order_samplereceptiondialog_buildpayload", + "production_work_order_samplereceptiondialog_ensuredefaulthandler", + "production_work_order_samplereceptiondialog_handleclosed", + "production_work_order_samplereceptiondialog_initdialog", + "production_work_order_samplereceptiondialog_loadassignees", + "production_work_order_samplereceptiondialog_onhandlerchange", + "production_work_order_samplereceptiondialog_populatefromproduction", + "production_work_order_samplereceptiondialog_protocolstatustagtypebysource", + "production_work_order_samplereceptiondialog_resetprodform", + "production_work_order_samplereceptiondialog_searchassignees", + "production_work_order_samplereceptiondialog_submitproduction", + "production_work_order_samplereceptiondialog_todaydate", + "utils_production_step_assignee_fetchproductionstepassigneeusers", + "utils_production_step_assignee_invalidateproductionstepassigneeusercache", + "utils_production_step_assignee_productionstepassigneeuserlistparams", + "utils_production_step_assignee_ts", + "views_production_my_production_task_index_vue", + "views_production_production_work_order_dispatchqcworkorderdialog_vue", + "views_production_production_work_order_dispatchstepdialog_vue", + "views_production_production_work_order_dispatchtaskdialog_vue", + "views_production_production_work_order_index_vue", + "views_production_production_work_order_productionworkordertabbar_vue", + "views_production_production_work_order_samplereceptiondialog_vue", + "views_production_production_work_order_tabs_productionworkordertabpanel_vue", + "work_order_remark_dialog_index_handleclose", + "work_order_remark_dialog_index_handlesubmit" + ], "25": [ + "api_material_fetchbatchdiscardmaterial", + "api_material_fetchbatchstockinmaterial", + "api_material_fetchbatchstockoutmaterial", + "api_material_fetchcreatematerial", + "api_material_fetchdeletematerial", + "api_material_fetchdeletematerialbatch", + "api_material_fetchmaterialbatchlist", + "api_material_fetchmaterialbatchoptions", + "api_material_fetchmateriallist", + "api_material_fetchmaterialoptions", + "api_material_fetchstockinmaterial", + "api_material_fetchupdatematerial", + "api_material_fetchupdatematerialbatch", + "api_material_ts", + "api_material_usage_fetchmarkmaterialusagefullyused", + "api_material_usage_fetchmaterialusagelist", + "api_material_usage_fetchmymaterialusagelist", + "api_material_usage_ts", + "material_index_defaultoperatorname", + "material_index_ensureoperatoroption", + "material_index_ensuretabmounted", + "material_index_handledelete", + "material_index_handleedit", + "material_index_handlereset", + "material_index_handlesearch", + "material_index_handlesubmit", + "material_index_handletabchange", + "material_index_handleview", + "material_index_initoperatorfield", + "material_index_loaddata", + "material_index_oneditpriceqtychange", + "material_index_onstockinmaterialkeychange", + "views_cell_storage_material_index_vue", + "views_cell_storage_material_materialstockchecktab_vue", + "views_cell_storage_material_materialusagetab_vue" + ], + "26": [ "api_admin_completepilotapplication", "api_admin_deletepilotapplication", "api_admin_fetchpilotapplicationlist", @@ -2144,38 +2165,43 @@ "utils_fetch_paged_list_ts", "views_pilot_service_pilot_application_pilotapplicationtab_vue" ], - "26": [ - "api_auth_fetchchangepassword", - "api_auth_fetchgetmenucodes", - "api_auth_fetchgetuserinfo", - "api_auth_fetchlogin", - "api_auth_fetchlogout", - "api_auth_fetchrefreshtoken", - "api_auth_fetchupdateprofile", - "api_auth_fetchuploadprofileavatar", - "api_auth_ts", - "components_core_layouts_art_header_bar_widget_userprofiledialog_vue", - "guards_beforeeach_fetchuserinfo", - "utils_loginrsa_buildwebencryptedloginbody", - "utils_loginrsa_ts", - "utils_user_avatar_defaultavatarpathbyrole", - "utils_user_avatar_hascustomuseravatar", - "utils_user_avatar_joinpublicasset", - "utils_user_avatar_normalizeavatarstoragekey", - "utils_user_avatar_pickuploadavatarurl", - "utils_user_avatar_pickuseravatarraw", - "utils_user_avatar_resolvestoragefileurl", - "utils_user_avatar_resolveuseravatarfrominfo", - "utils_user_avatar_resolveuseravatarurl", - "utils_user_avatar_ts", - "widget_userprofiledialog_handleavatarchange", - "widget_userprofiledialog_handleclearavatar", - "widget_userprofiledialog_handleclose", - "widget_userprofiledialog_handlesubmit", - "widget_userprofiledialog_loadprofile", - "widget_userprofiledialog_revokeavatarlocalpreview" - ], "27": [ + "api_production_work_order_fetchcompleteproductionworkorder", + "api_production_work_order_fetchconfigureproductionworkorder", + "api_production_work_order_fetchcreateproductionworkorder", + "api_production_work_order_fetchcreateqcfromproduction", + "api_production_work_order_fetchdeleteproductionworkorder", + "api_production_work_order_fetchmineproductionworkordertabstepcounts", + "api_production_work_order_fetchmineproductionworkordertabstepcountsdeduped", + "api_production_work_order_fetchproductionworkordercellproductoptions", + "api_production_work_order_fetchproductionworkorderdetail", + "api_production_work_order_fetchproductionworkorderlist", + "api_production_work_order_fetchproductionworkorderqcdispatchoptions", + "api_production_work_order_fetchproductionworkordertabstepcounts", + "api_production_work_order_fetchproductionworkordertabstepcountsdeduped", + "api_production_work_order_fetchupdateproductionworkorder", + "api_production_work_order_formatproductionworkordertabstepbadge", + "api_production_work_order_isproductionworkordertabstepbadgezero", + "api_production_work_order_sumproductionworkordertabstepcounts", + "api_production_work_order_ts", + "utils_production_menu_badge_collectvisibleproductionmenubadgecodes", + "utils_production_menu_badge_refreshproductionmenubadges", + "utils_production_menu_badge_resolveproductionmenubadgecode", + "utils_production_menu_badge_ts", + "utils_production_work_order_step_badge_isactivestep", + "utils_production_work_order_step_badge_isactivetask", + "utils_production_work_order_step_badge_isactiveworkorder", + "utils_production_work_order_step_badge_isminequalifyingtask", + "utils_production_work_order_step_badge_isproductionworkorderstepbadgevisible", + "utils_production_work_order_step_badge_isstepfutureincomplete", + "utils_production_work_order_step_badge_isstepoverdueincomplete", + "utils_production_work_order_step_badge_productionworkorderstepbadgetitle", + "utils_production_work_order_step_badge_stepassigneeuserids", + "utils_production_work_order_step_badge_sumproductionworkorderstepbadgecount", + "utils_production_work_order_step_badge_todayymd", + "utils_production_work_order_step_badge_ts" + ], + "28": [ "api_qc_work_order_fetchconfigureqcworkorder", "api_qc_work_order_fetchcreateqcworkorder", "api_qc_work_order_fetchdeleteqcworkorder", @@ -2201,7 +2227,7 @@ "views_quality_inspection_my_qc_task_index_vue", "views_quality_inspection_qc_work_order_qcworkordertabbar_vue" ], - "28": [ + "29": [ "business_highlight_addcopybutton", "business_highlight_highlightcode", "business_highlight_insertlinenumbers", @@ -2225,7 +2251,7 @@ "directives_index_setupglobdirectives", "directives_index_ts" ], - "29": [ + "30": [ "api_outbound_release_review_batchreviewoutboundrelease", "api_outbound_release_review_deletereleasereview", "api_outbound_release_review_fetchoutboundreleasematerial", @@ -2249,7 +2275,7 @@ "views_pilot_service_outbound_release_review_index_vue", "views_pilot_service_outbound_release_review_outboundreleasereviewcardlist_vue" ], - "30": [ + "31": [ "api_admin_fetchcellsampletypelist", "api_admin_fetchcreatecellsampletype", "api_admin_fetchdeletecellsampletype", @@ -2273,7 +2299,7 @@ "views_basic_info_cell_sample_type_index_vue", "views_basic_info_cell_sample_type_samplecodetab_vue" ], - "31": [ + "32": [ "api_business_fetchattachmentdownloadurl", "utils_attachment_zip_attachmentfullurl", "utils_attachment_zip_ensureuniquezipentryname", @@ -2295,27 +2321,6 @@ "utils_qc_work_order_attachment_export_ts", "utils_qc_work_order_attachment_export_workorderfoldername" ], - "32": [ - "api_workflow_fetchapprovetask", - "api_workflow_fetchbusinessalltasks", - "api_workflow_fetchcompletedtasks", - "api_workflow_fetchcreateprocessdef", - "api_workflow_fetchdeleteprocessdef", - "api_workflow_fetchdesignerdata", - "api_workflow_fetchinstancedetail", - "api_workflow_fetchmyinstances", - "api_workflow_fetchpendingtasks", - "api_workflow_fetchprocessdeflist", - "api_workflow_fetchpublishversion", - "api_workflow_fetchrejecttask", - "api_workflow_fetchstartinstance", - "api_workflow_fetchupdateprocessdef", - "api_workflow_fetchversionlist", - "api_workflow_ts", - "components_approvaldialog_handlesubmit", - "components_approvaldialog_loadformdata", - "views_system_workflow_components_approvaldialog_vue" - ], "33": [ "api_env_detect_item_fetchcreateenvdetectitem", "api_env_detect_item_fetchdeleteenvdetectitem", @@ -2375,22 +2380,6 @@ "utils_ui_colors_ts" ], "36": [ - "utils_protocol_payment_flow_steps_buildprotocolpaymentflowsteps", - "utils_protocol_payment_flow_steps_dash", - "utils_protocol_payment_flow_steps_financereceipttime", - "utils_protocol_payment_flow_steps_formatamount", - "utils_protocol_payment_flow_steps_hasfinancereceipt", - "utils_protocol_payment_flow_steps_hasfinancerefund", - "utils_protocol_payment_flow_steps_hasreceiptsubmit", - "utils_protocol_payment_flow_steps_hasrefundsubmit", - "utils_protocol_payment_flow_steps_receiptsubmittime", - "utils_protocol_payment_flow_steps_refundfinancetime", - "utils_protocol_payment_flow_steps_refundsubmittime", - "utils_protocol_payment_flow_steps_resolveattachmenturls", - "utils_protocol_payment_flow_steps_resolvestepstate", - "utils_protocol_payment_flow_steps_ts" - ], - "37": [ "api_admin_fetchserviceordertxnlist", "channel_service_order_finance_index_financesubmitattachmentdisplayfiles", "channel_service_order_finance_index_financesubmitremarkdisplay", @@ -2406,7 +2395,7 @@ "channel_service_order_finance_index_txntypehasproducts", "views_pilot_service_channel_service_order_finance_index_vue" ], - "38": [ + "37": [ "form_validator_getpasswordstrength", "form_validator_trimspaces", "form_validator_validateaccount", @@ -2421,7 +2410,7 @@ "form_validator_validateurl", "utils_form_validator_ts" ], - "39": [ + "38": [ "outbound_release_review_outboundreleasereviewdialog_builddetailfromlistrow", "outbound_release_review_outboundreleasereviewdialog_fullfileurl", "outbound_release_review_outboundreleasereviewdialog_handlepreviewattachment", @@ -2436,7 +2425,7 @@ "outbound_release_review_outboundreleasereviewdialog_uniquejoined", "views_pilot_service_outbound_release_review_outboundreleasereviewdialog_vue" ], - "40": [ + "39": [ "qc_work_order_qcworkordertasksublist_addmaterialrow", "qc_work_order_qcworkordertasksublist_enrichmaterialusagerows", "qc_work_order_qcworkordertasksublist_if", @@ -2448,7 +2437,7 @@ "views_quality_inspection_qc_work_order_qcworkorderbatchsublist_vue", "views_quality_inspection_qc_work_order_qcworkordertasksublist_vue" ], - "41": [ + "40": [ "art_work_tab_index_cleanupeventlisteners", "art_work_tab_index_handletouchend", "art_work_tab_index_handletouchmove", @@ -2459,6 +2448,17 @@ "art_work_tab_index_setupeventlisteners", "components_core_layouts_art_work_tab_index_vue" ], + "41": [ + "art_fireworks_effect_index_fireworksystem", + "art_fireworks_effect_index_fireworksystem_constructor", + "art_fireworks_effect_index_fireworksystem_createfirework", + "art_fireworks_effect_index_fireworksystem_createparticle", + "art_fireworks_effect_index_fireworksystem_getavailableparticle", + "art_fireworks_effect_index_fireworksystem_initializepool", + "art_fireworks_effect_index_fireworksystem_preloadallimages", + "art_fireworks_effect_index_fireworksystem_preloadimage", + "components_core_layouts_art_fireworks_effect_index_vue" + ], "42": [ "art_count_to_index_clamp", "art_count_to_index_currentvalue", @@ -2482,17 +2482,6 @@ "views_production_production_work_order_view_dialogs_view_dialog_registry_ts" ], "44": [ - "api_production_material_fetchmyproductionmaterialconsumptions", - "my_production_material_usage_index_handletabchange", - "production_material_materialconsumptiontab_displayconsumptionqty", - "production_material_materialconsumptiontab_handlereset", - "production_material_materialconsumptiontab_handlesearch", - "production_material_materialconsumptiontab_loaddata", - "views_production_my_production_material_usage_index_vue", - "views_production_production_material_materialconsumptiontab_vue", - "views_production_production_material_productionmaterialusagetab_vue" - ], - "45": [ "tabs_tab_registry_getqcworkordertabcomponent", "views_quality_inspection_qc_work_order_tabs_alltab_vue", "views_quality_inspection_qc_work_order_tabs_inboundcellstoragetab_vue", @@ -2503,7 +2492,7 @@ "views_quality_inspection_qc_work_order_tabs_tab_registry_ts", "views_quality_inspection_qc_work_order_tabs_temporarytab_vue" ], - "46": [ + "45": [ "sys_error_handle_isignorablescripterror", "sys_error_handle_normalizeerrormessage", "sys_error_handle_registerpromiseerrorhandler", @@ -2513,7 +2502,7 @@ "sys_error_handle_vueerrorhandler", "utils_sys_error_handle_ts" ], - "47": [ + "46": [ "core_usetableheight_tableheightcalculator", "core_usetableheight_tableheightcalculator_calculate", "core_usetableheight_tableheightcalculator_calculateoffset", @@ -2523,7 +2512,7 @@ "core_usetableheight_usetableheight", "hooks_core_usetableheight_ts" ], - "48": [ + "47": [ "tabs_tab_registry_getproductionworkordertabcomponent", "views_production_production_work_order_tabs_inboundcellstoragetab_vue", "views_production_production_work_order_tabs_inboundresearchdonationtab_vue", @@ -2533,7 +2522,7 @@ "views_production_production_work_order_tabs_tab_registry_ts", "views_production_production_work_order_tabs_temporarytab_vue" ], - "49": [ + "48": [ "app_vue", "main_ts", "src_app_refreshbuttonautoicons", @@ -2542,7 +2531,7 @@ "src_main_masksecret", "utils_sys_console_ts" ], - "50": [ + "49": [ "components_common_decimal_input_index_vue", "decimal_input_index_handlefocus", "decimal_input_index_handleinput", @@ -2551,16 +2540,7 @@ "utils_decimal_input_format_sanitizedecimalinput", "utils_decimal_input_format_ts" ], - "51": [ - "api_leave_fetchcreateleave", - "api_leave_fetchdeleteleave", - "api_leave_fetchleavedetail", - "api_leave_fetchleavelist", - "api_leave_fetchsubmitleave", - "api_leave_fetchupdateleave", - "api_leave_ts" - ], - "52": [ + "50": [ "utils_qc_work_order_unfinished_badge_formatqcworkorderunfinishedbadgecount", "utils_qc_work_order_unfinished_badge_isunfinishedqcworkorder", "utils_qc_work_order_unfinished_badge_qcworkorderunfinishedbadgetitle", @@ -2568,7 +2548,7 @@ "utils_qc_work_order_unfinished_badge_sumqcworkordergroupunfinishedbadgecount", "utils_qc_work_order_unfinished_badge_ts" ], - "53": [ + "51": [ "utils_protocol_payment_labels_formatpaymentamount", "utils_protocol_payment_labels_formatpaymentduedate", "utils_protocol_payment_labels_ispaymentduewithinwarnwindow", @@ -2576,52 +2556,66 @@ "utils_protocol_payment_labels_startoflocalday", "utils_protocol_payment_labels_ts" ], - "54": [ + "52": [ + "api_env_detect_record_fetchcreateenvdetectrecord", + "api_env_detect_record_fetchdeleteenvdetectrecord", + "api_env_detect_record_fetchenvdetectrecorddetail", + "api_env_detect_record_fetchenvdetectrecordlist", + "api_env_detect_record_fetchupdateenvdetectrecord", + "api_env_detect_record_ts" + ], + "53": [ "utils_protocol_doc_label_formatprotocoldocbatchdeleteconfirm", "utils_protocol_doc_label_formatprotocoldocdeleteconfirm", "utils_protocol_doc_label_formatprotocoldocsubject", "utils_protocol_doc_label_getprotocoldoctypelabel", "utils_protocol_doc_label_ts" ], - "55": [ + "54": [ "utils_equipment_select_equipmentoptionlabel", "utils_equipment_select_joinequipmentids", "utils_equipment_select_parseequipmentids", "utils_equipment_select_syncequipmentnamesfromoptions", "utils_equipment_select_ts" ], - "56": [ + "55": [ "utils_production_task_editor_cache_clearproductiontaskeditorreferencecache", "utils_production_task_editor_cache_getcachedproductiontaskeditorreference", "utils_production_task_editor_cache_hascachedproductiontaskeditorreference", "utils_production_task_editor_cache_setcachedproductiontaskeditorreference", "utils_production_task_editor_cache_ts" ], - "57": [ + "56": [ "art_global_search_index_focusinput", "art_global_search_index_handlekeydown", "art_global_search_index_if", "art_global_search_index_search", "components_core_layouts_art_global_search_index_vue" ], - "58": [ + "57": [ "composables_useattachmentdropzone_readdroppedfiles", "composables_useattachmentdropzone_ts", "composables_useattachmentdropzone_useattachmentdropzone", "composables_useattachmentdropzone_useindexedattachmentdropzone" ], - "59": [ + "58": [ "art_sidebar_menu_index_if", "art_sidebar_menu_index_logsidebarmenu", "components_core_layouts_art_menus_art_sidebar_menu_index_vue", "components_core_layouts_art_menus_art_sidebar_menu_widget_sidebarsubmenu_vue" ], - "60": [ + "59": [ "components_core_layouts_art_header_bar_index_vue", "components_core_layouts_art_header_bar_widget_artusermenu_vue", "widget_artusermenu_openpassworddialog", "widget_artusermenu_openprofiledialog" ], + "60": [ + "api_qc_sms_notification_fetchgenerateqcsms", + "api_qc_sms_notification_fetchqcsmslist", + "api_qc_sms_notification_fetchtoggleqcsmsnotified", + "api_qc_sms_notification_ts" + ], "61": [ "views_cell_storage_protocol_audit_sampleqcinfotab_vue", "views_cell_storage_protocol_audit_samplereceptioninfotab_vue", @@ -3520,65 +3514,65 @@ }, "cohesion": { "0": 0.01, - "1": 0.03, + "1": 0.02, "2": 0.03, "3": 0.03, - "4": 0.03, - "5": 0.02, - "6": 0.03, + "4": 0.04, + "5": 0.03, + "6": 0.02, "7": 0.03, "8": 0.04, - "9": 0.03, + "9": 0.04, "10": 0.04, - "11": 0.04, + "11": 0.05, "12": 0.04, "13": 0.04, - "14": 0.04, - "15": 0.05, - "16": 0.06, + "14": 0.05, + "15": 0.06, + "16": 0.05, "17": 0.08, - "18": 0.1, - "19": 0.06, - "20": 0.08, - "21": 0.07, + "18": 0.06, + "19": 0.09, + "20": 0.06, + "21": 0.1, "22": 0.09, "23": 0.08, "24": 0.08, - "25": 0.09, - "26": 0.11, + "25": 0.07, + "26": 0.09, "27": 0.09, - "28": 0.12, - "29": 0.11, - "30": 0.13, - "31": 0.19, - "32": 0.12, + "28": 0.09, + "29": 0.12, + "30": 0.11, + "31": 0.13, + "32": 0.19, "33": 0.16, "34": 0.16, "35": 0.27, - "36": 0.33, - "37": 0.19, - "38": 0.15, + "36": 0.19, + "37": 0.15, + "38": 0.24, "39": 0.24, - "40": 0.24, - "41": 0.25, + "40": 0.25, + "41": 0.28, "42": 0.22, "43": 0.36, - "44": 0.28, - "45": 0.22, - "46": 0.39, - "47": 0.36, - "48": 0.25, - "49": 0.33, - "50": 0.38, - "51": 0.29, - "52": 0.4, - "53": 0.47, + "44": 0.22, + "45": 0.39, + "46": 0.36, + "47": 0.25, + "48": 0.33, + "49": 0.38, + "50": 0.4, + "51": 0.47, + "52": 0.33, + "53": 0.5, "54": 0.5, - "55": 0.5, - "56": 0.4, + "55": 0.4, + "56": 0.5, "57": 0.5, - "58": 0.5, - "59": 0.67, + "58": 0.67, + "59": 0.5, "60": 0.5, "61": 0.5, "62": 0.5, @@ -3865,7 +3859,7 @@ { "id": "storage_facility_index_push", "label": "push()", - "degree": 77 + "degree": 75 }, { "id": "socket_index_websocketclient", @@ -3909,17 +3903,6 @@ } ], "surprises": [ - { - "source": "handleBatchDelete()", - "target": "withFullscreenLoading()", - "source_files": [ - "views/basic-info/customer/index.vue", - "utils/fullscreen-loading.ts" - ], - "confidence": "INFERRED", - "relation": "calls", - "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `handleBatchDelete()` unexpectedly reaches hub `withFullscreenLoading()`" - }, { "source": "buildInboundMetaFields()", "target": "push()", @@ -3935,7 +3918,7 @@ "source": "dash()", "target": "formatDisplayOrDash()", "source_files": [ - "components/business/infusion-schedule-outbound-chain-view/index.vue", + "components/business/clinical-schedule-payment-detail/index.vue", "utils/datetime-display.ts" ], "confidence": "INFERRED", @@ -3953,6 +3936,17 @@ "relation": "calls", "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `fmtMoney()` unexpectedly reaches hub `formatMoneyDisplay()`" }, + { + "source": "handleAttachmentDownload()", + "target": "downloadAttachmentFile()", + "source_files": [ + "components/business/infusion-schedule-outbound-chain-view/index.vue", + "utils/download-attachment.ts" + ], + "confidence": "INFERRED", + "relation": "calls", + "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `handleAttachmentDownload()` unexpectedly reaches hub `downloadAttachmentFile()`" + }, { "source": "subscribeTokenRefresh()", "target": "push()", diff --git a/web-admin/graphify-out/.graphify_extract.json b/web-admin/graphify-out/.graphify_extract.json index 87d30e01..8dd5c963 100644 --- a/web-admin/graphify-out/.graphify_extract.json +++ b/web-admin/graphify-out/.graphify_extract.json @@ -1615,210 +1615,210 @@ "label": "joinWorkOrderStatusFilter()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L202" + "source_location": "L203" }, { "id": "utils_status_tag_registry_matchesworkorderstatusfilter", "label": "matchesWorkOrderStatusFilter()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L207" + "source_location": "L208" }, { "id": "utils_status_tag_registry_txntypelabel", "label": "txnTypeLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L481" + "source_location": "L482" }, { "id": "utils_status_tag_registry_txntypetagtype", "label": "txnTypeTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L492" + "source_location": "L493" }, { "id": "utils_status_tag_registry_txnstatuslabel", "label": "txnStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L504" + "source_location": "L505" }, { "id": "utils_status_tag_registry_txnstatustagtype", "label": "txnStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L514" + "source_location": "L515" }, { "id": "utils_status_tag_registry_applicationstatuslabel", "label": "applicationStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L525" + "source_location": "L526" }, { "id": "utils_status_tag_registry_applicationstatustagtype", "label": "applicationStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L529" + "source_location": "L530" }, { "id": "utils_status_tag_registry_checkupstatuslabel", "label": "checkupStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L542" + "source_location": "L543" }, { "id": "utils_status_tag_registry_checkupstatustagtype", "label": "checkupStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L550" + "source_location": "L551" }, { "id": "utils_status_tag_registry_feestatuslabel", "label": "feeStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L558" + "source_location": "L559" }, { "id": "utils_status_tag_registry_feestatustagtype", "label": "feeStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L566" + "source_location": "L567" }, { "id": "utils_status_tag_registry_schedulestatuslabel", "label": "scheduleStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L575" + "source_location": "L576" }, { "id": "utils_status_tag_registry_schedulestatustagtype", "label": "scheduleStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L584" + "source_location": "L585" }, { "id": "utils_status_tag_registry_infusionstatuslabel", "label": "infusionStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L595" + "source_location": "L596" }, { "id": "utils_status_tag_registry_infusionstatustagtype", "label": "infusionStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L604" + "source_location": "L605" }, { "id": "utils_status_tag_registry_infusionmethodlabel", "label": "infusionMethodLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L615" + "source_location": "L616" }, { "id": "utils_status_tag_registry_qcstatuslabel", "label": "qcStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L626" + "source_location": "L627" }, { "id": "utils_status_tag_registry_qcstatustagtype", "label": "qcStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L630" + "source_location": "L631" }, { "id": "utils_status_tag_registry_releasereviewconclusionlabel", "label": "releaseReviewConclusionLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L636" + "source_location": "L637" }, { "id": "utils_status_tag_registry_releasereviewconclusiontagtype", "label": "releaseReviewConclusionTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L640" + "source_location": "L641" }, { "id": "utils_status_tag_registry_biztypelabel", "label": "bizTypeLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L646" + "source_location": "L647" }, { "id": "utils_status_tag_registry_biztypetagtype", "label": "bizTypeTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L654" + "source_location": "L655" }, { "id": "utils_status_tag_registry_productstatuslabel", "label": "productStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L664" + "source_location": "L665" }, { "id": "utils_status_tag_registry_productstatustagtype", "label": "productStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L674" + "source_location": "L675" }, { "id": "utils_status_tag_registry_cellproductstatuslabel", "label": "cellProductStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L701" + "source_location": "L702" }, { "id": "utils_status_tag_registry_cellproductstatustagtype", "label": "cellProductStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L712" + "source_location": "L713" }, { "id": "utils_status_tag_registry_normalizescheduleproductstatuscode", "label": "normalizeScheduleProductStatusCode()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L744" + "source_location": "L745" }, { "id": "utils_status_tag_registry_outboundmaterialcellstatuslabel", "label": "outboundMaterialCellStatusLabel()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L752" + "source_location": "L753" }, { "id": "utils_status_tag_registry_outboundmaterialcellstatustagtype", "label": "outboundMaterialCellStatusTagType()", "file_type": "code", "source_file": "utils/status-tag-registry.ts", - "source_location": "L765" + "source_location": "L766" }, { "id": "utils_production_work_order_card_meta_ts", @@ -3435,28 +3435,28 @@ "label": "parsePaymentTransferSegments()", "file_type": "code", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L210" + "source_location": "L211" }, { "id": "utils_protocol_standard_import_parse_resolvetransfertypecode", "label": "resolveTransferTypeCode()", "file_type": "code", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L259" + "source_location": "L260" }, { "id": "utils_protocol_standard_import_parse_extractcarriernamefromtransport", "label": "extractCarrierNameFromTransport()", "file_type": "code", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L288" + "source_location": "L289" }, { "id": "utils_protocol_standard_import_parse_parseprotocolstandardimporttext", "label": "parseProtocolStandardImportText()", "file_type": "code", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L295" + "source_location": "L296" }, { "id": "utils_cell_product_spec_ts", @@ -3521,6 +3521,48 @@ "source_file": "utils/qc-work-order-selection-expand.ts", "source_location": "L33" }, + { + "id": "utils_protocol_payment_presets_ts", + "label": "protocol-payment-presets.ts", + "file_type": "code", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L1" + }, + { + "id": "utils_protocol_payment_presets_getactivesamplecount", + "label": "getActiveSampleCount()", + "file_type": "code", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L35" + }, + { + "id": "utils_protocol_payment_presets_resolvepaymentpreset", + "label": "resolvePaymentPreset()", + "file_type": "code", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L40" + }, + { + "id": "utils_protocol_payment_presets_isinstallmentpaymode", + "label": "isInstallmentPayMode()", + "file_type": "code", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L47" + }, + { + "id": "utils_protocol_payment_presets_availablepaymodes", + "label": "availablePayModes()", + "file_type": "code", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L51" + }, + { + "id": "utils_protocol_payment_presets_ispaymodevalidforsamplecount", + "label": "isPayModeValidForSampleCount()", + "file_type": "code", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L56" + }, { "id": "utils_qc_labels_ts", "label": "qc-labels.ts", @@ -3834,84 +3876,91 @@ "label": "isPayDetailLocked()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L33" + "source_location": "L34" }, { "id": "utils_protocol_pay_mode_switch_markpaydetaillocks", "label": "markPayDetailLocks()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L38" + "source_location": "L39" }, { "id": "utils_protocol_pay_mode_switch_sumpaidamount", "label": "sumPaidAmount()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L44" + "source_location": "L45" }, { "id": "utils_protocol_pay_mode_switch_calcremainingamount", "label": "calcRemainingAmount()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L50" + "source_location": "L51" }, { "id": "utils_protocol_pay_mode_switch_formatmoneysummary", "label": "formatMoneySummary()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L56" + "source_location": "L57" }, { "id": "utils_protocol_pay_mode_switch_activedetails", "label": "activeDetails()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L60" + "source_location": "L61" }, { "id": "utils_protocol_pay_mode_switch_hasblockingstatus", "label": "hasBlockingStatus()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L64" + "source_location": "L65" }, { "id": "utils_protocol_pay_mode_switch_countbystatus", "label": "countByStatus()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L68" + "source_location": "L69" + }, + { + "id": "utils_protocol_pay_mode_switch_buildinstallmentdetails", + "label": "buildInstallmentDetails()", + "file_type": "code", + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L73" }, { "id": "utils_protocol_pay_mode_switch_createpaymentdetailrow", "label": "createPaymentDetailRow()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L72" + "source_location": "L102" }, { "id": "utils_protocol_pay_mode_switch_evaluatepaymodeswitch", "label": "evaluatePayModeSwitch()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L96" + "source_location": "L126" }, { "id": "utils_protocol_pay_mode_switch_applypaymodeswitch", "label": "applyPayModeSwitch()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L162" + "source_location": "L208" }, { "id": "utils_protocol_pay_mode_switch_canaddpaymentdetail", "label": "canAddPaymentDetail()", "file_type": "code", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L216" + "source_location": "L244" }, { "id": "utils_protocol_payment_installment_ts", @@ -3925,154 +3974,154 @@ "label": "defaultInstallmentRatios()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L8" + "source_location": "L10" }, { "id": "utils_protocol_payment_installment_resizeinstallmentratios", "label": "resizeInstallmentRatios()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L17" + "source_location": "L19" }, { "id": "utils_protocol_payment_installment_finalizeinstallmentratios", "label": "finalizeInstallmentRatios()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L29" + "source_location": "L31" }, { "id": "utils_protocol_payment_installment_isinstallmentratiosvalid", "label": "isInstallmentRatiosValid()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L37" + "source_location": "L39" }, { "id": "utils_protocol_payment_installment_islegacyinstallmentratios", "label": "isLegacyInstallmentRatios()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L47" + "source_location": "L49" }, { "id": "utils_protocol_payment_installment_normalizeinstallmentamounts", "label": "normalizeInstallmentAmounts()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L62" + "source_location": "L64" }, { "id": "utils_protocol_payment_installment_defaultinstallmentamounts", "label": "defaultInstallmentAmounts()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L80" + "source_location": "L82" }, { "id": "utils_protocol_payment_installment_resizeinstallmentamounts", "label": "resizeInstallmentAmounts()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L87" + "source_location": "L89" }, { "id": "utils_protocol_payment_installment_isinstallmentamountsvalid", "label": "isInstallmentAmountsValid()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L113" + "source_location": "L115" }, { "id": "utils_protocol_payment_installment_suminstallmentamounts", "label": "sumInstallmentAmounts()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L123" + "source_location": "L125" }, { "id": "utils_protocol_payment_installment_scaleinstallmentamountstocontract", "label": "scaleInstallmentAmountsToContract()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L129" + "source_location": "L131" }, { "id": "utils_protocol_payment_installment_addmonthsymd", "label": "addMonthsYmd()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L154" + "source_location": "L156" }, { "id": "utils_protocol_payment_installment_adddaysymd", "label": "addDaysYmd()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L168" + "source_location": "L170" }, { "id": "utils_protocol_payment_installment_addintervalmonthsymd", "label": "addIntervalMonthsYmd()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L183" + "source_location": "L185" }, { "id": "utils_protocol_payment_installment_calcfqinstallmentduedate", "label": "calcFqInstallmentDueDate()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L204" + "source_location": "L206" }, { "id": "utils_protocol_payment_installment_calcinstallmentdueamounts", "label": "calcInstallmentDueAmounts()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L217" + "source_location": "L219" }, { "id": "utils_protocol_payment_installment_calcinstallmentdueamountsbyratios", "label": "calcInstallmentDueAmountsByRatios()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L237" + "source_location": "L239" }, { "id": "utils_protocol_payment_installment_calcunpaidamountsbyratios", "label": "calcUnpaidAmountsByRatios()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L257" + "source_location": "L259" }, { "id": "utils_protocol_payment_installment_resolvefqamounts", "label": "resolveFqAmounts()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L284" + "source_location": "L286" }, { "id": "utils_protocol_payment_installment_alignfqpaymentdetailsfordisplay", "label": "alignFqPaymentDetailsForDisplay()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L310" + "source_location": "L312" }, { "id": "utils_protocol_payment_installment_sortfqpaymentdetails", "label": "sortFqPaymentDetails()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L377" + "source_location": "L379" }, { "id": "utils_protocol_payment_installment_syncfqpaymentdetailrowcount", "label": "syncFqPaymentDetailRowCount()", "file_type": "code", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L387" + "source_location": "L389" }, { "id": "utils_download_attachment_ts", @@ -12766,21 +12815,21 @@ "label": "financeConfirmAttachmentFiles()", "file_type": "code", "source_file": "views/cell-storage/protocol/ProtocolViewDialog.vue", - "source_location": "L1656" + "source_location": "L1659" }, { "id": "protocol_protocolviewdialog_refundattachmentfiles", "label": "refundAttachmentFiles()", "file_type": "code", "source_file": "views/cell-storage/protocol/ProtocolViewDialog.vue", - "source_location": "L1663" + "source_location": "L1666" }, { "id": "protocol_protocolviewdialog_refundfinanceconfirmattachmentfiles", "label": "refundFinanceConfirmAttachmentFiles()", "file_type": "code", "source_file": "views/cell-storage/protocol/ProtocolViewDialog.vue", - "source_location": "L1670" + "source_location": "L1673" }, { "id": "views_cell_storage_protocol_protocolattachmentreadonly_vue", @@ -12808,140 +12857,49 @@ "label": "ensureTransferTypeOptions()", "file_type": "code", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1006" + "source_location": "L1015" }, { "id": "protocol_protocolformdialog_fmtmoney", "label": "fmtMoney()", "file_type": "code", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1012" - }, - { - "id": "protocol_protocolformdialog_createemptytransport", - "label": "createEmptyTransport()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1089" - }, - { - "id": "protocol_protocolformdialog_fullfileurl", - "label": "fullFileUrl()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1107" - }, - { - "id": "protocol_protocolformdialog_loadethnicoptions", - "label": "loadEthnicOptions()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1114" - }, - { - "id": "protocol_protocolformdialog_ensureethnicoptioninlist", - "label": "ensureEthnicOptionInList()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1125" - }, - { - "id": "protocol_protocolformdialog_initpaymentdetailexpandflags", - "label": "initPaymentDetailExpandFlags()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1156" - }, - { - "id": "protocol_protocolformdialog_paymentdetailsummary", - "label": "paymentDetailSummary()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1162" - }, - { - "id": "protocol_protocolformdialog_togglepaymentdetailexpand", - "label": "togglePaymentDetailExpand()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1189" - }, - { - "id": "protocol_protocolformdialog_resetform", - "label": "resetForm()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1282" - }, - { - "id": "protocol_protocolformdialog_scrolltosection", - "label": "scrollToSection()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1358" - }, - { - "id": "protocol_protocolformdialog_normalizesamplerow", - "label": "normalizeSampleRow()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1366" - }, - { - "id": "protocol_protocolformdialog_addpaymentdetail", - "label": "addPaymentDetail()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1389" - }, - { - "id": "protocol_protocolformdialog_defaultinstallmentstartdateymd", - "label": "defaultInstallmentStartDateYmd()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1419" - }, - { - "id": "protocol_protocolformdialog_datetimetoymd", - "label": "datetimeToYmd()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1429" - }, - { - "id": "protocol_protocolformdialog_isfqnumericfieldempty", - "label": "isFqNumericFieldEmpty()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1437" - }, - { - "id": "protocol_protocolformdialog_if", - "label": "if()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1884" - }, - { - "id": "protocol_protocolformdialog_for", - "label": "for()", - "file_type": "code", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1895" + "source_location": "L1021" }, { "id": "protocol_protocolformdialog_pad", "label": "pad()", "file_type": "code", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L2292" + "source_location": "L1414" + }, + { + "id": "protocol_protocolformdialog_applypaymentpresetformode", + "label": "applyPaymentPresetForMode()", + "file_type": "code", + "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", + "source_location": "L1715" + }, + { + "id": "protocol_protocolformdialog_if", + "label": "if()", + "file_type": "code", + "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", + "source_location": "L1964" + }, + { + "id": "protocol_protocolformdialog_for", + "label": "for()", + "file_type": "code", + "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", + "source_location": "L1986" }, { "id": "protocol_protocolformdialog_applyfqpaymentdefaults", "label": "applyFqPaymentDefaults()", "file_type": "code", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L2600" + "source_location": "L2690" }, { "id": "views_cell_storage_protocol_protocolauditdialog_vue", @@ -23190,7 +23148,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L202", + "source_location": "L203", "weight": 1.0 }, { @@ -23199,7 +23157,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L207", + "source_location": "L208", "weight": 1.0 }, { @@ -23208,7 +23166,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L481", + "source_location": "L482", "weight": 1.0 }, { @@ -23217,7 +23175,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L492", + "source_location": "L493", "weight": 1.0 }, { @@ -23226,7 +23184,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L504", + "source_location": "L505", "weight": 1.0 }, { @@ -23235,7 +23193,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L514", + "source_location": "L515", "weight": 1.0 }, { @@ -23244,7 +23202,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L525", + "source_location": "L526", "weight": 1.0 }, { @@ -23253,7 +23211,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L529", + "source_location": "L530", "weight": 1.0 }, { @@ -23262,7 +23220,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L542", + "source_location": "L543", "weight": 1.0 }, { @@ -23271,7 +23229,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L550", + "source_location": "L551", "weight": 1.0 }, { @@ -23280,7 +23238,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L558", + "source_location": "L559", "weight": 1.0 }, { @@ -23289,7 +23247,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L566", + "source_location": "L567", "weight": 1.0 }, { @@ -23298,7 +23256,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L575", + "source_location": "L576", "weight": 1.0 }, { @@ -23307,7 +23265,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L584", + "source_location": "L585", "weight": 1.0 }, { @@ -23316,7 +23274,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L595", + "source_location": "L596", "weight": 1.0 }, { @@ -23325,7 +23283,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L604", + "source_location": "L605", "weight": 1.0 }, { @@ -23334,7 +23292,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L615", + "source_location": "L616", "weight": 1.0 }, { @@ -23343,7 +23301,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L626", + "source_location": "L627", "weight": 1.0 }, { @@ -23352,7 +23310,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L630", + "source_location": "L631", "weight": 1.0 }, { @@ -23361,7 +23319,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L636", + "source_location": "L637", "weight": 1.0 }, { @@ -23370,7 +23328,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L640", + "source_location": "L641", "weight": 1.0 }, { @@ -23379,7 +23337,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L646", + "source_location": "L647", "weight": 1.0 }, { @@ -23388,7 +23346,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L654", + "source_location": "L655", "weight": 1.0 }, { @@ -23397,7 +23355,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L664", + "source_location": "L665", "weight": 1.0 }, { @@ -23406,7 +23364,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L674", + "source_location": "L675", "weight": 1.0 }, { @@ -23415,7 +23373,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L701", + "source_location": "L702", "weight": 1.0 }, { @@ -23424,7 +23382,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L712", + "source_location": "L713", "weight": 1.0 }, { @@ -23433,7 +23391,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L744", + "source_location": "L745", "weight": 1.0 }, { @@ -23442,7 +23400,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L752", + "source_location": "L753", "weight": 1.0 }, { @@ -23451,7 +23409,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L765", + "source_location": "L766", "weight": 1.0 }, { @@ -23478,7 +23436,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L756", + "source_location": "L757", "weight": 1.0 }, { @@ -23487,7 +23445,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L758", + "source_location": "L759", "weight": 1.0 }, { @@ -23496,7 +23454,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L760", + "source_location": "L761", "weight": 1.0 }, { @@ -23505,7 +23463,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L769", + "source_location": "L770", "weight": 1.0 }, { @@ -23514,7 +23472,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L771", + "source_location": "L772", "weight": 1.0 }, { @@ -23523,7 +23481,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/status-tag-registry.ts", - "source_location": "L773", + "source_location": "L774", "weight": 1.0 }, { @@ -26700,7 +26658,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L210", + "source_location": "L211", "weight": 1.0 }, { @@ -26709,7 +26667,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L259", + "source_location": "L260", "weight": 1.0 }, { @@ -26718,7 +26676,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L288", + "source_location": "L289", "weight": 1.0 }, { @@ -26727,7 +26685,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L295", + "source_location": "L296", "weight": 1.0 }, { @@ -26754,7 +26712,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L233", + "source_location": "L234", "weight": 1.0 }, { @@ -26763,7 +26721,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L317", + "source_location": "L318", "weight": 1.0 }, { @@ -26772,7 +26730,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L320", + "source_location": "L321", "weight": 1.0 }, { @@ -26781,7 +26739,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L322", + "source_location": "L323", "weight": 1.0 }, { @@ -26790,7 +26748,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L326", + "source_location": "L327", "weight": 1.0 }, { @@ -26799,7 +26757,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L328", + "source_location": "L329", "weight": 1.0 }, { @@ -26808,7 +26766,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L344", + "source_location": "L345", "weight": 1.0 }, { @@ -26817,7 +26775,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L349", + "source_location": "L350", "weight": 1.0 }, { @@ -26826,7 +26784,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L354", + "source_location": "L355", "weight": 1.0 }, { @@ -26835,7 +26793,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L364", + "source_location": "L365", "weight": 1.0 }, { @@ -26844,7 +26802,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L372", + "source_location": "L373", "weight": 1.0 }, { @@ -26853,7 +26811,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L391", + "source_location": "L392", "weight": 1.0 }, { @@ -26862,7 +26820,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L417", + "source_location": "L418", "weight": 1.0 }, { @@ -26871,7 +26829,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L433", + "source_location": "L434", "weight": 1.0 }, { @@ -26880,7 +26838,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L436", + "source_location": "L437", "weight": 1.0 }, { @@ -27000,6 +26958,60 @@ "source_location": "L39", "weight": 1.0 }, + { + "source": "utils_protocol_payment_presets_ts", + "target": "utils_protocol_payment_presets_getactivesamplecount", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L35", + "weight": 1.0 + }, + { + "source": "utils_protocol_payment_presets_ts", + "target": "utils_protocol_payment_presets_resolvepaymentpreset", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L40", + "weight": 1.0 + }, + { + "source": "utils_protocol_payment_presets_ts", + "target": "utils_protocol_payment_presets_isinstallmentpaymode", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L47", + "weight": 1.0 + }, + { + "source": "utils_protocol_payment_presets_ts", + "target": "utils_protocol_payment_presets_availablepaymodes", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L51", + "weight": 1.0 + }, + { + "source": "utils_protocol_payment_presets_ts", + "target": "utils_protocol_payment_presets_ispaymodevalidforsamplecount", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L56", + "weight": 1.0 + }, + { + "source": "utils_protocol_payment_presets_ispaymodevalidforsamplecount", + "target": "utils_protocol_payment_presets_availablepaymodes", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-presets.ts", + "source_location": "L57", + "weight": 1.0 + }, { "source": "utils_production_step_assignee_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", @@ -27648,13 +27660,22 @@ "source_location": "L6", "weight": 1.0 }, + { + "source": "utils_protocol_pay_mode_switch_ts", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_protocol_payment_presets", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L11", + "weight": 1.0 + }, { "source": "utils_protocol_pay_mode_switch_ts", "target": "utils_protocol_pay_mode_switch_ispaydetaillocked", "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L33", + "source_location": "L34", "weight": 1.0 }, { @@ -27663,7 +27684,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L38", + "source_location": "L39", "weight": 1.0 }, { @@ -27672,7 +27693,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L44", + "source_location": "L45", "weight": 1.0 }, { @@ -27681,7 +27702,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L50", + "source_location": "L51", "weight": 1.0 }, { @@ -27690,7 +27711,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L56", + "source_location": "L57", "weight": 1.0 }, { @@ -27699,7 +27720,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L60", + "source_location": "L61", "weight": 1.0 }, { @@ -27708,7 +27729,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L64", + "source_location": "L65", "weight": 1.0 }, { @@ -27717,7 +27738,16 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L68", + "source_location": "L69", + "weight": 1.0 + }, + { + "source": "utils_protocol_pay_mode_switch_ts", + "target": "utils_protocol_pay_mode_switch_buildinstallmentdetails", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L73", "weight": 1.0 }, { @@ -27726,7 +27756,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L72", + "source_location": "L102", "weight": 1.0 }, { @@ -27735,7 +27765,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L96", + "source_location": "L126", "weight": 1.0 }, { @@ -27744,7 +27774,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L162", + "source_location": "L208", "weight": 1.0 }, { @@ -27753,7 +27783,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L216", + "source_location": "L244", "weight": 1.0 }, { @@ -27762,7 +27792,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L40", + "source_location": "L41", "weight": 1.0 }, { @@ -27771,7 +27801,25 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L52", + "source_location": "L53", + "weight": 1.0 + }, + { + "source": "utils_protocol_pay_mode_switch_buildinstallmentdetails", + "target": "utils_protocol_pay_mode_switch_sumpaidamount", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L82", + "weight": 1.0 + }, + { + "source": "utils_protocol_pay_mode_switch_buildinstallmentdetails", + "target": "utils_protocol_pay_mode_switch_createpaymentdetailrow", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L88", "weight": 1.0 }, { @@ -27780,7 +27828,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L104", + "source_location": "L134", "weight": 1.0 }, { @@ -27789,7 +27837,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L106", + "source_location": "L136", "weight": 1.0 }, { @@ -27798,7 +27846,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L128", + "source_location": "L159", "weight": 1.0 }, { @@ -27807,7 +27855,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L138", + "source_location": "L169", "weight": 1.0 }, { @@ -27816,7 +27864,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L149", + "source_location": "L180", "weight": 1.0 }, { @@ -27825,25 +27873,16 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L168", + "source_location": "L214", "weight": 1.0 }, { "source": "utils_protocol_pay_mode_switch_applypaymodeswitch", - "target": "utils_protocol_pay_mode_switch_sumpaidamount", + "target": "utils_protocol_pay_mode_switch_buildinstallmentdetails", "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L176", - "weight": 1.0 - }, - { - "source": "utils_protocol_pay_mode_switch_applypaymodeswitch", - "target": "utils_protocol_pay_mode_switch_createpaymentdetailrow", - "relation": "calls", - "confidence": "EXTRACTED", - "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L182", + "source_location": "L217", "weight": 1.0 }, { @@ -27852,7 +27891,25 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L200", + "source_location": "L224", + "weight": 1.0 + }, + { + "source": "utils_protocol_pay_mode_switch_applypaymodeswitch", + "target": "utils_protocol_pay_mode_switch_createpaymentdetailrow", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L227", + "weight": 1.0 + }, + { + "source": "utils_protocol_payment_installment_ts", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_protocol_payment_presets", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-installment.ts", + "source_location": "L3", "weight": 1.0 }, { @@ -27861,7 +27918,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L8", + "source_location": "L10", "weight": 1.0 }, { @@ -27870,7 +27927,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L17", + "source_location": "L19", "weight": 1.0 }, { @@ -27879,7 +27936,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L29", + "source_location": "L31", "weight": 1.0 }, { @@ -27888,7 +27945,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L37", + "source_location": "L39", "weight": 1.0 }, { @@ -27897,7 +27954,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L47", + "source_location": "L49", "weight": 1.0 }, { @@ -27906,7 +27963,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L62", + "source_location": "L64", "weight": 1.0 }, { @@ -27915,7 +27972,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L80", + "source_location": "L82", "weight": 1.0 }, { @@ -27924,7 +27981,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L87", + "source_location": "L89", "weight": 1.0 }, { @@ -27933,7 +27990,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L113", + "source_location": "L115", "weight": 1.0 }, { @@ -27942,7 +27999,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L123", + "source_location": "L125", "weight": 1.0 }, { @@ -27951,7 +28008,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L129", + "source_location": "L131", "weight": 1.0 }, { @@ -27960,7 +28017,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L154", + "source_location": "L156", "weight": 1.0 }, { @@ -27969,7 +28026,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L168", + "source_location": "L170", "weight": 1.0 }, { @@ -27978,7 +28035,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L183", + "source_location": "L185", "weight": 1.0 }, { @@ -27987,7 +28044,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L204", + "source_location": "L206", "weight": 1.0 }, { @@ -27996,7 +28053,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L217", + "source_location": "L219", "weight": 1.0 }, { @@ -28005,7 +28062,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L237", + "source_location": "L239", "weight": 1.0 }, { @@ -28014,7 +28071,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L257", + "source_location": "L259", "weight": 1.0 }, { @@ -28023,7 +28080,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L284", + "source_location": "L286", "weight": 1.0 }, { @@ -28032,7 +28089,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L310", + "source_location": "L312", "weight": 1.0 }, { @@ -28041,7 +28098,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L377", + "source_location": "L379", "weight": 1.0 }, { @@ -28050,7 +28107,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L387", + "source_location": "L389", "weight": 1.0 }, { @@ -28059,34 +28116,34 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L68", - "weight": 1.0 - }, - { - "source": "utils_protocol_payment_installment_normalizeinstallmentamounts", - "target": "utils_protocol_payment_installment_islegacyinstallmentratios", - "relation": "calls", - "confidence": "EXTRACTED", - "source_file": "utils/protocol-payment-installment.ts", "source_location": "L70", "weight": 1.0 }, { "source": "utils_protocol_payment_installment_normalizeinstallmentamounts", - "target": "utils_protocol_payment_installment_resizeinstallmentratios", + "target": "utils_protocol_payment_installment_islegacyinstallmentratios", "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", "source_location": "L72", "weight": 1.0 }, + { + "source": "utils_protocol_payment_installment_normalizeinstallmentamounts", + "target": "utils_protocol_payment_installment_resizeinstallmentratios", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-installment.ts", + "source_location": "L74", + "weight": 1.0 + }, { "source": "utils_protocol_payment_installment_normalizeinstallmentamounts", "target": "utils_protocol_payment_installment_calcinstallmentdueamountsbyratios", "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L73", + "source_location": "L75", "weight": 1.0 }, { @@ -28095,7 +28152,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L73", + "source_location": "L75", "weight": 1.0 }, { @@ -28104,7 +28161,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L77", + "source_location": "L79", "weight": 1.0 }, { @@ -28113,7 +28170,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L84", + "source_location": "L86", "weight": 1.0 }, { @@ -28122,7 +28179,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L95", + "source_location": "L97", "weight": 1.0 }, { @@ -28131,7 +28188,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L103", + "source_location": "L105", "weight": 1.0 }, { @@ -28140,25 +28197,25 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L134", - "weight": 1.0 - }, - { - "source": "utils_protocol_payment_installment_scaleinstallmentamountstocontract", - "target": "utils_protocol_payment_installment_defaultinstallmentamounts", - "relation": "calls", - "confidence": "EXTRACTED", - "source_file": "utils/protocol-payment-installment.ts", "source_location": "L136", "weight": 1.0 }, + { + "source": "utils_protocol_payment_installment_scaleinstallmentamountstocontract", + "target": "utils_protocol_payment_installment_defaultinstallmentamounts", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "utils/protocol-payment-installment.ts", + "source_location": "L138", + "weight": 1.0 + }, { "source": "utils_protocol_payment_installment_addintervalmonthsymd", "target": "utils_protocol_payment_installment_addmonthsymd", "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L192", + "source_location": "L194", "weight": 1.0 }, { @@ -28167,7 +28224,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L197", + "source_location": "L199", "weight": 1.0 }, { @@ -28176,7 +28233,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L210", + "source_location": "L212", "weight": 1.0 }, { @@ -28185,7 +28242,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L212", + "source_location": "L214", "weight": 1.0 }, { @@ -28194,7 +28251,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L290", + "source_location": "L292", "weight": 1.0 }, { @@ -28203,7 +28260,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L291", + "source_location": "L293", "weight": 1.0 }, { @@ -28212,7 +28269,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L291", + "source_location": "L293", "weight": 1.0 }, { @@ -28221,7 +28278,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L304", + "source_location": "L306", "weight": 1.0 }, { @@ -28230,7 +28287,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L340", + "source_location": "L342", "weight": 1.0 }, { @@ -28239,7 +28296,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L343", + "source_location": "L345", "weight": 1.0 }, { @@ -28248,7 +28305,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L358", + "source_location": "L360", "weight": 1.0 }, { @@ -28257,7 +28314,7 @@ "relation": "calls", "confidence": "EXTRACTED", "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L403", + "source_location": "L405", "weight": 1.0 }, { @@ -41415,7 +41472,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolViewDialog.vue", - "source_location": "L1656", + "source_location": "L1659", "weight": 1.0 }, { @@ -41424,7 +41481,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolViewDialog.vue", - "source_location": "L1663", + "source_location": "L1666", "weight": 1.0 }, { @@ -41433,7 +41490,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolViewDialog.vue", - "source_location": "L1670", + "source_location": "L1673", "weight": 1.0 }, { @@ -41451,7 +41508,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L910", + "source_location": "L911", "weight": 1.0 }, { @@ -41460,7 +41517,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L911", + "source_location": "L912", "weight": 1.0 }, { @@ -41469,7 +41526,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L912", + "source_location": "L913", "weight": 1.0 }, { @@ -41478,7 +41535,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L925", + "source_location": "L926", "weight": 1.0 }, { @@ -41487,7 +41544,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L931", + "source_location": "L932", "weight": 1.0 }, { @@ -41496,7 +41553,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L932", + "source_location": "L933", "weight": 1.0 }, { @@ -41505,7 +41562,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L933", + "source_location": "L934", "weight": 1.0 }, { @@ -41514,7 +41571,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L937", + "source_location": "L938", "weight": 1.0 }, { @@ -41523,7 +41580,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L938", + "source_location": "L939", "weight": 1.0 }, { @@ -41532,7 +41589,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L942", + "source_location": "L943", "weight": 1.0 }, { @@ -41541,7 +41598,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L949", + "source_location": "L950", "weight": 1.0 }, { @@ -41550,7 +41607,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L962", + "source_location": "L963", "weight": 1.0 }, { @@ -41559,7 +41616,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L963", + "source_location": "L964", "weight": 1.0 }, { @@ -41568,7 +41625,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L964", + "source_location": "L965", "weight": 1.0 }, { @@ -41577,7 +41634,16 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L973", + "source_location": "L974", + "weight": 1.0 + }, + { + "source": "views_cell_storage_protocol_protocolformdialog_vue", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_protocol_payment_presets", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", + "source_location": "L984", "weight": 1.0 }, { @@ -41586,7 +41652,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L982", + "source_location": "L991", "weight": 1.0 }, { @@ -41595,7 +41661,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L990", + "source_location": "L999", "weight": 1.0 }, { @@ -41604,7 +41670,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L991", + "source_location": "L1000", "weight": 1.0 }, { @@ -41613,7 +41679,7 @@ "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L992", + "source_location": "L1001", "weight": 1.0 }, { @@ -41622,7 +41688,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1006", + "source_location": "L1015", "weight": 1.0 }, { @@ -41631,133 +41697,25 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1012", + "source_location": "L1021", "weight": 1.0 }, { "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_createemptytransport", + "target": "protocol_protocolformdialog_pad", "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1089", + "source_location": "L1414", "weight": 1.0 }, { "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_fullfileurl", + "target": "protocol_protocolformdialog_applypaymentpresetformode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1107", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_loadethnicoptions", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1114", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_ensureethnicoptioninlist", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1125", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_initpaymentdetailexpandflags", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1156", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_paymentdetailsummary", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1162", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_togglepaymentdetailexpand", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1189", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_resetform", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1282", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_scrolltosection", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1358", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_normalizesamplerow", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1366", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_addpaymentdetail", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1389", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_defaultinstallmentstartdateymd", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1419", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_datetimetoymd", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1429", - "weight": 1.0 - }, - { - "source": "views_cell_storage_protocol_protocolformdialog_vue", - "target": "protocol_protocolformdialog_isfqnumericfieldempty", - "relation": "contains", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1437", + "source_location": "L1715", "weight": 1.0 }, { @@ -41766,7 +41724,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1884", + "source_location": "L1964", "weight": 1.0 }, { @@ -41775,7 +41733,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1895", + "source_location": "L1986", "weight": 1.0 }, { @@ -41784,7 +41742,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L2215", + "source_location": "L2305", "weight": 1.0 }, { @@ -41793,7 +41751,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L2239", + "source_location": "L2329", "weight": 1.0 }, { @@ -41802,7 +41760,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L2257", + "source_location": "L2347", "weight": 1.0 }, { @@ -41811,7 +41769,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L2292", + "source_location": "L2382", "weight": 1.0 }, { @@ -41820,43 +41778,7 @@ "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L2600", - "weight": 1.0 - }, - { - "source": "protocol_protocolformdialog_normalizesamplerow", - "target": "protocol_protocolformdialog_createemptytransport", - "relation": "calls", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1376", - "weight": 1.0 - }, - { - "source": "protocol_protocolformdialog_addpaymentdetail", - "target": "protocol_protocolformdialog_pad", - "relation": "calls", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1393", - "weight": 1.0 - }, - { - "source": "protocol_protocolformdialog_defaultinstallmentstartdateymd", - "target": "protocol_protocolformdialog_datetimetoymd", - "relation": "calls", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1420", - "weight": 1.0 - }, - { - "source": "protocol_protocolformdialog_defaultinstallmentstartdateymd", - "target": "protocol_protocolformdialog_pad", - "relation": "calls", - "confidence": "EXTRACTED", - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1426", + "source_location": "L2690", "weight": 1.0 }, { @@ -47844,6 +47766,15 @@ "source_location": "L185", "weight": 1.0 }, + { + "source": "views_quality_inspection_qc_work_order_qcworkorderprotocolpaymentpanel_vue", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_protocol_payment_presets", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/quality-inspection/qc-work-order/QcWorkOrderProtocolPaymentPanel.vue", + "source_location": "L186", + "weight": 1.0 + }, { "source": "views_quality_inspection_qc_work_order_tabs_qcworkordertabpanel_vue", "target": "tabs_qcworkordertabpanel_clearworkorderselection", @@ -58712,7 +58643,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L238", + "source_location": "L239", "weight": 1.0 }, { @@ -58722,7 +58653,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L241", + "source_location": "L242", "weight": 1.0 }, { @@ -58732,7 +58663,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L377", + "source_location": "L378", "weight": 1.0 }, { @@ -58742,7 +58673,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-standard-import-parse.ts", - "source_location": "L416", + "source_location": "L417", "weight": 1.0 }, { @@ -58925,6 +58856,36 @@ "source_location": "L13", "weight": 1.0 }, + { + "source": "utils_protocol_pay_mode_switch_buildinstallmentdetails", + "target": "utils_protocol_payment_installment_defaultinstallmentamounts", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L84", + "weight": 1.0 + }, + { + "source": "utils_protocol_pay_mode_switch_buildinstallmentdetails", + "target": "storage_facility_index_push", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L87", + "weight": 1.0 + }, + { + "source": "utils_protocol_pay_mode_switch_buildinstallmentdetails", + "target": "utils_protocol_payment_installment_calcfqinstallmentduedate", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "utils/protocol-pay-mode-switch.ts", + "source_location": "L93", + "weight": 1.0 + }, { "source": "utils_protocol_pay_mode_switch_createpaymentdetailrow", "target": "protocol_protocolformdialog_pad", @@ -58932,37 +58893,27 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L81", + "source_location": "L111", "weight": 1.0 }, { - "source": "utils_protocol_pay_mode_switch_applypaymodeswitch", - "target": "utils_protocol_payment_installment_defaultinstallmentamounts", + "source": "utils_protocol_pay_mode_switch_evaluatepaymodeswitch", + "target": "utils_protocol_payment_presets_isinstallmentpaymode", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L178", + "source_location": "L143", "weight": 1.0 }, { "source": "utils_protocol_pay_mode_switch_applypaymodeswitch", - "target": "storage_facility_index_push", + "target": "utils_protocol_payment_presets_isinstallmentpaymode", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L181", - "weight": 1.0 - }, - { - "source": "utils_protocol_pay_mode_switch_applypaymodeswitch", - "target": "utils_protocol_payment_installment_calcfqinstallmentduedate", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "utils/protocol-pay-mode-switch.ts", - "source_location": "L187", + "source_location": "L216", "weight": 1.0 }, { @@ -58972,7 +58923,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L13", + "source_location": "L15", "weight": 1.0 }, { @@ -58982,7 +58933,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L144", + "source_location": "L146", "weight": 1.0 }, { @@ -58992,7 +58943,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L228", + "source_location": "L230", "weight": 1.0 }, { @@ -59002,7 +58953,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L247", + "source_location": "L249", "weight": 1.0 }, { @@ -59012,7 +58963,17 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L271", + "source_location": "L273", + "weight": 1.0 + }, + { + "source": "utils_protocol_payment_installment_alignfqpaymentdetailsfordisplay", + "target": "utils_protocol_payment_presets_isinstallmentpaymode", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "utils/protocol-payment-installment.ts", + "source_location": "L316", "weight": 1.0 }, { @@ -59022,7 +58983,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L324", + "source_location": "L326", "weight": 1.0 }, { @@ -59032,7 +58993,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L326", + "source_location": "L328", "weight": 1.0 }, { @@ -59042,7 +59003,17 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "utils/protocol-payment-installment.ts", - "source_location": "L352", + "source_location": "L354", + "weight": 1.0 + }, + { + "source": "utils_protocol_payment_installment_syncfqpaymentdetailrowcount", + "target": "utils_protocol_payment_presets_isinstallmentpaymode", + "relation": "calls", + "confidence": "INFERRED", + "confidence_score": 0.8, + "source_file": "utils/protocol-payment-installment.ts", + "source_location": "L401", "weight": 1.0 }, { @@ -62472,7 +62443,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1007", + "source_location": "L1016", "weight": 1.0 }, { @@ -62482,7 +62453,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1008", + "source_location": "L1017", "weight": 1.0 }, { @@ -62492,47 +62463,7 @@ "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1014", - "weight": 1.0 - }, - { - "source": "protocol_protocolformdialog_loadethnicoptions", - "target": "api_ethnic_fetchethniclist", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1118", - "weight": 1.0 - }, - { - "source": "protocol_protocolformdialog_paymentdetailsummary", - "target": "storage_facility_index_push", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1165", - "weight": 1.0 - }, - { - "source": "protocol_protocolformdialog_addpaymentdetail", - "target": "utils_protocol_pay_mode_switch_canaddpaymentdetail", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1390", - "weight": 1.0 - }, - { - "source": "protocol_protocolformdialog_addpaymentdetail", - "target": "storage_facility_index_push", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "views/cell-storage/protocol/ProtocolFormDialog.vue", - "source_location": "L1397", + "source_location": "L1023", "weight": 1.0 }, { diff --git a/web-admin/graphify-out/GRAPH_REPORT.md b/web-admin/graphify-out/GRAPH_REPORT.md index 2d82819f..3794ed5a 100644 --- a/web-admin/graphify-out/GRAPH_REPORT.md +++ b/web-admin/graphify-out/GRAPH_REPORT.md @@ -1,10 +1,10 @@ # Graph Report - src (2026-07-06) ## Corpus Check -- Large corpus: 850 files · ~561,909 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. +- Large corpus: 851 files · ~562,525 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. ## Summary -- 2845 nodes · 3968 edges · 58 communities detected +- 2839 nodes · 3960 edges · 58 communities detected - Extraction: 78% EXTRACTED · 22% INFERRED · 0% AMBIGUOUS · INFERRED: 881 edges (avg confidence: 0.8) - Token cost: 0 input · 0 output @@ -46,22 +46,22 @@ - [[_COMMUNITY_Community 34|Community 34]] - [[_COMMUNITY_Community 35|Community 35]] - [[_COMMUNITY_Community 36|Community 36]] -- [[_COMMUNITY_Community 37|Community 37]] +- [[_COMMUNITY_Community 38|Community 38]] - [[_COMMUNITY_Community 39|Community 39]] - [[_COMMUNITY_Community 40|Community 40]] - [[_COMMUNITY_Community 41|Community 41]] -- [[_COMMUNITY_Community 44|Community 44]] +- [[_COMMUNITY_Community 45|Community 45]] - [[_COMMUNITY_Community 46|Community 46]] -- [[_COMMUNITY_Community 47|Community 47]] +- [[_COMMUNITY_Community 48|Community 48]] - [[_COMMUNITY_Community 49|Community 49]] - [[_COMMUNITY_Community 50|Community 50]] - [[_COMMUNITY_Community 51|Community 51]] - [[_COMMUNITY_Community 52|Community 52]] - [[_COMMUNITY_Community 53|Community 53]] - [[_COMMUNITY_Community 54|Community 54]] -- [[_COMMUNITY_Community 55|Community 55]] -- [[_COMMUNITY_Community 57|Community 57]] -- [[_COMMUNITY_Community 59|Community 59]] +- [[_COMMUNITY_Community 56|Community 56]] +- [[_COMMUNITY_Community 58|Community 58]] +- [[_COMMUNITY_Community 60|Community 60]] - [[_COMMUNITY_Community 63|Community 63]] - [[_COMMUNITY_Community 65|Community 65]] - [[_COMMUNITY_Community 73|Community 73]] @@ -70,7 +70,7 @@ ## God Nodes (most connected - your core abstractions) 1. `get()` - 279 edges -2. `push()` - 77 edges +2. `push()` - 75 edges 3. `WebSocketClient` - 26 edges 4. `emit()` - 24 edges 5. `set()` - 20 edges @@ -81,14 +81,14 @@ 10. `TableCache` - 14 edges ## Surprising Connections (you probably didn't know these) -- `handleBatchDelete()` --calls--> `withFullscreenLoading()` [INFERRED] - views/basic-info/customer/index.vue → utils/fullscreen-loading.ts - `buildInboundMetaFields()` --calls--> `push()` [INFERRED] utils/production-work-order-card-meta.ts → views/operations/storage-facility/index.vue - `dash()` --calls--> `formatDisplayOrDash()` [INFERRED] - components/business/infusion-schedule-outbound-chain-view/index.vue → utils/datetime-display.ts + components/business/clinical-schedule-payment-detail/index.vue → utils/datetime-display.ts - `fmtMoney()` --calls--> `formatMoneyDisplay()` [INFERRED] components/business/clinical-schedule-payment-detail/index.vue → utils/money-format.ts +- `handleAttachmentDownload()` --calls--> `downloadAttachmentFile()` [INFERRED] + components/business/infusion-schedule-outbound-chain-view/index.vue → utils/download-attachment.ts - `subscribeTokenRefresh()` --calls--> `push()` [INFERRED] utils/http/index.ts → views/operations/storage-facility/index.vue @@ -96,91 +96,91 @@ ### Community 0 - "Community 0" Cohesion: 0.01 -Nodes (156): fetchAccessLogList(), fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchChannelAccount() (+148 more) +Nodes (167): fetchAccessLogList(), fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchChannelAccount() (+159 more) ### Community 1 - "Community 1" -Cohesion: 0.03 -Nodes (83): batchSavePilotCheckup(), deletePilotCheckupActualItem(), fetchCheckupInstitutionList(), fetchCheckupInstitutionPackageDetail(), fetchCheckupInstitutionPackages(), fetchPilotCheckupDetail(), fetchPilotCheckupList(), markPilotCheckupChecked() (+75 more) +Cohesion: 0.02 +Nodes (95): batchSavePilotCheckup(), deletePilotCheckupActualItem(), fetchCheckupInstitutionList(), fetchCheckupInstitutionPackageDetail(), fetchCheckupInstitutionPackages(), fetchPilotCheckupDetail(), fetchPilotCheckupList(), markPilotCheckupChecked() (+87 more) ### Community 2 - "Community 2" Cohesion: 0.03 -Nodes (78): fetchUploadAttachment(), FireworkSystem, handleReportUpload(), handleReportUpload(), walk(), buildBaseFields(), buildFeeSection(), buildInboundBasicSection() (+70 more) +Nodes (54): buildInboundBasicSection(), buildInboundCellStorageViewSections(), buildInboundResearchDonationViewSections(), buildReceptionSection(), buildTemporaryViewSections(), buildTransportSection(), resolveInboundProtocolStatus(), appendTaskResultSections() (+46 more) ### Community 3 - "Community 3" Cohesion: 0.03 -Nodes (62): fetchFullmoonTodoList(), fetchUpdateFullmoonTodoInsurance(), fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchCreateProtocolInvoiceRequest(), fetchInvoiceEligiblePayments(), fetchPaymentDetailList() (+54 more) - -### Community 4 - "Community 4" -Cohesion: 0.03 Nodes (33): fetchGetMenuList(), ComponentLoader, IframeRouteManager, MenuProcessor, RouteRegistry, RouteTransformer, useAppMode(), useAuth() (+25 more) +### Community 4 - "Community 4" +Cohesion: 0.04 +Nodes (65): fetchUploadAttachment(), handleReportUpload(), handleReportUpload(), walk(), async(), for(), handleAttachmentChange(), for() (+57 more) + ### Community 5 - "Community 5" +Cohesion: 0.03 +Nodes (58): fetchFullmoonTodoList(), fetchUpdateFullmoonTodoInsurance(), fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchCreateProtocolInvoiceRequest(), fetchInvoiceEligiblePayments(), fetchPaymentDetailList() (+50 more) + +### Community 6 - "Community 6" Cohesion: 0.02 Nodes (28): fetchAllConsumablePacks(), fetchAllConsumables(), fetchAllConsumableStockLogs(), fetchAllEquipments(), fetchAllOutputTypes(), fetchAllProcessCategories(), fetchAllProcesses(), fetchAllReagents() (+20 more) -### Community 6 - "Community 6" -Cohesion: 0.03 -Nodes (42): handleBlur(), handleFocus(), handleInput(), fetchEthnicList(), formatNowDatetime(), formatAmount(), formatAmount(), formatProtocolAmount() (+34 more) - ### Community 7 - "Community 7" Cohesion: 0.03 -Nodes (48): buildTemporaryViewSections(), appendTaskResultSections(), batchTasksForPanelSlot(), buildConfiguredOnlySection(), for(), for(), set(), allTabInboundAnchorId() (+40 more) +Nodes (54): fetchMyProductionTasks(), fetchMyQcTaskList(), fetchQcTaskDetail(), fetchQcTaskList(), shouldApplyTriggerSourceFilter(), buildMineTableRows(), buildPresetTasksMap(), buildWorkOrderFromTasks() (+46 more) ### Community 8 - "Community 8" Cohesion: 0.04 -Nodes (49): fetchCheckupInstitutionInvoices(), fetchCheckupInstitutionProjects(), fetchCreateCheckupInstitution(), fetchCreateCheckupInstitutionInvoice(), fetchCreateCheckupInstitutionProject(), fetchUpdateCheckupInstitution(), fetchUpdateCheckupInstitutionInvoice(), fetchUpdateCheckupInstitutionProject() (+41 more) +Nodes (50): fetchCheckupInstitutionInvoices(), fetchCheckupInstitutionProjects(), fetchCreateCheckupInstitution(), fetchCreateCheckupInstitutionInvoice(), fetchCreateCheckupInstitutionProject(), fetchUpdateCheckupInstitution(), fetchUpdateCheckupInstitutionInvoice(), fetchUpdateCheckupInstitutionProject() (+42 more) ### Community 9 - "Community 9" -Cohesion: 0.03 -Nodes (41): fetchCreateMenu(), fetchDeleteMenu(), fetchMenuTree(), fetchRoleOptions(), fetchUpdateMenu(), fetchDeleteMaterialBatch(), fetchMaterialBatchList(), fetchMaterialBatchOptions() (+33 more) +Cohesion: 0.04 +Nodes (42): buildBaseFields(), buildFeeSection(), buildInboundBasicSection(), buildInboundCellStorageProductionViewSections(), buildInboundResearchDonationProductionViewSections(), buildOutboundBasicExperimentProductionViewSections(), buildOutboundClinicalProductionViewSections(), buildOutboundDetail() (+34 more) ### Community 10 - "Community 10" Cohesion: 0.04 -Nodes (50): fetchMyProductionTasks(), fetchMyQcTaskList(), fetchQcTaskDetail(), fetchQcTaskList(), shouldApplyTriggerSourceFilter(), buildMineTableRows(), buildPresetTasksMap(), buildWorkOrderFromTasks() (+42 more) +Nodes (40): useSettingsHandlers(), useSettingsPanel(), useSettingsState(), RoutePermissionValidator, useCeremony(), useTheme(), if(), walk() (+32 more) ### Community 11 - "Community 11" -Cohesion: 0.04 -Nodes (43): useSettingsHandlers(), useSettingsPanel(), useSettingsState(), RoutePermissionValidator, useCeremony(), useTheme(), if(), collectAllPostBindDeptIds() (+35 more) +Cohesion: 0.05 +Nodes (53): fetchGetMenuCodes(), fetchGetUserInfo(), fetchLogin(), fetchRefreshToken(), fetchUpdateProfile(), fetchUploadProfileAvatar(), toLogin(), fetchUserInfo() (+45 more) ### Community 12 - "Community 12" Cohesion: 0.04 -Nodes (45): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), updateInfusionScheduleStatus(), handleDialogClose(), handleAdd(), handleBatchDelete() (+37 more) +Nodes (44): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), updateInfusionScheduleStatus(), handleDialogClose(), handleAdd(), handleDelete() (+36 more) ### Community 13 - "Community 13" Cohesion: 0.04 -Nodes (36): buildInboundBasicSection(), buildInboundCellStorageViewSections(), buildInboundResearchDonationViewSections(), buildReceptionSection(), buildTransportSection(), resolveInboundProtocolStatus(), protocolStatusDisplay(), maskIdCard() (+28 more) +Nodes (26): handleBlur(), handleFocus(), handleInput(), fetchEthnicList(), formatAmount(), formatAmount(), formatProtocolAmount(), applyDonationBundleToForm() (+18 more) ### Community 14 - "Community 14" -Cohesion: 0.04 -Nodes (31): dash(), fmtMoney(), auditorDisplay(), dash(), ensureUnitsInOptions(), expressName(), formatYm(), formatYmd() (+23 more) - -### Community 15 - "Community 15" Cohesion: 0.05 Nodes (34): fetchClinicalPaymentDetail(), fetchClinicalPayments(), fetchClinicalReceiptConfirmed(), fetchClinicalReceiptPending(), fetchClinicalRefundConfirmed(), fetchClinicalRefundPending(), fetchOrderAdjusts(), fetchOrderDetail() (+26 more) -### Community 16 - "Community 16" +### Community 15 - "Community 15" Cohesion: 0.06 Nodes (37): fetchUserList(), fetchAddTaskStep(), fetchCopyTaskStep(), fetchDeleteTaskStep(), fetchDispatchProductionTaskSteps(), fetchForwardProductionTask(), fetchProductionTaskDetail(), fetchProductionTaskEditorInit() (+29 more) +### Community 16 - "Community 16" +Cohesion: 0.05 +Nodes (25): fetchCreateMenu(), fetchDeleteMenu(), fetchMenuTree(), fetchRoleOptions(), fetchUpdateMenu(), collectIds(), postorder(), preorder() (+17 more) + ### Community 17 - "Community 17" Cohesion: 0.08 Nodes (37): formatDatetimeToMinute(), handleChineseDatetimePaste(), parseChineseDatetimeText(), parseBirthOrder(), parseChineseNumeral(), addSampleHint(), earliestCollectTime(), isMaternalBloodEmpty() (+29 more) ### Community 18 - "Community 18" -Cohesion: 0.1 -Nodes (2): WebSocketClient, TableCache +Cohesion: 0.06 +Nodes (21): fetchQcMaterialBatchList(), fetchQcMaterialBatchOptions(), fetchQcMaterialList(), fetchQcMaterialOptions(), fetchUpdateQcMaterialBatch(), fetchMarkQcMaterialUsageFullyUsed(), financeAttachmentsToUrlString(), for() (+13 more) ### Community 19 - "Community 19" -Cohesion: 0.06 -Nodes (20): fetchQcMaterialBatchList(), fetchQcMaterialBatchOptions(), fetchQcMaterialList(), fetchQcMaterialOptions(), fetchUpdateQcMaterialBatch(), fetchMarkQcMaterialUsageFullyUsed(), financeAttachmentsToUrlString(), ensureTabMounted() (+12 more) +Cohesion: 0.09 +Nodes (36): attachmentFullUrl(), dash(), handleAttachmentDownload(), handleAttachmentPreview(), buildPaymentFlowSteps(), dash(), formatAmount(), hasFinanceReceipt() (+28 more) ### Community 20 - "Community 20" -Cohesion: 0.08 -Nodes (32): toLogin(), base64ToBytes(), bytesToBase64(), decryptJson(), deriveKey(), encryptJson(), fromBase64Url(), hexToBytes() (+24 more) +Cohesion: 0.06 +Nodes (13): fetchProductionWorkOrderQcInfo(), dash(), fmtMoney(), auditorDisplay(), dash(), ensureUnitsInOptions(), expressName(), formatYm() (+5 more) ### Community 21 - "Community 21" -Cohesion: 0.07 -Nodes (24): fetchMineProductionWorkOrderTabStepCounts(), fetchMineProductionWorkOrderTabStepCountsDeduped(), fetchProductionWorkOrderCellProductOptions(), fetchProductionWorkOrderDetail(), fetchProductionWorkOrderList(), fetchProductionWorkOrderQcDispatchOptions(), fetchProductionWorkOrderQcInfo(), fetchProductionWorkOrderTabStepCounts() (+16 more) +Cohesion: 0.1 +Nodes (2): WebSocketClient, TableCache ### Community 22 - "Community 22" Cohesion: 0.09 @@ -188,44 +188,44 @@ Nodes (8): getDefaultLanguage(), checkStorageCompatibility(), StorageConfig, get ### Community 23 - "Community 23" Cohesion: 0.08 -Nodes (18): fetchProductionReceptionBySampleCode(), fetchProductionReceptionSubmit(), fetchProductionReceptionUpdate(), onUserSelectVisible(), remoteSearchUsers(), buildPayload(), ensureDefaultHandler(), initDialog() (+10 more) +Nodes (20): createEmptySnapshots(), normalizeConfiguredReagents(), normalizeConsumables(), normalizeDataCollections(), normalizeReagents(), normalizeStepOutputs(), serializeAttachments(), serializeEquipmentIds() (+12 more) ### Community 24 - "Community 24" Cohesion: 0.08 -Nodes (20): createEmptySnapshots(), normalizeConfiguredReagents(), normalizeConsumables(), normalizeDataCollections(), normalizeReagents(), normalizeStepOutputs(), serializeAttachments(), serializeEquipmentIds() (+12 more) +Nodes (18): fetchProductionReceptionBySampleCode(), fetchProductionReceptionSubmit(), fetchProductionReceptionUpdate(), onUserSelectVisible(), remoteSearchUsers(), buildPayload(), ensureDefaultHandler(), initDialog() (+10 more) ### Community 25 - "Community 25" +Cohesion: 0.07 +Nodes (19): fetchDeleteMaterialBatch(), fetchMaterialBatchList(), fetchMaterialBatchOptions(), fetchMaterialList(), fetchMaterialOptions(), fetchUpdateMaterialBatch(), fetchMaterialUsageList(), fetchMyMaterialUsageList() (+11 more) + +### Community 26 - "Community 26" Cohesion: 0.09 Nodes (28): completePilotApplication(), deletePilotApplication(), fetchPilotApplicationList(), startPilotApplication(), voidPilotApplication(), clearTableSelection(), handleBatchComplete(), handleBatchStart() (+20 more) -### Community 26 - "Community 26" -Cohesion: 0.11 -Nodes (21): fetchGetMenuCodes(), fetchGetUserInfo(), fetchLogin(), fetchRefreshToken(), fetchUpdateProfile(), fetchUploadProfileAvatar(), fetchUserInfo(), buildWebEncryptedLoginBody() (+13 more) - ### Community 27 - "Community 27" Cohesion: 0.09 +Nodes (22): fetchMineProductionWorkOrderTabStepCounts(), fetchMineProductionWorkOrderTabStepCountsDeduped(), fetchProductionWorkOrderCellProductOptions(), fetchProductionWorkOrderDetail(), fetchProductionWorkOrderList(), fetchProductionWorkOrderQcDispatchOptions(), fetchProductionWorkOrderTabStepCounts(), fetchProductionWorkOrderTabStepCountsDeduped() (+14 more) + +### Community 28 - "Community 28" +Cohesion: 0.09 Nodes (11): fetchMineQcWorkOrderTabUnfinishedCounts(), fetchOutboundQcDetail(), fetchQcWorkOrderDetail(), fetchQcWorkOrderList(), fetchQcWorkOrderTabUnfinishedCounts(), reload(), reloadTabCounts(), handleMenuJump() (+3 more) -### Community 28 - "Community 28" +### Community 29 - "Community 29" Cohesion: 0.12 Nodes (15): addCopyButton(), highlightCode(), insertLineNumbers(), isBlockProcessed(), markBlockAsProcessed(), processBlock(), setupHighlightDirective(), setupRippleDirective() (+7 more) -### Community 29 - "Community 29" +### Community 30 - "Community 30" Cohesion: 0.11 Nodes (11): fetchOutboundReleaseMaterial(), fetchOutboundReleaseReviewDetail(), fetchOutboundReleaseReviewList(), fetchReleaseReviewList(), handleReset(), handleSearch(), handleToggleSelect(), loadData() (+3 more) -### Community 30 - "Community 30" +### Community 31 - "Community 31" Cohesion: 0.13 Nodes (18): fetchCellSampleTypeList(), fetchCreateCellSampleType(), fetchDeleteCellSampleType(), fetchUpdateCellSampleType(), handleAdd(), handleDelete(), handleDropdownCommand(), handleEdit() (+10 more) -### Community 31 - "Community 31" +### Community 32 - "Community 32" Cohesion: 0.19 Nodes (15): fetchAttachmentDownloadUrl(), attachmentFullUrl(), ensureUniqueZipEntryName(), fetchAttachmentBlob(), getAttachmentExtension(), resolveAttachmentFileName(), sanitizeZipPathSegment(), applyInboundLabStorageCodePrefix() (+7 more) -### Community 32 - "Community 32" -Cohesion: 0.12 -Nodes (12): fetchApproveTask(), fetchBusinessAllTasks(), fetchCompletedTasks(), fetchDesignerData(), fetchInstanceDetail(), fetchMyInstances(), fetchPendingTasks(), fetchProcessDefList() (+4 more) - ### Community 33 - "Community 33" Cohesion: 0.16 Nodes (14): fetchCreateEnvDetectItem(), fetchDeleteEnvDetectItem(), fetchEnvDetectItemDetail(), fetchEnvDetectItemList(), fetchEnvDetectItemsActive(), fetchUpdateEnvDetectItem(), handleAdd(), handleBatchDelete() (+6 more) @@ -239,73 +239,73 @@ Cohesion: 0.27 Nodes (14): useChart(), useChartComponent(), useChartOps(), colourBlend(), getCssVar(), getDarkColor(), getLightColor(), handleElementThemeColor() (+6 more) ### Community 36 - "Community 36" -Cohesion: 0.33 -Nodes (13): buildProtocolPaymentFlowSteps(), dash(), financeReceiptTime(), formatAmount(), hasFinanceReceipt(), hasFinanceRefund(), hasReceiptSubmit(), hasRefundSubmit() (+5 more) - -### Community 37 - "Community 37" Cohesion: 0.19 Nodes (6): fetchServiceOrderTxnList(), handleReset(), handleSearch(), handleTabChange(), loadData(), switchTab() -### Community 39 - "Community 39" +### Community 38 - "Community 38" Cohesion: 0.24 Nodes (8): fullFileUrl(), handlePreviewAttachment(), isVideoFile(), normalizeDisplayValue(), resolveReviewCellType(), resolveReviewQuantity(), resolveReviewSpecText(), uniqueJoined() -### Community 40 - "Community 40" +### Community 39 - "Community 39" Cohesion: 0.24 Nodes (4): addMaterialRow(), nextMaterialRowKey(), onRequisitionSelect(), removeMaterialRow() -### Community 41 - "Community 41" +### Community 40 - "Community 40" Cohesion: 0.25 Nodes (2): handleTouchEnd(), setTransition() -### Community 44 - "Community 44" +### Community 41 - "Community 41" Cohesion: 0.28 -Nodes (4): fetchMyProductionMaterialConsumptions(), handleReset(), handleSearch(), loadData() +Nodes (1): FireworkSystem -### Community 46 - "Community 46" +### Community 45 - "Community 45" Cohesion: 0.39 Nodes (6): isIgnorableScriptError(), normalizeErrorMessage(), registerPromiseErrorHandler(), registerResourceErrorHandler(), scriptErrorHandler(), setupErrorHandle() -### Community 47 - "Community 47" +### Community 46 - "Community 46" Cohesion: 0.36 Nodes (1): TableHeightCalculator -### Community 49 - "Community 49" +### Community 48 - "Community 48" Cohesion: 0.33 Nodes (2): logApiCryptoBootInfo(), maskSecret() -### Community 50 - "Community 50" +### Community 49 - "Community 49" Cohesion: 0.38 Nodes (4): handleFocus(), handleInput(), parseDecimalToNumber(), sanitizeDecimalInput() -### Community 51 - "Community 51" -Cohesion: 0.29 -Nodes (2): fetchLeaveDetail(), fetchLeaveList() - -### Community 52 - "Community 52" +### Community 50 - "Community 50" Cohesion: 0.4 Nodes (2): isUnfinishedQcWorkOrder(), resolveQcWorkOrderUnfinishedBadgeCount() -### Community 53 - "Community 53" +### Community 51 - "Community 51" Cohesion: 0.47 Nodes (3): isPaymentDueWithinWarnWindow(), parsePaymentDueYmd(), startOfLocalDay() -### Community 54 - "Community 54" +### Community 52 - "Community 52" +Cohesion: 0.33 +Nodes (2): fetchEnvDetectRecordDetail(), fetchEnvDetectRecordList() + +### Community 53 - "Community 53" Cohesion: 0.5 Nodes (2): formatProtocolDocDeleteConfirm(), formatProtocolDocSubject() -### Community 55 - "Community 55" +### Community 54 - "Community 54" Cohesion: 0.5 Nodes (2): parseEquipmentIds(), syncEquipmentNamesFromOptions() -### Community 57 - "Community 57" +### Community 56 - "Community 56" Cohesion: 0.5 Nodes (2): focusInput(), handleKeydown() -### Community 59 - "Community 59" +### Community 58 - "Community 58" Cohesion: 0.67 Nodes (2): if(), logSidebarMenu() +### Community 60 - "Community 60" +Cohesion: 0.5 +Nodes (1): fetchQcSmsList() + ### Community 63 - "Community 63" Cohesion: 1.0 Nodes (2): getSettingDefaults(), resetToDefaults() @@ -327,25 +327,29 @@ Cohesion: 1.0 Nodes (2): emptyTabCounts(), useQcWorkOrderTabUnfinishedCounts() ## Knowledge Gaps -- **Thin community `Community 18`** (42 nodes): `WebSocketClient`, `.calculateReconnectDelay()`, `.clearAllTimers()`, `.clearConnectionTimers()`, `.clearTimer()`, `.close()`, `.closeCurrentSocketForReconnect()`, `.connect()`, `.connectionStatusText()`, `.constructor()`, `.destroyInstance()`, `.flushMessageQueue()`, `.getInstance()`, `.getReadyStateText()`, `.handleClose()`, `.handleConnectionTimeout()`, `.handleError()`, `.handleMessage()`, `.handleOpen()`, `.init()`, `.isWebSocketConnected()`, `.reconnect()`, `.resetHeartbeat()`, `.send()`, `.startHeartbeat()`, `.startPing()`, `TableCache`, `.cleanupExpired()`, `.clear()`, `.clearByTags()`, `.clearCurrentSearch()`, `.clearPagination()`, `.constructor()`, `.evictLRU()`, `.generateKey()`, `.generateTags()`, `.get()`, `.getStats()`, `.log()`, `.set()`, `index.ts`, `tableCache.ts` +- **Thin community `Community 21`** (42 nodes): `WebSocketClient`, `.calculateReconnectDelay()`, `.clearAllTimers()`, `.clearConnectionTimers()`, `.clearTimer()`, `.close()`, `.closeCurrentSocketForReconnect()`, `.connect()`, `.connectionStatusText()`, `.constructor()`, `.destroyInstance()`, `.flushMessageQueue()`, `.getInstance()`, `.getReadyStateText()`, `.handleClose()`, `.handleConnectionTimeout()`, `.handleError()`, `.handleMessage()`, `.handleOpen()`, `.init()`, `.isWebSocketConnected()`, `.reconnect()`, `.resetHeartbeat()`, `.send()`, `.startHeartbeat()`, `.startPing()`, `TableCache`, `.cleanupExpired()`, `.clear()`, `.clearByTags()`, `.clearCurrentSearch()`, `.clearPagination()`, `.constructor()`, `.evictLRU()`, `.generateKey()`, `.generateTags()`, `.get()`, `.getStats()`, `.log()`, `.set()`, `index.ts`, `tableCache.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 41`** (9 nodes): `cleanupEventListeners()`, `handleTouchEnd()`, `handleTouchMove()`, `handleTouchStart()`, `handleWheelScroll()`, `if()`, `setTransition()`, `setupEventListeners()`, `index.vue` +- **Thin community `Community 40`** (9 nodes): `cleanupEventListeners()`, `handleTouchEnd()`, `handleTouchMove()`, `handleTouchStart()`, `handleWheelScroll()`, `if()`, `setTransition()`, `setupEventListeners()`, `index.vue` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 47`** (8 nodes): `TableHeightCalculator`, `.calculate()`, `.calculateOffset()`, `.calculatePaginationOffset()`, `.constructor()`, `.getHeaderHeight()`, `useTableHeight()`, `useTableHeight.ts` +- **Thin community `Community 41`** (9 nodes): `FireworkSystem`, `.constructor()`, `.createFirework()`, `.createParticle()`, `.getAvailableParticle()`, `.initializePool()`, `.preloadAllImages()`, `.preloadImage()`, `index.vue` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 49`** (7 nodes): `App.vue`, `main.ts`, `refreshButtonAutoIcons()`, `refreshPanelTitleIcons()`, `logApiCryptoBootInfo()`, `maskSecret()`, `console.ts` +- **Thin community `Community 46`** (8 nodes): `TableHeightCalculator`, `.calculate()`, `.calculateOffset()`, `.calculatePaginationOffset()`, `.constructor()`, `.getHeaderHeight()`, `useTableHeight()`, `useTableHeight.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 51`** (7 nodes): `fetchCreateLeave()`, `fetchDeleteLeave()`, `fetchLeaveDetail()`, `fetchLeaveList()`, `fetchSubmitLeave()`, `fetchUpdateLeave()`, `leave.ts` +- **Thin community `Community 48`** (7 nodes): `App.vue`, `main.ts`, `refreshButtonAutoIcons()`, `refreshPanelTitleIcons()`, `logApiCryptoBootInfo()`, `maskSecret()`, `console.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 52`** (6 nodes): `formatQcWorkOrderUnfinishedBadgeCount()`, `isUnfinishedQcWorkOrder()`, `qcWorkOrderUnfinishedBadgeTitle()`, `resolveQcWorkOrderUnfinishedBadgeCount()`, `sumQcWorkOrderGroupUnfinishedBadgeCount()`, `qc-work-order-unfinished-badge.ts` +- **Thin community `Community 50`** (6 nodes): `formatQcWorkOrderUnfinishedBadgeCount()`, `isUnfinishedQcWorkOrder()`, `qcWorkOrderUnfinishedBadgeTitle()`, `resolveQcWorkOrderUnfinishedBadgeCount()`, `sumQcWorkOrderGroupUnfinishedBadgeCount()`, `qc-work-order-unfinished-badge.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 54`** (5 nodes): `formatProtocolDocBatchDeleteConfirm()`, `formatProtocolDocDeleteConfirm()`, `formatProtocolDocSubject()`, `getProtocolDocTypeLabel()`, `protocol-doc-label.ts` +- **Thin community `Community 52`** (6 nodes): `fetchCreateEnvDetectRecord()`, `fetchDeleteEnvDetectRecord()`, `fetchEnvDetectRecordDetail()`, `fetchEnvDetectRecordList()`, `fetchUpdateEnvDetectRecord()`, `env-detect-record.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 55`** (5 nodes): `equipmentOptionLabel()`, `joinEquipmentIds()`, `parseEquipmentIds()`, `syncEquipmentNamesFromOptions()`, `equipment-select.ts` +- **Thin community `Community 53`** (5 nodes): `formatProtocolDocBatchDeleteConfirm()`, `formatProtocolDocDeleteConfirm()`, `formatProtocolDocSubject()`, `getProtocolDocTypeLabel()`, `protocol-doc-label.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 57`** (5 nodes): `focusInput()`, `handleKeydown()`, `if()`, `search()`, `index.vue` +- **Thin community `Community 54`** (5 nodes): `equipmentOptionLabel()`, `joinEquipmentIds()`, `parseEquipmentIds()`, `syncEquipmentNamesFromOptions()`, `equipment-select.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 59`** (4 nodes): `if()`, `logSidebarMenu()`, `index.vue`, `SidebarSubmenu.vue` +- **Thin community `Community 56`** (5 nodes): `focusInput()`, `handleKeydown()`, `if()`, `search()`, `index.vue` + Too small to be a meaningful cluster - may be noise or needs more connections extracted. +- **Thin community `Community 58`** (4 nodes): `if()`, `logSidebarMenu()`, `index.vue`, `SidebarSubmenu.vue` + Too small to be a meaningful cluster - may be noise or needs more connections extracted. +- **Thin community `Community 60`** (4 nodes): `fetchGenerateQcSms()`, `fetchQcSmsList()`, `fetchToggleQcSmsNotified()`, `qc-sms-notification.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 63`** (3 nodes): `getSettingDefaults()`, `resetToDefaults()`, `setting.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. @@ -361,16 +365,16 @@ Nodes (2): emptyTabCounts(), useQcWorkOrderTabUnfinishedCounts() ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `get()` connect `Community 0` to `Community 1`, `Community 2`, `Community 3`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 15`, `Community 16`, `Community 19`, `Community 21`, `Community 23`, `Community 25`, `Community 26`, `Community 27`, `Community 29`, `Community 30`, `Community 32`, `Community 33`, `Community 37`, `Community 44`, `Community 51`?** - _High betweenness centrality (0.277) - this node is a cross-community bridge._ -- **Why does `push()` connect `Community 2` to `Community 0`, `Community 1`, `Community 3`, `Community 6`, `Community 7`, `Community 8`, `Community 10`, `Community 11`, `Community 13`, `Community 14`, `Community 16`, `Community 17`, `Community 18`, `Community 20`, `Community 21`, `Community 24`, `Community 25`, `Community 27`, `Community 31`, `Community 40`?** - _High betweenness centrality (0.256) - this node is a cross-community bridge._ -- **Why does `fetchNotDeletedRegions()` connect `Community 0` to `Community 2`?** +- **Why does `get()` connect `Community 0` to `Community 1`, `Community 2`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 10`, `Community 11`, `Community 12`, `Community 13`, `Community 14`, `Community 15`, `Community 16`, `Community 18`, `Community 20`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 28`, `Community 30`, `Community 31`, `Community 33`, `Community 36`, `Community 52`, `Community 60`?** + _High betweenness centrality (0.308) - this node is a cross-community bridge._ +- **Why does `push()` connect `Community 4` to `Community 0`, `Community 1`, `Community 2`, `Community 5`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 15`, `Community 16`, `Community 17`, `Community 19`, `Community 20`, `Community 21`, `Community 23`, `Community 26`, `Community 27`, `Community 28`, `Community 32`, `Community 39`, `Community 41`?** + _High betweenness centrality (0.269) - this node is a cross-community bridge._ +- **Why does `fetchNotDeletedRegions()` connect `Community 0` to `Community 4`?** _High betweenness centrality (0.035) - this node is a cross-community bridge._ - **Are the 278 inferred relationships involving `get()` (e.g. with `buildNodeCodePathFromFlat()` and `collectLeafFacilityNodesInTreeOrder()`) actually correct?** _`get()` has 278 INFERRED edges - model-reasoned connections that need verification._ -- **Are the 76 inferred relationships involving `push()` (e.g. with `refreshQcMenuBadges()` and `collectLeafFacilityNodesInTreeOrder()`) actually correct?** - _`push()` has 76 INFERRED edges - model-reasoned connections that need verification._ +- **Are the 74 inferred relationships involving `push()` (e.g. with `refreshQcMenuBadges()` and `collectLeafFacilityNodesInTreeOrder()`) actually correct?** + _`push()` has 74 INFERRED edges - model-reasoned connections that need verification._ - **Are the 23 inferred relationships involving `emit()` (e.g. with `handleSubmit()` and `handleDialogClose()`) actually correct?** _`emit()` has 23 INFERRED edges - model-reasoned connections that need verification._ - **Are the 19 inferred relationships involving `set()` (e.g. with `buildNodeCodePathFromFlat()` and `collectLeafFacilityNodesInTreeOrder()`) actually correct?** diff --git a/web-admin/graphify-out/graph.html b/web-admin/graphify-out/graph.html index c6ce706d..583e36b1 100644 --- a/web-admin/graphify-out/graph.html +++ b/web-admin/graphify-out/graph.html @@ -57,12 +57,12 @@
-
2845 nodes · 3968 edges · 336 communities
+
2839 nodes · 3960 edges · 336 communities