weaver-e10-builder 1.2.5 → 1.5.2
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.
- package/assets/org-employee-template.xlsx +0 -0
- package/dist/commands/form-add-physical-field.d.ts +3 -0
- package/dist/commands/form-add-physical-field.d.ts.map +1 -0
- package/dist/commands/form-add-physical-field.js +125 -0
- package/dist/commands/form-add-physical-field.js.map +1 -0
- package/dist/commands/form-button.d.ts.map +1 -1
- package/dist/commands/form-button.js +28 -5
- package/dist/commands/form-button.js.map +1 -1
- package/dist/commands/form-field-linkage.d.ts.map +1 -1
- package/dist/commands/form-field-linkage.js +27 -6
- package/dist/commands/form-field-linkage.js.map +1 -1
- package/dist/commands/form-formula-linkage.d.ts +3 -0
- package/dist/commands/form-formula-linkage.d.ts.map +1 -0
- package/dist/commands/form-formula-linkage.js +434 -0
- package/dist/commands/form-formula-linkage.js.map +1 -0
- package/dist/commands/form-formula.d.ts.map +1 -1
- package/dist/commands/form-formula.js +22 -3
- package/dist/commands/form-formula.js.map +1 -1
- package/dist/commands/form-list-click.d.ts.map +1 -1
- package/dist/commands/form-list-click.js +2 -1
- package/dist/commands/form-list-click.js.map +1 -1
- package/dist/commands/form-list-permission.js +1 -1
- package/dist/commands/form-list-permission.js.map +1 -1
- package/dist/commands/form-native.d.ts.map +1 -1
- package/dist/commands/form-native.js +11 -3
- package/dist/commands/form-native.js.map +1 -1
- package/dist/commands/form-physical-table.d.ts +3 -0
- package/dist/commands/form-physical-table.d.ts.map +1 -0
- package/dist/commands/form-physical-table.js +195 -0
- package/dist/commands/form-physical-table.js.map +1 -0
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +246 -549
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/matrix.d.ts.map +1 -1
- package/dist/commands/matrix.js +175 -36
- package/dist/commands/matrix.js.map +1 -1
- package/dist/commands/org.d.ts +10 -0
- package/dist/commands/org.d.ts.map +1 -0
- package/dist/commands/org.js +402 -0
- package/dist/commands/org.js.map +1 -0
- package/dist/commands/role.d.ts.map +1 -1
- package/dist/commands/role.js +106 -62
- package/dist/commands/role.js.map +1 -1
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +501 -26
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-auth-resp.d.ts.map +1 -1
- package/dist/commands/workflow-auth-resp.js +53 -5
- package/dist/commands/workflow-auth-resp.js.map +1 -1
- package/dist/commands/workflow-create-auth-resp.d.ts.map +1 -1
- package/dist/commands/workflow-create-auth-resp.js +5 -1
- package/dist/commands/workflow-create-auth-resp.js.map +1 -1
- package/dist/commands/workflow-operator-sign.js +1 -1
- package/dist/commands/workflow-operator-sign.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +78 -9
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/services/action-detail.d.ts.map +1 -1
- package/dist/services/action-detail.js +5 -4
- package/dist/services/action-detail.js.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/components/action_eb_update_compiler.js +22 -7
- package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
- package/dist/services/actionflow/components/approve_create.d.ts.map +1 -1
- package/dist/services/actionflow/components/approve_create.js +6 -3
- package/dist/services/actionflow/components/approve_create.js.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.d.ts.map +1 -1
- package/dist/services/actionflow/components/custom_set_form.js +35 -1
- package/dist/services/actionflow/components/custom_set_form.js.map +1 -1
- package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
- package/dist/services/actionflow/components/custom_trigger.js +4 -1
- package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
- package/dist/services/actionflow/components/dml_execute.d.ts.map +1 -1
- package/dist/services/actionflow/components/dml_execute.js +7 -3
- package/dist/services/actionflow/components/dml_execute.js.map +1 -1
- package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/document_actions.js +7 -3
- package/dist/services/actionflow/components/document_actions.js.map +1 -1
- package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/hrm_actions.js +7 -3
- package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.d.ts.map +1 -1
- package/dist/services/actionflow/components/multiple_execution.js +14 -5
- package/dist/services/actionflow/components/multiple_execution.js.map +1 -1
- package/dist/services/actionflow/components/output.js +1 -1
- package/dist/services/actionflow/components/output.js.map +1 -1
- package/dist/services/actionflow/components/send_message.js +2 -2
- package/dist/services/actionflow/components/send_message.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +7 -3
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +12 -2
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/context_provider.d.ts.map +1 -1
- package/dist/services/actionflow/context_provider.js +21 -2
- package/dist/services/actionflow/context_provider.js.map +1 -1
- package/dist/services/actionflow/custom_trigger_context.d.ts +10 -0
- package/dist/services/actionflow/custom_trigger_context.d.ts.map +1 -0
- package/dist/services/actionflow/custom_trigger_context.js +46 -0
- package/dist/services/actionflow/custom_trigger_context.js.map +1 -0
- package/dist/services/actionflow/filter_rules.js +2 -2
- package/dist/services/actionflow/filter_rules.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts +9 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +59 -21
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/id_generator.d.ts +2 -0
- package/dist/services/actionflow/id_generator.d.ts.map +1 -1
- package/dist/services/actionflow/id_generator.js +13 -0
- package/dist/services/actionflow/id_generator.js.map +1 -1
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +6 -1
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +89 -35
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/auth-resp-condition.d.ts +35 -0
- package/dist/services/auth-resp-condition.d.ts.map +1 -0
- package/dist/services/auth-resp-condition.js +111 -0
- package/dist/services/auth-resp-condition.js.map +1 -0
- package/dist/services/condition-rules.d.ts.map +1 -1
- package/dist/services/condition-rules.js +4 -1
- package/dist/services/condition-rules.js.map +1 -1
- package/dist/services/esb-interface/document-parser.d.ts.map +1 -1
- package/dist/services/esb-interface/document-parser.js +62 -5
- package/dist/services/esb-interface/document-parser.js.map +1 -1
- package/dist/services/form-association.d.ts +19 -0
- package/dist/services/form-association.d.ts.map +1 -1
- package/dist/services/form-association.js +64 -0
- package/dist/services/form-association.js.map +1 -1
- package/dist/services/form-button-action.d.ts +7 -0
- package/dist/services/form-button-action.d.ts.map +1 -1
- package/dist/services/form-button-action.js +11 -1
- package/dist/services/form-button-action.js.map +1 -1
- package/dist/services/form-create.d.ts +4 -0
- package/dist/services/form-create.d.ts.map +1 -1
- package/dist/services/form-create.js +18 -12
- package/dist/services/form-create.js.map +1 -1
- package/dist/services/form-field-build.d.ts +71 -0
- package/dist/services/form-field-build.d.ts.map +1 -0
- package/dist/services/form-field-build.js +436 -0
- package/dist/services/form-field-build.js.map +1 -0
- package/dist/services/form-field-patch.d.ts +3 -1
- package/dist/services/form-field-patch.d.ts.map +1 -1
- package/dist/services/form-field-patch.js +23 -9
- package/dist/services/form-field-patch.js.map +1 -1
- package/dist/services/form-formula-linkage.d.ts +349 -0
- package/dist/services/form-formula-linkage.d.ts.map +1 -0
- package/dist/services/form-formula-linkage.js +546 -0
- package/dist/services/form-formula-linkage.js.map +1 -0
- package/dist/services/form-layout-insert.d.ts +84 -0
- package/dist/services/form-layout-insert.d.ts.map +1 -0
- package/dist/services/form-layout-insert.js +244 -0
- package/dist/services/form-layout-insert.js.map +1 -0
- package/dist/services/form-linkage-condition.d.ts +159 -0
- package/dist/services/form-linkage-condition.d.ts.map +1 -0
- package/dist/services/form-linkage-condition.js +307 -0
- package/dist/services/form-linkage-condition.js.map +1 -0
- package/dist/services/form-physical-table.d.ts +115 -0
- package/dist/services/form-physical-table.d.ts.map +1 -0
- package/dist/services/form-physical-table.js +153 -0
- package/dist/services/form-physical-table.js.map +1 -0
- package/dist/services/formula-detail.d.ts +98 -6
- package/dist/services/formula-detail.d.ts.map +1 -1
- package/dist/services/formula-detail.js +208 -26
- package/dist/services/formula-detail.js.map +1 -1
- package/dist/services/matrix-rows.d.ts +43 -0
- package/dist/services/matrix-rows.d.ts.map +1 -0
- package/dist/services/matrix-rows.js +104 -0
- package/dist/services/matrix-rows.js.map +1 -0
- package/dist/services/org-department.d.ts +114 -0
- package/dist/services/org-department.d.ts.map +1 -0
- package/dist/services/org-department.js +209 -0
- package/dist/services/org-department.js.map +1 -0
- package/dist/services/org-employee.d.ts +191 -0
- package/dist/services/org-employee.d.ts.map +1 -0
- package/dist/services/org-employee.js +400 -0
- package/dist/services/org-employee.js.map +1 -0
- package/dist/services/role-member.d.ts +99 -0
- package/dist/services/role-member.d.ts.map +1 -0
- package/dist/services/role-member.js +206 -0
- package/dist/services/role-member.js.map +1 -0
- package/dist/services/workflow-info.d.ts +83 -0
- package/dist/services/workflow-info.d.ts.map +1 -0
- package/dist/services/workflow-info.js +97 -0
- package/dist/services/workflow-info.js.map +1 -0
- package/dist/services/workflow-odoc-setting.d.ts +1 -1
- package/dist/services/workflow-odoc-setting.d.ts.map +1 -1
- package/dist/services/workflow-odoc-setting.js +15 -6
- package/dist/services/workflow-odoc-setting.js.map +1 -1
- package/dist/utils/column-name.d.ts +24 -0
- package/dist/utils/column-name.d.ts.map +1 -1
- package/dist/utils/column-name.js +16 -0
- package/dist/utils/column-name.js.map +1 -1
- package/ecodecmd/package.json +1 -2
- package/ecodecmd/src/loaddep.js +19 -9
- package/package.json +4 -4
- package/skill-docs/SKILL.md +13 -9
- package/skill-docs/_catalog.md +86 -81
- package/skill-docs/actionflows/SKILL.md +173 -170
- package/skill-docs/actionflows/references/components/logic/Output.md +1 -1
- package/skill-docs/actionflows/references/components/trigger/CustomTrigger.md +32 -0
- package/skill-docs/actionflows/references/components/workflow/ApproveCreate.md +1 -1
- package/skill-docs/references/common/guide-plan-template.md +9 -3
- package/skill-docs/references/common/ref-cli-commands.md +54 -23
- package/skill-docs/references/esb-interface/guide-import.md +4 -1
- package/skill-docs/references/form/guide-create-form.md +13 -0
- package/skill-docs/references/form/guide-field-linkage.md +2 -0
- package/skill-docs/references/form/guide-form-association.md +1 -1
- package/skill-docs/references/form/guide-form-formula-functions.md +36 -0
- package/skill-docs/references/form/guide-form-layout-incremental.md +75 -0
- package/skill-docs/references/form/guide-form-linkage.md +62 -4
- package/skill-docs/references/form/guide-form-physical-table.md +146 -0
- package/skill-docs/references/form/guide-formula-linkage.md +250 -0
- package/skill-docs/references/form/ref-form-fields.md +6 -0
- package/skill-docs/references/hrm/guide-matrix.md +79 -16
- package/skill-docs/references/hrm/guide-org-employee.md +124 -0
- package/skill-docs/references/report/cell-config-echo-guide.md +1 -1
- package/skill-docs/references/report/dataset-query-filter-guide.md +3 -3
- package/skill-docs/references/report/date-range-query-reference.md +2 -2
- package/skill-docs/references/report/query-condition-api-guide.md +11 -11
- package/skill-docs/references/report/report-designer-feature-map.md +1 -1
- package/skill-docs/references/report/report-permission-guide.md +2 -2
- package/skill-docs/references/workflow/guide-workflow-auth-resp.md +48 -22
- package/skill-docs/references/workflow/guide-workflow-odoc-setting.md +248 -0
- package/skill-docs/references/workflow/guide-workflow-odoc.md +23 -51
- package/skill-docs/references/workflow/guide-workflow.md +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix-rows.js","sourceRoot":"","sources":["../../src/services/matrix-rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 组织架构 — 部门的新建与删除。
|
|
3
|
+
*
|
|
4
|
+
* 新建部门是**四步链**,每一步的产出喂给下一步,缺一不可:
|
|
5
|
+
*
|
|
6
|
+
* ① GET `/api/bs/hrm/organization/getForm` 取**保存报文模板**(含现生成的 targetId)
|
|
7
|
+
* ② POST `/api/hrm/form/core/getFormLayout` 取 `formLayout.id` 与 `formLayoutMultiple.id`
|
|
8
|
+
* ③ POST `/api/hrm/form/core/saveFormData` 落表单数据,回吐 `recordId`
|
|
9
|
+
* ④ POST `/api/bs/hrm/organization/saveForm` 部门落进组织树
|
|
10
|
+
*
|
|
11
|
+
* ⚠ **① 给的模板不能直接当 ④ 的报文发** —— 形状对不上:
|
|
12
|
+
* ① 的 `data.parent` 是 `[]`、`data.subcompany` 是**对象数组**,
|
|
13
|
+
* 而 ④ 要的是 `parent: ""`(或父部门 id 字符串)与 `subcompany: "<机构id>"`。
|
|
14
|
+
* 转换集中在 `buildSaveFormPayload`,别在命令层现拼。
|
|
15
|
+
*
|
|
16
|
+
* 删除是单步:`POST /api/bs/hrm/department/delete`。
|
|
17
|
+
*/
|
|
18
|
+
/** 保存报文里的组织类型。建部门固定 `department`。 */
|
|
19
|
+
export declare const ORG_TYPE_DEPARTMENT = "department";
|
|
20
|
+
/**
|
|
21
|
+
* 解析当前登录用户所在机构 ID。
|
|
22
|
+
*
|
|
23
|
+
* `teamsCheck` 的 `body.currentUser.department`:优先 `subCompanyId`(公司级机构),
|
|
24
|
+
* 没有就退回 `department.id`(部分环境只有部门 id)。
|
|
25
|
+
*
|
|
26
|
+
* 与 `workflow-create-workflow.ts` 原先内联的那份同源 —— 那边已改为引用这里。
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveCurrentUserSubCompany(baseUrl: string, eteamsId: string): Promise<string>;
|
|
29
|
+
/**
|
|
30
|
+
* `teamsCheck` 拿当前登录用户。取不到就返回 `{}`(调用方各自兜底,这里不抛)。
|
|
31
|
+
*
|
|
32
|
+
* 人员导入要用 `currentUser.id` 当 `customParam.employeeId`,部门那两处要 `department`,
|
|
33
|
+
* 所以把请求这次抽出来共用 —— 不然同一份 teamsCheck 会有三处复制。
|
|
34
|
+
*/
|
|
35
|
+
export declare function fetchCurrentUser(baseUrl: string, eteamsId: string): Promise<any>;
|
|
36
|
+
/** ① 的返回里那份模板(只列用得到的键)。 */
|
|
37
|
+
export interface OrgFormTemplate {
|
|
38
|
+
targetId: string;
|
|
39
|
+
formId: string;
|
|
40
|
+
versionId: string;
|
|
41
|
+
subcompanyId: string;
|
|
42
|
+
rightList: string[];
|
|
43
|
+
hideFieldList: string[];
|
|
44
|
+
disporder: number;
|
|
45
|
+
virtualid: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 从 ① `getForm` 的返回里抽出模板。
|
|
49
|
+
*
|
|
50
|
+
* 抽不出来就抛 —— **不编默认值**:这四个 id 全是平台现生成的,
|
|
51
|
+
* 硬凑一个只会让后面的步骤以看不懂的方式失败。
|
|
52
|
+
*/
|
|
53
|
+
export declare function extractOrgFormTemplate(response: any): OrgFormTemplate;
|
|
54
|
+
/** ③ `saveFormData` 的报文。`presetDataId` 就是模板里的 `targetId`。 */
|
|
55
|
+
export declare function buildSaveFormDataPayload(tpl: Pick<OrgFormTemplate, 'targetId' | 'formId'>, formLayoutId: string, multipleLayoutId: string): Record<string, unknown>;
|
|
56
|
+
/** ③ 的返回里取 `recordId`(④ 要用)。取不到就抛,不编。 */
|
|
57
|
+
export declare function extractRecordId(response: any): string;
|
|
58
|
+
export interface CreateDepartmentInput {
|
|
59
|
+
name: string;
|
|
60
|
+
/** 部门编号。不传就沿用模板里的值(或空)。 */
|
|
61
|
+
code?: string;
|
|
62
|
+
/** 父部门 id。**顶层部门传机构 id**(= `subcompany`),与 `getForm` 的 `parentId` 同一个值。 */
|
|
63
|
+
parentId: string;
|
|
64
|
+
/** 所属机构 id。不传就用模板里带的那个。 */
|
|
65
|
+
subcompanyId?: string;
|
|
66
|
+
/** 直管上级部门名(可选,界面上的「上级部门」展示字段)。 */
|
|
67
|
+
supDepartment?: string;
|
|
68
|
+
/** 部门全称。不传用 name。 */
|
|
69
|
+
fullname?: string;
|
|
70
|
+
recordId: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* ④ `organization/saveForm` 的报文 —— 把 ① 的模板**转成**平台实际收的形状。
|
|
74
|
+
*
|
|
75
|
+
* 转换点(这三处是踩过的坑,别改回去):
|
|
76
|
+
* - `parent`:模板给的是数组(顶层时为空数组)→ 要 `""` 或父部门 id **字符串**
|
|
77
|
+
* - `subcompany`:模板给的是对象数组 → 要机构 id **字符串**
|
|
78
|
+
* - `formdata.objectId` / `formdataId`:都等于 `targetId`
|
|
79
|
+
*/
|
|
80
|
+
export declare function buildSaveFormPayload(tpl: OrgFormTemplate, input: CreateDepartmentInput): Record<string, unknown>;
|
|
81
|
+
/** 删除部门的报文。`parent` 是它的**父**(顶层部门的父就是机构 id)。 */
|
|
82
|
+
export declare function buildDeleteDepartmentPayload(id: string, parent: string): Record<string, unknown>;
|
|
83
|
+
/**
|
|
84
|
+
* 编辑部门时读当前状态:`getForm` 带 **`id=`**(不是 `parentId=`)。
|
|
85
|
+
*
|
|
86
|
+
* 同一个端点两种用法:带 `parentId` 给**新建模板**,带 `id` 给**这个部门的完整现状**。
|
|
87
|
+
* 返回的 `data` 就是编辑报文的模板。
|
|
88
|
+
*
|
|
89
|
+
* ⚠ 这个读接口**不过滤已删记录** —— 删除是软删(`isDelete: true`),删完再读仍能读出来。
|
|
90
|
+
* 所以它不能用来判断「部门还在不在」,判删除要看 `isDelete` 字段或用组织树列表。
|
|
91
|
+
*/
|
|
92
|
+
export declare function getOrgDetailPath(id: string): string;
|
|
93
|
+
export interface EditDepartmentInput {
|
|
94
|
+
/** 新名字。不传保持原值。 */
|
|
95
|
+
name?: string;
|
|
96
|
+
code?: string;
|
|
97
|
+
/** 新父部门 id。不传保持原值。 */
|
|
98
|
+
parentId?: string;
|
|
99
|
+
disporder?: number;
|
|
100
|
+
fullname?: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* **编辑**部门的报文(`organization/saveForm`,与新建同一个端点但形状不同)。
|
|
104
|
+
*
|
|
105
|
+
* 编辑是「**当前完整状态 + 改动**」,不是只发改动,所以必须先用 `getOrgDetailPath` 把现状读回来。
|
|
106
|
+
* 与新建那版的差异(照着抓包对的):
|
|
107
|
+
* - 认 `id`,**没有** `targetId` / `formdata` / `formdataId` / `recordId`
|
|
108
|
+
* - 带 `tenantKey` / `creator` / `subcompanyid` / `datarank` / `createTime` / `updateTime` /
|
|
109
|
+
* `isTop` / `status` / `isDelete` / `usersettings` —— 这些**原样回传**,别自己造
|
|
110
|
+
* - `advanceForm` 是 `false`(新建时是 `true`)
|
|
111
|
+
* - `parent` 要的是**父的 id 字符串**;模板给的是数组,顶层部门则回填 `subcompanyid`
|
|
112
|
+
*/
|
|
113
|
+
export declare function buildUpdateDepartmentPayload(detail: any, input: EditDepartmentInput): Record<string, unknown>;
|
|
114
|
+
//# sourceMappingURL=org-department.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-department.d.ts","sourceRoot":"","sources":["../../src/services/org-department.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,qCAAqC;AACrC,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAStF;AAED,2BAA2B;AAC3B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,GAAG,eAAe,CAyBrE;AAED,6DAA6D;AAC7D,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,QAAQ,CAAC,EACjD,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,yCAAyC;AACzC,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAKrD;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiChH;AAED,gDAAgD;AAChD,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoC7G"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 组织架构 — 部门的新建与删除。
|
|
3
|
+
*
|
|
4
|
+
* 新建部门是**四步链**,每一步的产出喂给下一步,缺一不可:
|
|
5
|
+
*
|
|
6
|
+
* ① GET `/api/bs/hrm/organization/getForm` 取**保存报文模板**(含现生成的 targetId)
|
|
7
|
+
* ② POST `/api/hrm/form/core/getFormLayout` 取 `formLayout.id` 与 `formLayoutMultiple.id`
|
|
8
|
+
* ③ POST `/api/hrm/form/core/saveFormData` 落表单数据,回吐 `recordId`
|
|
9
|
+
* ④ POST `/api/bs/hrm/organization/saveForm` 部门落进组织树
|
|
10
|
+
*
|
|
11
|
+
* ⚠ **① 给的模板不能直接当 ④ 的报文发** —— 形状对不上:
|
|
12
|
+
* ① 的 `data.parent` 是 `[]`、`data.subcompany` 是**对象数组**,
|
|
13
|
+
* 而 ④ 要的是 `parent: ""`(或父部门 id 字符串)与 `subcompany: "<机构id>"`。
|
|
14
|
+
* 转换集中在 `buildSaveFormPayload`,别在命令层现拼。
|
|
15
|
+
*
|
|
16
|
+
* 删除是单步:`POST /api/bs/hrm/department/delete`。
|
|
17
|
+
*/
|
|
18
|
+
/** 保存报文里的组织类型。建部门固定 `department`。 */
|
|
19
|
+
export const ORG_TYPE_DEPARTMENT = 'department';
|
|
20
|
+
/**
|
|
21
|
+
* 解析当前登录用户所在机构 ID。
|
|
22
|
+
*
|
|
23
|
+
* `teamsCheck` 的 `body.currentUser.department`:优先 `subCompanyId`(公司级机构),
|
|
24
|
+
* 没有就退回 `department.id`(部分环境只有部门 id)。
|
|
25
|
+
*
|
|
26
|
+
* 与 `workflow-create-workflow.ts` 原先内联的那份同源 —— 那边已改为引用这里。
|
|
27
|
+
*/
|
|
28
|
+
export async function resolveCurrentUserSubCompany(baseUrl, eteamsId) {
|
|
29
|
+
const dep = (await fetchCurrentUser(baseUrl, eteamsId))?.department;
|
|
30
|
+
return String(dep?.subCompanyId || dep?.id || '');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* `teamsCheck` 拿当前登录用户。取不到就返回 `{}`(调用方各自兜底,这里不抛)。
|
|
34
|
+
*
|
|
35
|
+
* 人员导入要用 `currentUser.id` 当 `customParam.employeeId`,部门那两处要 `department`,
|
|
36
|
+
* 所以把请求这次抽出来共用 —— 不然同一份 teamsCheck 会有三处复制。
|
|
37
|
+
*/
|
|
38
|
+
export async function fetchCurrentUser(baseUrl, eteamsId) {
|
|
39
|
+
try {
|
|
40
|
+
const resp = await fetch(`${baseUrl}/api/baseserver/layout/teamsCheck?clientType=not_xinchuang&client=WEB&domainName=${encodeURIComponent(baseUrl)}`, { method: 'POST', headers: { accept: 'application/json', 'content-type': 'application/json', eteamsid: eteamsId } });
|
|
41
|
+
const body = await resp.json();
|
|
42
|
+
return body?.currentUser ?? {};
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return {};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 从 ① `getForm` 的返回里抽出模板。
|
|
50
|
+
*
|
|
51
|
+
* 抽不出来就抛 —— **不编默认值**:这四个 id 全是平台现生成的,
|
|
52
|
+
* 硬凑一个只会让后面的步骤以看不懂的方式失败。
|
|
53
|
+
*/
|
|
54
|
+
export function extractOrgFormTemplate(response) {
|
|
55
|
+
const d = response?.data?.data ?? response?.data;
|
|
56
|
+
if (!d || typeof d !== 'object')
|
|
57
|
+
throw new Error('getForm 返回结构异常(拿不到模板)');
|
|
58
|
+
const targetId = String(d.targetId ?? '');
|
|
59
|
+
const formId = String(d.formdata?.formId ?? d.formId ?? '');
|
|
60
|
+
const versionId = String(d.formdata?.versionId ?? d.versionId ?? '');
|
|
61
|
+
const subcompanyId = String(d.subcompany?.[0]?.id ?? d.subcompany ?? '');
|
|
62
|
+
if (!targetId || !formId) {
|
|
63
|
+
// 实测:mulinquan 的 data 里带 `formdata`(含 formId/versionId),eteams 的**不带** ——
|
|
64
|
+
// 同一端点、同样的参数,差别在租户的部门表单配置。缺 formId 就没法走 ③④,直接说清。
|
|
65
|
+
throw new Error(`getForm 模板缺少关键 id(targetId=${targetId || '空'} formId=${formId || '空'}):`
|
|
66
|
+
+ '该环境未返回部门表单配置(formdata.formId),当前无法在该环境建部门');
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
targetId,
|
|
70
|
+
formId,
|
|
71
|
+
versionId,
|
|
72
|
+
subcompanyId,
|
|
73
|
+
rightList: Array.isArray(d.rightList) ? d.rightList.map(String) : [],
|
|
74
|
+
hideFieldList: Array.isArray(d.hideFieldList) ? d.hideFieldList.map(String) : [],
|
|
75
|
+
disporder: Number(d.disporder ?? 0),
|
|
76
|
+
virtualid: String(d.virtualid ?? '1'),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/** ③ `saveFormData` 的报文。`presetDataId` 就是模板里的 `targetId`。 */
|
|
80
|
+
export function buildSaveFormDataPayload(tpl, formLayoutId, multipleLayoutId) {
|
|
81
|
+
return {
|
|
82
|
+
module: 'hrm',
|
|
83
|
+
formData: {
|
|
84
|
+
module: 'hrm',
|
|
85
|
+
presetDataId: tpl.targetId,
|
|
86
|
+
dataDetails: [],
|
|
87
|
+
asyncTableData: false,
|
|
88
|
+
client: 'pc',
|
|
89
|
+
dataStatus: 'submit',
|
|
90
|
+
form: { id: tpl.formId },
|
|
91
|
+
formLayout: { id: formLayoutId },
|
|
92
|
+
multipleLayoutId,
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/** ③ 的返回里取 `recordId`(④ 要用)。取不到就抛,不编。 */
|
|
97
|
+
export function extractRecordId(response) {
|
|
98
|
+
const d = response?.data ?? {};
|
|
99
|
+
const id = d.recordId ?? d.dataId ?? d.id ?? d.formDataId ?? '';
|
|
100
|
+
if (!id)
|
|
101
|
+
throw new Error('saveFormData 未返回 recordId(部门树那步会缺参数)');
|
|
102
|
+
return String(id);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* ④ `organization/saveForm` 的报文 —— 把 ① 的模板**转成**平台实际收的形状。
|
|
106
|
+
*
|
|
107
|
+
* 转换点(这三处是踩过的坑,别改回去):
|
|
108
|
+
* - `parent`:模板给的是数组(顶层时为空数组)→ 要 `""` 或父部门 id **字符串**
|
|
109
|
+
* - `subcompany`:模板给的是对象数组 → 要机构 id **字符串**
|
|
110
|
+
* - `formdata.objectId` / `formdataId`:都等于 `targetId`
|
|
111
|
+
*/
|
|
112
|
+
export function buildSaveFormPayload(tpl, input) {
|
|
113
|
+
// 所属机构取模板里的(或显式传入)—— **不要用 parentId 顶替**:
|
|
114
|
+
// 建子部门时 parentId 是父部门 id,拿它当 subcompany 会把子部门挂到错误的机构下。
|
|
115
|
+
const subcompanyId = input.subcompanyId || tpl.subcompanyId;
|
|
116
|
+
const isTopLevel = !input.parentId || input.parentId === subcompanyId;
|
|
117
|
+
return {
|
|
118
|
+
// 顶层部门时 parent 是空串(不是机构 id);挂在某个部门下时才写该部门 id
|
|
119
|
+
parent: isTopLevel ? '' : input.parentId,
|
|
120
|
+
subcompany: subcompanyId,
|
|
121
|
+
targetId: tpl.targetId,
|
|
122
|
+
advanceForm: true,
|
|
123
|
+
hideFieldList: tpl.hideFieldList,
|
|
124
|
+
virtualid: tpl.virtualid,
|
|
125
|
+
formdata: {
|
|
126
|
+
objectId: tpl.targetId,
|
|
127
|
+
formId: tpl.formId,
|
|
128
|
+
isEditable: true,
|
|
129
|
+
module: 'hrm',
|
|
130
|
+
versionId: tpl.versionId,
|
|
131
|
+
advanceForm: true,
|
|
132
|
+
},
|
|
133
|
+
type: ORG_TYPE_DEPARTMENT,
|
|
134
|
+
disporder: tpl.disporder,
|
|
135
|
+
rightList: tpl.rightList,
|
|
136
|
+
coadjutant: '',
|
|
137
|
+
code: input.code ?? '',
|
|
138
|
+
name: input.name,
|
|
139
|
+
...(input.supDepartment ? { supDepartment: input.supDepartment } : {}),
|
|
140
|
+
...(input.fullname ? { fullname: input.fullname } : {}),
|
|
141
|
+
formdataId: tpl.targetId,
|
|
142
|
+
recordId: input.recordId,
|
|
143
|
+
isMobile: false,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
/** 删除部门的报文。`parent` 是它的**父**(顶层部门的父就是机构 id)。 */
|
|
147
|
+
export function buildDeleteDepartmentPayload(id, parent) {
|
|
148
|
+
return { id, parent, virtualId: '1', isMobile: false };
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* 编辑部门时读当前状态:`getForm` 带 **`id=`**(不是 `parentId=`)。
|
|
152
|
+
*
|
|
153
|
+
* 同一个端点两种用法:带 `parentId` 给**新建模板**,带 `id` 给**这个部门的完整现状**。
|
|
154
|
+
* 返回的 `data` 就是编辑报文的模板。
|
|
155
|
+
*
|
|
156
|
+
* ⚠ 这个读接口**不过滤已删记录** —— 删除是软删(`isDelete: true`),删完再读仍能读出来。
|
|
157
|
+
* 所以它不能用来判断「部门还在不在」,判删除要看 `isDelete` 字段或用组织树列表。
|
|
158
|
+
*/
|
|
159
|
+
export function getOrgDetailPath(id) {
|
|
160
|
+
return `/api/bs/hrm/organization/getForm?id=${encodeURIComponent(id)}&flag=department&virtualId=1&isMobile=false`;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* **编辑**部门的报文(`organization/saveForm`,与新建同一个端点但形状不同)。
|
|
164
|
+
*
|
|
165
|
+
* 编辑是「**当前完整状态 + 改动**」,不是只发改动,所以必须先用 `getOrgDetailPath` 把现状读回来。
|
|
166
|
+
* 与新建那版的差异(照着抓包对的):
|
|
167
|
+
* - 认 `id`,**没有** `targetId` / `formdata` / `formdataId` / `recordId`
|
|
168
|
+
* - 带 `tenantKey` / `creator` / `subcompanyid` / `datarank` / `createTime` / `updateTime` /
|
|
169
|
+
* `isTop` / `status` / `isDelete` / `usersettings` —— 这些**原样回传**,别自己造
|
|
170
|
+
* - `advanceForm` 是 `false`(新建时是 `true`)
|
|
171
|
+
* - `parent` 要的是**父的 id 字符串**;模板给的是数组,顶层部门则回填 `subcompanyid`
|
|
172
|
+
*/
|
|
173
|
+
export function buildUpdateDepartmentPayload(detail, input) {
|
|
174
|
+
const d = detail?.data?.data ?? detail?.data ?? detail;
|
|
175
|
+
if (!d || typeof d !== 'object' || !d.id) {
|
|
176
|
+
throw new Error('getForm(id) 未返回部门详情(拿不到 id)');
|
|
177
|
+
}
|
|
178
|
+
const subcompanyid = String(d.subcompanyid ?? d.subcompany?.[0]?.id ?? '');
|
|
179
|
+
// 模板 parent 是数组:顶层部门是空数组,此时它的「父」就是所属机构
|
|
180
|
+
const templateParentId = String(d.parent?.[0]?.id ?? d.parent?.[0] ?? '');
|
|
181
|
+
const parent = input.parentId ?? (templateParentId || subcompanyid);
|
|
182
|
+
const payload = {
|
|
183
|
+
parent,
|
|
184
|
+
code: input.code ?? String(d.code ?? ''),
|
|
185
|
+
tenantKey: d.tenantKey,
|
|
186
|
+
type: d.type,
|
|
187
|
+
usersettings: d.usersettings ?? [],
|
|
188
|
+
coadjutant: Array.isArray(d.coadjutant) ? '' : (d.coadjutant ?? ''),
|
|
189
|
+
id: String(d.id),
|
|
190
|
+
virtualid: String(d.virtualid ?? '1'),
|
|
191
|
+
disporder: input.disporder ?? d.disporder ?? 0,
|
|
192
|
+
creator: d.creator,
|
|
193
|
+
subcompanyid,
|
|
194
|
+
advanceForm: false,
|
|
195
|
+
datarank: d.datarank,
|
|
196
|
+
isDelete: Boolean(d.isDelete),
|
|
197
|
+
hideFieldList: d.hideFieldList ?? [],
|
|
198
|
+
updateTime: d.updateTime,
|
|
199
|
+
rightList: d.rightList ?? [],
|
|
200
|
+
createTime: d.createTime,
|
|
201
|
+
isTop: Boolean(d.isTop),
|
|
202
|
+
name: input.name ?? String(d.name ?? ''),
|
|
203
|
+
fullname: input.fullname ?? String(d.fullname ?? ''),
|
|
204
|
+
status: Boolean(d.status),
|
|
205
|
+
isMobile: false,
|
|
206
|
+
};
|
|
207
|
+
return payload;
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=org-department.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-department.js","sourceRoot":"","sources":["../../src/services/org-department.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,OAAe,EAAE,QAAgB;IAClF,MAAM,GAAG,GAAG,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;IACpE,OAAO,MAAM,CAAC,GAAG,EAAE,YAAY,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,QAAgB;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,GAAG,OAAO,oFAAoF,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAC3H,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACpH,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAS,CAAC;QACtC,OAAO,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAcD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAa;IAClD,MAAM,CAAC,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,CAAC;IACjD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,IAAI,GAAG,WAAW,MAAM,IAAI,GAAG,IAAI;cACvE,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ;QACR,MAAM;QACN,SAAS;QACT,YAAY;QACZ,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QACpE,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAChF,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,wBAAwB,CACtC,GAAiD,EACjD,YAAoB,EACpB,gBAAwB;IAExB,OAAO;QACL,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,GAAG,CAAC,QAAQ;YAC1B,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,KAAK;YACrB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE;YACxB,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;YAChC,gBAAgB;SACjB;KACF,CAAC;AACJ,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,eAAe,CAAC,QAAa;IAC3C,MAAM,CAAC,GAAG,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;IAChE,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAoB,EAAE,KAA4B;IACrF,0CAA0C;IAC1C,uDAAuD;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC;IAC5D,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC;IACtE,OAAO;QACL,6CAA6C;QAC7C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;QACxC,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE;YACR,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,IAAI;SAClB;QACD,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,UAAU,EAAE,GAAG,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,4BAA4B,CAAC,EAAU,EAAE,MAAc;IACrE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,OAAO,uCAAuC,kBAAkB,CAAC,EAAE,CAAC,6CAA6C,CAAC;AACpH,CAAC;AAYD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAW,EAAE,KAA0B;IAClF,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC;IACvD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,gBAAgB,IAAI,YAAY,CAAC,CAAC;IAEpE,MAAM,OAAO,GAA4B;QACvC,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACxC,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE;QAClC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;QACnE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;QACrC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC;QAC9C,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,YAAY;QACZ,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7B,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;QACpC,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;QAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QACvB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACzB,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import type { ApiClient } from '../core/client.js';
|
|
2
|
+
export interface ImportParam {
|
|
3
|
+
bizId: string;
|
|
4
|
+
moduleName: string;
|
|
5
|
+
functionName: string;
|
|
6
|
+
handlerName: string;
|
|
7
|
+
serviceName: string;
|
|
8
|
+
dataType: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 抽 ⓪ 的返回。**抽不到就抛** —— 这几个值是 `bizId` 和 ④ 报文的主体,
|
|
12
|
+
* 编一个默认值只会在很远的地方以看不懂的方式失败。
|
|
13
|
+
*/
|
|
14
|
+
export declare function extractImportParam(resp: any): ImportParam;
|
|
15
|
+
/** 上传要用的文件元数据 —— 平台按这几个值认文件,得是**真实**的。 */
|
|
16
|
+
export interface FileMeta {
|
|
17
|
+
name: string;
|
|
18
|
+
size: number;
|
|
19
|
+
md5: string;
|
|
20
|
+
lastModified: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 读文件的真实元数据。`md5` 现算(平台会拿它校验文件完整性,编不得)。
|
|
24
|
+
*
|
|
25
|
+
* `lastModified` 取文件的 mtime 毫秒数 —— 实测这个值和 `lastModifiedDate` **填同一个数**。
|
|
26
|
+
*/
|
|
27
|
+
export declare function readFileMeta(filePath: string): FileMeta;
|
|
28
|
+
/** ① 的报文。 */
|
|
29
|
+
export declare function buildPreUploadForm(meta: FileMeta, employeeId: string, fileBytes: Buffer<ArrayBuffer>): FormData;
|
|
30
|
+
/** ② 的报文 = ① + `preUploadId` + `uploadType`。 */
|
|
31
|
+
export declare function buildUploadForm(meta: FileMeta, employeeId: string, preUploadId: string, fileBytes: Buffer<ArrayBuffer>): FormData;
|
|
32
|
+
/**
|
|
33
|
+
* ① 的返回:预上传 id。
|
|
34
|
+
*
|
|
35
|
+
* **同一个端点在不同环境返回的形状不一样** —— 实测 mulinquan 只给 `data.preUploadId`
|
|
36
|
+
* (`data` 下就三个键:`preUploadId` / `uploadType` / `permissionType`,**没有** `uploadModuleDto`、
|
|
37
|
+
* 也**没有** `fileid`),而 `data.uploadModuleDto.fileid` 是另一套环境/版本的写法。
|
|
38
|
+
* 两者语义相同(都是给 ② 当 `preUploadId` 用),所以都认;一个都没有才报错。
|
|
39
|
+
*/
|
|
40
|
+
export declare function extractPreUploadId(resp: any): string;
|
|
41
|
+
/**
|
|
42
|
+
* ② 的返回:`data.fileid`(**小写 d**)。
|
|
43
|
+
*
|
|
44
|
+
* 这里**只认小写**、不做驼峰回退:平台给的就是 `fileid`(实测),
|
|
45
|
+
* 加个 `fileId` 的兜底等于替平台猜一个不存在的写法,真出问题时反而更难查。
|
|
46
|
+
*/
|
|
47
|
+
export declare function extractFileId(resp: any): string;
|
|
48
|
+
/** ④ 的 `uploadSet` —— 决定「怎么导」。 */
|
|
49
|
+
export interface UploadSet {
|
|
50
|
+
/** `add` 新增 / `update` 更新。 */
|
|
51
|
+
importType: string;
|
|
52
|
+
/** 更新时按哪个字段认人(如 `username`)。 */
|
|
53
|
+
empFindField: string;
|
|
54
|
+
/** 文件类型,从扩展名推。 */
|
|
55
|
+
fileType: string;
|
|
56
|
+
}
|
|
57
|
+
export declare function resolveUploadSet(opts?: {
|
|
58
|
+
importType?: string;
|
|
59
|
+
empFindField?: string;
|
|
60
|
+
fileType?: string;
|
|
61
|
+
}): UploadSet;
|
|
62
|
+
/**
|
|
63
|
+
* ④ 的报文。
|
|
64
|
+
*
|
|
65
|
+
* ⚠ `importType` 在报文里出现**两次**:顶层那个是空串、真正生效的在 `uploadSet.customObj` 里。
|
|
66
|
+
* 看着像冗余,但实测两次都是这样,照抄 —— 别「顺手清理」成一处。
|
|
67
|
+
*/
|
|
68
|
+
export declare function buildUploadFileIdPayload(param: ImportParam, fileId: string, set: UploadSet, now: number): Record<string, unknown>;
|
|
69
|
+
/** ④ 的返回:`data.data.taskId`(**多一层 data**,这里最容易取空)。 */
|
|
70
|
+
export declare function extractTaskId(resp: any): string;
|
|
71
|
+
/**
|
|
72
|
+
* ⑤ 预览。
|
|
73
|
+
*
|
|
74
|
+
* `rerviewNum` 是**平台把 review 拼错了**,别改成 `reviewNum`(改了就不认)。
|
|
75
|
+
*/
|
|
76
|
+
export declare function buildGetExcelDataPath(param: ImportParam, taskId: string, reviewNum?: number): string;
|
|
77
|
+
/** ⑥ 执行导入。 */
|
|
78
|
+
export declare function buildImportExcelDataPath(param: ImportParam, taskId: string): string;
|
|
79
|
+
/** ⑤ 解析出来的预览。 */
|
|
80
|
+
export interface ImportPreview {
|
|
81
|
+
fileName: string;
|
|
82
|
+
sheetNames: string[];
|
|
83
|
+
/** 列名(带「(必填)」后缀 —— 那是表头富文本的一部分,不是我们加的)。 */
|
|
84
|
+
columns: string[];
|
|
85
|
+
/** 每行是「列名 → 值」的对象。 */
|
|
86
|
+
rows: Record<string, unknown>[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 抽 ⑤ 的预览。
|
|
90
|
+
*
|
|
91
|
+
* ⚠ `weaTable[0].total` 实测是 **-1**,不能拿来当行数 —— 行数看 `data.length`。
|
|
92
|
+
* 而且 `rerviewNum` 限了条数,**这里看到的只是前 N 行,不是全部**。
|
|
93
|
+
*/
|
|
94
|
+
export declare function extractPreview(resp: any): ImportPreview;
|
|
95
|
+
/**
|
|
96
|
+
* 导入任务的结果。
|
|
97
|
+
*
|
|
98
|
+
* ⚠ **⑥ `importExcelData` 的响应体只有一个 `true`**,条数、失败原因、错误文件全都不在里面。
|
|
99
|
+
* 要知道「到底导进去没有」必须再问一次 `getByTaskId`。
|
|
100
|
+
* 只看 ⑥ 就报成功,会让**整批失败**也显示成「导入已提交」。
|
|
101
|
+
*/
|
|
102
|
+
export interface ImportTaskResult {
|
|
103
|
+
/**
|
|
104
|
+
* 平台自己的状态码。**`0` 不是「成功」的意思,只是一个中途值** —— 同一个任务先读到
|
|
105
|
+
* `status: 0` + `msg: 成功`、几秒后变成 `-1` + 失败 1 条,**只有 `callbackData` 才是结论**。
|
|
106
|
+
* `-1` = 存在错误数据。仅用于展示,**不要拿它判完成**(用 {@link isTaskSettled})。
|
|
107
|
+
*/
|
|
108
|
+
status: number;
|
|
109
|
+
msg: string;
|
|
110
|
+
successCount: number;
|
|
111
|
+
errorCount: number;
|
|
112
|
+
/** 失败数据的下载文件 id(状态为 -1 时才有)。 */
|
|
113
|
+
errorFileId: string;
|
|
114
|
+
/** `callbackData` 解析不出条数时为 true —— 此时数字一概不可信,别拿去判断成功。 */
|
|
115
|
+
countsUnknown: boolean;
|
|
116
|
+
}
|
|
117
|
+
/** ⑥ 之后的进度查询。 */
|
|
118
|
+
export declare function buildGetByTaskIdPath(taskId: string): string;
|
|
119
|
+
/**
|
|
120
|
+
* 解析任务状态。
|
|
121
|
+
*
|
|
122
|
+
* ⚠ `callbackData` 是**一个 JSON 字符串**,要二次解析;里面 `successCount` 是**数字**
|
|
123
|
+
* (`1`)、`errorCount` 却是**字符串**(`"0"`)—— 同一段 JSON 里类型不一致,两边都过一遍 `Number`。
|
|
124
|
+
*/
|
|
125
|
+
export declare function parseTaskResult(resp: any): ImportTaskResult;
|
|
126
|
+
/**
|
|
127
|
+
* 任务是否已到终态。
|
|
128
|
+
*
|
|
129
|
+
* **判据是 `callbackData` 能不能解出来,不是 `status`。** 踩过的坑:按 `status === 0` 判完成,
|
|
130
|
+
* 会在任务刚开始那一刻就停 —— 那时 `status: 0`、`msg: 成功`、`callbackData` 还没有,
|
|
131
|
+
* 几秒后才落成 `-1` + 失败 1 条。**中途值长得像成功,这是最坏的一种**。
|
|
132
|
+
*
|
|
133
|
+
* `status === -1` 也直接算终态(明确失败,没必要再等);此时若条数还取不到,调用方会照实提示。
|
|
134
|
+
*/
|
|
135
|
+
export declare function isTaskSettled(r: ImportTaskResult): boolean;
|
|
136
|
+
export declare function fetchTaskResult(client: ApiClient, baseUrl: string, taskId: string): Promise<ImportTaskResult>;
|
|
137
|
+
/**
|
|
138
|
+
* 轮询到终态。超时返回 `null`(**不编一个成功出来**)—— 调用方据此如实报「还在处理」。
|
|
139
|
+
*/
|
|
140
|
+
export declare function waitTaskResult(client: ApiClient, baseUrl: string, taskId: string, opts?: {
|
|
141
|
+
timeoutMs?: number;
|
|
142
|
+
intervalMs?: number;
|
|
143
|
+
}): Promise<ImportTaskResult | null>;
|
|
144
|
+
/**
|
|
145
|
+
* 失败数据的下载地址。
|
|
146
|
+
*
|
|
147
|
+
* 这是个**跳转**:平台 302 到对象存储的签名地址,文件真身在那一步。
|
|
148
|
+
*/
|
|
149
|
+
export declare function buildErrorFileDownloadPath(fileId: string): string;
|
|
150
|
+
/** 文件名:优先取对象存储那步 `response-content-disposition` 里的,取不到就用兜底名。 */
|
|
151
|
+
export declare function fileNameFromDisposition(location: string, fallback: string): string;
|
|
152
|
+
/**
|
|
153
|
+
* 下载失败数据。
|
|
154
|
+
*
|
|
155
|
+
* 两步走是**故意的**:先带鉴权拿 302,再**不带任何鉴权头**去对象存储取文件。
|
|
156
|
+
* 直接把 `eteamsid` 跟着跳转发到腾讯云域名上,等于把会话凭证递给第三方主机 —— 哪怕那是租户自己的桶,
|
|
157
|
+
* 也没有理由发。
|
|
158
|
+
*
|
|
159
|
+
* 这里不走 `ApiClient`:它把 302 一律当「会话过期」会去重新登录,而这个 302 是正常业务跳转。
|
|
160
|
+
*/
|
|
161
|
+
export declare function downloadErrorFile(baseUrl: string, fileId: string, eteamsId: string): Promise<{
|
|
162
|
+
bytes: Buffer;
|
|
163
|
+
fileName: string;
|
|
164
|
+
}>;
|
|
165
|
+
/**
|
|
166
|
+
* 一条失败原因。
|
|
167
|
+
*
|
|
168
|
+
* ⚠ **原因不是文件里的某一列,是出错单元格上的「批注」**(Excel comment)。
|
|
169
|
+
* 所以光把 xlsx 存下来、用表格软件打开看值,**看不到为什么失败** —— 得读批注。
|
|
170
|
+
* 实测形态:出错的「姓名」单元格上挂批注「姓名 重复」。
|
|
171
|
+
*/
|
|
172
|
+
export interface ImportErrorReason {
|
|
173
|
+
/** Excel 行号(含表头,第 1 行是表头)。 */
|
|
174
|
+
row: number;
|
|
175
|
+
/** 列号(从 1 开始)。 */
|
|
176
|
+
column: number;
|
|
177
|
+
/** 该列表头(去掉「(必填)」后缀),取不到用列字母。 */
|
|
178
|
+
header: string;
|
|
179
|
+
/** 该单元格的值。 */
|
|
180
|
+
value: string;
|
|
181
|
+
/** 批注文本 —— 这里才是原因。 */
|
|
182
|
+
reason: string;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* 从一个错误 xlsx 的字节里把「哪一格、错在哪」抽出来。
|
|
186
|
+
*
|
|
187
|
+
* 批注是**默认就解析**的(挂在 `cell.c`),不用开任何选项 —— 这里刻意不传 `cellComments`,
|
|
188
|
+
* 那玩意儿在这版类型里没声明,传了编译不过,而它本来也不改变行为。
|
|
189
|
+
*/
|
|
190
|
+
export declare function parseErrorFileReasons(bytes: Buffer | Uint8Array): ImportErrorReason[];
|
|
191
|
+
//# sourceMappingURL=org-employee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-employee.d.ts","sourceRoot":"","sources":["../../src/services/org-employee.ts"],"names":[],"mappings":"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"}
|