@chenchaolong/plugin-trade-compliance-workbench 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/index.d.ts +18 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +20 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/adapters/hsbianma.provider.d.ts +6 -8
  6. package/dist/lib/adapters/hsbianma.provider.d.ts.map +1 -1
  7. package/dist/lib/adapters/hsbianma.provider.js +159 -53
  8. package/dist/lib/adapters/hsbianma.provider.js.map +1 -1
  9. package/dist/lib/adapters/translation.provider.d.ts +7 -1
  10. package/dist/lib/adapters/translation.provider.d.ts.map +1 -1
  11. package/dist/lib/adapters/translation.provider.js +15 -5
  12. package/dist/lib/adapters/translation.provider.js.map +1 -1
  13. package/dist/lib/domain/catalog-localization.d.ts +14 -0
  14. package/dist/lib/domain/catalog-localization.d.ts.map +1 -0
  15. package/dist/lib/domain/catalog-localization.js +19 -0
  16. package/dist/lib/domain/catalog-localization.js.map +1 -0
  17. package/dist/lib/domain/file-name.d.ts +8 -0
  18. package/dist/lib/domain/file-name.d.ts.map +1 -0
  19. package/dist/lib/domain/file-name.js +111 -0
  20. package/dist/lib/domain/file-name.js.map +1 -0
  21. package/dist/lib/domain/import-issues.d.ts +4 -0
  22. package/dist/lib/domain/import-issues.d.ts.map +1 -1
  23. package/dist/lib/domain/import-issues.js +14 -3
  24. package/dist/lib/domain/import-issues.js.map +1 -1
  25. package/dist/lib/entities/catalog.entity.d.ts +5 -1
  26. package/dist/lib/entities/catalog.entity.d.ts.map +1 -1
  27. package/dist/lib/entities/catalog.entity.js +16 -0
  28. package/dist/lib/entities/catalog.entity.js.map +1 -1
  29. package/dist/lib/entities/customer.entity.d.ts +3 -0
  30. package/dist/lib/entities/customer.entity.d.ts.map +1 -1
  31. package/dist/lib/entities/customer.entity.js +12 -0
  32. package/dist/lib/entities/customer.entity.js.map +1 -1
  33. package/dist/lib/entities/shared.entity.d.ts +9 -0
  34. package/dist/lib/entities/shared.entity.d.ts.map +1 -1
  35. package/dist/lib/entities/shared.entity.js +33 -0
  36. package/dist/lib/entities/shared.entity.js.map +1 -1
  37. package/dist/lib/import-jobs/agent-handoff.dispatcher.d.ts +15 -0
  38. package/dist/lib/import-jobs/agent-handoff.dispatcher.d.ts.map +1 -0
  39. package/dist/lib/import-jobs/agent-handoff.dispatcher.js +114 -0
  40. package/dist/lib/import-jobs/agent-handoff.dispatcher.js.map +1 -0
  41. package/dist/lib/import-jobs/contracts.d.ts +76 -0
  42. package/dist/lib/import-jobs/contracts.d.ts.map +1 -0
  43. package/dist/lib/import-jobs/contracts.js +31 -0
  44. package/dist/lib/import-jobs/contracts.js.map +1 -0
  45. package/dist/lib/import-jobs/import-command.builder.d.ts +30 -0
  46. package/dist/lib/import-jobs/import-command.builder.d.ts.map +1 -0
  47. package/dist/lib/import-jobs/import-command.builder.js +97 -0
  48. package/dist/lib/import-jobs/import-command.builder.js.map +1 -0
  49. package/dist/lib/import-jobs/import-job-callback.processor.d.ts +15 -0
  50. package/dist/lib/import-jobs/import-job-callback.processor.d.ts.map +1 -0
  51. package/dist/lib/import-jobs/import-job-callback.processor.js +107 -0
  52. package/dist/lib/import-jobs/import-job-callback.processor.js.map +1 -0
  53. package/dist/lib/import-jobs/import-job.coordinator.d.ts +17 -0
  54. package/dist/lib/import-jobs/import-job.coordinator.d.ts.map +1 -0
  55. package/dist/lib/import-jobs/import-job.coordinator.js +256 -0
  56. package/dist/lib/import-jobs/import-job.coordinator.js.map +1 -0
  57. package/dist/lib/import-jobs/import-job.processor.d.ts +24 -0
  58. package/dist/lib/import-jobs/import-job.processor.d.ts.map +1 -0
  59. package/dist/lib/import-jobs/import-job.processor.js +213 -0
  60. package/dist/lib/import-jobs/import-job.processor.js.map +1 -0
  61. package/dist/lib/import-jobs/import-timeout.processor.d.ts +12 -0
  62. package/dist/lib/import-jobs/import-timeout.processor.d.ts.map +1 -0
  63. package/dist/lib/import-jobs/import-timeout.processor.js +37 -0
  64. package/dist/lib/import-jobs/import-timeout.processor.js.map +1 -0
  65. package/dist/lib/import-jobs/organization-lease.d.ts +39 -0
  66. package/dist/lib/import-jobs/organization-lease.d.ts.map +1 -0
  67. package/dist/lib/import-jobs/organization-lease.js +136 -0
  68. package/dist/lib/import-jobs/organization-lease.js.map +1 -0
  69. package/dist/lib/plugin-context.token.d.ts +4 -0
  70. package/dist/lib/plugin-context.token.d.ts.map +1 -0
  71. package/dist/lib/plugin-context.token.js +2 -0
  72. package/dist/lib/plugin-context.token.js.map +1 -0
  73. package/dist/lib/public-dto.d.ts +6 -0
  74. package/dist/lib/public-dto.d.ts.map +1 -0
  75. package/dist/lib/public-dto.js +33 -0
  76. package/dist/lib/public-dto.js.map +1 -0
  77. package/dist/lib/remote-components/trade-compliance-workbench/app.css +1 -1
  78. package/dist/lib/remote-components/trade-compliance-workbench/app.js +5 -5
  79. package/dist/lib/remote-ui/action-execution.d.ts +26 -0
  80. package/dist/lib/remote-ui/action-execution.d.ts.map +1 -0
  81. package/dist/lib/remote-ui/action-execution.js +85 -0
  82. package/dist/lib/remote-ui/action-execution.js.map +1 -0
  83. package/dist/lib/remote-ui/analytics-contracts.d.ts +3 -2
  84. package/dist/lib/remote-ui/analytics-contracts.d.ts.map +1 -1
  85. package/dist/lib/remote-ui/analytics-contracts.js.map +1 -1
  86. package/dist/lib/remote-ui/app-source.d.ts.map +1 -1
  87. package/dist/lib/remote-ui/app-source.js +462 -176
  88. package/dist/lib/remote-ui/app-source.js.map +1 -1
  89. package/dist/lib/remote-ui/company-logo-lifecycle.d.ts +14 -0
  90. package/dist/lib/remote-ui/company-logo-lifecycle.d.ts.map +1 -0
  91. package/dist/lib/remote-ui/company-logo-lifecycle.js +52 -0
  92. package/dist/lib/remote-ui/company-logo-lifecycle.js.map +1 -0
  93. package/dist/lib/remote-ui/components/data-grid.d.ts +9 -4
  94. package/dist/lib/remote-ui/components/data-grid.d.ts.map +1 -1
  95. package/dist/lib/remote-ui/components/data-grid.js +41 -9
  96. package/dist/lib/remote-ui/components/data-grid.js.map +1 -1
  97. package/dist/lib/remote-ui/components/forms.d.ts +6 -1
  98. package/dist/lib/remote-ui/components/forms.d.ts.map +1 -1
  99. package/dist/lib/remote-ui/components/forms.js +6 -1
  100. package/dist/lib/remote-ui/components/forms.js.map +1 -1
  101. package/dist/lib/remote-ui/components/layout.d.ts.map +1 -1
  102. package/dist/lib/remote-ui/components/layout.js +4 -3
  103. package/dist/lib/remote-ui/components/layout.js.map +1 -1
  104. package/dist/lib/remote-ui/contract-import.d.ts +37 -32
  105. package/dist/lib/remote-ui/contract-import.d.ts.map +1 -1
  106. package/dist/lib/remote-ui/contract-import.js +51 -59
  107. package/dist/lib/remote-ui/contract-import.js.map +1 -1
  108. package/dist/lib/remote-ui/contracts.d.ts +20 -27
  109. package/dist/lib/remote-ui/contracts.d.ts.map +1 -1
  110. package/dist/lib/remote-ui/contracts.js +8 -0
  111. package/dist/lib/remote-ui/contracts.js.map +1 -1
  112. package/dist/lib/remote-ui/customer-contract-contracts.d.ts +5 -11
  113. package/dist/lib/remote-ui/customer-contract-contracts.d.ts.map +1 -1
  114. package/dist/lib/remote-ui/customer-contract-contracts.js.map +1 -1
  115. package/dist/lib/remote-ui/date-time.d.ts +3 -0
  116. package/dist/lib/remote-ui/date-time.d.ts.map +1 -0
  117. package/dist/lib/remote-ui/date-time.js +58 -0
  118. package/dist/lib/remote-ui/date-time.js.map +1 -0
  119. package/dist/lib/remote-ui/model.d.ts +26 -1
  120. package/dist/lib/remote-ui/model.d.ts.map +1 -1
  121. package/dist/lib/remote-ui/model.js +151 -15
  122. package/dist/lib/remote-ui/model.js.map +1 -1
  123. package/dist/lib/remote-ui/pages/analytics.d.ts +6 -0
  124. package/dist/lib/remote-ui/pages/analytics.d.ts.map +1 -1
  125. package/dist/lib/remote-ui/pages/analytics.js +56 -6
  126. package/dist/lib/remote-ui/pages/analytics.js.map +1 -1
  127. package/dist/lib/remote-ui/pages/catalogs.d.ts +35 -14
  128. package/dist/lib/remote-ui/pages/catalogs.d.ts.map +1 -1
  129. package/dist/lib/remote-ui/pages/catalogs.js +139 -89
  130. package/dist/lib/remote-ui/pages/catalogs.js.map +1 -1
  131. package/dist/lib/remote-ui/pages/contracts.d.ts +10 -5
  132. package/dist/lib/remote-ui/pages/contracts.d.ts.map +1 -1
  133. package/dist/lib/remote-ui/pages/contracts.js +29 -26
  134. package/dist/lib/remote-ui/pages/contracts.js.map +1 -1
  135. package/dist/lib/remote-ui/pages/files.d.ts +55 -4
  136. package/dist/lib/remote-ui/pages/files.d.ts.map +1 -1
  137. package/dist/lib/remote-ui/pages/files.js +121 -14
  138. package/dist/lib/remote-ui/pages/files.js.map +1 -1
  139. package/dist/lib/remote-ui/pages/home.js +2 -2
  140. package/dist/lib/remote-ui/pages/home.js.map +1 -1
  141. package/dist/lib/remote-ui/pages/procurement.d.ts +6 -4
  142. package/dist/lib/remote-ui/pages/procurement.d.ts.map +1 -1
  143. package/dist/lib/remote-ui/pages/procurement.js +69 -66
  144. package/dist/lib/remote-ui/pages/procurement.js.map +1 -1
  145. package/dist/lib/remote-ui/pages/sales.d.ts +51 -2
  146. package/dist/lib/remote-ui/pages/sales.d.ts.map +1 -1
  147. package/dist/lib/remote-ui/pages/sales.js +106 -19
  148. package/dist/lib/remote-ui/pages/sales.js.map +1 -1
  149. package/dist/lib/remote-ui/pages/settings.d.ts +29 -14
  150. package/dist/lib/remote-ui/pages/settings.d.ts.map +1 -1
  151. package/dist/lib/remote-ui/pages/settings.js +76 -69
  152. package/dist/lib/remote-ui/pages/settings.js.map +1 -1
  153. package/dist/lib/remote-ui/polling.d.ts +41 -0
  154. package/dist/lib/remote-ui/polling.d.ts.map +1 -0
  155. package/dist/lib/remote-ui/polling.js +148 -0
  156. package/dist/lib/remote-ui/polling.js.map +1 -0
  157. package/dist/lib/remote-ui/procurement-contracts.d.ts +4 -9
  158. package/dist/lib/remote-ui/procurement-contracts.d.ts.map +1 -1
  159. package/dist/lib/remote-ui/sales-contracts.d.ts +5 -3
  160. package/dist/lib/remote-ui/sales-contracts.d.ts.map +1 -1
  161. package/dist/lib/remote-ui/settings-contracts.d.ts +9 -1
  162. package/dist/lib/remote-ui/settings-contracts.d.ts.map +1 -1
  163. package/dist/lib/remote-ui/settings-contracts.js.map +1 -1
  164. package/dist/lib/remote-ui/toast-queue.d.ts +29 -0
  165. package/dist/lib/remote-ui/toast-queue.d.ts.map +1 -0
  166. package/dist/lib/remote-ui/toast-queue.js +71 -0
  167. package/dist/lib/remote-ui/toast-queue.js.map +1 -0
  168. package/dist/lib/sales-file.service.d.ts +13 -35
  169. package/dist/lib/sales-file.service.d.ts.map +1 -1
  170. package/dist/lib/sales-file.service.js +39 -21
  171. package/dist/lib/sales-file.service.js.map +1 -1
  172. package/dist/lib/types.d.ts +22 -3
  173. package/dist/lib/types.d.ts.map +1 -1
  174. package/dist/lib/types.js +5 -0
  175. package/dist/lib/types.js.map +1 -1
  176. package/dist/lib/workbench-action-contract.d.ts +4 -0
  177. package/dist/lib/workbench-action-contract.d.ts.map +1 -0
  178. package/dist/lib/workbench-action-contract.js +43 -0
  179. package/dist/lib/workbench-action-contract.js.map +1 -0
  180. package/dist/lib/workbench-view.provider.d.ts +57 -78
  181. package/dist/lib/workbench-view.provider.d.ts.map +1 -1
  182. package/dist/lib/workbench-view.provider.js +104 -94
  183. package/dist/lib/workbench-view.provider.js.map +1 -1
  184. package/dist/lib/workbench.middleware.d.ts +129 -72
  185. package/dist/lib/workbench.middleware.d.ts.map +1 -1
  186. package/dist/lib/workbench.middleware.js +16 -3
  187. package/dist/lib/workbench.middleware.js.map +1 -1
  188. package/dist/lib/workbench.plugin.d.ts +3 -1
  189. package/dist/lib/workbench.plugin.d.ts.map +1 -1
  190. package/dist/lib/workbench.plugin.js +13 -4
  191. package/dist/lib/workbench.plugin.js.map +1 -1
  192. package/dist/lib/workbench.service.d.ts +136 -40
  193. package/dist/lib/workbench.service.d.ts.map +1 -1
  194. package/dist/lib/workbench.service.js +985 -71
  195. package/dist/lib/workbench.service.js.map +1 -1
  196. package/package.json +6 -5
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import { DataGrid, FilterPanel, InfoNotice, RiskNotice } from '../components/data-grid.js';
4
4
  import { ConfirmDialog, FieldGrid, FormField, Modal } from '../components/forms.js';
5
5
  import { HsCodeLookupDialog } from './catalogs.js';
6
+ import { formatBeijingDateTime, formatBusinessDate } from '../date-time.js';
6
7
  import './sales-files.css';
7
8
  const PAGE_SIZE = 20;
8
9
  const customerFilters = [
@@ -16,14 +17,47 @@ const orderFilters = [
16
17
  { type: 'date-range', key: 'orderDate', label: '下单日期' }, { type: 'select', key: 'paymentStatus', label: '收款状态', options: [{ value: 'UNPAID', label: '未收款' }, { value: 'PARTIAL', label: '部分收款' }, { value: 'PAID', label: '已收款' }] }
17
18
  ];
18
19
  const lineFilters = [
19
- { type: 'text', key: 'productName', label: '商品名称' }, { type: 'text', key: 'productDescription', label: '商品描述' }, { type: 'text', key: 'hsCode', label: '海关编码' },
20
+ { type: 'text', key: 'productName', label: '商品名称' }, { type: 'text', key: 'productDescription', label: '商品描述' }, { type: 'text', key: 'hsCode', label: 'HS编码' },
20
21
  { type: 'select', key: 'complianceCategory', label: '合规分类', options: [{ value: 'DUAL_USE', label: '军民两用' }, { value: 'OVERSEAS_SANCTION', label: '海外制裁' }] }
21
22
  ];
23
+ export function createSalesQueryDispatcher(onQuery) {
24
+ return {
25
+ page: (collection, page, pageSize, filters) => onQuery(collection, { page, pageSize, filters }),
26
+ pageSize: (collection, pageSize, filters) => onQuery(collection, { page: 1, pageSize, filters })
27
+ };
28
+ }
29
+ export function createSalesOrderMaintenancePayload(order, field, value, remarks) {
30
+ return { customerContractId: order.customerContractId, purchaseOrderId: order.purchaseOrderId, [field]: value, remarks };
31
+ }
32
+ export async function completeSalesGeneration(order, draft, onAction, onOpenFiles, onClose) {
33
+ const input = {
34
+ customerContractId: order.customerContractId,
35
+ purchaseOrderId: order.purchaseOrderId,
36
+ ...draft
37
+ };
38
+ const preflight = await onAction('preflight_sales_file', input);
39
+ if (isFailedActionResult(preflight))
40
+ throw new Error(actionFailureMessage(preflight, '销售文件生成预检失败'));
41
+ const preflightData = actionResultData(preflight);
42
+ const blockingReasons = recordArray(preflightData, 'blockingReasons');
43
+ if (!isRecord(preflightData) || preflightData.allowed !== true || blockingReasons.length) {
44
+ const messages = blockingReasons.map(reason => typeof reason.message === 'string' ? reason.message : '').filter(Boolean);
45
+ throw new Error(messages.join(';') || '销售文件生成预检未通过');
46
+ }
47
+ const result = await onAction('generate_sales_file', input);
48
+ if (isFailedActionResult(result))
49
+ throw new Error(actionFailureMessage(result, '销售文件生成失败'));
50
+ const translationFailures = collectTranslationFailures(actionResultData(result));
51
+ onClose();
52
+ onOpenFiles?.(order);
53
+ return translationFailures;
54
+ }
22
55
  export function SalesPage(props) {
23
56
  const [filters, setFilters] = React.useState({});
24
57
  const [confirmCustomer, setConfirmCustomer] = React.useState(null);
25
58
  const [rateDialog, setRateDialog] = React.useState(null);
26
59
  const [manualDialog, setManualDialog] = React.useState(null);
60
+ const [generationDialog, setGenerationDialog] = React.useState(null);
27
61
  const [hsQuery, setHsQuery] = React.useState(null);
28
62
  const [riskLine, setRiskLine] = React.useState(null);
29
63
  const hsAction = React.useMemo(() => createSalesLineLookupAction(props.onAction), [props.onAction]);
@@ -31,16 +65,20 @@ export function SalesPage(props) {
31
65
  const request = dispatchSalesLineLookup(line, field, props.onSalesLineLookup);
32
66
  setHsQuery(request.query);
33
67
  };
34
- const query = (collection, page = 1, next = filters) => props.onQuery(collection, { page, pageSize: PAGE_SIZE, filters: next });
68
+ const queryDispatcher = React.useMemo(() => createSalesQueryDispatcher(props.onQuery), [props.onQuery]);
69
+ const query = (collection, page = 1, next = filters) => {
70
+ const current = collection === 'salesCustomers' ? props.customers : collection === 'salesOrders' ? props.orders : props.lines;
71
+ return queryDispatcher.page(collection, page, pagination(current).pageSize, next);
72
+ };
35
73
  const reset = (collection) => { setFilters({}); void query(collection, 1, {}); };
36
74
  if (props.route.level === 'customers') {
37
75
  const columns = [
38
76
  { type: 'ellipsis', key: 'code', header: '客户代码', width: 130 }, { type: 'ellipsis', key: 'name', header: '客户名称', width: 220, maxWidth: 220 }, { type: 'ellipsis', key: 'country', header: '国家地区', width: 130 },
39
- { type: 'custom', key: 'defaultPricingProfitRate', header: '默认定价利润率', width: 150, render: (_, row) => row.profitRateStatus === 'MISSING' ? _jsx("span", { className: "tcw-tag tcw-tag--warning", children: "\u672A\u7EF4\u62A4" }) : percent(row.defaultPricingProfitRate) },
40
- { type: 'custom', key: 'sanctionStatus', header: '制裁风险', width: 120, render: (_, row) => _jsx(Status, { value: row.sanctionStatus }) }, { type: 'text', key: 'complianceCheckedAt', header: '最近检查日期', width: 150, format: dateText }
77
+ { type: 'custom', key: 'defaultPricingProfitRate', header: '默认定价利润率', width: 150, truncate: false, render: (_, row) => row.profitRateStatus === 'MISSING' ? _jsx("span", { className: "tcw-tag tcw-tag--warning", children: "\u672A\u7EF4\u62A4" }) : percent(row.defaultPricingProfitRate) },
78
+ { type: 'custom', key: 'sanctionStatus', header: '制裁风险', width: 120, truncate: false, render: (_, row) => _jsx(Status, { value: row.sanctionStatus }) }, { type: 'text', key: 'complianceCheckedAt', header: '最近检查时间', width: 170, truncate: false, format: formatBeijingDateTime }
41
79
  ];
42
80
  const openOrders = (row) => row.profitRateStatus === 'MISSING' ? setConfirmCustomer(row) : props.onRouteChange({ type: 'sales', level: 'orders', customerId: row.id });
43
- return _jsxs("main", { className: "tcw-sales-files-page tcw-sales-page tcw-sales-page--customers", children: [_jsx(PageHeading, { title: "\u5BA2\u6237\u4FE1\u606F\u5217\u8868", description: "\u7EF4\u62A4\u9500\u552E\u5BA2\u6237\u4E3B\u4F53\uFF0C\u70B9\u51FB\u8BA2\u5355\u8BE6\u60C5\u8FDB\u5165\u8BE5\u5BA2\u6237\u7684\u9500\u552E\u8BA2\u5355\u5217\u8868\u3002" }), _jsx(FilterPanel, { definitions: customerFilters, values: filters, onChange: (key, value) => setFilters(current => ({ ...current, [key]: value })), onQuery: () => void query('salesCustomers'), onReset: () => reset('salesCustomers') }), _jsx(InfoNotice, { children: "\u5BA2\u6237\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u4E0D\u80FD\u4E3A\u7A7A\uFF1B\u5236\u88C1\u547D\u4E2D\u53EA\u63D0\u793A\uFF0C\u4E0D\u963B\u6B62\u540E\u7EED\u9500\u552E\u4E1A\u52A1\u3002" }), _jsx(DataGrid, { columns: columns, rows: props.customers.items, rowKey: "id", pagination: pagination(props.customers), onPageChange: page => void query('salesCustomers', page), emptyText: "\u6682\u65E0\u5BA2\u6237\u6570\u636E", actionWidth: 230, actions: row => _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", onClick: () => openOrders(row), children: [_jsx("i", { className: "ri-file-list-3-line", "aria-hidden": "true" }), "\u8BA2\u5355\u8BE6\u60C5"] }), _jsxs("button", { type: "button", onClick: () => setRateDialog({ customer: row, enterOrders: false }), children: [_jsx("i", { className: "ri-percent-line", "aria-hidden": "true" }), "\u7EF4\u62A4\u9ED8\u8BA4\u5229\u6DA6\u7387"] })] }) }), _jsx(ConfirmDialog, { open: Boolean(confirmCustomer), title: "\u9ED8\u8BA4\u5229\u6DA6\u7387\u672A\u7EF4\u62A4", message: "\u8BE5\u5BA2\u6237\u5C1A\u672A\u7EF4\u62A4\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u3002\u662F\u5426\u5148\u7EF4\u62A4\u5229\u6DA6\u7387\u540E\u8FDB\u5165\u8BA2\u5355\u5217\u8868\uFF1F", onCancel: () => setConfirmCustomer(null), onConfirm: () => { if (confirmCustomer)
81
+ return _jsxs("main", { className: "tcw-sales-files-page tcw-sales-page tcw-sales-page--customers", children: [_jsx(PageHeading, { title: "\u5BA2\u6237\u4FE1\u606F\u5217\u8868", description: "\u7EF4\u62A4\u9500\u552E\u5BA2\u6237\u4E3B\u4F53\uFF0C\u70B9\u51FB\u8BA2\u5355\u8BE6\u60C5\u8FDB\u5165\u8BE5\u5BA2\u6237\u7684\u9500\u552E\u8BA2\u5355\u5217\u8868\u3002" }), _jsx(FilterPanel, { definitions: customerFilters, values: filters, onChange: (key, value) => setFilters(current => ({ ...current, [key]: value })), onQuery: () => void query('salesCustomers'), onReset: () => reset('salesCustomers') }), _jsx(InfoNotice, { children: "\u5BA2\u6237\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u4E0D\u80FD\u4E3A\u7A7A\uFF1B\u5236\u88C1\u547D\u4E2D\u53EA\u63D0\u793A\uFF0C\u4E0D\u963B\u6B62\u540E\u7EED\u9500\u552E\u4E1A\u52A1\u3002" }), _jsx(DataGrid, { columns: columns, rows: props.customers.items, rowKey: "id", pagination: pagination(props.customers), onPageChange: page => void query('salesCustomers', page), onPageSizeChange: pageSize => void queryDispatcher.pageSize('salesCustomers', pageSize, filters), emptyText: "\u6682\u65E0\u5BA2\u6237\u6570\u636E", actionWidth: 350, actions: row => _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", onClick: () => openOrders(row), children: [_jsx("i", { className: "ri-file-list-3-line", "aria-hidden": "true" }), "\u8BA2\u5355\u8BE6\u60C5"] }), _jsxs("button", { type: "button", onClick: () => setRateDialog({ customer: row, enterOrders: false }), children: [_jsx("i", { className: "ri-user-settings-line", "aria-hidden": "true" }), "\u7EF4\u62A4\u5BA2\u6237\u4FE1\u606F"] }), _jsxs("button", { type: "button", onClick: () => setRateDialog({ customer: row, enterOrders: false }), children: [_jsx("i", { className: "ri-percent-line", "aria-hidden": "true" }), "\u7EF4\u62A4\u9ED8\u8BA4\u5229\u6DA6\u7387"] })] }) }), _jsx(ConfirmDialog, { open: Boolean(confirmCustomer), title: "\u9ED8\u8BA4\u5229\u6DA6\u7387\u672A\u7EF4\u62A4", message: "\u8BE5\u5BA2\u6237\u5C1A\u672A\u7EF4\u62A4\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u3002\u662F\u5426\u5148\u7EF4\u62A4\u5229\u6DA6\u7387\u540E\u8FDB\u5165\u8BA2\u5355\u5217\u8868\uFF1F", onCancel: () => setConfirmCustomer(null), onConfirm: () => { if (confirmCustomer)
44
82
  setRateDialog({ customer: confirmCustomer, enterOrders: true }); setConfirmCustomer(null); } }), rateDialog && _jsx(CustomerMaintenanceDialog, { state: rateDialog, busy: props.busy, onClose: () => setRateDialog(null), onSave: async (rate) => { await props.onAction('save_customer_profit_rate', { customerId: rateDialog.customer.id, rate }); const next = rateDialog.enterOrders; const id = rateDialog.customer.id; setRateDialog(null); if (next)
45
83
  props.onRouteChange({ type: 'sales', level: 'orders', customerId: id });
46
84
  else
@@ -49,23 +87,35 @@ export function SalesPage(props) {
49
87
  if (props.route.level === 'orders') {
50
88
  const metrics = props.orders.metrics ?? { orderCount: 0, salesAmountCny: '0', receivedAmountCny: '0', unreceivedAmountCny: '0', currentYearOrderCount: 0, currentYearSalesAmountCny: '0', topProducts: [] };
51
89
  const columns = [
52
- { type: 'ellipsis', key: 'salesOrderNo', header: '订单号', width: 170 }, { type: 'ellipsis', key: 'customerContractNo', header: '客户合同号', width: 170 }, { type: 'ellipsis', key: 'purchaseContractNo', header: '采购合同号', width: 170 }, { type: 'text', key: 'orderDate', header: '下单日期', width: 120 },
53
- { type: 'text', key: 'orderAmountCny', header: '销售总额 CNY', width: 140, align: 'right', format: money }, { type: 'text', key: 'receivedAmountCny', header: '已收款 CNY', width: 140, align: 'right', format: money }, { type: 'text', key: 'unreceivedAmountCny', header: '未收款 CNY', width: 140, align: 'right', format: money },
54
- { type: 'custom', key: 'paymentStatus', header: '收款状态', width: 110, render: (_, row) => paymentLabel(row.paymentStatus) }, { type: 'text', key: 'effectivePricingProfitRate', header: '订单利润率', width: 120, format: percent }, { type: 'text', key: 'pricingProfitRateSource', header: '利润率来源', width: 150, format: sourceLabel }
90
+ { type: 'ellipsis', key: 'salesOrderNo', header: '订单号', width: 170 }, { type: 'ellipsis', key: 'customerContractNo', header: '客户合同号', width: 170 }, { type: 'ellipsis', key: 'purchaseContractNo', header: '采购合同号', width: 170 }, { type: 'text', key: 'orderDate', header: '下单日期', width: 120, truncate: false, format: formatBusinessDate },
91
+ { type: 'text', key: 'orderAmountCny', header: '销售总额 CNY', width: 140, align: 'right', truncate: false, format: money }, { type: 'text', key: 'receivedAmountCny', header: '已收款 CNY', width: 140, align: 'right', truncate: false, format: money }, { type: 'text', key: 'unreceivedAmountCny', header: '未收款 CNY', width: 140, align: 'right', truncate: false, format: money },
92
+ { type: 'custom', key: 'paymentStatus', header: '收款状态', width: 110, truncate: false, render: (_, row) => paymentLabel(row.paymentStatus) }, { type: 'text', key: 'effectivePricingProfitRate', header: '订单利润率', width: 120, truncate: false, format: percent }, { type: 'text', key: 'pricingProfitRateSource', header: '利润率来源', width: 150, truncate: false, format: sourceLabel }
55
93
  ];
56
- return _jsxs("main", { className: "tcw-sales-files-page tcw-sales-page tcw-sales-page--orders", children: [_jsx(PageHeading, { title: "\u9500\u552E\u8BA2\u5355\u5217\u8868", description: "\u67E5\u770B\u5F53\u524D\u5BA2\u6237\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355\uFF0C\u70B9\u51FB\u5546\u54C1\u8BE6\u60C5\u8FDB\u5165\u5546\u54C1\u5217\u8868\uFF1B\u53EF\u7EF4\u62A4\u8BA2\u5355\u5B9A\u4EF7\u5229\u6DA6\u7387\u548C\u5DF2\u6536\u6B3E\u3002", action: _jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: () => props.onRouteChange({ type: 'sales', level: 'customers' }), children: [_jsx("i", { className: "ri-arrow-left-line", "aria-hidden": "true" }), "\u8FD4\u56DE\u5BA2\u6237\u4FE1\u606F\u5217\u8868"] }) }), _jsxs("section", { className: "tcw-context-bar", children: [_jsx("strong", { children: "\u5BA2\u6237\u6458\u8981" }), _jsxs("span", { children: [props.orders.customer?.code || '—', " \u00B7 ", props.orders.customer?.name || '—'] }), _jsx("span", { children: props.orders.customer?.country || '—' })] }), _jsx("section", { className: "tcw-metric-grid", children: [['订单总数', String(metrics.orderCount)], ['销售总额', money(metrics.salesAmountCny)], ['已收款', money(metrics.receivedAmountCny)], ['未收款', money(metrics.unreceivedAmountCny)], ['本年订单数', String(metrics.currentYearOrderCount)], ['本年销售金额', money(metrics.currentYearSalesAmountCny)]].map(([label, value]) => _jsxs("article", { children: [_jsx("span", { children: label }), _jsx("strong", { children: value }), _jsx("small", { children: label.includes('订单数') || label === '订单总数' ? '笔' : 'CNY' })] }, label)) }), _jsxs("section", { className: "tcw-sales-top", children: [_jsx("strong", { children: "\u9500\u552E\u5546\u54C1 TOP5" }), metrics.topProducts.length ? _jsx("ol", { children: metrics.topProducts.map(item => _jsxs("li", { children: [_jsx("span", { title: item.productName, children: item.productName }), _jsxs("b", { children: [money(item.amountCny), " CNY"] })] }, item.productName)) }) : _jsx("small", { children: "\u6682\u65E0\u5546\u54C1\u6570\u636E" })] }), _jsx(FilterPanel, { definitions: orderFilters, values: filters, onChange: (key, value) => setFilters(current => ({ ...current, [key]: value })), onQuery: () => void query('salesOrders'), onReset: () => reset('salesOrders') }), _jsx(DataGrid, { columns: columns, rows: props.orders.items, rowKey: row => `${row.customerContractId}:${row.purchaseOrderId}`, pagination: pagination(props.orders), onPageChange: page => void query('salesOrders', page), emptyText: "\u6682\u65E0\u9500\u552E\u8BA2\u5355", actionWidth: 410, actions: row => _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", onClick: () => props.onRouteChange({ type: 'sales', level: 'lines', customerId: row.customerId, orderKey: `${row.customerContractId}:${row.purchaseOrderId}` }), children: [_jsx("i", { className: "ri-list-check-2", "aria-hidden": "true" }), "\u5546\u54C1\u8BE6\u60C5"] }), _jsxs("button", { type: "button", onClick: () => setManualDialog({ order: row, field: 'pricingProfitRateOverride' }), children: [_jsx("i", { className: "ri-percent-line", "aria-hidden": "true" }), "\u7EF4\u62A4\u8BA2\u5355\u5229\u6DA6\u7387"] }), _jsxs("button", { type: "button", onClick: () => setManualDialog({ order: row, field: 'receivedAmountCny' }), children: [_jsx("i", { className: "ri-money-cny-circle-line", "aria-hidden": "true" }), "\u7EF4\u62A4\u5DF2\u6536\u6B3E"] }), _jsxs("button", { type: "button", onClick: () => props.onOpenFiles?.(row), children: [_jsx("i", { className: "ri-file-excel-2-line", "aria-hidden": "true" }), "\u751F\u6210\u6587\u4EF6/\u8FDB\u5165\u9500\u552E\u6587\u4EF6"] })] }) }), manualDialog && _jsx(SalesOrderMaintenanceDialog, { state: manualDialog, busy: props.busy, onClose: () => setManualDialog(null), onSave: async (value) => { const { order, field } = manualDialog; await props.onAction('save_derived_manual_data', { customerContractId: order.customerContractId, purchaseOrderId: order.purchaseOrderId, [field]: value }); setManualDialog(null); void query('salesOrders'); } })] });
94
+ return _jsxs("main", { className: "tcw-sales-files-page tcw-sales-page tcw-sales-page--orders", children: [_jsxs("section", { className: "tcw-context-bar", children: [_jsx("strong", { children: "\u5BA2\u6237\u6458\u8981" }), _jsxs("span", { children: [props.orders.customer?.code || '—', " \u00B7 ", props.orders.customer?.name || '—'] }), _jsx("span", { children: props.orders.customer?.country || '—' })] }), _jsx(PageHeading, { title: "\u9500\u552E\u8BA2\u5355\u5217\u8868", description: "\u67E5\u770B\u5F53\u524D\u5BA2\u6237\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355\uFF0C\u70B9\u51FB\u5546\u54C1\u8BE6\u60C5\u8FDB\u5165\u5546\u54C1\u5217\u8868\uFF1B\u53EF\u7EF4\u62A4\u8BA2\u5355\u5B9A\u4EF7\u5229\u6DA6\u7387\u548C\u5DF2\u6536\u6B3E\u3002", action: _jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: () => props.onRouteChange({ type: 'sales', level: 'customers' }), children: [_jsx("i", { className: "ri-arrow-left-line", "aria-hidden": "true" }), "\u8FD4\u56DE\u5BA2\u6237\u4FE1\u606F\u5217\u8868"] }) }), _jsx("section", { className: "tcw-metric-grid", children: [['订单总数', String(metrics.orderCount)], ['销售总额', money(metrics.salesAmountCny)], ['已收款', money(metrics.receivedAmountCny)], ['未收款', money(metrics.unreceivedAmountCny)], ['本年订单数', String(metrics.currentYearOrderCount)], ['本年销售金额', money(metrics.currentYearSalesAmountCny)]].map(([label, value]) => _jsxs("article", { children: [_jsx("span", { children: label }), _jsx("strong", { children: value }), _jsx("small", { children: label.includes('订单数') || label === '订单总数' ? '笔' : 'CNY' })] }, label)) }), _jsxs("section", { className: "tcw-sales-top", children: [_jsx("strong", { children: "\u9500\u552E\u5546\u54C1 TOP5" }), metrics.topProducts.length ? _jsx("ol", { children: metrics.topProducts.map(item => _jsxs("li", { children: [_jsx("span", { title: item.productName, children: item.productName }), _jsxs("b", { children: [money(item.amountCny), " CNY"] })] }, item.productName)) }) : _jsx("small", { children: "\u6682\u65E0\u5546\u54C1\u6570\u636E" })] }), _jsx(FilterPanel, { definitions: orderFilters, values: filters, onChange: (key, value) => setFilters(current => ({ ...current, [key]: value })), onQuery: () => void query('salesOrders'), onReset: () => reset('salesOrders') }), _jsx(DataGrid, { columns: columns, rows: props.orders.items, rowKey: row => `${row.customerContractId}:${row.purchaseOrderId}`, pagination: pagination(props.orders), onPageChange: page => void query('salesOrders', page), onPageSizeChange: pageSize => void queryDispatcher.pageSize('salesOrders', pageSize, filters), emptyText: "\u6682\u65E0\u9500\u552E\u8BA2\u5355", actionWidth: 650, actions: row => _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", onClick: () => props.onRouteChange({ type: 'sales', level: 'lines', customerId: row.customerId, orderKey: `${row.customerContractId}:${row.purchaseOrderId}` }), children: [_jsx("i", { className: "ri-list-check-2", "aria-hidden": "true" }), "\u5546\u54C1\u8BE6\u60C5"] }), _jsxs("button", { type: "button", onClick: event => { resetSalesPageScroll(event.currentTarget); setManualDialog({ order: row, field: 'pricingProfitRateOverride' }); }, children: [_jsx("i", { className: "ri-edit-box-line", "aria-hidden": "true" }), "\u7EF4\u62A4\u9500\u552E\u8BA2\u5355\u6570\u636E"] }), _jsxs("button", { type: "button", onClick: event => { resetSalesPageScroll(event.currentTarget); setManualDialog({ order: row, field: 'pricingProfitRateOverride' }); }, children: [_jsx("i", { className: "ri-percent-line", "aria-hidden": "true" }), "\u7EF4\u62A4\u8BA2\u5355\u5229\u6DA6\u7387"] }), _jsxs("button", { type: "button", onClick: event => { resetSalesPageScroll(event.currentTarget); setManualDialog({ order: row, field: 'receivedAmountCny' }); }, children: [_jsx("i", { className: "ri-money-cny-circle-line", "aria-hidden": "true" }), "\u7EF4\u62A4\u5DF2\u6536\u6B3E"] }), _jsxs("button", { type: "button", onClick: event => { resetSalesPageScroll(event.currentTarget); setGenerationDialog(row); }, children: [_jsx("i", { className: "ri-file-excel-2-line", "aria-hidden": "true" }), "\u751F\u6210\u9500\u552E\u6587\u4EF6"] })] }) }), manualDialog && _jsx(SalesOrderMaintenanceDialog, { state: manualDialog, busy: props.busy, onClose: () => setManualDialog(null), onSave: async (value, details) => { const { order, field } = manualDialog; await props.onAction('save_derived_manual_data', createSalesOrderMaintenancePayload(order, field, value, details?.remarks ?? '')); setManualDialog(null); void query('salesOrders'); } }), generationDialog && _jsx(SalesGenerateFileDialog, { order: generationDialog, busy: props.busy, onClose: () => setGenerationDialog(null), onConfirm: async (draft) => {
95
+ try {
96
+ const translationFailures = await completeSalesGeneration(generationDialog, draft, props.onAction, props.onOpenFiles, () => setGenerationDialog(null));
97
+ const details = translationFailures.map(failure => `${failure.field}:${failure.sourceValue}(${failure.message})`).join(';');
98
+ props.onNotify?.({ message: translationFailures.length ? `销售文件生成成功,但部分字段翻译失败:${details}` : '销售文件生成成功', tone: translationFailures.length ? 'warning' : 'success' });
99
+ }
100
+ catch (cause) {
101
+ props.onNotify?.({ message: cause instanceof Error ? cause.message : '销售文件生成失败', tone: 'error' });
102
+ }
103
+ } })] });
57
104
  }
58
105
  const order = props.lines.order;
59
106
  const customerId = props.route.customerId;
60
107
  const columns = [
61
- { type: 'custom', key: 'productName', header: '商品名称', width: 190, render: (_, row) => _jsxs("button", { type: "button", className: "tcw-table-link", title: `按商品名称查询海关编码:${row.productName}`, onClick: () => openHsLookup(row, 'PRODUCT_NAME'), children: [_jsx("i", { className: "ri-search-line", "aria-hidden": "true" }), row.productName] }) }, { type: 'ellipsis', key: 'productDescription', header: '商品描述', width: 190, maxWidth: 190 }, { type: 'ellipsis', key: 'modelSpecification', header: '规格型号', width: 150 }, { type: 'custom', key: 'hsCode', header: '海关编码', width: 130, render: (_, row) => row.hsCode ? _jsxs("button", { type: "button", className: "tcw-table-link", title: `查询海关编码:${row.hsCode}`, onClick: () => openHsLookup(row, 'HS_CODE'), children: [_jsx("i", { className: "ri-search-line", "aria-hidden": "true" }), row.hsCode] }) : '—' },
62
- { type: 'text', key: 'vatRate', header: '增值税率', width: 100, align: 'right', format: percent }, { type: 'text', key: 'refundRate', header: '退税率', width: 90, align: 'right', format: percent }, { type: 'custom', key: 'hsCodeStatus', header: '编码确认状态', width: 120, render: (_, row) => hsCodeStatusLabel(row.hsCodeStatus) },
63
- { type: 'custom', key: 'complianceCategories', header: '合规分类', width: 170, render: (_, row) => _jsx(Tags, { values: row.complianceCategories ?? [] }) }, { type: 'custom', key: 'complianceMatches', header: '制裁/管控命中', width: 160, render: (_, row) => row.complianceMatches.length ? _jsxs("button", { type: "button", className: "tcw-table-link", title: `查看商品风险明细:${row.productName}`, onClick: () => setRiskLine(row), children: [_jsx("i", { className: "ri-error-warning-line", "aria-hidden": "true" }), "\u547D\u4E2D ", row.complianceMatches.length] }) : _jsx("span", { className: "tcw-tag", children: "\u65E0\u547D\u4E2D" }) },
64
- { type: 'text', key: 'quantity', header: '数量', width: 100, align: 'right' }, { type: 'text', key: 'salesUnitPriceCny', header: '销售单价 CNY', width: 140, align: 'right', format: money }, { type: 'text', key: 'salesLineAmountCny', header: '销售金额 CNY', width: 140, align: 'right', format: money }
108
+ { type: 'custom', key: 'productName', header: '商品名称', width: 190, title: (_, row) => row.productName || undefined, render: (_, row) => _jsxs("button", { type: "button", className: "tcw-table-link", title: row.productName, "aria-label": `按商品名称查询海关编码:${row.productName}`, onClick: () => openHsLookup(row, 'PRODUCT_NAME'), children: [_jsx("i", { className: "ri-search-line", "aria-hidden": "true" }), row.productName] }) }, { type: 'ellipsis', key: 'productDescription', header: '商品描述', width: 190, maxWidth: 190 }, { type: 'ellipsis', key: 'modelSpecification', header: '规格型号', width: 150 }, { type: 'custom', key: 'hsCode', header: 'HS编码', width: 130, title: (_, row) => row.hsCode || undefined, render: (_, row) => row.hsCode ? _jsxs("button", { type: "button", className: "tcw-table-link", title: row.hsCode, "aria-label": `查询海关编码:${row.hsCode}`, onClick: () => openHsLookup(row, 'HS_CODE'), children: [_jsx("i", { className: "ri-search-line", "aria-hidden": "true" }), row.hsCode] }) : '—' },
109
+ { type: 'text', key: 'vatRate', header: '增值税率', width: 100, align: 'right', truncate: false, format: percent }, { type: 'text', key: 'refundRate', header: '退税率', width: 90, align: 'right', truncate: false, format: percent }, { type: 'custom', key: 'hsCodeStatus', header: '编码确认状态', width: 120, truncate: false, render: (_, row) => hsCodeStatusLabel(row.hsCodeStatus) },
110
+ { type: 'custom', key: 'complianceCategories', header: '合规分类', width: 170, title: (_, row) => complianceCategoryTitle(row.complianceCategories), render: (_, row) => _jsx(Tags, { values: row.complianceCategories ?? [] }) }, { type: 'custom', key: 'complianceMatches', header: '管控风险结果', width: 160, truncate: false, render: (_, row) => row.complianceMatches.length ? _jsxs("button", { type: "button", className: "tcw-table-link", title: `查看商品风险明细:${row.productName}`, onClick: event => { resetSalesPageScroll(event.currentTarget); setRiskLine(row); }, children: [_jsx("i", { className: "ri-error-warning-line", "aria-hidden": "true" }), "\u547D\u4E2D ", row.complianceMatches.length] }) : _jsx("span", { className: "tcw-tag", children: "\u65E0\u547D\u4E2D" }) },
111
+ { type: 'text', key: 'quantity', header: '数量', width: 100, align: 'right', truncate: false }, { type: 'text', key: 'salesUnitPriceCny', header: '销售单价 CNY', width: 140, align: 'right', truncate: false, format: money }, { type: 'text', key: 'salesLineAmountCny', header: '销售金额 CNY', width: 140, align: 'right', truncate: false, format: money }
65
112
  ];
66
- return _jsxs("main", { className: "tcw-sales-files-page tcw-sales-page tcw-sales-page--lines", children: [_jsx(PageHeading, { title: "\u9500\u552E\u5546\u54C1\u5217\u8868", description: "\u53EA\u8BFB\u67E5\u770B\u5F53\u524D\u9500\u552E\u8BA2\u5355\u7684\u6D3E\u751F\u5546\u54C1\u3001\u98CE\u9669\u5339\u914D\u4E0E\u9500\u552E\u91D1\u989D\u3002", action: _jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: () => props.onRouteChange({ type: 'sales', level: 'orders', customerId }), children: [_jsx("i", { className: "ri-arrow-left-line", "aria-hidden": "true" }), "\u8FD4\u56DE\u9500\u552E\u8BA2\u5355\u5217\u8868"] }) }), _jsxs("section", { className: "tcw-context-bar tcw-order-summary", children: [_jsx("strong", { children: order?.salesOrderNo ?? '销售商品' }), _jsx("span", { children: order?.customerContractNo }), _jsx("span", { children: order?.purchaseContractNo })] }), order && _jsxs(InfoNotice, { children: [sourceLabel(order.pricingProfitRateSource), "\uFF1A\u5F53\u524D\u9500\u552E\u4EF7\u683C\u6309 ", percent(order.effectivePricingProfitRate), " \u8BA1\u7B97\u3002"] }), _jsx(FilterPanel, { definitions: lineFilters, values: filters, onChange: (key, value) => setFilters(current => ({ ...current, [key]: value })), onQuery: () => void query('salesLines'), onReset: () => reset('salesLines') }), _jsx(DataGrid, { columns: columns, rows: props.lines.items, rowKey: "purchaseOrderLineId", pagination: pagination(props.lines), onPageChange: page => void query('salesLines', page), emptyText: "\u6682\u65E0\u6D3E\u751F\u9500\u552E\u5546\u54C1" }), riskLine && _jsx(SalesProductRiskDialog, { line: riskLine, onClose: () => setRiskLine(null) }), _jsx(HsCodeLookupDialog, { open: hsQuery !== null, initialQuery: hsQuery ?? '', onAction: hsAction, onClose: () => setHsQuery(null) })] });
113
+ return _jsxs("main", { className: "tcw-sales-files-page tcw-sales-page tcw-sales-page--lines", children: [_jsx(PageHeading, { className: "tcw-sales-heading--lines", title: "\u9500\u552E\u5546\u54C1\u5217\u8868", description: "\u53EA\u8BFB\u67E5\u770B\u5F53\u524D\u9500\u552E\u8BA2\u5355\u7684\u6D3E\u751F\u5546\u54C1\u3001\u98CE\u9669\u5339\u914D\u4E0E\u9500\u552E\u91D1\u989D\u3002", action: _jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: () => props.onRouteChange({ type: 'sales', level: 'orders', customerId }), children: [_jsx("i", { className: "ri-arrow-left-line", "aria-hidden": "true" }), "\u8FD4\u56DE\u9500\u552E\u8BA2\u5355\u5217\u8868"] }) }), _jsxs("section", { className: "tcw-context-bar tcw-order-summary", children: [_jsx("strong", { children: order?.salesOrderNo ?? '销售商品' }), _jsx("span", { children: order?.customerContractNo }), _jsx("span", { children: order?.purchaseContractNo })] }), order && _jsxs(InfoNotice, { children: [sourceLabel(order.pricingProfitRateSource), "\uFF1A\u5F53\u524D\u9500\u552E\u4EF7\u683C\u6309 ", percent(order.effectivePricingProfitRate), " \u8BA1\u7B97\u3002"] }), _jsx(FilterPanel, { definitions: lineFilters, values: filters, onChange: (key, value) => setFilters(current => ({ ...current, [key]: value })), onQuery: () => void query('salesLines'), onReset: () => reset('salesLines') }), _jsx(DataGrid, { columns: columns, rows: props.lines.items, rowKey: "purchaseOrderLineId", pagination: pagination(props.lines), onPageChange: page => void query('salesLines', page), onPageSizeChange: pageSize => void queryDispatcher.pageSize('salesLines', pageSize, filters), emptyText: "\u6682\u65E0\u6D3E\u751F\u9500\u552E\u5546\u54C1", actionWidth: 110, actions: row => _jsxs("button", { type: "button", "aria-label": `查看风险:${row.productName}`, onClick: event => { resetSalesPageScroll(event.currentTarget); setRiskLine(row); }, children: [_jsx("i", { className: "ri-shield-check-line", "aria-hidden": "true" }), "\u67E5\u770B\u98CE\u9669"] }) }), riskLine && _jsx(SalesProductRiskDialog, { line: riskLine, onClose: () => setRiskLine(null) }), _jsx(HsCodeLookupDialog, { open: hsQuery !== null, initialQuery: hsQuery ?? '', onAction: hsAction, onClose: () => setHsQuery(null) })] });
67
114
  }
68
115
  export function salesLineLookupQuery(line, field) { return field === 'productName' ? line.productName : line.hsCode ?? ''; }
116
+ export function resetSalesPageScroll(target) {
117
+ target.closest('.tcw-main')?.scrollTo({ top: 0, left: 0, behavior: 'auto' });
118
+ }
69
119
  export function createSalesLineLookupRequest(line, field) {
70
120
  return { type: 'HS_CODE_LOOKUP', field, query: salesLineLookupQuery(line, field === 'PRODUCT_NAME' ? 'productName' : 'hsCode'), purchaseOrderLineId: line.purchaseOrderLineId };
71
121
  }
@@ -85,9 +135,18 @@ export function SalesProductRiskDialog({ line, onClose }) {
85
135
  const riskTypes = [...new Set([...(line.complianceCategories ?? []), ...line.complianceMatches.map(match => match.catalogType)])];
86
136
  const riskDescriptions = matchValues(line.complianceMatches, 'riskDescription');
87
137
  const recommendations = matchValues(line.complianceMatches, 'recommendation');
88
- return _jsx(Modal, { open: true, title: "\u5546\u54C1\u98CE\u9669\u8BE6\u60C5", size: "wide", onClose: onClose, footer: _jsxs("button", { type: "button", className: "tcw-button tcw-button--primary", onClick: onClose, children: [_jsx("i", { className: "ri-check-line", "aria-hidden": "true" }), "\u6807\u8BB0\u5DF2\u9605"] }), children: _jsxs("div", { className: "tcw-sales-risk-dialog", children: [_jsxs("section", { "aria-labelledby": "sales-product-summary-title", children: [_jsx("h3", { id: "sales-product-summary-title", children: "\u5546\u54C1\u4E0E\u4EF7\u683C" }), _jsxs("dl", { className: "tcw-preflight-summary", children: [_jsxs("div", { children: [_jsx("dt", { children: "\u5546\u54C1\u540D\u79F0" }), _jsx("dd", { children: line.productName })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u82F1\u6587\u540D\u79F0" }), _jsx("dd", { children: line.englishName || '暂无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u6D77\u5173\u7F16\u7801" }), _jsx("dd", { children: line.hsCode || '暂无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u6570\u91CF" }), _jsxs("dd", { children: [line.quantity, line.unit ? ` ${line.unit}` : ''] })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u9500\u552E\u5355\u4EF7" }), _jsxs("dd", { children: [money(line.salesUnitPriceCny), " CNY"] })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u9500\u552E\u91D1\u989D" }), _jsxs("dd", { children: [money(line.salesLineAmountCny), " CNY"] })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u5546\u54C1\u63CF\u8FF0" }), _jsx("dd", { children: line.productDescription || '暂无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u89C4\u683C\u578B\u53F7" }), _jsx("dd", { children: line.modelSpecification || '暂无' })] })] })] }), _jsxs("section", { "aria-labelledby": "sales-product-risk-title", children: [_jsx("h3", { id: "sales-product-risk-title", children: "\u98CE\u9669\u8BF4\u660E" }), _jsxs("dl", { className: "tcw-preflight-summary", children: [_jsxs("div", { children: [_jsx("dt", { children: "\u98CE\u9669\u7C7B\u578B" }), _jsx("dd", { children: riskTypes.length ? riskTypes.map(complianceCategoryLabel).join('、') : '无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u547D\u4E2D\u7ED3\u679C" }), _jsx("dd", { children: line.complianceMatches.length ? `命中 ${line.complianceMatches.length} 项` : '无命中' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u98CE\u9669\u8BF4\u660E" }), _jsx("dd", { children: riskDescriptions.length ? riskDescriptions.join(';') : '暂无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u5904\u7406\u5EFA\u8BAE" }), _jsx("dd", { children: recommendations.length ? recommendations.join(';') : '暂无' })] })] })] }), _jsxs("section", { "aria-labelledby": "sales-product-match-title", children: [_jsx("h3", { id: "sales-product-match-title", children: "\u7BA1\u63A7/\u5236\u88C1\u5339\u914D\u660E\u7EC6" }), line.complianceMatches.length ? _jsx("div", { className: "tcw-grid-section", children: _jsx("div", { className: "tcw-table-scroll", children: _jsxs("table", { className: "tcw-data-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "\u5E8F\u53F7" }), _jsx("th", { children: "\u76EE\u5F55\u7C7B\u578B" }), _jsx("th", { children: "\u547D\u4E2D\u6761\u76EE" }), _jsx("th", { children: "\u5339\u914D\u65B9\u5F0F" }), _jsx("th", { children: "\u76F8\u4F3C\u5EA6" })] }) }), _jsx("tbody", { children: line.complianceMatches.map((match, index) => _jsxs("tr", { children: [_jsx("td", { children: index + 1 }), _jsx("td", { children: complianceCategoryLabel(match.catalogType) }), _jsx("td", { children: match.matchedItemName || match.controlledGoodsId || '暂无' }), _jsx("td", { children: matchMethodLabel(match.matchMethod) }), _jsx("td", { children: similarityLabel(match.similarityScore) })] }, `${match.controlledGoodsId ?? match.catalogType}-${index}`)) })] }) }) }) : _jsx("p", { children: "\u6682\u65E0" })] })] }) });
138
+ const matchedItems = [...new Set(line.complianceMatches.map(match => match.matchedItemName || match.controlledGoodsId).filter((value) => Boolean(value)))];
139
+ const matches = line.complianceMatches.map((match, index) => ({ ...match, sequence: index + 1, rowKey: `${match.controlledGoodsId ?? match.catalogType}-${index}` }));
140
+ const matchColumns = [
141
+ { type: 'text', key: 'sequence', header: '序号', width: 70, align: 'right', truncate: false },
142
+ { type: 'text', key: 'catalogType', header: '目录类型', width: 120, truncate: false, format: value => complianceCategoryLabel(value) },
143
+ { type: 'text', key: 'matchedItem', header: '命中条目', width: 220, maxWidth: 220, accessor: match => match.matchedItemName || match.controlledGoodsId || '暂无' },
144
+ { type: 'text', key: 'matchMethod', header: '匹配方式', width: 150, truncate: false, format: value => matchMethodLabel(value) },
145
+ { type: 'text', key: 'similarityScore', header: '相似度', width: 100, align: 'right', truncate: false, format: value => similarityLabel(value) }
146
+ ];
147
+ return _jsx(Modal, { open: true, title: "\u5546\u54C1\u98CE\u9669\u8BE6\u60C5", size: "wide", onClose: onClose, footer: _jsxs("button", { type: "button", className: "tcw-button tcw-button--primary", onClick: onClose, children: [_jsx("i", { className: "ri-check-line", "aria-hidden": "true" }), "\u6807\u8BB0\u5DF2\u9605"] }), children: _jsxs("div", { className: "tcw-sales-risk-dialog", children: [_jsxs("section", { "aria-labelledby": "sales-product-summary-title", children: [_jsx("h3", { id: "sales-product-summary-title", children: "\u5546\u54C1\u4E0E\u4EF7\u683C" }), _jsxs("dl", { className: "tcw-preflight-summary", children: [_jsxs("div", { children: [_jsx("dt", { children: "\u5546\u54C1\u540D\u79F0" }), _jsx("dd", { children: line.productName })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u82F1\u6587\u540D\u79F0" }), _jsx("dd", { children: line.englishName || '暂无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "HS\u7F16\u7801" }), _jsx("dd", { children: line.hsCode || '暂无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u7F16\u7801\u786E\u8BA4\u72B6\u6001" }), _jsx("dd", { children: hsCodeStatusLabel(line.hsCodeStatus) })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u6570\u91CF" }), _jsxs("dd", { children: [line.quantity, line.unit ? ` ${line.unit}` : ''] })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u9500\u552E\u5355\u4EF7" }), _jsxs("dd", { children: [money(line.salesUnitPriceCny), " CNY"] })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u9500\u552E\u91D1\u989D" }), _jsxs("dd", { children: [money(line.salesLineAmountCny), " CNY"] })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u5546\u54C1\u63CF\u8FF0" }), _jsx("dd", { children: line.productDescription || '暂无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u89C4\u683C\u578B\u53F7" }), _jsx("dd", { children: line.modelSpecification || '暂无' })] })] })] }), _jsxs("section", { "aria-labelledby": "sales-product-risk-title", children: [_jsx("h3", { id: "sales-product-risk-title", children: "\u98CE\u9669\u8BF4\u660E" }), _jsxs("dl", { className: "tcw-preflight-summary", children: [_jsxs("div", { children: [_jsx("dt", { children: "\u98CE\u9669\u7C7B\u578B" }), _jsx("dd", { children: riskTypes.length ? riskTypes.map(complianceCategoryLabel).join('、') : '无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u547D\u4E2D\u5408\u89C4\u5206\u7C7B" }), _jsx("dd", { children: riskTypes.length ? riskTypes.map(complianceCategoryLabel).join('、') : '无' })] }), _jsxs("div", { className: "tcw-sales-risk-result", children: [_jsx("dt", { children: "\u7BA1\u63A7\u98CE\u9669\u7ED3\u679C" }), _jsx("dd", { children: line.complianceMatches.length ? `命中 ${line.complianceMatches.length} 项` : '无命中' })] }), _jsxs("div", { className: "tcw-sales-match-result", children: [_jsx("dt", { children: "\u5339\u914D\u7ED3\u679C" }), _jsx("dd", { children: matchedItems.length ? matchedItems.join('、') : '无匹配' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u547D\u4E2D\u7ED3\u679C" }), _jsx("dd", { children: line.complianceMatches.length ? `命中 ${line.complianceMatches.length} 项` : '无命中' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u98CE\u9669\u8BF4\u660E" }), _jsx("dd", { children: riskDescriptions.length ? riskDescriptions.join(';') : '暂无' })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u5904\u7406\u5EFA\u8BAE" }), _jsx("dd", { children: recommendations.length ? recommendations.join(';') : '暂无' })] })] })] }), _jsxs("section", { "aria-labelledby": "sales-product-match-title", children: [_jsx("h3", { id: "sales-product-match-title", children: "\u7BA1\u63A7/\u5236\u88C1\u5339\u914D\u660E\u7EC6" }), matches.length ? _jsx(DataGrid, { columns: matchColumns, rows: matches, rowKey: "rowKey" }) : _jsx("p", { children: "\u6682\u65E0" })] })] }) });
89
148
  }
90
- function PageHeading({ title, description, action }) { return _jsxs("header", { className: "tcw-sales-heading", children: [_jsxs("div", { children: [_jsx("h2", { className: "tcw-list-heading", children: title }), _jsx("p", { children: description })] }), action] }); }
149
+ function PageHeading({ title, description, action, className = '' }) { return _jsxs("header", { className: `tcw-sales-heading ${className}`.trim(), children: [_jsxs("div", { children: [_jsx("h2", { className: "tcw-list-heading", children: title }), _jsx("p", { children: description })] }), action] }); }
91
150
  export function CustomerMaintenanceDialog({ state, busy, onClose, onSave }) {
92
151
  const customer = state.customer;
93
152
  const [rate, setRate] = React.useState(customer.defaultPricingProfitRate ?? '');
@@ -97,14 +156,29 @@ export function CustomerMaintenanceDialog({ state, busy, onClose, onSave }) {
97
156
  ['客户地址', customer.address], ['税号', customer.taxNumber], ['收款账号', customer.paymentAccount], ['开户行', customer.bankName],
98
157
  ['纳税等级', customer.taxpayerRating], ['网站', customer.website], ['经营产品', customer.businessProducts]
99
158
  ];
100
- return _jsx(Modal, { open: true, title: "\u7EF4\u62A4\u5BA2\u6237\u9ED8\u8BA4\u5229\u6DA6\u7387", size: "wide", onClose: onClose, footer: _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: onClose, children: [_jsx("i", { className: "ri-close-line", "aria-hidden": "true" }), "\u53D6\u6D88"] }), _jsxs("button", { type: "button", className: "tcw-button tcw-button--primary", disabled: busy || !validRate(rate), onClick: () => void onSave(rate), children: [_jsx("i", { className: "ri-save-line", "aria-hidden": "true" }), "\u4FDD\u5B58"] })] }), children: _jsxs("div", { className: "tcw-sales-customer-dialog", children: [_jsx("section", { children: _jsxs(FieldGrid, { columns: 2, children: [readonlyFields.map(([label, value]) => _jsx(FormField, { label: label, children: _jsx("input", { disabled: true, value: displayText(value) }) }, label)), _jsxs(FormField, { label: "\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387", required: true, full: true, children: [_jsx("input", { type: "number", min: "0", step: "0.0001", value: rate, onChange: event => setRate(event.target.value) }), _jsx("small", { children: "\u8BF7\u8F93\u5165\u5C0F\u6570\uFF0C\u4F8B\u5982 0.08 \u8868\u793A 8%\u3002" })] })] }) }), _jsxs("aside", { children: [_jsxs("dl", { children: [_jsx(SummaryValue, { label: "\u5236\u88C1\u98CE\u9669", value: _jsx(Status, { value: customer.sanctionStatus }) }), _jsx(SummaryValue, { label: "\u6700\u8FD1\u68C0\u67E5\u65F6\u95F4", value: dateTimeText(customer.complianceCheckedAt) }), _jsx(SummaryValue, { label: "\u521B\u5EFA\u4EBA", value: displayText(customer.createdByName ?? customer.createdById) }), _jsx(SummaryValue, { label: "\u521B\u5EFA\u65F6\u95F4", value: dateTimeText(customer.createdAt) }), _jsx(SummaryValue, { label: "\u6700\u540E\u7F16\u8F91\u4EBA", value: displayText(customer.updatedByName ?? customer.updatedById) }), _jsx(SummaryValue, { label: "\u6700\u540E\u7F16\u8F91\u65F6\u95F4", value: dateTimeText(customer.updatedAt) })] }), _jsx(FormField, { label: "\u5907\u6CE8", children: _jsx("textarea", { disabled: true, rows: 6, value: displayText(customer.remarks) }) })] }), _jsx(InfoNotice, { children: "\u5BA2\u6237\u4E3B\u6863\u4FE1\u606F\u6765\u81EA\u9500\u552E\u5BA2\u6237\u8BB0\u5F55\uFF0C\u4EC5\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u53EF\u5728\u6B64\u7EF4\u62A4\uFF1B\u5236\u88C1\u98CE\u9669\u53EA\u63D0\u793A\uFF0C\u4E0D\u963B\u6B62\u9500\u552E\u4E1A\u52A1\u7EE7\u7EED\u3002" })] }) });
159
+ return _jsx(Modal, { open: true, title: "\u7EF4\u62A4\u5BA2\u6237\u4FE1\u606F", size: "wide", onClose: onClose, footer: _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: onClose, children: [_jsx("i", { className: "ri-close-line", "aria-hidden": "true" }), "\u53D6\u6D88"] }), _jsxs("button", { type: "button", className: "tcw-button tcw-button--primary", disabled: busy || !validRate(rate), onClick: () => void onSave(rate), children: [_jsx("i", { className: "ri-save-line", "aria-hidden": "true" }), "\u4FDD\u5B58"] })] }), children: _jsxs("div", { className: "tcw-sales-customer-dialog", children: [_jsx("section", { children: _jsxs(FieldGrid, { columns: 2, children: [readonlyFields.map(([label, value]) => _jsx(FormField, { label: label, children: _jsx("input", { disabled: true, value: displayText(value) }) }, label)), _jsxs(FormField, { label: "\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387", required: true, full: true, children: [_jsx("input", { type: "number", min: "0", step: "0.0001", value: rate, onChange: event => setRate(event.target.value) }), _jsx("small", { children: "\u8BF7\u8F93\u5165\u5C0F\u6570\uFF0C\u4F8B\u5982 0.08 \u8868\u793A 8%\u3002" })] })] }) }), _jsxs("aside", { children: [_jsxs("dl", { children: [_jsx(SummaryValue, { label: "\u5236\u88C1\u98CE\u9669", value: _jsx(Status, { value: customer.sanctionStatus }) }), _jsx(SummaryValue, { label: "\u6700\u8FD1\u68C0\u67E5\u65F6\u95F4", value: dateTimeText(customer.complianceCheckedAt) }), _jsx(SummaryValue, { label: "\u521B\u5EFA\u4EBA", value: displayText(customer.createdByName ?? customer.createdById) }), _jsx(SummaryValue, { label: "\u521B\u5EFA\u65F6\u95F4", value: dateTimeText(customer.createdAt) }), _jsx(SummaryValue, { label: "\u6700\u540E\u7F16\u8F91\u4EBA", value: displayText(customer.updatedByName ?? customer.updatedById) }), _jsx(SummaryValue, { label: "\u6700\u540E\u7F16\u8F91\u65F6\u95F4", value: dateTimeText(customer.updatedAt) })] }), _jsx(FormField, { label: "\u5907\u6CE8", children: _jsx("textarea", { disabled: true, rows: 6, value: displayText(customer.remarks) }) })] }), _jsx(InfoNotice, { children: "\u5BA2\u6237\u4E3B\u6863\u4FE1\u606F\u6765\u81EA\u9500\u552E\u5BA2\u6237\u8BB0\u5F55\uFF0C\u4EC5\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u53EF\u5728\u6B64\u7EF4\u62A4\uFF1B\u5236\u88C1\u98CE\u9669\u53EA\u63D0\u793A\uFF0C\u4E0D\u963B\u6B62\u9500\u552E\u4E1A\u52A1\u7EE7\u7EED\u3002" })] }) });
101
160
  }
102
161
  export function SalesOrderMaintenanceDialog({ state, busy, onClose, onSave }) {
103
162
  const receipt = state.field === 'receivedAmountCny';
104
163
  const order = state.order;
105
164
  const [value, setValue] = React.useState(receipt ? order.receivedAmountCny : order.pricingProfitRateSource === 'ORDER_OVERRIDE' ? order.effectivePricingProfitRate : '');
165
+ const [remarks, setRemarks] = React.useState(order.remarks ?? '');
106
166
  const invalid = receipt ? !validAmount(value) || Number(value) > Number(order.orderAmountCny) : value !== '' && !validRate(value);
107
- return _jsx(Modal, { open: true, title: receipt ? '维护已收款' : '维护订单利润率', size: "wide", onClose: onClose, footer: _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: onClose, children: [_jsx("i", { className: "ri-close-line", "aria-hidden": "true" }), "\u53D6\u6D88"] }), _jsxs("button", { type: "button", className: "tcw-button tcw-button--primary", disabled: busy || invalid, onClick: () => void onSave(value), children: [_jsx("i", { className: "ri-save-line", "aria-hidden": "true" }), "\u4FDD\u5B58"] })] }), children: _jsxs("div", { className: "tcw-sales-order-dialog", children: [_jsx("section", { children: _jsxs(FieldGrid, { columns: 1, children: [_jsx(FormField, { label: "\u9500\u552E\u8BA2\u5355\u7F16\u53F7", children: _jsx("input", { disabled: true, value: order.salesOrderNo }) }), _jsx(FormField, { label: "\u5BA2\u6237\u5408\u540C\u7F16\u53F7", children: _jsx("input", { disabled: true, value: order.customerContractNo }) }), _jsx(FormField, { label: "\u91C7\u8D2D\u5408\u540C\u7F16\u53F7", children: _jsx("input", { disabled: true, value: order.purchaseContractNo }) }), _jsx(FormField, { label: "\u8BA2\u5355\u65E5\u671F", children: _jsx("input", { disabled: true, value: displayText(order.orderDate) }) }), _jsx(FormField, { label: "\u5E01\u79CD", children: _jsx("input", { disabled: true, value: order.currencyCode }) }), _jsx(FormField, { label: "\u8BA2\u5355\u5B9A\u4EF7\u5229\u6DA6\u7387\u8986\u76D6\u503C", hint: receipt ? undefined : '留空继承客户默认定价利润率', children: _jsx("input", { type: "number", min: "0", step: "0.0001", disabled: receipt, value: receipt ? (order.pricingProfitRateSource === 'ORDER_OVERRIDE' ? order.effectivePricingProfitRate : '') : value, onChange: event => setValue(event.target.value) }) }), _jsx(FormField, { label: "\u5DF2\u6536\u6B3E\u91D1\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09", children: _jsx("input", { type: "number", min: "0", max: order.orderAmountCny, step: "0.01", disabled: !receipt, value: receipt ? value : order.receivedAmountCny, onChange: event => setValue(event.target.value) }) })] }) }), _jsxs("aside", { children: [_jsxs("dl", { children: [_jsx(SummaryValue, { label: "\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09", value: money(order.orderAmountCny) }), _jsx(SummaryValue, { label: "\u5DF2\u6536\u6B3E\u91D1\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09", value: money(receipt ? value : order.receivedAmountCny) }), _jsx(SummaryValue, { label: "\u672A\u6536\u6B3E\uFF08\u4EBA\u6C11\u5E01\uFF09", value: money(receipt ? Math.max(Number(order.orderAmountCny) - Number(value || 0), 0) : order.unreceivedAmountCny) }), _jsx(SummaryValue, { label: "\u56DE\u6B3E\u72B6\u6001", value: paymentLabel(order.paymentStatus) }), _jsx(SummaryValue, { label: "\u6240\u5C5E\u5BA2\u6237", value: order.customerName }), _jsx(SummaryValue, { label: "\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387", value: percent(receipt ? order.effectivePricingProfitRate : value || order.effectivePricingProfitRate) }), _jsx(SummaryValue, { label: "\u6570\u636E\u6765\u6E90", value: `${sourceLabel(order.pricingProfitRateSource)} + 人工维护` })] }), _jsx(InfoNotice, { children: "\u5DF2\u6536\u6B3E\u91D1\u989D\u4E0D\u5F97\u5927\u4E8E\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF1B\u4FEE\u6539\u4FDD\u5B58\u540E\u5373\u65F6\u5F71\u54CD\u8BA2\u5355\u8BA1\u7B97\u4E0E\u62A5\u8868\u5C55\u793A\u3002" })] }), receipt && Number(value) > Number(order.orderAmountCny) && _jsx(RiskNotice, { children: "\u5DF2\u6536\u6B3E\u4E0D\u5F97\u8D85\u8FC7\u5B9E\u65F6\u8BA2\u5355\u603B\u989D\u3002" })] }) });
167
+ return _jsx(Modal, { open: true, title: "\u7EF4\u62A4\u9500\u552E\u8BA2\u5355\u6570\u636E", size: "wide", onClose: onClose, footer: _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: onClose, children: [_jsx("i", { className: "ri-close-line", "aria-hidden": "true" }), "\u53D6\u6D88"] }), _jsxs("button", { type: "button", className: "tcw-button tcw-button--primary", disabled: busy || invalid, onClick: () => void onSave(value, { remarks }), children: [_jsx("i", { className: "ri-save-line", "aria-hidden": "true" }), "\u4FDD\u5B58"] })] }), children: _jsxs("div", { className: "tcw-sales-order-dialog", children: [_jsx("section", { children: _jsxs(FieldGrid, { columns: 1, children: [_jsx(FormField, { label: "\u9500\u552E\u8BA2\u5355\u7F16\u53F7", children: _jsx("input", { disabled: true, value: order.salesOrderNo }) }), _jsx(FormField, { label: "\u5BA2\u6237\u5408\u540C\u7F16\u53F7", children: _jsx("input", { disabled: true, value: order.customerContractNo }) }), _jsx(FormField, { label: "\u91C7\u8D2D\u5408\u540C\u7F16\u53F7", children: _jsx("input", { disabled: true, value: order.purchaseContractNo }) }), _jsx(FormField, { label: "\u8BA2\u5355\u65E5\u671F", children: _jsx("input", { disabled: true, value: displayText(order.orderDate) }) }), _jsx(FormField, { label: "\u5E01\u79CD", children: _jsx("input", { disabled: true, value: order.currencyCode }) }), _jsx(FormField, { label: "\u8BA2\u5355\u5B9A\u4EF7\u5229\u6DA6\u7387\u8986\u76D6\u503C", hint: receipt ? undefined : '留空继承客户默认定价利润率', children: _jsx("input", { type: "number", min: "0", step: "0.0001", disabled: receipt, value: receipt ? (order.pricingProfitRateSource === 'ORDER_OVERRIDE' ? order.effectivePricingProfitRate : '') : value, onChange: event => setValue(event.target.value) }) }), _jsx(FormField, { label: "\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387(\u81EA\u52A8\u8BA1\u7B97)", children: _jsx("input", { disabled: true, value: percent(receipt ? order.effectivePricingProfitRate : value || order.effectivePricingProfitRate) }) }), _jsx(FormField, { label: "\u5DF2\u6536\u6B3E\u91D1\u989D(\u4EBA\u6C11\u5E01)", children: _jsx("input", { type: "number", min: "0", max: order.orderAmountCny, step: "0.01", disabled: !receipt, value: receipt ? value : order.receivedAmountCny, onChange: event => setValue(event.target.value) }) }), _jsx(FormField, { label: "\u5907\u6CE8", children: _jsx("textarea", { rows: 3, maxLength: 200, value: remarks, onChange: event => setRemarks(event.target.value) }) })] }) }), _jsxs("aside", { children: [_jsxs("dl", { children: [_jsx(SummaryValue, { label: "\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09", value: money(order.orderAmountCny) }), _jsx(SummaryValue, { label: "\u5DF2\u6536\u6B3E\u91D1\u989D(\u4EBA\u6C11\u5E01)", value: money(receipt ? value : order.receivedAmountCny) }), _jsx(SummaryValue, { label: "\u672A\u6536\u6B3E\uFF08\u4EBA\u6C11\u5E01\uFF09", value: money(receipt ? Math.max(Number(order.orderAmountCny) - Number(value || 0), 0) : order.unreceivedAmountCny) }), _jsx(SummaryValue, { label: "\u56DE\u6B3E\u72B6\u6001", value: paymentLabel(order.paymentStatus) }), _jsx(SummaryValue, { label: "\u6240\u5C5E\u5BA2\u6237", value: order.customerName }), _jsx(SummaryValue, { label: "\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387", value: percent(receipt ? order.effectivePricingProfitRate : value || order.effectivePricingProfitRate) }), _jsx(SummaryValue, { label: "\u6570\u636E\u6765\u6E90", value: `${sourceLabel(order.pricingProfitRateSource)} + 人工维护` })] }), _jsx(InfoNotice, { children: "\u5DF2\u6536\u6B3E\u91D1\u989D\u4E0D\u5F97\u5927\u4E8E\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF1B\u4FEE\u6539\u4FDD\u5B58\u540E\u5373\u65F6\u5F71\u54CD\u8BA2\u5355\u8BA1\u7B97\u4E0E\u62A5\u8868\u5C55\u793A\u3002" })] }), receipt && Number(value) > Number(order.orderAmountCny) && _jsx(RiskNotice, { children: "\u5DF2\u6536\u6B3E\u4E0D\u5F97\u8D85\u8FC7\u5B9E\u65F6\u8BA2\u5355\u603B\u989D\u3002" })] }) });
168
+ }
169
+ export function SalesGenerateFileDialog({ order, busy, initialFileType = 'PI_CI_PL', onClose, onConfirm }) {
170
+ const [draft, setDraft] = React.useState({ fileType: initialFileType, bankType: 'OVERSEAS_CNY', templateVersion: 'DEFAULT_V1_2', fileNumber: `SF-${order.salesOrderNo}`, remarks: '' });
171
+ const update = (key, value) => setDraft(current => ({ ...current, [key]: value }));
172
+ const previewTypes = salesGenerationPreviewTypes(draft.fileType);
173
+ return _jsx(Modal, { open: true, title: "\u751F\u6210\u9500\u552E\u6587\u4EF6", size: "wide", onClose: onClose, footer: _jsxs(_Fragment, { children: [_jsxs("button", { type: "button", className: "tcw-button tcw-button--secondary", onClick: onClose, children: [_jsx("i", { className: "ri-close-line", "aria-hidden": "true" }), "\u53D6\u6D88"] }), _jsxs("button", { type: "button", className: "tcw-button tcw-button--primary", disabled: busy || !draft.fileNumber.trim(), onClick: () => void onConfirm(draft), children: [_jsx("i", { className: "ri-file-add-line", "aria-hidden": "true" }), "\u786E\u8BA4\u751F\u6210"] })] }), children: _jsxs("div", { className: "tcw-sales-generate-dialog", children: [_jsxs("dl", { className: "tcw-sales-generate-summary", children: [_jsx(SummaryValue, { label: "\u5BA2\u6237\u540D\u79F0", value: order.customerName }), _jsx(SummaryValue, { label: "\u9500\u552E\u8BA2\u5355\u7F16\u53F7", value: order.salesOrderNo }), _jsx(SummaryValue, { label: "\u5BA2\u6237\u5408\u540C\u7F16\u53F7", value: order.customerContractNo }), _jsx(SummaryValue, { label: "\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09", value: money(order.orderAmountCny) }), _jsx(SummaryValue, { label: "\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387", value: percent(order.effectivePricingProfitRate) })] }), _jsxs("div", { className: "tcw-sales-generate-content", children: [_jsxs("section", { children: [_jsx(FormField, { label: "\u6587\u4EF6\u7C7B\u578B", required: true, children: _jsxs("select", { value: draft.fileType, onChange: event => update('fileType', event.target.value), children: [_jsx("option", { value: "PI_CI_PL", children: "PI/CI/PL" }), _jsx("option", { value: "PI", children: "PI" }), _jsx("option", { value: "CI", children: "CI" }), _jsx("option", { value: "PL", children: "PL" })] }) }), _jsx(FormField, { label: "\u94F6\u884C\u4FE1\u606F", required: true, children: _jsxs("select", { value: draft.bankType, onChange: event => update('bankType', event.target.value), children: [_jsx("option", { value: "OVERSEAS_CNY", children: "\u5883\u5916\u4EBA\u6C11\u5E01\u8D26\u6237" }), _jsx("option", { value: "OVERSEAS_USD", children: "\u5883\u5916\u7F8E\u5143\u8D26\u6237" })] }) }), _jsx(FormField, { label: "\u6A21\u677F\u7248\u672C", required: true, children: _jsx("select", { value: draft.templateVersion, onChange: event => update('templateVersion', event.target.value), children: _jsx("option", { value: "DEFAULT_V1_2", children: "\u9ED8\u8BA4\u6A21\u677F v1.2" }) }) }), _jsx(FormField, { label: "\u6587\u4EF6\u7F16\u53F7", required: true, children: _jsx("input", { value: draft.fileNumber, onChange: event => update('fileNumber', event.target.value) }) }), _jsx(FormField, { label: "\u5907\u6CE8", children: _jsx("textarea", { rows: 3, maxLength: 200, placeholder: "\u8BF7\u8F93\u5165\u5907\u6CE8\uFF08\u53EF\u9009\uFF0C\u81EA\u5B9A\u4E49\u8BF4\u660E\uFF09", value: draft.remarks, onChange: event => update('remarks', event.target.value) }) })] }), _jsxs("aside", { children: [_jsx("h3", { children: "\u751F\u6210\u9884\u89C8" }), _jsx("p", { children: "\u7CFB\u7EDF\u5C06\u57FA\u4E8E\u6240\u9009\u4FE1\u606F\u751F\u6210\u4EE5\u4E0B\u6587\u4EF6\uFF1A" }), _jsx("ul", { children: previewTypes.map(item => _jsxs("li", { children: [_jsx("i", { className: "ri-file-text-line", "aria-hidden": "true" }), item.label] }, item.type)) })] })] }), _jsx(RiskNotice, { children: "\u7CFB\u7EDF\u5C06\u81EA\u52A8\u5E26\u51FA\u5BA2\u6237\u4FE1\u606F\u3001\u8BA2\u5355\u5546\u54C1\u3001\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387\u4E0E\u56DE\u6B3E\u4FE1\u606F\uFF0C\u751F\u6210\u540E\u8BF7\u5230\u9500\u552E\u6587\u4EF6\u7BA1\u7406\u67E5\u770B\u548C\u4E0B\u8F7D\u3002" })] }) });
174
+ }
175
+ export function salesGenerationPreviewTypes(fileType) {
176
+ const all = [
177
+ { type: 'PI', label: 'Proforma Invoice(形式发票)' },
178
+ { type: 'CI', label: 'Commercial Invoice(商业发票)' },
179
+ { type: 'PL', label: 'Packing List(装箱单)' }
180
+ ];
181
+ return fileType === 'PI_CI_PL' ? all : all.filter(item => item.type === fileType);
108
182
  }
109
183
  function SummaryValue({ label, value }) { return _jsxs("div", { children: [_jsx("dt", { children: label }), _jsx("dd", { children: value })] }); }
110
184
  function displayText(value) { return value == null || value === '' ? '—' : String(value); }
@@ -112,10 +186,10 @@ function dateTimeText(value) { return value ? new Date(String(value)).toLocaleSt
112
186
  function Status({ value }) { return _jsx("span", { className: `tcw-tag${value === 'HIT' ? ' tcw-tag--danger' : value === 'UNCHECKED' ? ' tcw-tag--warning' : ''}`, children: value === 'HIT' ? '命中提醒' : value === 'CLEAR' ? '无命中' : '未检查' }); }
113
187
  function Tags({ values }) { return _jsx("div", { className: "tcw-tag-list", children: values.length ? values.map(value => _jsx("span", { className: "tcw-tag", children: value === 'DUAL_USE' ? '军民两用' : '海外制裁' }, value)) : _jsx("span", { children: "\u2014" }) }); }
114
188
  function complianceCategoryLabel(value) { return value === 'DUAL_USE' ? '军民两用' : '海外制裁'; }
189
+ function complianceCategoryTitle(values) { return values?.length ? values.map(complianceCategoryLabel).join('、') : undefined; }
115
190
  function pagination(value) { const pageSize = value.pageSize ?? PAGE_SIZE; const total = value.total ?? 0; return { total, page: value.page ?? 1, pageSize, pageCount: Math.max(1, Math.ceil(total / pageSize)) }; }
116
191
  function money(value) { const number = Number(value); return Number.isFinite(number) ? number.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) : '—'; }
117
192
  function percent(value) { const number = Number(value); return Number.isFinite(number) ? `${(number * 100).toFixed(2)}%` : '—'; }
118
- function dateText(value) { return value ? String(value).slice(0, 10) : '—'; }
119
193
  function paymentLabel(value) { return value === 'PAID' ? '已收款' : value === 'PARTIAL' ? '部分收款' : '未收款'; }
120
194
  function sourceLabel(value) { return value === 'ORDER_OVERRIDE' ? '订单单独利润率' : '继承客户默认利润率'; }
121
195
  function hsCodeStatusLabel(value) { return value === 'AI_CONFIRMED' ? 'AI确认' : value === 'MANUALLY_CONFIRMED' ? '人工确认' : '未确认'; }
@@ -124,4 +198,17 @@ function similarityLabel(value) { const number = Number(value); return value !=
124
198
  function matchValues(matches, field) { return [...new Set(matches.map(match => match[field]?.trim()).filter((value) => Boolean(value)))]; }
125
199
  function validRate(value) { return value.trim() !== '' && Number.isFinite(Number(value)) && Number(value) >= 0; }
126
200
  function validAmount(value) { return value.trim() !== '' && Number.isFinite(Number(value)) && Number(value) >= 0; }
201
+ function isFailedActionResult(value) { return Boolean(value && typeof value === 'object' && 'success' in value && value.success === false); }
202
+ function actionFailureMessage(value, fallback) { return value.message || value.error?.message || fallback; }
203
+ function isRecord(value) { return Boolean(value && typeof value === 'object' && !Array.isArray(value)); }
204
+ function actionResultData(value) { return isRecord(value) && 'data' in value ? value.data : value; }
205
+ function recordArray(value, key) { return isRecord(value) && Array.isArray(value[key]) ? value[key].filter(isRecord) : []; }
206
+ function collectTranslationFailures(value) {
207
+ if (!isRecord(value))
208
+ return [];
209
+ const files = recordArray(value, 'files');
210
+ const sources = files.length ? files : [value];
211
+ return sources.flatMap(source => recordArray(source, 'translationFailures')).filter(isTranslationFailure);
212
+ }
213
+ function isTranslationFailure(value) { return value.code === 'TRANSLATION_FAILED' && typeof value.field === 'string' && typeof value.sourceValue === 'string' && typeof value.message === 'string'; }
127
214
  //# sourceMappingURL=sales.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sales.js","sourceRoot":"","sources":["../../../../src/lib/remote-ui/pages/sales.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sales.js","sourceRoot":"","sources":["../../../../src/lib/remote-ui/pages/sales.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import type { BankSettings, CompanySettings, MonthlyRateSettings, ProfitRuleSettings, SettingsData, SettingsDeleteRateRequest, SettingsHistoryOperationType, SettingsHistoryTransition, SettingsHistoryType, SettingsRestoreRequest, SettingsSaveRequest } from '../settings-contracts.js';
1
+ import type { BankSettings, CompanySettings, MonthlyRateCollection, MonthlyRateSettings, ProfitRuleSettings, SettingsData, SettingsDeleteRateRequest, SettingsHistoryOperationType, SettingsHistoryTransition, SettingsHistoryType, SettingsRestoreRequest, SettingsSaveRequest } from '../settings-contracts.js';
2
+ import type { Notify } from '../toast-queue.js';
3
+ import type { PaginationPageSize } from '../contracts.js';
2
4
  import './settings.css';
3
5
  export type SettingsPageProps = {
4
6
  data: SettingsData;
@@ -6,9 +8,14 @@ export type SettingsPageProps = {
6
8
  onSave: (request: SettingsSaveRequest) => void | Promise<void>;
7
9
  onRestoreDefault: (request: SettingsRestoreRequest) => void | Promise<void>;
8
10
  onDeleteRate: (request: SettingsDeleteRateRequest) => void | Promise<void>;
11
+ onRateQuery?: (query: {
12
+ page: number;
13
+ pageSize: PaginationPageSize;
14
+ }) => void | Promise<void>;
9
15
  onUploadLogo: (file: File) => string | Promise<string>;
10
16
  onDiscardLogo: (logoFileId: string) => void | Promise<void>;
11
17
  initialTab?: SettingsTab;
18
+ onNotify?: Notify;
12
19
  };
13
20
  export declare function createSettingsActionApi({ onSave, onRestoreDefault, onDeleteRate }: Pick<SettingsPageProps, 'onSave' | 'onRestoreDefault' | 'onDeleteRate'>): {
14
21
  saveCompany: (value: CompanySettings) => void | Promise<void>;
@@ -27,22 +34,30 @@ export declare function reconcileRevisionedSettings<T extends {
27
34
  revision: number;
28
35
  }>(local: T, incoming: T): T;
29
36
  export declare function completeRateDeletion(request: SettingsDeleteRateRequest, confirmed: boolean, onDelete: (request: SettingsDeleteRateRequest) => void | Promise<void>): Promise<void>;
30
- export declare function getRatePage(rates: MonthlyRateSettings[], query: {
31
- year: string;
32
- month: string;
33
- page: number;
34
- pageSize: number;
35
- }): {
36
- items: MonthlyRateSettings[];
37
- total: number;
38
- page: number;
39
- pageSize: number;
40
- pageCount: number;
41
- };
42
37
  export declare function closeAfterSuccessfulAction(action: () => boolean | Promise<boolean>, close: () => void): Promise<boolean>;
43
38
  type SettingsTab = 'COMPANY' | 'BANK' | 'MONTHLY_RATE';
44
39
  export declare function nextSettingsTab(active: SettingsTab, key: string): SettingsTab;
45
- export declare function SettingsPage({ data, busy, onSave, onRestoreDefault, onDeleteRate, onUploadLogo, onDiscardLogo, initialTab }: SettingsPageProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function SettingsPage({ data, busy, onSave, onRestoreDefault, onDeleteRate, onRateQuery, onUploadLogo, onDiscardLogo, initialTab, onNotify }: SettingsPageProps): import("react/jsx-runtime").JSX.Element;
41
+ export declare function createMonthlyRateQueryScheduler(query: (request: {
42
+ page: number;
43
+ pageSize: PaginationPageSize;
44
+ }) => void | Promise<void>): {
45
+ page: (page: number, pageSize: PaginationPageSize) => void | Promise<void>;
46
+ pageSize: (pageSize: PaginationPageSize) => void | Promise<void>;
47
+ };
48
+ export declare function buildMonthlyRatePresentation(rates: MonthlyRateCollection, editing: MonthlyRateSettings | null): {
49
+ variant: "current";
50
+ showProfitSnapshot: boolean;
51
+ showFilters: boolean;
52
+ showNotice: boolean;
53
+ items: MonthlyRateSettings[];
54
+ } | {
55
+ variant: "rate-create";
56
+ showProfitSnapshot: boolean;
57
+ showFilters: boolean;
58
+ showNotice: boolean;
59
+ items: MonthlyRateSettings[];
60
+ };
46
61
  export declare function RateDialog({ value, busy, onClose, onSave }: {
47
62
  value: MonthlyRateSettings;
48
63
  busy: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-ui/pages/settings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-ui/pages/settings.tsx"],"names":[],"mappings":"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"}