@chenchaolong/plugin-trade-compliance-workbench 0.1.41 → 0.1.42

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.
@@ -193,6 +193,59 @@
193
193
  }
194
194
  }
195
195
 
196
+ async function searchSupplierHsCandidatesForForm() {
197
+ if (!formDialog || formDialog.type !== 'supplier_product' || busy) return
198
+ const keyword = String(formDialog.hsCandidateKeyword || buildSupplierHsCandidateKeyword(formDialog.values) || '').trim()
199
+ if (!keyword) {
200
+ setFormDialog(Object.assign({}, formDialog, { hsCandidateError: '请输入商品名称、型号或海关编码后再查询。' }))
201
+ return
202
+ }
203
+ setFormDialog(Object.assign({}, formDialog, {
204
+ hsCandidateKeyword: keyword,
205
+ hsCandidateLoading: true,
206
+ hsCandidateError: '',
207
+ hsCandidateStatus: ''
208
+ }))
209
+ try {
210
+ const response = await executeAction('search_hs_code', null, {
211
+ keywords: keyword,
212
+ page: 1,
213
+ filterFailureCode: true,
214
+ displayChapter: false,
215
+ displayEnName: true
216
+ }, {})
217
+ assertActionSuccess(response)
218
+ const result = getActionDataPayload(response)
219
+ const candidates = Array.isArray(result && result.results) ? result.results.slice(0, 10) : []
220
+ setFormDialog((current) => current ? Object.assign({}, current, {
221
+ hsCandidateKeyword: keyword,
222
+ hsCandidateLoading: false,
223
+ hsCandidateError: '',
224
+ hsCandidateStatus: candidates.length ? 'pending_confirmation' : 'not_found',
225
+ hsCandidates: candidates
226
+ }) : current)
227
+ } catch (error) {
228
+ setFormDialog((current) => current ? Object.assign({}, current, {
229
+ hsCandidateLoading: false,
230
+ hsCandidateStatus: 'failed',
231
+ hsCandidateError: getErrorMessage(error)
232
+ }) : current)
233
+ }
234
+ }
235
+
236
+ function selectHsCandidate(candidate) {
237
+ if (!formDialog || formDialog.type !== 'supplier_product' || !candidate) return
238
+ setFormDialog(Object.assign({}, formDialog, {
239
+ values: Object.assign({}, formDialog.values, {
240
+ enrichedHsCode: candidate.code || '',
241
+ taxRefundRate: candidate.taxRefundRate || '',
242
+ englishName: candidate.englishName || candidate.name || ''
243
+ }),
244
+ hsCandidateStatus: 'confirmed'
245
+ }))
246
+ showNotice('已选用候选海关编码,请检查后保存。', 'success')
247
+ }
248
+
196
249
  async function handleFile(actionKey, file) {
197
250
  debugUpload('file change received', { actionKey, hasFile: !!file, busy })
198
251
  if (!file) {
@@ -404,11 +457,17 @@
404
457
  }
405
458
 
406
459
  function openEdit(item) {
460
+ const merged = readMerged(item || {})
407
461
  setFormDialog({
408
462
  mode: 'edit',
409
463
  type: item.type,
410
464
  item,
411
- values: valuesFromItem(item.type, item)
465
+ values: valuesFromItem(item.type, item),
466
+ hsCandidates: Array.isArray(merged.hsCodeCandidates) ? merged.hsCodeCandidates : [],
467
+ hsCandidateKeyword: merged.hsCodeLookupKeyword || buildSupplierHsCandidateKeyword(merged),
468
+ hsCandidateStatus: merged.hsCodeLookupStatus || '',
469
+ hsCandidateError: merged.hsCodeLookupError || '',
470
+ hsCandidateLoading: false
412
471
  })
413
472
  }
414
473
 
@@ -417,7 +476,12 @@
417
476
  mode: 'create',
418
477
  type,
419
478
  item: null,
420
- values: emptyFormValues(type)
479
+ values: emptyFormValues(type),
480
+ hsCandidates: [],
481
+ hsCandidateKeyword: '',
482
+ hsCandidateStatus: '',
483
+ hsCandidateError: '',
484
+ hsCandidateLoading: false
421
485
  })
422
486
  }
423
487
 
@@ -631,13 +695,14 @@
631
695
  ], [
632
696
  renderListToolbar('供应商商品列表', supplierReviews.length),
633
697
  h('div', { className: 'pending-supplier-products tcw-table-section' },
634
- reviewTable(['供应商', '商品', '型号', '海关编码', '退税率', '英文品名', '管控状态'], page.rows, (item) => {
698
+ reviewTable(['供应商', '商品', '型号', '海关编码', '编码确认', '退税率', '英文品名', '管控状态'], page.rows, (item) => {
635
699
  const row = readMerged(item)
636
700
  return [
637
701
  value(row.supplierName),
638
702
  value(row.productName || item.title),
639
703
  value(row.model),
640
704
  value(row.enrichedHsCode || row.contractHsCode),
705
+ status(hsCodeReviewStatusText(row), hsCodeReviewStatusLevel(row)),
641
706
  value(row.taxRefundRate),
642
707
  value(row.englishName),
643
708
  status(controlStatusText(row.controlledStatus), controlStatusLevel(row.controlledStatus))
@@ -1001,6 +1066,7 @@
1001
1066
  h('div', { className: formDialog.type === 'supplier_product' ? 'tcw-edit-grid tcw-edit-grid-two' : 'tcw-edit-grid' },
1002
1067
  fields.map((config) => formField(config))
1003
1068
  ),
1069
+ formDialog.type === 'supplier_product' ? renderSupplierHsCandidatePanel() : null,
1004
1070
  h('div', { className: 'tcw-modal-actions' },
1005
1071
  h('button', { type: 'button', className: 'tcw-btn tcw-btn-soft', onClick: () => setFormDialog(null) }, '取消'),
1006
1072
  h('button', { type: 'submit', className: 'tcw-btn tcw-btn-primary', disabled: busy }, '保存')
@@ -1009,6 +1075,41 @@
1009
1075
  )
1010
1076
  }
1011
1077
 
1078
+ function renderSupplierHsCandidatePanel() {
1079
+ const candidates = Array.isArray(formDialog.hsCandidates) ? formDialog.hsCandidates : []
1080
+ return h('section', { className: 'tcw-hs-candidate-panel' },
1081
+ h('div', { className: 'tcw-subsection-head' },
1082
+ h('div', null,
1083
+ h('h3', null, '候选海关编码'),
1084
+ h('p', null, hsCandidateStatusText(formDialog.hsCandidateStatus, candidates.length))
1085
+ ),
1086
+ h('div', { className: 'tcw-hs-candidate-search' },
1087
+ h('input', {
1088
+ className: 'tcw-search',
1089
+ value: formDialog.hsCandidateKeyword || '',
1090
+ placeholder: '商品名称、型号或海关编码',
1091
+ onChange: (event) => setFormDialog(Object.assign({}, formDialog, { hsCandidateKeyword: event.target.value }))
1092
+ }),
1093
+ h('button', { type: 'button', className: 'tcw-mini-btn', disabled: busy || formDialog.hsCandidateLoading, onClick: searchSupplierHsCandidatesForForm }, formDialog.hsCandidateLoading ? '查询中' : '查询')
1094
+ )
1095
+ ),
1096
+ formDialog.hsCandidateError ? h('div', { className: 'tcw-error' }, formDialog.hsCandidateError) : null,
1097
+ candidates.length ? table(['编码', '商品名称', '英文名称', '单位', '退税率', '监管', '检验检疫', '操作'], candidates, (candidate) => [
1098
+ h('strong', { className: 'tcw-hs-code-text' }, value(candidate.code)),
1099
+ value(candidate.name),
1100
+ value(candidate.englishName),
1101
+ value(candidate.unit),
1102
+ value(candidate.taxRefundRate),
1103
+ value(candidate.regulatoryConditions),
1104
+ value(candidate.inspectionQuarantine),
1105
+ h('div', { className: 'tcw-row-actions' },
1106
+ h('button', { type: 'button', className: 'tcw-mini-btn', onClick: () => selectHsCandidate(candidate) }, '选用'),
1107
+ h('button', { type: 'button', className: 'tcw-mini-btn', disabled: !candidate.code && !candidate.detailUrl, onClick: () => loadHsCodeDetail(candidate) }, '详情')
1108
+ )
1109
+ ], '暂无候选编码。') : empty('暂无候选编码,可调整关键词后查询。')
1110
+ )
1111
+ }
1112
+
1012
1113
  function renderDeleteConfirmModal() {
1013
1114
  return h('div', { className: 'tcw-modal-backdrop' },
1014
1115
  h('section', { className: 'tcw-modal tcw-confirm-modal' },
@@ -1341,6 +1442,41 @@
1341
1442
  return Number.isFinite(parsed) ? parsed : undefined
1342
1443
  }
1343
1444
 
1445
+ function buildSupplierHsCandidateKeyword(values) {
1446
+ const contractHsCode = normalizeText(values && values.contractHsCode)
1447
+ if (contractHsCode) return contractHsCode
1448
+ const keyword = [values && values.productName, values && values.model].map(normalizeText).filter(Boolean).join(' ').trim()
1449
+ if (keyword) return keyword
1450
+ const description = normalizeText(values && values.description)
1451
+ return description ? description.slice(0, 100) : ''
1452
+ }
1453
+
1454
+ function hsCandidateStatusText(statusValue, count) {
1455
+ if (statusValue === 'confirmed') return '已选用候选编码,保存后写入供应商商品。'
1456
+ if (statusValue === 'pending_confirmation') return count ? `待人工确认,已找到 ${count} 个候选编码。` : '待人工确认。'
1457
+ if (statusValue === 'not_found') return '未查询到候选编码,可调整关键词重新查询。'
1458
+ if (statusValue === 'failed') return '候选编码查询失败,可稍后重试。'
1459
+ if (statusValue === 'not_ready') return '缺少商品名称、型号或编码,可补充信息后查询。'
1460
+ return count ? `已找到 ${count} 个候选编码,请选择确认。` : '可按商品名称、型号或海关编码查询候选。'
1461
+ }
1462
+
1463
+ function hsCodeReviewStatusText(row) {
1464
+ if (row.enrichedHsCode) return '已确认'
1465
+ if (Array.isArray(row.hsCodeCandidates) && row.hsCodeCandidates.length > 0) return '待确认'
1466
+ if (row.hsCodeLookupStatus === 'failed') return '查询失败'
1467
+ if (row.hsCodeLookupStatus === 'not_found') return '未匹配'
1468
+ if (row.contractHsCode) return '合同编码'
1469
+ return '待查询'
1470
+ }
1471
+
1472
+ function hsCodeReviewStatusLevel(row) {
1473
+ if (row.enrichedHsCode) return 'ok'
1474
+ if (Array.isArray(row.hsCodeCandidates) && row.hsCodeCandidates.length > 0) return 'warn'
1475
+ if (row.hsCodeLookupStatus === 'failed') return 'danger'
1476
+ if (row.hsCodeLookupStatus === 'not_found') return 'muted'
1477
+ return 'muted'
1478
+ }
1479
+
1344
1480
  function splitKeywords(value) {
1345
1481
  if (Array.isArray(value)) return value.map(normalizeText).filter(Boolean)
1346
1482
  return String(value || '').split(/[,\s,、]+/).map(normalizeText).filter(Boolean)
@@ -1658,10 +1794,12 @@ button, input, textarea, select { font: inherit; letter-spacing: 0; }
1658
1794
  .tcw-mini-btn.active { background: var(--tcw-primary); color: #fff; }
1659
1795
  .tcw-mini-btn.danger { border-color: color-mix(in srgb, var(--tcw-danger) 35%, var(--tcw-border)); background: color-mix(in srgb, var(--tcw-danger) 6%, var(--tcw-card)); color: var(--tcw-danger); }
1660
1796
  .tcw-mini-btn:disabled { cursor: not-allowed; opacity: .5; }
1661
- .tcw-hs-code-text { overflow-wrap: anywhere; font-size: 12px; }
1662
- .tcw-hs-search-form { display: grid; gap: 10px; }
1663
- .tcw-hs-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
1664
- .tcw-error { border: 1px solid color-mix(in srgb, var(--tcw-danger) 35%, var(--tcw-border)); border-radius: 8px; background: color-mix(in srgb, var(--tcw-danger) 6%, var(--tcw-card)); color: var(--tcw-danger); padding: 10px 12px; font-size: 13px; font-weight: 800; }
1797
+ .tcw-hs-code-text { overflow-wrap: anywhere; font-size: 12px; }
1798
+ .tcw-hs-search-form { display: grid; gap: 10px; }
1799
+ .tcw-hs-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
1800
+ .tcw-hs-candidate-panel { display: grid; gap: 10px; border-top: 1px solid var(--tcw-border); padding-top: 12px; }
1801
+ .tcw-hs-candidate-search { display: grid; grid-template-columns: minmax(220px, 320px) auto; gap: 8px; align-items: center; }
1802
+ .tcw-error { border: 1px solid color-mix(in srgb, var(--tcw-danger) 35%, var(--tcw-border)); border-radius: 8px; background: color-mix(in srgb, var(--tcw-danger) 6%, var(--tcw-card)); color: var(--tcw-danger); padding: 10px 12px; font-size: 13px; font-weight: 800; }
1665
1803
  .row-selection-checkbox { width: 16px; height: 16px; }
1666
1804
  .tcw-empty { display: grid; place-items: center; min-height: 86px; border: 1px dashed var(--tcw-border); border-radius: 8px; background: var(--tcw-soft); color: var(--tcw-muted); padding: 16px; text-align: center; }
1667
1805
  .tcw-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--tcw-border); border-top: 0; border-radius: 0 0 8px 8px; background: var(--tcw-card); padding: 10px 12px; color: var(--tcw-muted); font-size: 12px; }
@@ -1712,8 +1850,9 @@ button, input, textarea, select { font: inherit; letter-spacing: 0; }
1712
1850
  .tcw-status.danger { background: #fde8e6; color: var(--tcw-danger); }
1713
1851
  .tcw-status.muted { background: #eef2f6; color: var(--tcw-muted); }
1714
1852
  @media (max-width: 1040px) {
1715
- .tcw-header, .tcw-main.with-drawer, .tcw-edit-grid { grid-template-columns: 1fr; }
1716
- .tcw-detail-grid { grid-template-columns: 1fr; }
1853
+ .tcw-header, .tcw-main.with-drawer, .tcw-edit-grid { grid-template-columns: 1fr; }
1854
+ .tcw-detail-grid { grid-template-columns: 1fr; }
1855
+ .tcw-hs-candidate-search { grid-template-columns: 1fr; }
1717
1856
  .tcw-business-head { align-items: stretch; flex-direction: column; }
1718
1857
  .tcw-button-row, .tcw-list-actions { justify-content: flex-start; }
1719
1858
  .tcw-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@@ -1 +1 @@
1
- {"version":3,"file":"trade-compliance-workbench.middleware.d.ts","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.middleware.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAkD3B,QAAA,IAAI,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGrC,CAAC;AAQF,OAAO,EAAE,kCAAkC,EAAE,CAAC"}
1
+ {"version":3,"file":"trade-compliance-workbench.middleware.d.ts","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.middleware.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAkD3B,QAAA,IAAI,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4GrC,CAAC;AAQF,OAAO,EAAE,kCAAkC,EAAE,CAAC"}
@@ -9,7 +9,7 @@ import { AgentMiddlewareStrategy, PLUGIN_CONFIG_RESOLVER_TOKEN, RequestContext }
9
9
  import { z } from 'zod/v3';
10
10
  import { TRADE_COMPLIANCE_FEATURE, TRADE_COMPLIANCE_ICON, TRADE_COMPLIANCE_MIDDLEWARE_NAME, TRADE_COMPLIANCE_PLUGIN_NAME, TRADE_COMPLIANCE_TOOL_NAMES } from './constants.js';
11
11
  import { readTradeComplianceEnvDefaults, TradeComplianceWorkbenchConfigSchema } from './trade-compliance.config.js';
12
- import { enrichProductWithFallback } from './trade-compliance.enrichment.js';
12
+ import { enrichProductWithFallback, searchHsBianmaCodes } from './trade-compliance.enrichment.js';
13
13
  import { matchControlledGoods } from './trade-compliance.matching.js';
14
14
  import { buildCustomsWorkbookModel, createCustomsWorkbookFromTemplateBuffer } from './trade-compliance-workbook.js';
15
15
  import { TradeComplianceWorkbenchService } from './trade-compliance-workbench.service.js';
@@ -93,7 +93,11 @@ let TradeComplianceWorkbenchMiddleware = class TradeComplianceWorkbenchMiddlewar
93
93
  description: 'Save controlled goods entries extracted from an uploaded control catalog file into a review batch.',
94
94
  schema: createReviewBatchSchema
95
95
  }),
96
- tool(async (input) => stringify(await this.service.createReviewBatch(scope, { ...input, type: 'supplier_contract' })), {
96
+ tool(async (input) => stringify(await this.service.createReviewBatch(scope, {
97
+ ...input,
98
+ type: 'supplier_contract',
99
+ items: await enrichSupplierReviewItemsWithHsCandidates(input.items, config)
100
+ })), {
97
101
  name: TRADE_COMPLIANCE_TOOL_NAMES[1],
98
102
  description: 'Save supplier and product information extracted from a supplier contract into a review batch.',
99
103
  schema: createReviewBatchSchema
@@ -182,4 +186,87 @@ function scopeFromContext(context) {
182
186
  function stringify(value) {
183
187
  return JSON.stringify(value, null, 2);
184
188
  }
189
+ async function enrichSupplierReviewItemsWithHsCandidates(items, config) {
190
+ const list = Array.isArray(items) ? items : [];
191
+ const enriched = [];
192
+ for (const item of list) {
193
+ if (item?.type !== 'supplier_product') {
194
+ enriched.push(item);
195
+ continue;
196
+ }
197
+ const defaultData = { ...(item.defaultData || {}) };
198
+ if (Array.isArray(defaultData.hsCodeCandidates) && defaultData.hsCodeCandidates.length > 0) {
199
+ enriched.push(item);
200
+ continue;
201
+ }
202
+ const data = { ...defaultData, ...(item.extractedData || {}) };
203
+ const keyword = buildSupplierHsCandidateKeyword(data);
204
+ if (!keyword) {
205
+ enriched.push({
206
+ ...item,
207
+ defaultData: {
208
+ ...defaultData,
209
+ hsCodeLookupStatus: 'not_ready',
210
+ hsCodeLookupNote: '缺少商品名称、型号或合同海关编码,无法自动查询候选编码'
211
+ }
212
+ });
213
+ continue;
214
+ }
215
+ try {
216
+ const result = await searchHsBianmaCodes({
217
+ keywords: keyword,
218
+ page: 1,
219
+ filterFailureCode: true,
220
+ displayChapter: false,
221
+ displayEnName: true
222
+ }, {
223
+ baseUrl: config.enrichment?.apiBaseUrl,
224
+ timeoutMs: config.enrichment?.timeoutMs
225
+ });
226
+ enriched.push({
227
+ ...item,
228
+ defaultData: {
229
+ ...defaultData,
230
+ hsCodeLookupKeyword: keyword,
231
+ hsCodeLookupStatus: result.results.length > 0 ? 'pending_confirmation' : 'not_found',
232
+ hsCodeCandidates: result.results.slice(0, 10)
233
+ }
234
+ });
235
+ }
236
+ catch (error) {
237
+ enriched.push({
238
+ ...item,
239
+ defaultData: {
240
+ ...defaultData,
241
+ hsCodeLookupKeyword: keyword,
242
+ hsCodeLookupStatus: 'failed',
243
+ hsCodeLookupError: summarizeHsLookupError(error),
244
+ hsCodeCandidates: []
245
+ }
246
+ });
247
+ }
248
+ }
249
+ return enriched;
250
+ }
251
+ function buildSupplierHsCandidateKeyword(data) {
252
+ const contractHsCode = stringValue(data.contractHsCode);
253
+ if (contractHsCode)
254
+ return contractHsCode;
255
+ const productName = stringValue(data.productName);
256
+ const model = stringValue(data.model);
257
+ const description = stringValue(data.description);
258
+ const keyword = [productName, model].filter(Boolean).join(' ').trim();
259
+ if (keyword)
260
+ return keyword.slice(0, 100);
261
+ return description ? description.slice(0, 100) : undefined;
262
+ }
263
+ function stringValue(value) {
264
+ const text = String(value ?? '').trim();
265
+ return text ? text : undefined;
266
+ }
267
+ function summarizeHsLookupError(error) {
268
+ if (error instanceof Error)
269
+ return error.message.slice(0, 300);
270
+ return String(error).slice(0, 300);
271
+ }
185
272
  //# sourceMappingURL=trade-compliance-workbench.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trade-compliance-workbench.middleware.js","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade-compliance-workbench.middleware.js","sourceRoot":"","sources":["../../src/lib/trade-compliance-workbench.middleware.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chenchaolong/plugin-trade-compliance-workbench",
3
- "version": "0.1.41",
3
+ "version": "0.1.42",
4
4
  "description": "Trade Compliance Workbench app plugin for controlled goods review, supplier product management, and customs workbook generation.",
5
5
  "author": {
6
6
  "name": "XpertAI",