@steedos-labs/content-compliance 0.7.21 → 0.8.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/README.md +61 -0
- package/dist/index.js +1 -1
- package/lib/actions/__tests__/downloadFieldZip.test.d.ts +1 -0
- package/lib/actions/__tests__/downloadFieldZip.test.js +154 -0
- package/lib/actions/__tests__/downloadFieldZip.test.js.map +1 -0
- package/lib/actions/approvalCc.d.ts +7 -0
- package/lib/actions/approvalCc.js +35 -0
- package/lib/actions/approvalCc.js.map +1 -0
- package/lib/actions/downloadFieldZip.d.ts +9 -0
- package/lib/actions/downloadFieldZip.js +155 -0
- package/lib/actions/downloadFieldZip.js.map +1 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +1 -1
- package/lib/index.js +157 -0
- package/lib/index.js.map +1 -1
- package/lib/methods/__tests__/approvalCc.test.d.ts +1 -0
- package/lib/methods/__tests__/approvalCc.test.js +180 -0
- package/lib/methods/__tests__/approvalCc.test.js.map +1 -0
- package/lib/methods/__tests__/voidMaterialReasonMetadata.test.d.ts +1 -0
- package/lib/methods/__tests__/voidMaterialReasonMetadata.test.js +61 -0
- package/lib/methods/__tests__/voidMaterialReasonMetadata.test.js.map +1 -0
- package/lib/methods/approval_cc.d.ts +15 -0
- package/lib/methods/approval_cc.js +170 -0
- package/lib/methods/approval_cc.js.map +1 -0
- package/lib/methods/approval_engine.js +21 -8
- package/lib/methods/approval_engine.js.map +1 -1
- package/lib/methods/consts.d.ts +1 -0
- package/lib/methods/consts.js.map +1 -1
- package/lib/methods/index.d.ts +1 -0
- package/lib/methods/index.js +1 -0
- package/lib/methods/index.js.map +1 -1
- package/lib/methods/notification.d.ts +2 -0
- package/lib/methods/notification.js +135 -14
- package/lib/methods/notification.js.map +1 -1
- package/lib/methods/pls.d.ts +19 -0
- package/lib/methods/pls.js +346 -29
- package/lib/methods/pls.js.map +1 -1
- package/main/default/applications/pepsico_content_review.app.yml +0 -4
- package/main/default/objects/pepsico_approval_cc_log/fields/action.field.yml +11 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/approval_name.field.yml +6 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/cc_user.field.yml +7 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/operator.field.yml +7 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/pepsico_material_approval.field.yml +7 -0
- package/main/default/objects/pepsico_approval_cc_log/fields/space.field.yml +6 -0
- package/main/default/objects/pepsico_approval_cc_log/listviews/all.listview.yml +19 -0
- package/main/default/objects/pepsico_approval_cc_log/pepsico_approval_cc_log.object.yml +16 -0
- package/main/default/objects/pepsico_approval_cc_log/permissions/admin.permission.yml +13 -0
- package/main/default/objects/pepsico_approval_cc_log/permissions/user.permission.yml +13 -0
- package/main/default/objects/pepsico_km_pls/fields/brand.field.yml +10 -0
- package/main/default/objects/pepsico_km_pls/fields/content.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls/fields/created.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls/fields/created_by.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls/fields/enable.field.yml +0 -1
- package/main/default/objects/pepsico_km_pls/fields/father_nutrient.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/modified.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls/fields/modified_by.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls/fields/name.field.yml +2 -3
- package/main/default/objects/pepsico_km_pls/fields/net_content.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/nrv_percent.field.yml +7 -0
- package/main/default/objects/pepsico_km_pls/fields/nutrient.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/nutrient_value.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/package_type.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/pls_file.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls/fields/product.field.yml +3 -2
- package/main/default/objects/pepsico_km_pls/fields/product_standard.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/serving_amount.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/serving_desc.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls/fields/shelf_life.field.yml +7 -0
- package/main/default/objects/pepsico_km_pls/fields/storage_condition.field.yml +9 -0
- package/main/default/objects/pepsico_km_pls/fields/tag.field.yml +3 -3
- package/main/default/objects/pepsico_km_pls/fields/taste.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls/fields/unit.field.yml +7 -0
- package/main/default/objects/pepsico_km_pls/listviews/all.listview.yml +13 -3
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_activate.button.js +6 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_activate.button.yml +110 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_batch_upload_pls.button.yml +147 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_deactivate.button.js +6 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_deactivate.button.yml +110 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_extract_rules.button.js +6 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_extract_rules.button.yml +110 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/standard_delete.button.js +9 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/standard_delete.button.yml +1 -0
- package/main/default/objects/pepsico_km_pls_file/buttons/standard_new.button.yml +3 -0
- package/main/default/objects/pepsico_km_pls_file/fields/ai_extract.field.yml +1 -2
- package/main/default/objects/pepsico_km_pls_file/fields/brand.field.yml +10 -0
- package/main/default/objects/pepsico_km_pls_file/fields/created.field.yml +2 -2
- package/main/default/objects/pepsico_km_pls_file/fields/created_by.field.yml +2 -2
- package/main/default/objects/pepsico_km_pls_file/fields/extracting.field.yml +5 -0
- package/main/default/objects/pepsico_km_pls_file/fields/is_active.field.yml +7 -0
- package/main/default/objects/pepsico_km_pls_file/fields/issue_date.field.yml +8 -0
- package/main/default/objects/pepsico_km_pls_file/fields/modified.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls_file/fields/modified_by.field.yml +1 -0
- package/main/default/objects/pepsico_km_pls_file/fields/name.field.yml +5 -5
- package/main/default/objects/pepsico_km_pls_file/fields/pepsico_material.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls_file/fields/pepsico_material_approval.field.yml +1 -1
- package/main/default/objects/pepsico_km_pls_file/fields/pls_file.field.yml +4 -4
- package/main/default/objects/pepsico_km_pls_file/fields/product.field.yml +2 -1
- package/main/default/objects/pepsico_km_pls_file/fields/product_name.field.yml +10 -0
- package/main/default/objects/pepsico_km_pls_file/fields/rule_count.field.yml +16 -0
- package/main/default/objects/pepsico_km_pls_file/fields/sku.field.yml +10 -0
- package/main/default/objects/pepsico_km_pls_file/fields/version.field.yml +9 -0
- package/main/default/objects/pepsico_km_pls_file/listviews/all.listview.yml +10 -2
- package/main/default/objects/pepsico_km_pls_file/pepsico_km_pls_file.object.yml +2 -1
- package/main/default/objects/pepsico_km_pls_file/permissions/pepsico_approve.permission.yml +13 -1
- package/main/default/objects/pepsico_km_pls_file/permissions/pepsico_approve_cooperate.permission.yml +13 -1
- package/main/default/objects/pepsico_material/buttons/pepsico_nullify_material.button.yml +114 -37
- package/main/default/objects/pepsico_material/buttons/pepsico_onedrive_edit_material.button.yml +1 -1
- package/main/default/objects/pepsico_material/buttons/pepsico_update_material.button.yml +1 -0
- package/main/default/objects/pepsico_material/fields/void_at.field.yml +11 -0
- package/main/default/objects/pepsico_material/fields/void_by.field.yml +12 -0
- package/main/default/objects/pepsico_material/fields/void_material.field.yml +2 -2
- package/main/default/objects/pepsico_material/fields/void_reason.field.yml +12 -0
- package/main/default/objects/pepsico_material/pepsico_material.object.yml +3 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_cc.button.yml +115 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_confirm_online.button.yml +19 -2
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_material_upload.button.yml +19 -2
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +18 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_urgent_review.button.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/cc_users.field.yml +30 -0
- package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +3 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_legal_reviewer.field.yml +3 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +3 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +3 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +3 -1
- package/main/default/triggers/pepsico_km_pls_file_active_sync.trigger.yml +31 -0
- package/main/default/triggers/pepsico_km_pls_file_title_update.trigger.yml +35 -0
- package/main/default/triggers/pepsico_km_pls_product_name_update.trigger.yml +1 -1
- package/main/default/triggers/pepsico_material_void_reason_required.trigger.yml +24 -0
- package/package.json +1 -1
- package/main/default/imports/pepsico_km_pls.import.yml +0 -17
- package/main/default/triggers/pepsico_km_pls_file_product_name_update.trigger.yml +0 -50
|
@@ -11,9 +11,12 @@ enable_trash: false
|
|
|
11
11
|
enable_workflow: true
|
|
12
12
|
field_groups:
|
|
13
13
|
- group_name: 通用
|
|
14
|
+
- group_name: 作废信息
|
|
14
15
|
- group_name: 抽查情况
|
|
15
16
|
- group_name: 审核情况
|
|
16
17
|
collapsed: true
|
|
18
|
+
- group_name: 预审情况
|
|
19
|
+
collapsed: true
|
|
17
20
|
- group_name: 素材版本历史
|
|
18
21
|
collapsed: true
|
|
19
22
|
- group_name: Sharepoint集成
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
name: pepsico_cc
|
|
2
|
+
amis_schema: |-
|
|
3
|
+
{
|
|
4
|
+
"type": "service",
|
|
5
|
+
"body": [
|
|
6
|
+
{
|
|
7
|
+
"type": "button",
|
|
8
|
+
"label": "抄送",
|
|
9
|
+
"id": "u:pepsico_cc",
|
|
10
|
+
"editorState": "default",
|
|
11
|
+
"visibleOn": "${owner === context.userId && current_step != 'draft' && current_step != 'conclusion' && formFactor != 'SMALL'}",
|
|
12
|
+
"themeCss": {
|
|
13
|
+
"className": {
|
|
14
|
+
"background:default": "var(--private)",
|
|
15
|
+
"font:default": {
|
|
16
|
+
"color": "#ffffff"
|
|
17
|
+
},
|
|
18
|
+
"border:default": {
|
|
19
|
+
"top-border-color": "#ffffff",
|
|
20
|
+
"left-border-style": "solid",
|
|
21
|
+
"left-border-color": "#ffffff",
|
|
22
|
+
"right-border-style": "solid",
|
|
23
|
+
"right-border-color": "#ffffff",
|
|
24
|
+
"top-border-style": "solid",
|
|
25
|
+
"bottom-border-style": "solid",
|
|
26
|
+
"bottom-border-color": "#ffffff"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"actionType": "dialog",
|
|
31
|
+
"dialog": {
|
|
32
|
+
"type": "dialog",
|
|
33
|
+
"title": "抄送",
|
|
34
|
+
"body": [
|
|
35
|
+
{
|
|
36
|
+
"type": "form",
|
|
37
|
+
"id": "u:pepsico_cc_form",
|
|
38
|
+
"api": {
|
|
39
|
+
"url": "/api/pepsico-content/approve/cc/${recordId}",
|
|
40
|
+
"method": "post",
|
|
41
|
+
"requestAdaptor": "api.data = { cc_users: api.data.cc_users || [] }; return api;",
|
|
42
|
+
"messages": {
|
|
43
|
+
"success": "抄送人已更新"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"body": [
|
|
47
|
+
{
|
|
48
|
+
"type": "select",
|
|
49
|
+
"name": "cc_users",
|
|
50
|
+
"label": "抄送人",
|
|
51
|
+
"multiple": true,
|
|
52
|
+
"joinValues": false,
|
|
53
|
+
"extractValue": true,
|
|
54
|
+
"searchable": true,
|
|
55
|
+
"clearable": true,
|
|
56
|
+
"placeholder": "请输入邮箱进行搜索",
|
|
57
|
+
"value": "${cc_users}",
|
|
58
|
+
"labelField": "email",
|
|
59
|
+
"valueField": "user",
|
|
60
|
+
"description": "新增的被抄送人可查看本审批单,并会在素材被驳回、通过待上线、审核完成等关键节点收到通知;若移除某抄送人,其在后续关键节点将不再收到通知。",
|
|
61
|
+
"source": {
|
|
62
|
+
"method": "get",
|
|
63
|
+
"url": "/api/v1/space_users?top=1000&fields=[\"email\",\"user\",\"name\"]&sort=email",
|
|
64
|
+
"adaptor": "return { data: payload.data.items || [] };",
|
|
65
|
+
"messages": {}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"onEvent": {
|
|
70
|
+
"submitSucc": {
|
|
71
|
+
"actions": [
|
|
72
|
+
{
|
|
73
|
+
"actionType": "broadcast",
|
|
74
|
+
"args": {
|
|
75
|
+
"eventName": "@data.changed.pepsico_material_approval"
|
|
76
|
+
},
|
|
77
|
+
"data": {
|
|
78
|
+
"objectName": "pepsico_material_approval"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"showCloseButton": true,
|
|
87
|
+
"closeOnOutside": false,
|
|
88
|
+
"closeOnEsc": false,
|
|
89
|
+
"showErrorMsg": true,
|
|
90
|
+
"showLoading": true,
|
|
91
|
+
"draggable": false,
|
|
92
|
+
"size": "md"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"regions": [
|
|
97
|
+
"body"
|
|
98
|
+
],
|
|
99
|
+
"data": {
|
|
100
|
+
"context": {},
|
|
101
|
+
"dataComponentId": "",
|
|
102
|
+
"record_id": "",
|
|
103
|
+
"record": {},
|
|
104
|
+
"permissions": {}
|
|
105
|
+
},
|
|
106
|
+
"id": "u:pepsico_cc_service",
|
|
107
|
+
"bodyClassName": "p-0",
|
|
108
|
+
"dsType": "api"
|
|
109
|
+
}
|
|
110
|
+
is_enable: true
|
|
111
|
+
label: 抄送
|
|
112
|
+
locked: false
|
|
113
|
+
'on': record_only
|
|
114
|
+
type: amis_button
|
|
115
|
+
visible: true
|
package/main/default/objects/pepsico_material_approval/buttons/pepsico_confirm_online.button.yml
CHANGED
|
@@ -10,6 +10,24 @@ amis_schema: |-
|
|
|
10
10
|
"editorState": "default",
|
|
11
11
|
"visibleOn": "${material_owner_id == context.user.user && current_step == 'awaiting_deployment' && formFactor != 'SMALL'}",
|
|
12
12
|
"actionType": "ajax",
|
|
13
|
+
"themeCss": {
|
|
14
|
+
"className": {
|
|
15
|
+
"background:default": "var(--private)",
|
|
16
|
+
"font:default": {
|
|
17
|
+
"color": "#ffffff"
|
|
18
|
+
},
|
|
19
|
+
"border:default": {
|
|
20
|
+
"top-border-color": "#ffffff",
|
|
21
|
+
"left-border-style": "solid",
|
|
22
|
+
"left-border-color": "#ffffff",
|
|
23
|
+
"right-border-style": "solid",
|
|
24
|
+
"right-border-color": "#ffffff",
|
|
25
|
+
"top-border-style": "solid",
|
|
26
|
+
"bottom-border-style": "solid",
|
|
27
|
+
"bottom-border-color": "#ffffff"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
13
31
|
"onEvent": {
|
|
14
32
|
"click": {
|
|
15
33
|
"weight": 0,
|
|
@@ -209,8 +227,7 @@ amis_schema: |-
|
|
|
209
227
|
}
|
|
210
228
|
]
|
|
211
229
|
}
|
|
212
|
-
}
|
|
213
|
-
"level": "info"
|
|
230
|
+
}
|
|
214
231
|
}
|
|
215
232
|
],
|
|
216
233
|
"regions": [
|
package/main/default/objects/pepsico_material_approval/buttons/pepsico_material_upload.button.yml
CHANGED
|
@@ -10,6 +10,24 @@ amis_schema: |-
|
|
|
10
10
|
"editorState": "default",
|
|
11
11
|
"visibleOn": "${owner == context.user.user && current_step == 'draft' && formFactor != 'SMALL'}",
|
|
12
12
|
"disabledOn": "${classification==='MD-PO1-PO18' ? materials_quantity >= 300 : materials_quantity >= 50}",
|
|
13
|
+
"themeCss": {
|
|
14
|
+
"className": {
|
|
15
|
+
"background:default": "var(--private)",
|
|
16
|
+
"font:default": {
|
|
17
|
+
"color": "#ffffff"
|
|
18
|
+
},
|
|
19
|
+
"border:default": {
|
|
20
|
+
"top-border-color": "#ffffff",
|
|
21
|
+
"left-border-style": "solid",
|
|
22
|
+
"left-border-color": "#ffffff",
|
|
23
|
+
"right-border-style": "solid",
|
|
24
|
+
"right-border-color": "#ffffff",
|
|
25
|
+
"top-border-style": "solid",
|
|
26
|
+
"bottom-border-style": "solid",
|
|
27
|
+
"bottom-border-color": "#ffffff"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
13
31
|
"onEvent": {
|
|
14
32
|
"click": {
|
|
15
33
|
"weight": 0,
|
|
@@ -421,8 +439,7 @@ amis_schema: |-
|
|
|
421
439
|
}
|
|
422
440
|
]
|
|
423
441
|
}
|
|
424
|
-
}
|
|
425
|
-
"level": "info"
|
|
442
|
+
}
|
|
426
443
|
}
|
|
427
444
|
],
|
|
428
445
|
"regions": [
|
package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml
CHANGED
|
@@ -9,6 +9,24 @@ amis_schema: |-
|
|
|
9
9
|
"id": "u:pepsico_postpone_review",
|
|
10
10
|
"editorState": "default",
|
|
11
11
|
"visibleOn": "${(current_step == 'departmental_review' || current_step == 'personnel_review' || current_step == 'submitter_revisions') && !is_urgent && !ARRAYINCLUDES(person_pending_approve, context.user.user) && ARRAYINCLUDES(person_approved, context.user.user) && !ARRAYINCLUDES(postpone_marker_users, context.user.user) && !ARRAYINCLUDES(review_postponed_users, context.user.user) && !is_skip_approver && ((ARRAYINCLUDES(ns_reviewer, context.user.user) && ns_approval_status == false) || (ARRAYINCLUDES(legal_reviewer, context.user.user) && legal_approval_status == false) || (ARRAYINCLUDES(sra_reviewer, context.user.user) && sra_approval_status == false) || (ARRAYINCLUDES(ca_reviewer, context.user.user) && ca_approval_status == false) || (ARRAYINCLUDES(reviewer, context.user.user) && approval_status == false) || (pre_ns_reviewer == context.user.user && pre_ns_approval_status == false) || (pre_legal_reviewer == context.user.user && pre_legal_approval_status == false) || (pre_sra_reviewer == context.user.user && pre_sra_approval_status == false) || (pre_ca_reviewer == context.user.user && pre_ca_approval_status == false) || (pre_reviewer == context.user.user && pre_approval_status == false)) && formFactor != 'SMALL'}",
|
|
12
|
+
"themeCss": {
|
|
13
|
+
"className": {
|
|
14
|
+
"background:default": "var(--private)",
|
|
15
|
+
"font:default": {
|
|
16
|
+
"color": "#ffffff"
|
|
17
|
+
},
|
|
18
|
+
"border:default": {
|
|
19
|
+
"top-border-color": "#ffffff",
|
|
20
|
+
"left-border-style": "solid",
|
|
21
|
+
"left-border-color": "#ffffff",
|
|
22
|
+
"right-border-style": "solid",
|
|
23
|
+
"right-border-color": "#ffffff",
|
|
24
|
+
"top-border-style": "solid",
|
|
25
|
+
"bottom-border-style": "solid",
|
|
26
|
+
"bottom-border-color": "#ffffff"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
12
30
|
"onEvent": {
|
|
13
31
|
"click": {
|
|
14
32
|
"weight": 0,
|
package/main/default/objects/pepsico_material_approval/buttons/pepsico_urgent_review.button.yml
CHANGED
|
@@ -17,6 +17,24 @@ amis_schema: |-
|
|
|
17
17
|
"visibleOn": "${(current_step == 'departmental_review' || current_step == 'personnel_review') && !is_urgent && context.user.user == owner && (context.user.is_collaborator !== true || canUrgent === true || quota) && formFactor != 'SMALL'}",
|
|
18
18
|
"disabledOn": "${quota && quota.available === 0}",
|
|
19
19
|
"disabledTip": "${quota && quota.available === 0 ? (reason || '暂无加急次数') : ''}",
|
|
20
|
+
"themeCss": {
|
|
21
|
+
"className": {
|
|
22
|
+
"background:default": "var(--private)",
|
|
23
|
+
"font:default": {
|
|
24
|
+
"color": "#ffffff"
|
|
25
|
+
},
|
|
26
|
+
"border:default": {
|
|
27
|
+
"top-border-color": "#ffffff",
|
|
28
|
+
"left-border-style": "solid",
|
|
29
|
+
"left-border-color": "#ffffff",
|
|
30
|
+
"right-border-style": "solid",
|
|
31
|
+
"right-border-color": "#ffffff",
|
|
32
|
+
"top-border-style": "solid",
|
|
33
|
+
"bottom-border-style": "solid",
|
|
34
|
+
"bottom-border-color": "#ffffff"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
20
38
|
"onEvent": {
|
|
21
39
|
"click": {
|
|
22
40
|
"weight": 0,
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: cc_users
|
|
2
|
+
amis:
|
|
3
|
+
id: 'u:approval_cc_users'
|
|
4
|
+
type: select
|
|
5
|
+
multiple: true
|
|
6
|
+
joinValues: false
|
|
7
|
+
extractValue: true
|
|
8
|
+
searchable: true
|
|
9
|
+
clearable: true
|
|
10
|
+
placeholder: 请输入邮箱进行搜索
|
|
11
|
+
source:
|
|
12
|
+
method: get
|
|
13
|
+
url: >-
|
|
14
|
+
/api/v1/space_users?top=1000&fields=["email","user","name"]&sort=email
|
|
15
|
+
adaptor: 'return { data: (payload.data.items || []).map(function(i){ return { label: i.email, value: i.user }; }) };'
|
|
16
|
+
messages: {}
|
|
17
|
+
description: 被抄送人可查看本审批单,并在素材被驳回、通过待上线、审核完成等关键节点也会收到通知。
|
|
18
|
+
enable_thousands: true
|
|
19
|
+
filters: []
|
|
20
|
+
group: 审核人员
|
|
21
|
+
hidden: false
|
|
22
|
+
inlineHelpText: 被抄送人可查看本审批单,并在素材被驳回、通过待上线、审核完成等关键节点也会收到通知。
|
|
23
|
+
is_wide: true
|
|
24
|
+
label: 抄送人
|
|
25
|
+
multiple: true
|
|
26
|
+
data_type: text
|
|
27
|
+
required: false
|
|
28
|
+
sort_no: 2360
|
|
29
|
+
type: select
|
|
30
|
+
visible_on: ''
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
name: pre_ca_reviewer
|
|
2
2
|
amis:
|
|
3
3
|
id: 'u:pre_ca_reviewer'
|
|
4
|
+
className:
|
|
5
|
+
hidden: '${approval_type !== ''departmental_review''}'
|
|
4
6
|
description: ''
|
|
5
7
|
enable_thousands: true
|
|
6
8
|
filters: []
|
|
@@ -14,4 +16,4 @@ required: false
|
|
|
14
16
|
sort_no: 2940
|
|
15
17
|
static: true
|
|
16
18
|
type: lookup
|
|
17
|
-
visible_on:
|
|
19
|
+
visible_on: ''
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
name: pre_legal_reviewer
|
|
2
2
|
amis:
|
|
3
3
|
id: 'u:pre_legal_reviewer'
|
|
4
|
+
className:
|
|
5
|
+
hidden: '${approval_type !== ''departmental_review''}'
|
|
4
6
|
description: ''
|
|
5
7
|
enable_thousands: true
|
|
6
8
|
filters: []
|
|
@@ -14,4 +16,4 @@ required: false
|
|
|
14
16
|
sort_no: 2940
|
|
15
17
|
static: true
|
|
16
18
|
type: lookup
|
|
17
|
-
visible_on:
|
|
19
|
+
visible_on: ''
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
name: pre_ns_reviewer
|
|
2
2
|
amis:
|
|
3
3
|
id: 'u:pre_ns_reviewer'
|
|
4
|
+
className:
|
|
5
|
+
hidden: '${approval_type !== ''departmental_review''}'
|
|
4
6
|
description: ''
|
|
5
7
|
enable_thousands: true
|
|
6
8
|
filters: []
|
|
@@ -14,4 +16,4 @@ required: false
|
|
|
14
16
|
sort_no: 2940
|
|
15
17
|
static: true
|
|
16
18
|
type: lookup
|
|
17
|
-
visible_on:
|
|
19
|
+
visible_on: ''
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
name: pre_reviewer
|
|
2
2
|
amis:
|
|
3
3
|
id: 'u:pre_reviewer'
|
|
4
|
+
className:
|
|
5
|
+
hidden: '${approval_type !== ''personnel_review''}'
|
|
4
6
|
description: ''
|
|
5
7
|
enable_thousands: true
|
|
6
8
|
filters: []
|
|
@@ -14,4 +16,4 @@ required: false
|
|
|
14
16
|
sort_no: 2940
|
|
15
17
|
static: true
|
|
16
18
|
type: lookup
|
|
17
|
-
visible_on:
|
|
19
|
+
visible_on: ''
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
name: pre_sra_reviewer
|
|
2
2
|
amis:
|
|
3
3
|
id: 'u:pre_sra_reviewer'
|
|
4
|
+
className:
|
|
5
|
+
hidden: '${approval_type !== ''departmental_review''}'
|
|
4
6
|
description: ''
|
|
5
7
|
enable_thousands: true
|
|
6
8
|
filters: []
|
|
@@ -14,4 +16,4 @@ required: false
|
|
|
14
16
|
sort_no: 2940
|
|
15
17
|
static: true
|
|
16
18
|
type: lookup
|
|
17
|
-
visible_on:
|
|
19
|
+
visible_on: ''
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: pepsico_km_pls_file_active_sync
|
|
2
|
+
listenTo: pepsico_km_pls_file
|
|
3
|
+
when:
|
|
4
|
+
- beforeUpdate
|
|
5
|
+
isEnabled: true
|
|
6
|
+
handler: |-
|
|
7
|
+
// global: {_:lodash, moment, validator, filters}
|
|
8
|
+
// ctx
|
|
9
|
+
// objects
|
|
10
|
+
// services
|
|
11
|
+
|
|
12
|
+
const { _ } = global;
|
|
13
|
+
const { doc, id } = ctx.params;
|
|
14
|
+
|
|
15
|
+
// 仅在本次更新涉及 is_active(生效) 时处理
|
|
16
|
+
if (doc && Object.prototype.hasOwnProperty.call(doc, 'is_active')) {
|
|
17
|
+
const old = await objects.pepsico_km_pls_file.findOne(id);
|
|
18
|
+
const newVal = doc.is_active === true;
|
|
19
|
+
const oldVal = !!(old && old.is_active === true);
|
|
20
|
+
|
|
21
|
+
// 仅在生效状态实际发生变化时, 同步子表 pepsico_km_pls 的生效状态
|
|
22
|
+
if (oldVal !== newVal) {
|
|
23
|
+
const rules = await objects.pepsico_km_pls.find({ filters: [['pls_file', '=', id]], fields: ['_id'] });
|
|
24
|
+
for (const rule of rules) {
|
|
25
|
+
await objects.pepsico_km_pls.directUpdate(rule._id, { enable: newVal });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
authentication_type: none
|
|
30
|
+
locked: false
|
|
31
|
+
type: code
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: pepsico_km_pls_file_title_update
|
|
2
|
+
listenTo: pepsico_km_pls_file
|
|
3
|
+
when:
|
|
4
|
+
- beforeInsert
|
|
5
|
+
- beforeUpdate
|
|
6
|
+
isEnabled: true
|
|
7
|
+
handler: |-
|
|
8
|
+
// global: {_:lodash, moment, validator, filters}
|
|
9
|
+
// ctx
|
|
10
|
+
// objects
|
|
11
|
+
// services
|
|
12
|
+
|
|
13
|
+
const { _ } = global;
|
|
14
|
+
const { doc } = ctx.params;
|
|
15
|
+
|
|
16
|
+
// 标题(name)取 PLS原始文件(pdf) 的名称
|
|
17
|
+
if (doc && doc.pls_file) {
|
|
18
|
+
const fileId = _.isArray(doc.pls_file) ? doc.pls_file[0] : doc.pls_file;
|
|
19
|
+
if (fileId) {
|
|
20
|
+
const files = await objects.cfs_files_filerecord.directFind({
|
|
21
|
+
filters: [['_id', '=', fileId]],
|
|
22
|
+
fields: ['original']
|
|
23
|
+
});
|
|
24
|
+
const fileRecord = files && files[0];
|
|
25
|
+
const fileName = (fileRecord && fileRecord.original && fileRecord.original.name) || '';
|
|
26
|
+
if (fileName) {
|
|
27
|
+
doc.name = fileName.replace(/\.pdf$/i, '');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return { doc };
|
|
33
|
+
authentication_type: none
|
|
34
|
+
locked: false
|
|
35
|
+
type: code
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: pepsico_material_void_reason_required
|
|
2
|
+
listenTo: pepsico_material
|
|
3
|
+
when:
|
|
4
|
+
- beforeInsert
|
|
5
|
+
- beforeUpdate
|
|
6
|
+
isEnabled: true
|
|
7
|
+
handler: |-
|
|
8
|
+
const { _ } = global;
|
|
9
|
+
const { doc, previousDoc } = ctx.params;
|
|
10
|
+
|
|
11
|
+
const isSettingVoidMaterial = doc.void_material === true && (!previousDoc || previousDoc.void_material !== true);
|
|
12
|
+
|
|
13
|
+
if(isSettingVoidMaterial){
|
|
14
|
+
const voidReason = doc.void_reason || previousDoc.void_reason;
|
|
15
|
+
if(_.isEmpty(_.trim(voidReason))){
|
|
16
|
+
throw new Error('请填写作废原因');
|
|
17
|
+
}
|
|
18
|
+
// 首次作废时盖上作废人、作废时间(服务端为准,避免前端绕过或后续编辑覆盖)
|
|
19
|
+
doc.void_by = ctx.params.userId || doc.void_by;
|
|
20
|
+
doc.void_at = new Date();
|
|
21
|
+
}
|
|
22
|
+
authentication_type: none
|
|
23
|
+
locked: false
|
|
24
|
+
type: code
|
package/package.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
name: pepsico_km_pls
|
|
2
|
-
description: PLS规则导入
|
|
3
|
-
encoding: GB2312
|
|
4
|
-
field_mappings:
|
|
5
|
-
- api_name: name
|
|
6
|
-
header: 品牌(id)
|
|
7
|
-
save_key_while_fail: true
|
|
8
|
-
- api_name: taste
|
|
9
|
-
header: 口味
|
|
10
|
-
- api_name: tag
|
|
11
|
-
header: 标签
|
|
12
|
-
- api_name: content
|
|
13
|
-
header: 规则原文
|
|
14
|
-
locked: false
|
|
15
|
-
object_name: pepsico_km_pls
|
|
16
|
-
operation: insert
|
|
17
|
-
value_separator: ','
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
name: pepsico_km_pls_file_product_name_update
|
|
2
|
-
listenTo: pepsico_km_pls_file
|
|
3
|
-
when:
|
|
4
|
-
- afterInsert
|
|
5
|
-
- afterUpdate
|
|
6
|
-
isEnabled: true
|
|
7
|
-
handler: >-
|
|
8
|
-
// global: {_:lodash, moment, validator, filters}
|
|
9
|
-
|
|
10
|
-
// ctx
|
|
11
|
-
|
|
12
|
-
// objects
|
|
13
|
-
|
|
14
|
-
// services
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const { _ } = global;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
console.log(ctx.params)
|
|
21
|
-
|
|
22
|
-
const record = await objects.pepsico_km_pls_file.findOne(ctx.params.id);
|
|
23
|
-
|
|
24
|
-
const products = _.split(record.product, '-');
|
|
25
|
-
|
|
26
|
-
const pLists = await objects.picklists.find({ filters: ["code", "=",
|
|
27
|
-
"223321001114213"] })
|
|
28
|
-
|
|
29
|
-
if (products.length > 0 && pLists.length > 0) {
|
|
30
|
-
const pRecords = await objects.picklist_options.find({
|
|
31
|
-
filters: [
|
|
32
|
-
["picklist", "=", pLists[0]._id],
|
|
33
|
-
["value", "in", products]
|
|
34
|
-
]
|
|
35
|
-
});
|
|
36
|
-
let pNames = [];
|
|
37
|
-
|
|
38
|
-
_.each(products, (pId) => {
|
|
39
|
-
const pRecord = _.find(pRecords, { value: pId });
|
|
40
|
-
if (pRecord) {
|
|
41
|
-
pNames.push(pRecord.name)
|
|
42
|
-
}
|
|
43
|
-
})
|
|
44
|
-
await objects.pepsico_km_pls_file.directUpdate(ctx.params.id, {
|
|
45
|
-
name: `${_.join(pNames, '-')}`
|
|
46
|
-
})
|
|
47
|
-
}
|
|
48
|
-
authentication_type: none
|
|
49
|
-
locked: false
|
|
50
|
-
type: code
|