weaver-work-cli 0.1.24 → 0.1.26

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 (401) hide show
  1. package/README.md +30 -21
  2. package/dist/cmd/root.js +1 -0
  3. package/dist/core/output.js +53 -1
  4. package/dist/core/runtime-agent.js +19 -0
  5. package/dist/internal/e10/auth/commands.js +58 -23
  6. package/dist/internal/e10/auth/crypto.js +52 -12
  7. package/dist/internal/e10/auth/xiaoe.js +145 -53
  8. package/dist/internal/e10/context.js +5 -27
  9. package/dist/shortcuts/archive-oa/constants.js +66 -0
  10. package/dist/shortcuts/archive-oa/continuation.js +70 -0
  11. package/dist/shortcuts/archive-oa/errors.js +53 -0
  12. package/dist/shortcuts/archive-oa/host.js +157 -0
  13. package/dist/shortcuts/archive-oa/index.js +225 -0
  14. package/dist/shortcuts/archive-oa/manifest.js +62 -0
  15. package/dist/shortcuts/archive-oa/operations/borrow-car.js +159 -0
  16. package/dist/shortcuts/archive-oa/operations/borrow-url.js +108 -0
  17. package/dist/shortcuts/archive-oa/operations/confirm.js +48 -0
  18. package/dist/shortcuts/archive-oa/operations/contract.js +120 -0
  19. package/dist/shortcuts/archive-oa/operations/locate.js +50 -0
  20. package/dist/shortcuts/archive-oa/operations/registry.js +40 -0
  21. package/dist/shortcuts/archive-oa/operations/shared.js +181 -0
  22. package/dist/shortcuts/archive-oa/operations/types.js +45 -0
  23. package/dist/shortcuts/archive-oa/operations.js +13 -0
  24. package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
  25. package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
  26. package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
  27. package/dist/shortcuts/caizhilian/operations/specs.js +15 -0
  28. package/dist/shortcuts/index.js +2 -0
  29. package/dist/shortcuts/invoice/host.js +2 -1
  30. package/dist/shortcuts/invoice/manifest.js +111 -0
  31. package/dist/shortcuts/invoice/operations/issuing-qys.js +361 -0
  32. package/dist/shortcuts/invoice/operations/issuing.js +5 -5
  33. package/dist/shortcuts/invoice/operations/registry.js +4 -0
  34. package/dist/shortcuts/workflow/endpoints.js +11 -0
  35. package/dist/shortcuts/workflow/host.js +2 -2
  36. package/dist/shortcuts/workflow/index.js +25 -1
  37. package/dist/shortcuts/workflow/operations/chatscene.js +270 -0
  38. package/dist/shortcuts/workflow/operations/form.js +2128 -244
  39. package/dist/shortcuts/workflow/operations/read.js +186 -41
  40. package/dist/shortcuts/workflow/operations/shared.js +25 -0
  41. package/dist/shortcuts/workflow/operations/sign-input.js +106 -0
  42. package/dist/shortcuts/workflow/operations/write.js +9 -1
  43. package/dist/shortcuts/workflow/stdout-compact.js +41 -0
  44. package/docs/archive-oa.md +79 -0
  45. package/docs/caizhilian.md +4 -3
  46. package/docs/e10-auth.md +13 -5
  47. package/node_modules/@napi-rs/keyring/LICENSE +21 -0
  48. package/node_modules/@napi-rs/keyring/README.md +19 -0
  49. package/node_modules/@napi-rs/keyring/index.d.ts +166 -0
  50. package/node_modules/@napi-rs/keyring/index.js +514 -0
  51. package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
  52. package/node_modules/@napi-rs/keyring/keytar.js +26 -0
  53. package/node_modules/@napi-rs/keyring/package.json +125 -0
  54. package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
  55. package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
  56. package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
  57. package/node_modules/commander/LICENSE +22 -0
  58. package/node_modules/commander/Readme.md +1149 -0
  59. package/node_modules/commander/esm.mjs +16 -0
  60. package/node_modules/commander/index.js +24 -0
  61. package/node_modules/commander/lib/argument.js +149 -0
  62. package/node_modules/commander/lib/command.js +2662 -0
  63. package/node_modules/commander/lib/error.js +39 -0
  64. package/node_modules/commander/lib/help.js +709 -0
  65. package/node_modules/commander/lib/option.js +367 -0
  66. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  67. package/node_modules/commander/package-support.json +16 -0
  68. package/node_modules/commander/package.json +82 -0
  69. package/node_modules/commander/typings/esm.d.mts +3 -0
  70. package/node_modules/commander/typings/index.d.ts +1045 -0
  71. package/package.json +5 -1
  72. package/skill-template/business-info.json +16 -0
  73. package/skill-template/domains/archive-oa.md +19 -0
  74. package/skill-template/domains/yepiaotong.md +2 -2
  75. package/skills/weaver-e10-archive-oa/SKILL.md +159 -0
  76. package/skills/weaver-e10-archive-oa/references/archive-locate.md +49 -0
  77. package/skills/weaver-e10-archive-oa/references/borrow-car.md +76 -0
  78. package/skills/weaver-e10-archive-oa/references/borrow-flow.md +53 -0
  79. package/skills/weaver-e10-archive-oa/references/contract-search.md +63 -0
  80. package/skills/weaver-e10-archive-oa/references/disabled-capabilities.md +29 -0
  81. package/skills/weaver-e10-archive-oa/references/qys-contract-search.md +47 -0
  82. package/skills/weaver-e10-archive-oa/references/source-manifest.json +400 -0
  83. package/skills/weaver-e10-builder/SKILL.md +303 -0
  84. package/skills/weaver-e10-builder/_catalog.md +94 -0
  85. package/skills/weaver-e10-builder/actionflows/CONTEXT.md +71 -0
  86. package/skills/weaver-e10-builder/actionflows/SKILL.md +176 -0
  87. package/skills/weaver-e10-builder/actionflows/docs/adr/0001-generated-actionflow-cleanup-identity.md +5 -0
  88. package/skills/weaver-e10-builder/actionflows/docs/adr/0002-preserve-existing-actionflow-on-update.md +36 -0
  89. package/skills/weaver-e10-builder/actionflows/references/components/calendar/MeetingCreate.md +19 -0
  90. package/skills/weaver-e10-builder/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
  91. package/skills/weaver-e10-builder/actionflows/references/components/database/DMLExecute.md +38 -0
  92. package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentCopy.md +17 -0
  93. package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentMove.md +17 -0
  94. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentCopy.md +17 -0
  95. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentDelete.md +17 -0
  96. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentEdit.md +17 -0
  97. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentMove.md +17 -0
  98. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
  99. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRenewal.md +17 -0
  100. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRevert.md +17 -0
  101. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSave.md +17 -0
  102. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscription.md +17 -0
  103. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
  104. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
  105. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
  106. package/skills/weaver-e10-builder/actionflows/references/components/document/FileFolderSave.md +17 -0
  107. package/skills/weaver-e10-builder/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
  108. package/skills/weaver-e10-builder/actionflows/references/components/document/GetDocumentInfo.md +17 -0
  109. package/skills/weaver-e10-builder/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
  110. package/skills/weaver-e10-builder/actionflows/references/components/document/ReplaceAttachment.md +17 -0
  111. package/skills/weaver-e10-builder/actionflows/references/components/document/UpdatePrintNum.md +17 -0
  112. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbAdd.md +100 -0
  113. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
  114. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
  115. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
  116. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbUpdate.md +67 -0
  117. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/DateTrigger.md +32 -0
  118. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
  119. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EnquiryForm.md +107 -0
  120. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventButton.md +33 -0
  121. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventFormData.md +19 -0
  122. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -0
  123. package/skills/weaver-e10-builder/actionflows/references/components/http/Http.md +77 -0
  124. package/skills/weaver-e10-builder/actionflows/references/components/logic/Condition.md +23 -0
  125. package/skills/weaver-e10-builder/actionflows/references/components/logic/LogicFlowSet.md +17 -0
  126. package/skills/weaver-e10-builder/actionflows/references/components/logic/MultipleExecution.md +38 -0
  127. package/skills/weaver-e10-builder/actionflows/references/components/logic/Output.md +37 -0
  128. package/skills/weaver-e10-builder/actionflows/references/components/message/InnerMQSend.md +50 -0
  129. package/skills/weaver-e10-builder/actionflows/references/components/message/SendMessage.md +30 -0
  130. package/skills/weaver-e10-builder/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
  131. package/skills/weaver-e10-builder/actionflows/references/components/personnel/HrmEmployeeUpdate.md +34 -0
  132. package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
  133. package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -0
  134. package/skills/weaver-e10-builder/actionflows/references/components/serverless/ServerlessAction.md +42 -0
  135. package/skills/weaver-e10-builder/actionflows/references/components/trigger/CustomTrigger.md +82 -0
  136. package/skills/weaver-e10-builder/actionflows/references/components/trigger/InnerMQListener.md +41 -0
  137. package/skills/weaver-e10-builder/actionflows/references/components/trigger/SimpleScheduler.md +19 -0
  138. package/skills/weaver-e10-builder/actionflows/references/components/trigger/WebHookTrigger.md +91 -0
  139. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
  140. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
  141. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCommit.md +17 -0
  142. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
  143. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCreate.md +17 -0
  144. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDelete.md +19 -0
  145. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
  146. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
  147. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
  148. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveEntrust.md +19 -0
  149. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
  150. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
  151. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
  152. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
  153. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
  154. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSave.md +17 -0
  155. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
  156. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
  157. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveTrigger.md +99 -0
  158. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
  159. package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
  160. package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
  161. package/skills/weaver-e10-builder/actionflows/references/condition_rules.md +100 -0
  162. package/skills/weaver-e10-builder/actionflows/references/dynamic_capability_matrix.md +39 -0
  163. package/skills/weaver-e10-builder/actionflows/references/dynamic_resources.md +41 -0
  164. package/skills/weaver-e10-builder/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
  165. package/skills/weaver-e10-builder/actionflows/references/function_rules.md +15 -0
  166. package/skills/weaver-e10-builder/actionflows/references/trigger_runtime_notes.md +53 -0
  167. package/skills/weaver-e10-builder/assets/dom-structure/Bar.json +341 -0
  168. package/skills/weaver-e10-builder/assets/dom-structure/BarStack.json +341 -0
  169. package/skills/weaver-e10-builder/assets/dom-structure/Bubble.json +323 -0
  170. package/skills/weaver-e10-builder/assets/dom-structure/Calendar.json +515 -0
  171. package/skills/weaver-e10-builder/assets/dom-structure/Circular.json +337 -0
  172. package/skills/weaver-e10-builder/assets/dom-structure/CollapsePanel.json +289 -0
  173. package/skills/weaver-e10-builder/assets/dom-structure/Comment.json +617 -0
  174. package/skills/weaver-e10-builder/assets/dom-structure/CountDown.json +755 -0
  175. package/skills/weaver-e10-builder/assets/dom-structure/DigitalPanel.json +191 -0
  176. package/skills/weaver-e10-builder/assets/dom-structure/EbButton.json +387 -0
  177. package/skills/weaver-e10-builder/assets/dom-structure/FastCreate.json +242 -0
  178. package/skills/weaver-e10-builder/assets/dom-structure/Gauge.json +282 -0
  179. package/skills/weaver-e10-builder/assets/dom-structure/HBar.json +336 -0
  180. package/skills/weaver-e10-builder/assets/dom-structure/HBarStack.json +337 -0
  181. package/skills/weaver-e10-builder/assets/dom-structure/Line.json +341 -0
  182. package/skills/weaver-e10-builder/assets/dom-structure/NList.json +712 -0
  183. package/skills/weaver-e10-builder/assets/dom-structure/NavBar.json +274 -0
  184. package/skills/weaver-e10-builder/assets/dom-structure/NavPanel.json +390 -0
  185. package/skills/weaver-e10-builder/assets/dom-structure/NewTab.json +606 -0
  186. package/skills/weaver-e10-builder/assets/dom-structure/Nightingale.json +336 -0
  187. package/skills/weaver-e10-builder/assets/dom-structure/PageHeader.json +205 -0
  188. package/skills/weaver-e10-builder/assets/dom-structure/Picture.json +209 -0
  189. package/skills/weaver-e10-builder/assets/dom-structure/Pie.json +338 -0
  190. package/skills/weaver-e10-builder/assets/dom-structure/ProgressChart.json +299 -0
  191. package/skills/weaver-e10-builder/assets/dom-structure/SearchGlobal.json +628 -0
  192. package/skills/weaver-e10-builder/assets/dom-structure/Slide.json +489 -0
  193. package/skills/weaver-e10-builder/assets/dom-structure/Treemap.json +324 -0
  194. package/skills/weaver-e10-builder/assets/factory/chart-dimensions.json +536 -0
  195. package/skills/weaver-e10-builder/assets/factory/example-btn-progress-collapse-configured.json +2515 -0
  196. package/skills/weaver-e10-builder/assets/factory/example-configured-2.json +13805 -0
  197. package/skills/weaver-e10-builder/assets/factory/example-configured.json +6735 -0
  198. package/skills/weaver-e10-builder/assets/factory/factory-bar-stack.json +326 -0
  199. package/skills/weaver-e10-builder/assets/factory/factory-bar.json +222 -0
  200. package/skills/weaver-e10-builder/assets/factory/factory-bubble.json +322 -0
  201. package/skills/weaver-e10-builder/assets/factory/factory-calendar.json +325 -0
  202. package/skills/weaver-e10-builder/assets/factory/factory-circular.json +320 -0
  203. package/skills/weaver-e10-builder/assets/factory/factory-collapse-panel.json +132 -0
  204. package/skills/weaver-e10-builder/assets/factory/factory-comment.json +388 -0
  205. package/skills/weaver-e10-builder/assets/factory/factory-count-down.json +198 -0
  206. package/skills/weaver-e10-builder/assets/factory/factory-digital-panel.json +108 -0
  207. package/skills/weaver-e10-builder/assets/factory/factory-eb-button.json +150 -0
  208. package/skills/weaver-e10-builder/assets/factory/factory-fast-create.json +62 -0
  209. package/skills/weaver-e10-builder/assets/factory/factory-gauge.json +312 -0
  210. package/skills/weaver-e10-builder/assets/factory/factory-h-bar-stack.json +328 -0
  211. package/skills/weaver-e10-builder/assets/factory/factory-h-bar.json +326 -0
  212. package/skills/weaver-e10-builder/assets/factory/factory-line.json +212 -0
  213. package/skills/weaver-e10-builder/assets/factory/factory-nav-bar.json +167 -0
  214. package/skills/weaver-e10-builder/assets/factory/factory-nav-menu.json +144 -0
  215. package/skills/weaver-e10-builder/assets/factory/factory-nav-panel.json +338 -0
  216. package/skills/weaver-e10-builder/assets/factory/factory-new-tab.json +163 -0
  217. package/skills/weaver-e10-builder/assets/factory/factory-nightingale.json +312 -0
  218. package/skills/weaver-e10-builder/assets/factory/factory-nlist.json +112 -0
  219. package/skills/weaver-e10-builder/assets/factory/factory-page-header.json +171 -0
  220. package/skills/weaver-e10-builder/assets/factory/factory-picture.json +169 -0
  221. package/skills/weaver-e10-builder/assets/factory/factory-pie.json +212 -0
  222. package/skills/weaver-e10-builder/assets/factory/factory-progress-chart.json +162 -0
  223. package/skills/weaver-e10-builder/assets/factory/factory-search-global.json +104 -0
  224. package/skills/weaver-e10-builder/assets/factory/factory-slide.json +164 -0
  225. package/skills/weaver-e10-builder/assets/factory/factory-treemap.json +322 -0
  226. package/skills/weaver-e10-builder/assets/icons.db +0 -0
  227. package/skills/weaver-e10-builder/assets/sample/.claude/settings.local.json +8 -0
  228. package/skills/weaver-e10-builder/assets/sample/api/formApi.js +510 -0
  229. package/skills/weaver-e10-builder/assets/sample/config/config.js +0 -0
  230. package/skills/weaver-e10-builder/assets/sample/config/configLoad.js +0 -0
  231. package/skills/weaver-e10-builder/assets/sample/config/configLoad_default.js +0 -0
  232. package/skills/weaver-e10-builder/assets/sample/config/config_default.js +0 -0
  233. package/skills/weaver-e10-builder/assets/sample/entry.js +22 -0
  234. package/skills/weaver-e10-builder/assets/sample/eslint.config.cjs +48 -0
  235. package/skills/weaver-e10-builder/assets/sample/memo.md +0 -0
  236. package/skills/weaver-e10-builder/assets/sample/readme.js +8 -0
  237. package/skills/weaver-e10-builder/references/app/guide-app-publish.md +92 -0
  238. package/skills/weaver-e10-builder/references/auth/guide-auth.md +88 -0
  239. package/skills/weaver-e10-builder/references/coding/guide-edit-backfill.md +189 -0
  240. package/skills/weaver-e10-builder/references/coding/guide-form-crud.md +262 -0
  241. package/skills/weaver-e10-builder/references/coding/guide-page-code.md +244 -0
  242. package/skills/weaver-e10-builder/references/coding/guide-page-export.md +119 -0
  243. package/skills/weaver-e10-builder/references/coding/ref-compile-rules.md +130 -0
  244. package/skills/weaver-e10-builder/references/common/guide-plan-template.md +164 -0
  245. package/skills/weaver-e10-builder/references/common/map.md +153 -0
  246. package/skills/weaver-e10-builder/references/common/ref-cli-commands.md +635 -0
  247. package/skills/weaver-e10-builder/references/components/@weapp-Button.md +104 -0
  248. package/skills/weaver-e10-builder/references/components/base-Badge.md +100 -0
  249. package/skills/weaver-e10-builder/references/components/base-Dialog.md +358 -0
  250. package/skills/weaver-e10-builder/references/components/base-Empty.md +58 -0
  251. package/skills/weaver-e10-builder/references/components/base-Tag.md +112 -0
  252. package/skills/weaver-e10-builder/references/components/display-Alert.md +64 -0
  253. package/skills/weaver-e10-builder/references/components/display-Avatar.md +150 -0
  254. package/skills/weaver-e10-builder/references/components/display-Calendar.md +263 -0
  255. package/skills/weaver-e10-builder/references/components/display-Carousel.md +115 -0
  256. package/skills/weaver-e10-builder/references/components/display-Collapse.md +299 -0
  257. package/skills/weaver-e10-builder/references/components/display-FilePreview.md +49 -0
  258. package/skills/weaver-e10-builder/references/components/display-Icon.md +66 -0
  259. package/skills/weaver-e10-builder/references/components/display-List.md +320 -0
  260. package/skills/weaver-e10-builder/references/components/display-Pagination.md +41 -0
  261. package/skills/weaver-e10-builder/references/components/display-Spin.md +34 -0
  262. package/skills/weaver-e10-builder/references/components/display-Steps.md +89 -0
  263. package/skills/weaver-e10-builder/references/components/display-Table.md +160 -0
  264. package/skills/weaver-e10-builder/references/components/display-Title.md +117 -0
  265. package/skills/weaver-e10-builder/references/components/form-Checkbox.md +161 -0
  266. package/skills/weaver-e10-builder/references/components/form-DepartmentBrowser-api.md +52 -0
  267. package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser-api.md +51 -0
  268. package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser.md +51 -0
  269. package/skills/weaver-e10-builder/references/components/form-Input.md +123 -0
  270. package/skills/weaver-e10-builder/references/components/form-Radio.md +145 -0
  271. package/skills/weaver-e10-builder/references/components/form-Select.md +191 -0
  272. package/skills/weaver-e10-builder/references/components/form-Switch.md +46 -0
  273. package/skills/weaver-e10-builder/references/components/form-Upload.md +53 -0
  274. package/skills/weaver-e10-builder/references/components/generic-Echarts.md +102 -0
  275. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-components.md +130 -0
  276. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-css.md +127 -0
  277. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-factory.md +460 -0
  278. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-version.md +111 -0
  279. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer.md +288 -0
  280. package/skills/weaver-e10-builder/references/esb-interface/guide-import.md +34 -0
  281. package/skills/weaver-e10-builder/references/form/guide-create-form.md +248 -0
  282. package/skills/weaver-e10-builder/references/form/guide-ebuilder-filter.md +73 -0
  283. package/skills/weaver-e10-builder/references/form/guide-ebuilder-scope.md +82 -0
  284. package/skills/weaver-e10-builder/references/form/guide-field-linkage.md +123 -0
  285. package/skills/weaver-e10-builder/references/form/guide-form-archive-permission.md +175 -0
  286. package/skills/weaver-e10-builder/references/form/guide-form-association.md +124 -0
  287. package/skills/weaver-e10-builder/references/form/guide-form-button.md +169 -0
  288. package/skills/weaver-e10-builder/references/form/guide-form-data.md +78 -0
  289. package/skills/weaver-e10-builder/references/form/guide-form-formula-functions.md +343 -0
  290. package/skills/weaver-e10-builder/references/form/guide-form-layout-incremental.md +90 -0
  291. package/skills/weaver-e10-builder/references/form/guide-form-layout-planning.md +68 -0
  292. package/skills/weaver-e10-builder/references/form/guide-form-linkage.md +269 -0
  293. package/skills/weaver-e10-builder/references/form/guide-form-message.md +74 -0
  294. package/skills/weaver-e10-builder/references/form/guide-form-physical-table.md +146 -0
  295. package/skills/weaver-e10-builder/references/form/guide-form-serial-mark.md +47 -0
  296. package/skills/weaver-e10-builder/references/form/guide-form-sub-detail.md +82 -0
  297. package/skills/weaver-e10-builder/references/form/guide-form-view-permission.md +38 -0
  298. package/skills/weaver-e10-builder/references/form/guide-form-view.md +371 -0
  299. package/skills/weaver-e10-builder/references/form/guide-formula-linkage.md +281 -0
  300. package/skills/weaver-e10-builder/references/form/guide-list-columns.md +52 -0
  301. package/skills/weaver-e10-builder/references/form/guide-list-custom-text.md +52 -0
  302. package/skills/weaver-e10-builder/references/form/guide-list-stats.md +136 -0
  303. package/skills/weaver-e10-builder/references/form/guide-virtual-form.md +156 -0
  304. package/skills/weaver-e10-builder/references/form/ref-form-fields.md +293 -0
  305. package/skills/weaver-e10-builder/references/form/style-templates.md +97 -0
  306. package/skills/weaver-e10-builder/references/hrm/guide-matrix.md +245 -0
  307. package/skills/weaver-e10-builder/references/hrm/guide-org-employee.md +155 -0
  308. package/skills/weaver-e10-builder/references/menu/system-menus.md +75 -0
  309. package/skills/weaver-e10-builder/references/report/add-dataset-registration-guide.md +139 -0
  310. package/skills/weaver-e10-builder/references/report/ai-report-workflow.md +412 -0
  311. package/skills/weaver-e10-builder/references/report/api-report-build-fast-path.md +275 -0
  312. package/skills/weaver-e10-builder/references/report/app-datasource-lookup-guide.md +230 -0
  313. package/skills/weaver-e10-builder/references/report/cell-config-echo-guide.md +163 -0
  314. package/skills/weaver-e10-builder/references/report/cell-transform-guide.md +147 -0
  315. package/skills/weaver-e10-builder/references/report/condition-format-guide.md +140 -0
  316. package/skills/weaver-e10-builder/references/report/cross-dataset-filter-guide.md +304 -0
  317. package/skills/weaver-e10-builder/references/report/dataset-query-filter-guide.md +235 -0
  318. package/skills/weaver-e10-builder/references/report/dataset-sidebar-ops-guide.md +280 -0
  319. package/skills/weaver-e10-builder/references/report/dataset-table-field-contract-guide.md +339 -0
  320. package/skills/weaver-e10-builder/references/report/datasource-metadata-guide.md +365 -0
  321. package/skills/weaver-e10-builder/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
  322. package/skills/weaver-e10-builder/references/report/date-range-query-reference.md +102 -0
  323. package/skills/weaver-e10-builder/references/report/default-header-style-guide.md +70 -0
  324. package/skills/weaver-e10-builder/references/report/designer-blank-prevention-guide.md +111 -0
  325. package/skills/weaver-e10-builder/references/report/event-hreflink-guide.md +184 -0
  326. package/skills/weaver-e10-builder/references/report/field-bind-exact-match-guide.md +208 -0
  327. package/skills/weaver-e10-builder/references/report/formula-cell-api-guide.md +258 -0
  328. package/skills/weaver-e10-builder/references/report/guide-report-build.md +131 -0
  329. package/skills/weaver-e10-builder/references/report/guide-report-modify.md +100 -0
  330. package/skills/weaver-e10-builder/references/report/guide-report-multisource.md +143 -0
  331. package/skills/weaver-e10-builder/references/report/guide-report-query.md +98 -0
  332. package/skills/weaver-e10-builder/references/report/hidden-row-and-header-merge-guide.md +100 -0
  333. package/skills/weaver-e10-builder/references/report/layout-showlocation-freeze-guide.md +167 -0
  334. package/skills/weaver-e10-builder/references/report/preaggregate-auto-disable-guide.md +107 -0
  335. package/skills/weaver-e10-builder/references/report/query-condition-api-guide.md +890 -0
  336. package/skills/weaver-e10-builder/references/report/ref-report-commands.md +122 -0
  337. package/skills/weaver-e10-builder/references/report/ref-report-pitfalls.md +226 -0
  338. package/skills/weaver-e10-builder/references/report/report-baseinfo-defaults-guide.md +117 -0
  339. package/skills/weaver-e10-builder/references/report/report-building-guide.md +511 -0
  340. package/skills/weaver-e10-builder/references/report/report-config-schema.md +445 -0
  341. package/skills/weaver-e10-builder/references/report/report-create-modes-guide.md +182 -0
  342. package/skills/weaver-e10-builder/references/report/report-data-model.md +447 -0
  343. package/skills/weaver-e10-builder/references/report/report-delivery-contract.md +101 -0
  344. package/skills/weaver-e10-builder/references/report/report-designer-feature-map.md +500 -0
  345. package/skills/weaver-e10-builder/references/report/report-internal-error-guide.md +78 -0
  346. package/skills/weaver-e10-builder/references/report/report-knowledge-base.md +389 -0
  347. package/skills/weaver-e10-builder/references/report/report-lifecycle-api-guide.md +392 -0
  348. package/skills/weaver-e10-builder/references/report/report-list-page-ops-guide.md +191 -0
  349. package/skills/weaver-e10-builder/references/report/report-permission-guide.md +365 -0
  350. package/skills/weaver-e10-builder/references/report/report-requirement-analysis-template.md +202 -0
  351. package/skills/weaver-e10-builder/references/report/report-self-check-guide.md +164 -0
  352. package/skills/weaver-e10-builder/references/report/safe-partial-save-guide.md +151 -0
  353. package/skills/weaver-e10-builder/references/report/snowflake-id-precision-guide.md +84 -0
  354. package/skills/weaver-e10-builder/references/report/spec-build-schema.md +294 -0
  355. package/skills/weaver-e10-builder/references/report/targeted-fix-guide.md +97 -0
  356. package/skills/weaver-e10-builder/references/report/user-request-scope-only-guide.md +82 -0
  357. package/skills/weaver-e10-builder/references/workflow/guide-function-management.md +154 -0
  358. package/skills/weaver-e10-builder/references/workflow/guide-opinion-settings.md +126 -0
  359. package/skills/weaver-e10-builder/references/workflow/guide-workflow-action.md +174 -0
  360. package/skills/weaver-e10-builder/references/workflow/guide-workflow-auth-resp.md +224 -0
  361. package/skills/weaver-e10-builder/references/workflow/guide-workflow-condition.md +447 -0
  362. package/skills/weaver-e10-builder/references/workflow/guide-workflow-node-layout.md +181 -0
  363. package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc-setting.md +248 -0
  364. package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc.md +68 -0
  365. package/skills/weaver-e10-builder/references/workflow/guide-workflow.md +527 -0
  366. package/skills/weaver-e10-builder/references/workflow/operator-matrix.md +76 -0
  367. package/skills/weaver-e10-caizhilian/SKILL.md +43 -16
  368. package/skills/weaver-e10-caizhilian/references/agent-entry.md +7 -3
  369. package/skills/weaver-e10-caizhilian/references/collaboration.md +5 -3
  370. package/skills/weaver-e10-caizhilian/references/document.md +33 -11
  371. package/skills/weaver-e10-caizhilian/references/file-collection.md +4 -3
  372. package/skills/weaver-e10-caizhilian/references/file-upload.md +2 -3
  373. package/skills/weaver-e10-caizhilian/references/files.md +23 -2
  374. package/skills/weaver-e10-caizhilian/references/folder.md +48 -16
  375. package/skills/weaver-e10-caizhilian/references/setting-attach.md +61 -42
  376. package/skills/weaver-e10-caizhilian/references/setting-backup.md +13 -51
  377. package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +20 -51
  378. package/skills/weaver-e10-caizhilian/references/setting-storage.md +82 -147
  379. package/skills/weaver-e10-caizhilian/references/source-manifest.json +99 -1
  380. package/skills/weaver-e10-caizhilian/references/withheld.md +20 -44
  381. package/skills/weaver-e10-shared/SKILL.md +24 -18
  382. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +16 -15
  383. package/skills/weaver-e10-shared/references/non-interactive-environment.md +10 -10
  384. package/skills/weaver-e10-workflow/SKILL.md +23 -44
  385. package/skills/weaver-e10-workflow/references/source-manifest.json +40 -25
  386. package/skills/weaver-e10-workflow/references/workflow-create.md +278 -85
  387. package/skills/weaver-e10-workflow/references/workflow-edit.md +1 -1
  388. package/skills/weaver-e10-workflow/references/workflow-memory.md +1 -4
  389. package/skills/weaver-e10-workflow/references/workflow-query.md +2 -2
  390. package/skills/weaver-e10-yepiaotong/SKILL.md +10 -7
  391. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +49 -1
  392. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-qys-ledger.md +66 -0
  393. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +59 -36
  394. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +54 -509
  395. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +182 -345
  396. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +4 -5
  397. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +153 -345
  398. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +5 -5
  399. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +182 -154
  400. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +96 -0
  401. package/skills/weaver-e10-yepiaotong/references/reim-fast-path.md +0 -119
@@ -1,7 +1,7 @@
1
1
  # 话费补贴 / 话费报销规范(硬拦截)
2
2
 
3
3
  > **命中「话费补贴标准审批流程」或「话费报销」时必须严格执行本文件,禁止按普通发票金额直接填单。**
4
- > **材料不齐、岗位标准未确认、或无法拆出可报销账单金额时,禁止调用 `invoice.reim.flow.create.prepare/apply`。**
4
+ > **材料不齐、岗位标准未确认、或无法拆出可报销账单金额时,禁止调用 `workflow.createRequest`。**
5
5
 
6
6
  ---
7
7
 
@@ -83,9 +83,9 @@
83
83
 
84
84
  | 字段 | 怎么填 |
85
85
  |------|--------|
86
- | 明细所有 `fieldType="Money"`(实报金额、报销金额、申请金额等) | 填本规范算出的**实报金额**,不要填发票原价 |
87
- | 主表申请金额 / 人民币金额 | 各行实报金额之和 |
88
- | 费用类型(科目) | 通讯科目 `"100502270000000010"`(`invoice.reim.row-info` 的 `subjectId` 已是通讯类时可直接用) |
86
+ | 明细里 `createForm` 返回的可写金额字段(申请金额等;实报金额、人民币金额不可写,不传) | 填本规范算出的**实报金额**,不要填发票原价 |
87
+ | 主表金额字段(仅当出现在 `createForm` 的 `fields` 里时才传) | 各行实报金额之和 |
88
+ | 费用类型(科目) | 通讯科目,写成 `"{科目名称}(100502270000000010)"`(`invoice.reim.row-info` 的 `subjectId` 已是通讯类时可直接用,名称取 `subjectName`) |
89
89
  | 费用说明 | 写清所属月份、可报销账单金额、岗位上限、实报金额,例如 `2026-08话费 账单280 上限200 实报200`(禁止 `*` 号) |
90
90
 
91
91
  > 这是「金额一律填发票 `amount`」的**唯一覆盖规则**,只适用于本规范命中的话费报销。发票原始 `amount` 仍须原样保留在上下文中,不得改写发票数据本身。
@@ -145,5 +145,5 @@ cusCreateDateEnd = 最晚发票 invoiceDate
145
145
  4. 按账单构成剔除赠送套餐、家庭宽带,算出可报销账单金额
146
146
  5. 按 `min(可报销账单金额, 上限)` 得到实报金额,展示给用户确认
147
147
  6. 查询事前申请时使用 **3 年回溯**(`cusCreateDateStart` 往前推 1095 天),用 `requestname="话费"` 缩小范围
148
- 7. 匹配到事前申请后,用户确认,才允许进入 `invoice.reim.flow.create.prepare` → `.apply`
148
+ 7. 匹配到事前申请后,用户确认,才允许进入 [reim-workflow.md](reim-workflow.md) Step 5(预览确认 → `workflow.createRequest`)
149
149
  8. 材料不齐、岗位未确认、账单构成无法拆分、或用户拒绝 → **结束流程,禁止创建**
@@ -1,8 +1,8 @@
1
1
  # AI 报销单自动填单 — 工作流编排
2
2
 
3
3
  > 本文件是报销自动填单的完整工作流参考。
4
- > CLI 命令用法见 [`invoice-reim.md`](invoice-reim.md)。
5
- > 实际调用通过 `weaver-work-cli --json invoice run <operation>` 执行,不能直接 curl E10 接口。
4
+ > 发票、事前申请、预填信息等数据准备走本技能的 `weaver-work-cli --json invoice run <operation>`;**报销单的创建与修改统一走 `weaver-e10-workflow` 技能**(`workflow.createForm` / `workflow.createRequest` / `workflow.edit*`),命令契约与返回处置见 [`../../weaver-e10-workflow/references/workflow-create.md`](../../weaver-e10-workflow/references/workflow-create.md) 与 [`workflow-edit.md`](../../weaver-e10-workflow/references/workflow-edit.md)。
5
+ > 所有调用都必须通过 CLI 执行,不能直接 curl E10 接口。
6
6
 
7
7
  ---
8
8
 
@@ -31,21 +31,19 @@
31
31
 
32
32
  ## 报销共享常量(所有 reference 统一引用本节)
33
33
 
34
- 以下常量在报销 reference 中多处出现,**统一以本节为准**,其余文件引用本节不再重复定义。
34
+ 以下常量在报销 reference 中多处出现,**统一以本节为准**,其余文件引用本节不再重复定义。浏览按钮类字段一律写成 `名称(ID)`。
35
35
 
36
36
  | 常量 | 值 | 说明 |
37
37
  |------|-----|------|
38
- | 默认合同编号 | `"20260999"` | 快速路径 `template.build`/`auto-prepare` 与手工路径统一使用;CLI 0.1.19 起未传入时自动填充并产生 warning |
39
- | 非出差相关客户 | `"100504500000311504"` | 泛微上海;出差流程必须由用户提供具体客户 |
40
- | 兜底费用科目 | `"100502270000000104"` | 其他-管理费用;所有匹配策略均未命中时使用 |
41
- | 人民币币种 ID | `"100001050000000001"` | — |
42
- | 报销方式默认值 | optionValue `"7"` | 银行(个人报销) |
38
+ | 默认合同编号 | `"20260999"` | 用户当次未给出别的合同号时使用;表单默认值已是它时不必再传。用户给了别的合同号 → 承担主体 / 相关客户 / 相关项目以合同联动为准,见 [reim-form-fill-rules.md](reim-form-fill-rules.md#用户给了合同号以合同联动为准) |
39
+ | 非出差相关客户 | `"泛微上海(100504500000311504)"` | 出差流程必须由用户提供具体客户 |
40
+ | 兜底费用科目 | `"其他-管理费用(100502270000000104)"` | 所有科目匹配策略均未命中时使用 |
41
+ | 人民币币种 | `"人民币(100001050000000001)"` | 明细每行必传(即使表单默认带出),否则字段联动失效,见 [reim-form-fill-rules.md](reim-form-fill-rules.md) |
42
+ | 报销方式默认值 | `"银行(个人报销)"` | Select 传选项名;表单默认带出时不传 |
43
43
  | 全额红冲状态值 | `status = 8` | `comm_info.pro.status`;此类发票必须过滤,不允许报销 |
44
44
  | 相关凭证 typeCode | 17, 18, 57, 58 | 不能独立成行,必须与发票配对 |
45
- | directSuperior 取值 | `directSuperior.id` | ⚠️ **不是 `allSuperiors[0]`**(后者是上级链最高层) |
46
- | continuation 有效期 | 600 秒 | 过期后重新 prepare 即可,无需重新征询用户确认 |
47
-
48
- > **continuation 过期处理**:`prepare`/`auto-prepare` 签发的 continuation 有 600 秒有效期。中间若用户核对耗时过长导致过期(返回 `validation/continuation_expired`),**重新 `prepare` 后立即 `apply` 即可**(用户已确认过的内容无需重新征询)。不要重放旧 continuation。
45
+ | 直接上级取值 | `directSuperior` | ⚠️ **不是 `allSuperiors[0]`**(后者是上级链最高层) |
46
+ | 总部费用报销 | `总部费用报销(100003460000000060)` | 费用明细 `subFormId` = `100003690000000011`(字段清单以 `createForm` 实际返回为准) |
49
47
 
50
48
  ---
51
49
 
@@ -100,7 +98,7 @@ CLI 已默认 `sreim="3"`、`bill_type=0`、`page_size=10`。报销查票时只
100
98
 
101
99
  ### 1. 立即获取数据,展示后确认
102
100
 
103
- 当用户表达报销意图时(如"帮我报销"、"我要报销"、"报销一下"等),**必须立即调用 `invoice.list` 获取发票数据,展示发票汇总信息后询问用户确认,确认后再自动执行后续填单流程**。禁止反问用户要求提供发票信息、事前申请信息、报销用途等。
101
+ 当用户表达报销意图时(如"帮我报销"、"我要报销"、"报销一下"等),**必须立即调用 `invoice.list`(或 `invoice.reim.candidates.list`)获取发票数据,展示发票汇总信息后询问用户确认,确认后再自动执行后续填单流程**。禁止反问用户要求提供发票信息、事前申请信息、报销用途等。
104
102
 
105
103
  **禁止的行为:**
106
104
 
@@ -117,7 +115,7 @@ CLI 已默认 `sreim="3"`、`bill_type=0`、`page_size=10`。报销查票时只
117
115
  - 最近一周无结果 → 自动用一个月参数再查
118
116
  - 直接调用 `invoice.reim.requests.list` 获取用户的事前申请
119
117
  - **获取到发票后,先展示发票汇总信息(张数、基础信息),明确告知用户查询范围,询问用户确认是否报销**
120
- - 用户确认后,自动执行匹配 → 获取表单结构 → 组装填单 JSON → `invoice.reim.flow.create.prepare` → 用户确认 → `.apply` 生成报销单
118
+ - 用户确认后,自动执行匹配 → 载入报销表单 → 组装 `data` → 展示预览、用户确认 → `workflow.createRequest` 生成报销单
121
119
 
122
120
  ### 2. 根据用户意图智能构建查询条件
123
121
 
@@ -150,7 +148,7 @@ CLI 已默认 `sreim="3"`、`bill_type=0`、`page_size=10`。报销查票时只
150
148
 
151
149
  | 用户输入 | 起始步骤 |
152
150
  |----------|---------|
153
- | "帮我报销" | 1A → **1C(发票确认)→ 用户确认** → 1B → 2 → 2.5 → 3 → 3.5 → 4 → 5 |
151
+ | "帮我报销" | 1A → **1C(发票确认)→ 用户确认** → 1B → 2 → 2.5 → 3 → 4 → 5 |
154
152
  | "报销打车费" / "报销上周的" | 1A(加筛选条件)→ **1C → 用户确认** → 后续同上 |
155
153
  | 提供 fileId | Step 0 → **1C → 用户确认** → 1B → 后续同上 |
156
154
  | 直接给发票数据 | **1C → 用户确认** → 1B → 后续同上 |
@@ -166,9 +164,9 @@ CLI 已默认 `sreim="3"`、`bill_type=0`、`page_size=10`。报销查票时只
166
164
 
167
165
  > **⚠️ 禁止输出内部推理过程**。直接对用户说话,不要解释自己在做什么。
168
166
 
169
- #### 报销后修正(`invoice.reim.flow.update`)
167
+ #### 报销后修正
170
168
 
171
- 用户确认 `need_user_confirm`、补充 `unable_to_fill`、修改字段值、删除/追加明细行 → 均通过 `invoice.reim.flow.update.prepare/apply` 完成。
169
+ 用户补充缺失字段、修改字段值 → 通过 `workflow.editLoad` → `workflow.editPrepare` → 用户确认 → `workflow.editApply` 完成(Step 6)。
172
170
 
173
171
  ### 4. 自动化决策原则
174
172
 
@@ -178,7 +176,7 @@ CLI 已默认 `sreim="3"`、`bill_type=0`、`page_size=10`。报销查票时只
178
176
  - 事前申请有数据 → 自动匹配,不需要用户确认"是否关联"
179
177
  - 事前申请为空 → 跳过匹配,直接用发票数据填单,不需要问用户
180
178
  - 匹配到唯一结果 → 直接使用,不需要用户确认
181
- - **只有在必须用户做选择时才暂停**(如:多候选需要选一个、发票列表为空无法继续、**出差流程必须填写相关客户**)
179
+ - **只有在必须用户做选择时才暂停**(如:多候选需要选一个、发票列表为空无法继续、**出差流程必须填写相关客户**、创建前确认报销单内容)
182
180
  - **⚠️ 严禁篡改任何原始数据值**
183
181
 
184
182
  ---
@@ -190,31 +188,32 @@ CLI 已默认 `sreim="3"`、`bill_type=0`、`page_size=10`。报销查票时只
190
188
  ↓
191
189
  Step 0 (可选): invoice.reim.file-ocr.preview → 识别发票
192
190
  ↓
193
- Step 1A: invoice.list (可跳过) ←→ Step 1B: invoice.reim.requests.list
191
+ Step 1A: invoice.list / invoice.reim.candidates.list (可跳过) ←→ Step 1B: invoice.reim.requests.list
194
192
  ↓
195
193
  Step 1C: 展示发票汇总 → 用户确认是否报销
196
194
  ↓ (用户确认)
197
195
  Step 2: 发票 ↔ 事前申请匹配绑定 (reim-matching-rules.md)
198
196
  ↓
199
- Step 2.5: invoice.reim.workflow.resolve → 获取工作流ID
197
+ Step 2.5: invoice.reim.workflow.resolve → 获取报销工作流 ID 与名称
200
198
  ↓
201
- Step 2.6: 按工作流ID分组(多个工作流 → 多组,各组独立执行后续步骤)
199
+ Step 2.6: 按工作流分组(多个工作流 → 多组,各组独立执行后续步骤)
202
200
  ↓ ↓ ↓ (每组)
203
- ┌──────────────────────────────────────────┐
204
- │ ▼ 并行组 A(同时发起) │
205
- │ Step 3: invoice.reim.form.structure │
206
- │ Step 3.5: invoice.reim.row-info × N │
207
- │ Step 3.6: invoice.reim.employee-superiors │
208
- │ 交通类额外: invoice.get × M │
209
- └──────────────────────────────────────────┘
201
+ ┌──────────────────────────────────────────────┐
202
+ │ ▼ 并行组 A(同时发起) │
203
+ │ Step 3: workflow.createForm(载入报销表单) │
204
+ │ Step 3.5: invoice.reim.row-info-batch │
205
+ │ Step 3.6: invoice.browse-field.data(发票对象) │
206
+ │ 交通类额外: invoice.get × M │
207
+ └──────────────────────────────────────────────┘
210
208
  ↓ (全部返回后)
211
- Step 4: 组装填单 JSON (reim-form-fill-rules.md)
209
+ Step 4: 组装 createRequest 的 data (reim-form-fill-rules.md)
212
210
  ↓
213
211
  Step 4.5: 出差流程 → 提醒用户填写相关客户(未提供则不允许报销)
212
+ Step 4.6: 话费报销 → 核对材料并按标准核算实报金额
214
213
  ↓
215
- Step 5: invoice.reim.flow.create.prepare → 用户确认 → .apply → 展示汇总
214
+ Step 5: 展示预览 → 用户确认(存草稿 / 提交审批)→ workflow.createRequest → 原样展示 finalMarkdown
216
215
  ↓
217
- Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
216
+ Step 6 (可选): workflow.editLoad / editPrepare / editApply → 用户修正
218
217
  ```
219
218
 
220
219
  ### ⚡ 并行调用策略(必须遵守)
@@ -222,11 +221,10 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
222
221
  | 并行组 | 可并行的操作 | 说明 |
223
222
  |--------|------------|------|
224
223
  | **Step 1 并行** | `invoice.reim.requests.list` 与 Step 1C 发票展示 | 用户确认期间预取事前申请 |
225
- | **Step 3 并行** | `form.structure` + `row-info` × N + `employee-superiors` + `invoice.get` × M | 全部互相独立,**必须同时发起** |
226
- | **多张发票** | 多张发票的 `row-info` | 各发票独立,强制并行 |
224
+ | **Step 3 并行** | `workflow.createForm` + `invoice.reim.row-info-batch` + `invoice.browse-field.data` + `invoice.get` × M | 全部互相独立,**必须同时发起** |
227
225
  | **交通类行程** | 多张交通发票的 `invoice.get` | 各发票独立,强制并行 |
228
226
 
229
- > **缓存策略**:`form.structure` 和 `employee-superiors` 在同一会话、同一 workFlowId 下只需调用一次,结果可跨多组报销单复用。
227
+ > **`createForm` 不跨组复用**:它返回的 `continuation` 与本次单据绑定,**每个报销单各调一次 `createForm`**,不能拿上一单的 `continuation` 再发起。
230
228
 
231
229
  ---
232
230
 
@@ -248,7 +246,12 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
248
246
 
249
247
  > **如果用户已提供发票数据或已通过 Step 0 获取,则跳过此步骤。**
250
248
 
251
- 通过 `invoice.list` 查询。
249
+ 两种方式任选其一:
250
+
251
+ | 方式 | 适用 | 说明 |
252
+ | --- | --- | --- |
253
+ | `invoice.reim.candidates.list` | 按日期范围批量报销(推荐) | 自动翻页、自动过滤红冲票,并把发票分成 `available`(可报)/ `assigned`(已挂单)两组;**只从 `available` 里选**。见 [reim-api-reference.md](reim-api-reference.md#1b-报销候选发票分类) |
254
+ | `invoice.list` | 按关键词 / 号码 / 类型筛选 | 需自己过滤红冲票 |
252
255
 
253
256
  ### 默认查询策略(用户未指定日期时)
254
257
 
@@ -266,9 +269,9 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
266
269
  | `create_tm_begin` / `create_tm_end` | 录入/创建日期范围 | 用户明确说"录入日期"/"创建日期"时 |
267
270
 
268
271
  **⚠️ 数据过滤(红冲票排除):**
269
- - **快速路径**:`candidates.list` **自动过滤** `status=8` 的全额红冲发票(过滤张数在 `summary.filteredRedReversedCount` 中报告),无需手动处理。
270
- - **手动路径**:使用 `invoice.list` 获取发票后,**必须在进入任何后续流程前先过滤掉 `info.comm_info.pro.status == 8` 的发票**。过滤后向用户报告:"已自动排除 N 张全额红冲发票"。
271
- - 全额红冲发票不允许报销,**两条路径都不能让红冲票进入匹配/组装环节**。
272
+ - `candidates.list` **自动过滤** `status=8` 的全额红冲发票(过滤张数在 `summary.filteredRedReversedCount` 中报告)。
273
+ - 使用 `invoice.list` 时,**必须在进入任何后续流程前先过滤掉 `info.comm_info.pro.status == 8` 的发票**,并向用户报告:"已自动排除 N 张全额红冲发票"。
274
+ - 全额红冲发票不允许报销,**不能让红冲票进入匹配/组装环节**。
272
275
 
273
276
  关键返回字段映射见 [reim-api-reference.md](reim-api-reference.md#1-获取发票数据)。
274
277
 
@@ -334,6 +337,7 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
334
337
  {
335
338
  "invoiceId": "INV001",
336
339
  "preApprovalId": "1298294241967177729",
340
+ "preApprovalName": "交通费报销-后端开发111-2026-07-25",
337
341
  "preApprovalWorkflowId": "1181057526276915214",
338
342
  "matchConfidence": "high",
339
343
  "matchReasons": ["时间范围匹配", "费用类型一致"]
@@ -341,6 +345,8 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
341
345
  ]
342
346
  ```
343
347
 
348
+ > `preApprovalName` 要保留:填「事前申请流程 / 相关流程」字段时写成 `{preApprovalName}({preApprovalId})`。
349
+
344
350
  ### Step 2 匹配结果展示(推荐)
345
351
 
346
352
  匹配完成后,**建议向用户展示匹配结果**,而不是静默进入下一步。展示格式:
@@ -364,9 +370,9 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
364
370
 
365
371
  ---
366
372
 
367
- ## Step 2.5: 获取报销单工作流ID
373
+ ## Step 2.5: 获取报销单工作流
368
374
 
369
- 通过 `invoice.reim.workflow.resolve` 获取。
375
+ 通过 `invoice.reim.workflow.resolve` 获取报销工作流的 `workFlowId` 与 `workFlowName`(Step 3 用 `{workFlowName}({workFlowId})` 载入表单)。
370
376
 
371
377
  **⚠️ 核心逻辑:当存在多个工作流时,需要将发票/事前申请按工作流分组,每组各创建一个报销单。**
372
378
 
@@ -388,27 +394,42 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
388
394
 
389
395
  ---
390
396
 
391
- ## Step 3: 获取报销单表单字段结构
397
+ ## Step 3: 载入报销表单(`workflow.createForm`)
392
398
 
393
- 通过 `invoice.reim.form.structure` 获取。
399
+ 调用 `weaver-e10-workflow` 的 `workflow.createForm`,`workflow` 传 Step 2.5 得到的 `{workFlowName}({workFlowId})`(带 ID 时 CLI 不查可发起列表,直接载入):
394
400
 
395
- > **可缓存**:同一 workFlowId 下只需调用一次。
401
+ macOS/Linux(bash/zsh):
396
402
 
397
- 返回 `mainFields`(主表)和 `subTables`(明细表),每个字段含 `fieldId`、`fieldName`、`fieldType`、`single`、`marked`、`options`。
403
+ ```bash
404
+ weaver-work-cli --json workflow run workflow.createForm --input-json '{"workflow":["总部费用报销(100003460000000060)"]}'
405
+ ```
398
406
 
399
- > 完整返回示例见 [reim-api-reference.md](reim-api-reference.md#3-获取报销单表单字段结构)
407
+ Windows PowerShell:
400
408
 
401
- ---
409
+ ```powershell
410
+ weaver-work-cli --json workflow run workflow.createForm --input-json '{"workflow":["总部费用报销(100003460000000060)"]}'
411
+ ```
402
412
 
403
- ## Step 3.5: 获取发票预填信息(`invoice.reim.row-info`)
413
+ 从返回里取:
404
414
 
405
- 通过 `invoice.reim.row-info` 获取。
415
+ | 返回键 | 用途 |
416
+ | --- | --- |
417
+ | `continuation`(= `contextId`) | Step 5 `createRequest` 的 `context` |
418
+ | `fields` | **可写字段全集**:按 `name` 找业务字段取 `id`;带 `subFormId` 的是明细字段;带 `initialValue` 的有默认值 |
419
+ | `requestName` | 表单默认标题(报销单标题按 [reim-form-fill-rules.md](reim-form-fill-rules.md#流程标题requestname) 生成后用 `requestName` 参数覆盖) |
420
+ | `historyRequestData` | 只用于本技能规则没覆盖的字段(如费用承担公司),口径见 `workflow-create.md`「历史流程数据参考规则」 |
421
+
422
+ - `NEEDS_CLARIFICATION`(`workflow_not_exist` / `no_create_right`)→ 按 `workflow-create.md` 如实告知用户,停止本组。
423
+ - 大表单超线(stdout 只有一句话 + `resultFile`)→ 按 `workflow-create.md` 读一次 `resultFile`,不要重跑。
424
+ - **不再需要** `invoice.reim.form.structure`、`invoice.reim.field.search`:字段清单由 `createForm` 给出,浏览按钮的名称 → ID 由 `createRequest` 解析。
425
+
426
+ ---
406
427
 
407
- > **⚠️ 多张发票的 row-info 调用必须并行发起。**
428
+ ## Step 3.5: 获取发票预填信息(`invoice.reim.row-info-batch`)
408
429
 
409
- - 入参:`cdzt`=当前用户ID,`requestid`=事前申请ID(无则留空),`invoiceId`=发票ID
410
- - 返回的 `date`、`fysm`、`itinerary`、`subjectId` **在 Step 4 中优先使用**
411
- - 某字段返回空/null → 回退到 AI 推断逻辑
430
+ - 入参:`invoiceIds`=本组全部**发票**(不含凭证)ID,`requestid`=匹配到的事前申请 ID(无则留空)
431
+ - 返回的 `date`、`fysm`、`itinerary`、`subjectId`、`subjectName` **在 Step 4 中优先使用**
432
+ - 某张失败或字段为空 → 该行回退到 AI 推断逻辑
412
433
 
413
434
  ### 交通类发票额外处理
414
435
 
@@ -418,45 +439,59 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
418
439
 
419
440
  ---
420
441
 
421
- ## Step 3.6: 获取当前人员及上级信息
442
+ ## Step 3.6: 取发票对象(`invoice.browse-field.data`)
422
443
 
423
- 通过 `invoice.reim.employee-superiors` 获取。
444
+ 发票字段(`EinvoiceComponent`)只接受发票对象,不接受文本或裸 ID。把本组所有**发票** + 已确定的**配对凭证**的 `fid` 一次传入:
424
445
 
425
- > **可缓存**:同一会话只需调用一次。
446
+ macOS/Linux(bash/zsh):
426
447
 
427
- - `directSuperior.id` → "报销人上级" + "承担人直接上级"(⚠️ 必填。**注意不是 `allSuperiors[0]`** —— `allSuperiors[0]` 是上级链最高层,与直接上级不是同一人)
428
- - `allSuperiors` 全部 `id` 逗号拼接 → "承担人所有上级"(⚠️ 必填)
448
+ ```bash
449
+ weaver-work-cli --json invoice run invoice.browse-field.data --input-json '{"fids":["1295366637717012482","1298798990831518001"]}'
450
+ ```
451
+
452
+ Windows PowerShell:
453
+
454
+ ```powershell
455
+ weaver-work-cli --json invoice run invoice.browse-field.data --input-json '{"fids":["1295366637717012482","1298798990831518001"]}'
456
+ ```
457
+
458
+ > `row-info` 的 `itinerary` 要等 Step 3.5 返回后才知道。为了不串行,Step 3 并行组里先只传发票 + AI 已配对的凭证;`itinerary` 返回了新的凭证 ID 时再补调一次,只传新增的 `fids`。
459
+
460
+ > 发票都来自用户已确认的票夹,属于 `workflow-create.md` 里"指名从票夹取"的情形,**不需要**上传提醒。
429
461
 
430
462
  ---
431
463
 
432
- ## Step 4: 组装填单结构化 JSON
464
+ ## Step 3.7(兜底): 当前人员及上级(`invoice.reim.employee-superiors`)
433
465
 
434
- > **详细填单规则见 [reim-form-fill-rules.md](reim-form-fill-rules.md)**
435
- > **费用科目匹配规则见 [reim-expense-subject-rules.md](reim-expense-subject-rules.md)**
436
- >
437
- > **⚠️ 费用类型(科目)字段必须有值。匹配不到时直接填兜底值 `"100502270000000104"`。**
438
- > **⚠️ 合同编号固定填 `"20260999"`**(除用户当次明确给出别的合同号):主表 `合同号(100003720000001376)` 不能留空、不能放进 `unable_to_fill`;走快速路径 `template.build`/`auto-prepare` 时同样必须显式传 `contractNo`,否则该字段静默缺失。口径见 [reim-form-fill-rules.md](reim-form-fill-rules.md) 主表字段映射。
439
- > **⚠️ 出差流程相关客户规则见 Step 4.5。**
440
- > **⚠️ 话费补贴 / 话费报销必须遵守 [reim-phone-subsidy-rules.md](reim-phone-subsidy-rules.md),见 Step 4.6。**
466
+ 承担主体、报销人上级等人员字段通常由表单默认值带出,**默认不调用**。只有以下情况才调用一次(同一会话可复用):
441
467
 
442
- 核心结构概览:
468
+ - `fields` 里承担主体 / 申请人 / 报销人上级等字段**没有 `initialValue`**;或
469
+ - `createRequest` 的 `missingFields` 列出了这些字段。
470
+
471
+ 取值:当前人员 → `{currentEmployee.name}({currentEmployee.id})`;直接上级 → `{directSuperior.name}({directSuperior.id})`(**不是 `allSuperiors[0]`**);所有上级 → `allSuperiors` 每项的 `名称(ID)`。
472
+
473
+ ---
474
+
475
+ ## Step 4: 组装 `createRequest` 的 `data`
476
+
477
+ > **详细填值规则见 [reim-form-fill-rules.md](reim-form-fill-rules.md)**
478
+ > **费用科目匹配规则见 [reim-expense-subject-rules.md](reim-expense-subject-rules.md)**
443
479
 
444
480
  ```json
445
481
  {
446
- "work_flow_id": "报销流程工作流ID(Step 2.5)",
447
- "mainFormId": "主表formId(Step 3)",
448
- "request_name": "流程标题",
449
- "main_fields": [{"fieldId": "...", "value": "...", "fieldName": "..."}],
450
- "detail_rows": [{"dataIndex": 1, "subFormId": "...", "invoiceId": "...", "fields": [...]}],
451
- "need_user_confirm": [],
452
- "unable_to_fill": []
482
+ "main": {"<主表字段id>": "<值>"},
483
+ "details": {"<费用明细subFormId>": [{"<明细字段id>": "<值>"}]}
453
484
  }
454
485
  ```
455
486
 
456
487
  **关键约束:**
457
- - **发票 vs 相关凭证分类**:`invoiceTypeCode` 为 17/18/57/58 的是相关凭证,不能独立成行,必须与对应发票配对放在同一行明细中
458
- - 每行 `fields` 中有两个 `EinvoiceComponent` 字段:`single=false` 填**发票** `invoiceId`,`single=true` 填**配对凭证** `invoiceId`
459
- - `dataIndex` 从 1 递增,`subFormId` 用「费用明细」表的(按名称定位明细表,**不要机械取 `subTables[0]`** —— 总部费用报销的 `subTables[0]` 是「外包订单」,「费用明细」`100003690000000011` 排第 3)
488
+ - 键只取 `createForm` 的 `fields[].id`;`fields` 里没有的字段不传,带默认值且不需改写的字段不传(例外:明细「币种」每行必传)
489
+ - 浏览按钮写 `名称(ID)`;Select 写选项名;发票字段写 `[发票对象]`
490
+ - 一张发票一行;相关凭证(17/18/57/58)放进配对发票那一行,每行最多 1 张
491
+ - **费用类型(科目)每行必须有值**,匹配不到填 `"其他-管理费用(100502270000000104)"`
492
+ - **合同号固定 `"20260999"`**(除用户当次明确给出别的合同号);表单默认值已是它时不必传
493
+ - **用户给了合同号 → 承担主体、相关客户、相关项目都不传,以合同联动为准**(用户口头指定的承担主体也不传);创建后从 `linkageResult` 读出实际带出的值告诉用户
494
+ - **⚠️ 出差流程相关客户规则见 Step 4.5;话费报销规则见 Step 4.6。**
460
495
 
461
496
  ---
462
497
 
@@ -466,10 +501,11 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
466
501
  > 完整规则见 [reim-form-fill-rules.md - 出差流程相关客户](reim-form-fill-rules.md#出差流程相关客户硬拦截)。
467
502
 
468
503
  简要规则:
504
+ - 用户给了合同号 → 相关客户由合同联动带出,不拦截
469
505
  - `workFlowName` 或 `requestname` 含「差旅」「出差」→ 暂停,提醒用户提供具体客户名称
470
- - 用户给出客户名称 → `invoice.reim.field.search` 搜索 ID → 填入主表和明细
471
- - 用户拒绝 / 不提供 → **结束报销,禁止调用 `invoice.reim.flow.create.prepare`**
472
- - 非出差流程:相关客户固定填 `"100504500000311504"`
506
+ - 用户给出客户名称 → 原样填进「相关客户」,由 `createRequest` 解析;多候选/查不到按 `workflow-create.md` 的浏览按钮口径处理
507
+ - 用户拒绝 / 不提供 → **结束报销,禁止调用 `workflow.createRequest`**
508
+ - 非出差流程:相关客户固定填 `"泛微上海(100504500000311504)"`
473
509
 
474
510
  ---
475
511
 
@@ -483,103 +519,94 @@ Step 6 (可选): invoice.reim.flow.update.prepare/apply → 用户修正
483
519
  - 必须提供本人实名制当月手机账单截图及账单构成
484
520
  - 必须确认岗位对应月度上限(350 / 200 / 100),禁止猜测岗位
485
521
  - 剔除手机设备赠送套餐、家庭宽带套餐后,实报金额 = `min(可报销账单金额, 上限)`
486
- - 低于标准按实际支付,超过上限按上限支付
487
- - 材料不齐 / 岗位未确认 / 用户拒绝 → **结束报销,禁止调用 `invoice.reim.flow.create.prepare`**
522
+ - 材料不齐 / 岗位未确认 / 用户拒绝 → **结束报销,禁止调用 `workflow.createRequest`**
488
523
 
489
524
  ---
490
525
 
491
- ## Step 4.7: 预览展示规则 —— 字典类 ID 必须带中文名
492
-
493
- > **向用户展示单据预览、汇总、确认清单时,凡是字典/选择类 ID 值,一律渲染成 `中文名(ID)`,禁止只给裸 ID。**
494
- > 用户要靠中文名核对金额、科目、上级和客户;裸 ID 无法复核,属于无效展示。
495
-
496
- ### 优先:直接用 CLI 已渲染好的展示字段(快速路径 / `auto-prepare` / `template.build`)
497
-
498
- `invoice.reim.template.build` 与 `invoice.reim.flow.create.auto-prepare` 的返回已包含渲染完成的展示数据。**返回里有 `preview.mainFields` / `labels` 就直接用,不要再自己调 `field.search` / `row-info` 查名。**
526
+ ## Step 5: 预览确认 → `workflow.createRequest`
499
527
 
500
- | 返回字段 | 内容 | 怎么用 |
501
- | --- | --- | --- |
502
- | `preview.mainFields[]` | `{ fieldId, fieldName, value \| optionValue, text }` | **主表预览直接读 `text`**。人员/客户渲染成 `温明刚(6490972696771260615)`;选择类渲染成 `银行(个人报销)(optionValue=7)`;逗号列表(承担人所有上级)逐项带名 |
503
- | `preview.detailRows[]` | `{ dataIndex, invoiceId, invoiceNumber, amount, expenseNote, subject, currency }` | **明细表预览直接读 `subject` / `currency`**,已带中文名 |
504
- | `labels` | `employees` / `subjects` / `currencies` / `customers` / `selectOptions` / `customer` / `detailSubForm` / `workflow` | 需要自己拼其它展示时取字典 |
505
- | `labels.unresolved`、`preview.unresolvedLabels` | 未取到中文名的 ID 清单 | 非空时按下方兜底口径如实展示,并放进 `need_user_confirm` 提醒用户核对 |
506
-
507
- 相关客户只给名称也能用:传 `relatedCustomerName`(不传 ID 时 CLI 会自动反查 ID;ID 与名称同时传则不额外请求,只用于渲染)。
508
-
509
- ### 兜底:返回里没有上述字段时(旧版 CLI、或手工组装路径)按来源表自查
510
-
511
- | 展示项 | 中文名来源 | 兜底 |
512
- | --- | --- | --- |
513
- | 费用类型(科目) | `invoice.reim.row-info` 的 `subjectName`(与 `subjectId` 同源,**同一行数据直接取**) | 用 `reim-expense-subject-rules.md` 查找表反查;仍无则保留 `未知科目(ID)` |
514
- | 币种 | `invoice.reim.row-info` 的 `bz[].name` | `人民币(100001050000000001)` |
515
- | 申请人 / 提单人员 / 承担主体 | `invoice.reim.employee-superiors` 的 `currentEmployee.name` | — |
516
- | 报销人上级 / 承担人直接上级 | 同命令 `directSuperior.name` | — |
517
- | 承担人所有上级 | 同命令 `allSuperiors[].name`,按原顺序逗号拼接,**每个都带 ID** | — |
518
- | 报销方式等 Select 字段 | `invoice.reim.form.structure` 主表该字段 `options` 里 `optionValue` → `optionName` | 保留 `optionValue=7` |
519
- | 相关客户 | `invoice.reim.field.search` 返回项的 `name` | 见下方警告 |
520
-
521
- ⚠️ **相关客户无法用 ID 反查**(实测):`invoice.reim.field.search` 把待查的那个 ID 当 `keywords` 传,一律返回 `[]`(例如 `keywords="100504500000311504"` → 空)。必须改用**关键词模糊搜索**再按 `id` 匹配:
522
-
523
- ```text
524
- keywords="泛微" → 命中 {"name":"泛微上海","id":"100504500000311504"}
525
- ```
528
+ > **⚠️ 报销单涉及金额,创建前必须先给用户看预览并取得明确确认**——这是本技能对 `workflow-create.md`「拼完 data 立即发 createRequest」的唯一加严,其余返回处置照 `workflow-create.md` 执行。
529
+ > **⚠️ 出差流程拦截:相关客户未由用户提供具体信息前,禁止调用。**
530
+ > **⚠️ 话费报销拦截:账单截图、账单构成或岗位标准未确认前,禁止调用。**
526
531
 
527
- 关键词取不准时按 2-3 个候选词依次试(公司字号、简称);仍查不到就显示 `未知来源(100504500000311504)` 并放进 `need_user_confirm` 让用户核对,**禁止编造名称**。
532
+ ### 5.1 预览(创建前)
528
533
 
529
- 展示格式示例:
534
+ 向用户展示一次,**字典类值一律带中文名 `名称(ID)`**(`data` 里本来就是这种写法,直接照抄):
530
535
 
531
536
  ```markdown
537
+ 即将创建报销单「交通费报销-龚为明-2026-10-21(共2笔)」,请确认:
538
+
532
539
  | 项目 | 值 |
533
540
  | --- | --- |
541
+ | 报销工作流 | 总部费用报销 |
542
+ | 报销事由 | 2026-07-30 市内交通 - 滴滴出行 |
534
543
  | 相关客户 | 泛微上海(100504500000311504) |
535
- | 报销人上级 / 承担人直接上级 | 温明刚(6490972696771260615) |
536
- | 承担人所有上级 | 熊学武(8005823778783571762), 章宏武(4270809363797382452), 周军锋(9080972482706531342), 温明刚(6490972696771260615), 韦利东(8005823776035471761) |
537
- | 报销方式 | 银行(个人报销)(optionValue=7) |
538
- | 费用科目(每行) | 日常消费(1256664958132969489) |
544
+ | 事前申请 | 交通费报销-后端开发111-2026-07-25(1298294241967177729) |
545
+ | 合计金额 | ¥185.80 |
546
+
547
+ | # | 发票号码 | 金额 | 费用日期 | 费用类型 | 费用说明 | 相关凭证 |
548
+ |---|----------|------|----------|----------|----------|----------|
549
+ | 1 | 36901189 | ¥108.20 | 2026-07-30 | 市内交通费(100502270000000006) | 仁济医院南院-浦江瑞和城 | ✅ 滴滴行程单 |
550
+ | 2 | 36901200 | ¥77.60 | 2026-07-30 | 市内交通费(100502270000000006) | 虹桥机场T2-人民广场 | — |
551
+
552
+ 申请人、承担主体、上级、部门、合同号、报销方式由表单按当前登录人默认带出;币种为人民币。
553
+ 请回复「存草稿」或「提交审批」;需要修改请直接告诉我。
539
554
  ```
540
555
 
541
- 纯数值/文本字段(金额、日期、张数、费用说明)保持原样,不加 ID。
556
+ - 有未挂上的凭证、未配对的凭证、话费核算明细时,在表格下方逐条列出
557
+ - 用户没说清 → 默认按「存草稿」(`action:"draft"`)处理并在回复里说明
542
558
 
543
- ---
559
+ ### 5.2 创建
544
560
 
545
- ## Step 5: 生成报销单流程
561
+ macOS/Linux(bash/zsh):
546
562
 
547
- 通过 `invoice.reim.flow.create.prepare` → 用户确认 → `invoice.reim.flow.create.apply` 完成。
563
+ ```bash
564
+ weaver-work-cli --json workflow run workflow.createRequest --input ./reim-create-request.json
565
+ ```
548
566
 
549
- > **⚠️ 禁止重复调用:同一组发票数据只能调用一次。调用成功后,修改已创建的报销单使用 Step 6 的 update。**
550
- > **⚠️ 出差流程拦截:相关客户未由用户提供具体信息前,禁止调用。**
551
- > **⚠️ 话费报销拦截:账单截图、账单构成或岗位标准未确认前,禁止调用。**
567
+ Windows PowerShell:
552
568
 
553
- ### 创建成功后
569
+ ```powershell
570
+ weaver-work-cli --json workflow run workflow.createRequest --input .\reim-create-request.json
571
+ ```
554
572
 
555
- CLI 返回 `requestId` 和 `viewUrl`,**用结构化汇总信息展示给用户**(链接用 CLI 返回的 `viewUrl`,不要自己拼接):
573
+ `reim-create-request.json` 的内容:
556
574
 
557
- ```markdown
558
- ✅ 报销单创建成功!
575
+ ```json
576
+ {
577
+ "context": "<Step 3 createForm 返回的 continuation>",
578
+ "requestName": "交通费报销-龚为明-2026-10-21(共2笔)",
579
+ "action": "draft",
580
+ "data": {
581
+ "main": {"100003720000000088": "2026-07-30 市内交通 - 滴滴出行", "100003720000000687": "泛微上海(100504500000311504)"},
582
+ "details": {"100003690000000011": [{"100003720000016373": "108.2", "100003720000052200": "人民币(100001050000000001)"}]}
583
+ }
584
+ }
585
+ ```
559
586
 
560
- ---
587
+ > `data` 含发票对象,体积较大,建议写成 UTF-8 文件用 `--input <path>` 传入。
561
588
 
562
- **报销标题**:交通费报销-后端开发111-2026-08-04(共2笔)
563
- **报销事由**:2026-07-30 市内交通 - 滴滴出行
564
- **汇总金额**:¥185.80
565
- **查看链接**:[点击查看报销单](viewUrl)
589
+ ### 5.3 返回处置
566
590
 
567
- | # | 发票号码 | 发票金额 | 费用类型 | 发生地点 | 关联凭证 |
568
- |---|----------|----------|----------|----------|----------|
569
- | 1 | 36901189 | ¥108.20 | 市内交通 | 仁济医院南院→浦江瑞和城 | ✅ 已关联 |
570
- | 2 | 36901200 | ¥77.60 | 市内交通 | 虹桥机场T2→人民广场 | ❌ 无凭证 |
591
+ **完全按 `workflow-create.md`「createRequest 返回后的处置」执行**:
571
592
 
572
- ---
573
- ```
593
+ | 返回 | 处置 |
594
+ | --- | --- |
595
+ | `CREATED` / `CREATED_SUBMITTED` / `CREATED_SUBMIT_FAILED` | **原样粘贴 `finalMarkdown`**,一字不改;链接只出现在回复文本里 |
596
+ | `NEEDS_INPUT` | 缺的是承担主体、上级、合同号、相关客户、科目等本技能有规则的字段 → 按 [reim-form-fill-rules.md](reim-form-fill-rules.md) 补值后用同一 `context` 重发;其余原样粘贴 `finalMarkdown` 一次问齐用户 |
597
+ | `NEEDS_CONFIRMATION` | 按 `ambiguities` 处理(浏览按钮多候选让用户选;`MULTIPLICITY` 只保留 1 个值) |
598
+ | `partial` / `write_uncertain` | 停止,不重放;只读回查一次后告知用户 |
599
+
600
+ > **⚠️ 禁止重复创建**:同一组发票 `createRequest` 成功后,**不要再次 `createForm` + `createRequest`**;修改一律走 Step 6。
574
601
 
575
602
  ---
576
603
 
577
- ## Step 6(可选): 更新报销单流程
604
+ ## Step 6(可选): 修改已创建的报销单
578
605
 
579
- 通过 `invoice.reim.flow.update.prepare/apply` 完成。
606
+ 通过 `weaver-e10-workflow` 的 `workflow.editLoad`(传 Step 5 返回的 `requestId`)→ `workflow.editPrepare`(`data` 写法同 Step 4,只传要改的字段)→ 用户确认 → `workflow.editApply`。详见 [`workflow-edit.md`](../../weaver-e10-workflow/references/workflow-edit.md)。
580
607
 
581
- - 支持 `deleteDetailRows` + `main_fields` + `detail_rows` 三种操作组合
582
- - 删除先于更新执行,删除失败不阻断更新
608
+ - 流程已流转到不可编辑节点时 `editApply` 返回"失去操作权限",如实转述
609
+ - 只读字段会被拒绝(`notEditable`),如实转述,不要换字段 id 绕过
583
610
 
584
611
  ---
585
612
 
@@ -589,26 +616,27 @@ CLI 返回 `requestId` 和 `viewUrl`,**用结构化汇总信息展示给用户
589
616
  - 发票列表为空 → 提示"未找到未报销的发票",结束
590
617
  - 出差/差旅流程缺少相关客户 → 见 Step 4.5
591
618
  - 话费报销缺少账单截图、账单构成或岗位标准 → 见 Step 4.6
592
- - 模糊搜索返回多结果 → 放入 `need_user_confirm` 让用户选择
619
+ - `createRequest` 返回 `NEEDS_INPUT` / `NEEDS_CONFIRMATION` 且本技能规则补不上 → 按 `workflow-create.md` 问用户
593
620
 
594
621
  **严禁重复调用:**
595
- - **`create.apply` 已调用成功 → 严禁再次调用,后续修改一律使用 `update`**
622
+ - **`createRequest` 已成功 → 严禁再次创建,后续修改一律使用 Step 6**
596
623
 
597
624
  **自动继续(不问用户):**
598
625
  - 事前申请为空 / 匹配失败 → 跳过事前关联,直接用发票填单
599
- - 匹配结果唯一 / 模糊搜索唯一结果 → 直接使用
626
+ - 匹配结果唯一 → 直接使用
600
627
 
601
628
  **用户中途取消:**
602
629
  - 用户说"取消"/"不报了"/"算了" → 立即停止
603
- - 已调用 create 成功 → 告知用户可通过链接手动删除
630
+ - 已创建成功 → 告知用户可通过链接手动删除
604
631
 
605
632
  ---
606
633
 
607
634
  ## 参考文档
608
635
 
609
- - [reim-api-reference.md](reim-api-reference.md) - 所有 CLI operation 入参与返回值
636
+ - [reim-api-reference.md](reim-api-reference.md) - 报销数据准备 CLI operation 入参与返回值
610
637
  - [reim-matching-rules.md](reim-matching-rules.md) - 发票与事前申请匹配逻辑
611
- - [reim-form-fill-rules.md](reim-form-fill-rules.md) - 表单字段填充策略与填单 JSON 组装规则
612
- - [reim-expense-subject-rules.md](reim-expense-subject-rules.md) - 费用科目自动匹配规则(JSON 查找表)
638
+ - [reim-form-fill-rules.md](reim-form-fill-rules.md) - `createRequest` 的 `data` 填值规则
639
+ - [reim-expense-subject-rules.md](reim-expense-subject-rules.md) - 费用科目自动匹配规则
613
640
  - [reim-phone-subsidy-rules.md](reim-phone-subsidy-rules.md) - 话费补贴 / 话费报销月度标准与实报金额
614
641
  - [reim-examples.md](reim-examples.md) - 完整端到端示例
642
+ - [`workflow-create.md`](../../weaver-e10-workflow/references/workflow-create.md) / [`workflow-edit.md`](../../weaver-e10-workflow/references/workflow-edit.md) - 发起与修改流程的命令契约