@steedos-labs/content-compliance 0.7.21 → 0.8.1

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 (131) hide show
  1. package/README.md +61 -0
  2. package/dist/index.js +1 -1
  3. package/lib/actions/__tests__/downloadFieldZip.test.d.ts +1 -0
  4. package/lib/actions/__tests__/downloadFieldZip.test.js +154 -0
  5. package/lib/actions/__tests__/downloadFieldZip.test.js.map +1 -0
  6. package/lib/actions/approvalCc.d.ts +7 -0
  7. package/lib/actions/approvalCc.js +35 -0
  8. package/lib/actions/approvalCc.js.map +1 -0
  9. package/lib/actions/downloadFieldZip.d.ts +9 -0
  10. package/lib/actions/downloadFieldZip.js +155 -0
  11. package/lib/actions/downloadFieldZip.js.map +1 -0
  12. package/lib/actions/index.d.ts +1 -0
  13. package/lib/actions/index.js +1 -0
  14. package/lib/actions/index.js.map +1 -1
  15. package/lib/index.js +157 -0
  16. package/lib/index.js.map +1 -1
  17. package/lib/methods/__tests__/approvalCc.test.d.ts +1 -0
  18. package/lib/methods/__tests__/approvalCc.test.js +180 -0
  19. package/lib/methods/__tests__/approvalCc.test.js.map +1 -0
  20. package/lib/methods/__tests__/voidMaterialReasonMetadata.test.d.ts +1 -0
  21. package/lib/methods/__tests__/voidMaterialReasonMetadata.test.js +61 -0
  22. package/lib/methods/__tests__/voidMaterialReasonMetadata.test.js.map +1 -0
  23. package/lib/methods/approval_cc.d.ts +15 -0
  24. package/lib/methods/approval_cc.js +170 -0
  25. package/lib/methods/approval_cc.js.map +1 -0
  26. package/lib/methods/approval_engine.js +21 -8
  27. package/lib/methods/approval_engine.js.map +1 -1
  28. package/lib/methods/consts.d.ts +1 -0
  29. package/lib/methods/consts.js.map +1 -1
  30. package/lib/methods/index.d.ts +1 -0
  31. package/lib/methods/index.js +1 -0
  32. package/lib/methods/index.js.map +1 -1
  33. package/lib/methods/notification.d.ts +2 -0
  34. package/lib/methods/notification.js +135 -14
  35. package/lib/methods/notification.js.map +1 -1
  36. package/lib/methods/pls.d.ts +19 -0
  37. package/lib/methods/pls.js +332 -29
  38. package/lib/methods/pls.js.map +1 -1
  39. package/main/default/applications/pepsico_content_review.app.yml +0 -4
  40. package/main/default/objects/pepsico_approval_cc_log/fields/action.field.yml +11 -0
  41. package/main/default/objects/pepsico_approval_cc_log/fields/approval_name.field.yml +6 -0
  42. package/main/default/objects/pepsico_approval_cc_log/fields/cc_user.field.yml +7 -0
  43. package/main/default/objects/pepsico_approval_cc_log/fields/operator.field.yml +7 -0
  44. package/main/default/objects/pepsico_approval_cc_log/fields/pepsico_material_approval.field.yml +7 -0
  45. package/main/default/objects/pepsico_approval_cc_log/fields/space.field.yml +6 -0
  46. package/main/default/objects/pepsico_approval_cc_log/listviews/all.listview.yml +19 -0
  47. package/main/default/objects/pepsico_approval_cc_log/pepsico_approval_cc_log.object.yml +16 -0
  48. package/main/default/objects/pepsico_approval_cc_log/permissions/admin.permission.yml +13 -0
  49. package/main/default/objects/pepsico_approval_cc_log/permissions/user.permission.yml +13 -0
  50. package/main/default/objects/pepsico_km_pls/fields/brand.field.yml +10 -0
  51. package/main/default/objects/pepsico_km_pls/fields/content.field.yml +1 -1
  52. package/main/default/objects/pepsico_km_pls/fields/created.field.yml +1 -1
  53. package/main/default/objects/pepsico_km_pls/fields/created_by.field.yml +1 -0
  54. package/main/default/objects/pepsico_km_pls/fields/enable.field.yml +0 -1
  55. package/main/default/objects/pepsico_km_pls/fields/father_nutrient.field.yml +8 -0
  56. package/main/default/objects/pepsico_km_pls/fields/modified.field.yml +1 -0
  57. package/main/default/objects/pepsico_km_pls/fields/modified_by.field.yml +1 -0
  58. package/main/default/objects/pepsico_km_pls/fields/name.field.yml +2 -3
  59. package/main/default/objects/pepsico_km_pls/fields/net_content.field.yml +8 -0
  60. package/main/default/objects/pepsico_km_pls/fields/nrv_percent.field.yml +7 -0
  61. package/main/default/objects/pepsico_km_pls/fields/nutrient.field.yml +8 -0
  62. package/main/default/objects/pepsico_km_pls/fields/nutrient_value.field.yml +8 -0
  63. package/main/default/objects/pepsico_km_pls/fields/package_type.field.yml +8 -0
  64. package/main/default/objects/pepsico_km_pls/fields/pls_file.field.yml +1 -1
  65. package/main/default/objects/pepsico_km_pls/fields/product.field.yml +3 -2
  66. package/main/default/objects/pepsico_km_pls/fields/product_standard.field.yml +8 -0
  67. package/main/default/objects/pepsico_km_pls/fields/serving_amount.field.yml +8 -0
  68. package/main/default/objects/pepsico_km_pls/fields/serving_desc.field.yml +8 -0
  69. package/main/default/objects/pepsico_km_pls/fields/shelf_life.field.yml +7 -0
  70. package/main/default/objects/pepsico_km_pls/fields/storage_condition.field.yml +9 -0
  71. package/main/default/objects/pepsico_km_pls/fields/tag.field.yml +3 -3
  72. package/main/default/objects/pepsico_km_pls/fields/taste.field.yml +1 -1
  73. package/main/default/objects/pepsico_km_pls/fields/unit.field.yml +7 -0
  74. package/main/default/objects/pepsico_km_pls/listviews/all.listview.yml +13 -3
  75. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_activate.button.js +6 -0
  76. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_activate.button.yml +110 -0
  77. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_batch_upload_pls.button.yml +147 -0
  78. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_deactivate.button.js +6 -0
  79. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_deactivate.button.yml +110 -0
  80. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_extract_rules.button.js +6 -0
  81. package/main/default/objects/pepsico_km_pls_file/buttons/pepsico_extract_rules.button.yml +110 -0
  82. package/main/default/objects/pepsico_km_pls_file/buttons/standard_delete.button.js +9 -0
  83. package/main/default/objects/pepsico_km_pls_file/buttons/standard_delete.button.yml +1 -0
  84. package/main/default/objects/pepsico_km_pls_file/buttons/standard_new.button.yml +3 -0
  85. package/main/default/objects/pepsico_km_pls_file/fields/ai_extract.field.yml +1 -2
  86. package/main/default/objects/pepsico_km_pls_file/fields/brand.field.yml +10 -0
  87. package/main/default/objects/pepsico_km_pls_file/fields/created.field.yml +2 -2
  88. package/main/default/objects/pepsico_km_pls_file/fields/created_by.field.yml +2 -2
  89. package/main/default/objects/pepsico_km_pls_file/fields/is_active.field.yml +7 -0
  90. package/main/default/objects/pepsico_km_pls_file/fields/issue_date.field.yml +8 -0
  91. package/main/default/objects/pepsico_km_pls_file/fields/modified.field.yml +1 -0
  92. package/main/default/objects/pepsico_km_pls_file/fields/modified_by.field.yml +1 -0
  93. package/main/default/objects/pepsico_km_pls_file/fields/name.field.yml +5 -5
  94. package/main/default/objects/pepsico_km_pls_file/fields/pepsico_material.field.yml +1 -1
  95. package/main/default/objects/pepsico_km_pls_file/fields/pepsico_material_approval.field.yml +1 -1
  96. package/main/default/objects/pepsico_km_pls_file/fields/pls_file.field.yml +4 -4
  97. package/main/default/objects/pepsico_km_pls_file/fields/product.field.yml +2 -1
  98. package/main/default/objects/pepsico_km_pls_file/fields/product_name.field.yml +10 -0
  99. package/main/default/objects/pepsico_km_pls_file/fields/rule_count.field.yml +16 -0
  100. package/main/default/objects/pepsico_km_pls_file/fields/sku.field.yml +10 -0
  101. package/main/default/objects/pepsico_km_pls_file/fields/version.field.yml +9 -0
  102. package/main/default/objects/pepsico_km_pls_file/listviews/all.listview.yml +10 -2
  103. package/main/default/objects/pepsico_km_pls_file/pepsico_km_pls_file.object.yml +2 -1
  104. package/main/default/objects/pepsico_km_pls_file/permissions/pepsico_approve.permission.yml +10 -1
  105. package/main/default/objects/pepsico_km_pls_file/permissions/pepsico_approve_cooperate.permission.yml +10 -1
  106. package/main/default/objects/pepsico_material/buttons/pepsico_nullify_material.button.yml +114 -37
  107. package/main/default/objects/pepsico_material/buttons/pepsico_onedrive_edit_material.button.yml +1 -1
  108. package/main/default/objects/pepsico_material/buttons/pepsico_update_material.button.yml +1 -0
  109. package/main/default/objects/pepsico_material/fields/void_at.field.yml +11 -0
  110. package/main/default/objects/pepsico_material/fields/void_by.field.yml +12 -0
  111. package/main/default/objects/pepsico_material/fields/void_material.field.yml +2 -2
  112. package/main/default/objects/pepsico_material/fields/void_reason.field.yml +12 -0
  113. package/main/default/objects/pepsico_material/pepsico_material.object.yml +3 -0
  114. package/main/default/objects/pepsico_material_approval/buttons/pepsico_cc.button.yml +113 -0
  115. package/main/default/objects/pepsico_material_approval/buttons/pepsico_confirm_online.button.yml +19 -2
  116. package/main/default/objects/pepsico_material_approval/buttons/pepsico_material_upload.button.yml +19 -2
  117. package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +18 -0
  118. package/main/default/objects/pepsico_material_approval/buttons/pepsico_urgent_review.button.yml +18 -0
  119. package/main/default/objects/pepsico_material_approval/fields/cc_users.field.yml +18 -0
  120. package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +3 -1
  121. package/main/default/objects/pepsico_material_approval/fields/pre_legal_reviewer.field.yml +3 -1
  122. package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +3 -1
  123. package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +3 -1
  124. package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +3 -1
  125. package/main/default/triggers/pepsico_km_pls_file_active_sync.trigger.yml +31 -0
  126. package/main/default/triggers/pepsico_km_pls_file_title_update.trigger.yml +35 -0
  127. package/main/default/triggers/pepsico_km_pls_product_name_update.trigger.yml +1 -1
  128. package/main/default/triggers/pepsico_material_void_reason_required.trigger.yml +24 -0
  129. package/package.json +1 -1
  130. package/main/default/imports/pepsico_km_pls.import.yml +0 -17
  131. package/main/default/triggers/pepsico_km_pls_file_product_name_update.trigger.yml +0 -50
@@ -0,0 +1,8 @@
1
+ name: father_nutrient
2
+ amis:
3
+ id: 'u:b2c3d4e00007'
4
+ filterable: true
5
+ group: 通用
6
+ label: 配料表父级
7
+ sort_no: 121
8
+ type: text
@@ -8,3 +8,4 @@ readonly: true
8
8
  sort_no: 750
9
9
  sortable: true
10
10
  type: datetime
11
+ visible_on: '{{false}}'
@@ -7,3 +7,4 @@ readonly: true
7
7
  reference_to: users
8
8
  sort_no: 800
9
9
  type: lookup
10
+ visible_on: '{{false}}'
@@ -3,7 +3,6 @@ amis:
3
3
  id: 'u:38651d7fca28'
4
4
  filters: []
5
5
  group: 通用
6
- label: 品牌/产品
7
- sort_no: 100
6
+ label: 产品名称
7
+ sort_no: 40
8
8
  type: text
9
- visible_on: '{{false}}'
@@ -0,0 +1,8 @@
1
+ name: net_content
2
+ amis:
3
+ id: 'u:b2c3d4e00003'
4
+ group: 通用
5
+ label: 净含量(克)
6
+ scale: 2
7
+ sort_no: 80
8
+ type: number
@@ -0,0 +1,7 @@
1
+ name: nrv_percent
2
+ amis:
3
+ id: 'u:b2c3d4e00009'
4
+ group: 通用
5
+ label: 营养素参考值百分比
6
+ sort_no: 150
7
+ type: text
@@ -0,0 +1,8 @@
1
+ name: nutrient
2
+ amis:
3
+ id: 'u:b2c3d4e00006'
4
+ filterable: true
5
+ group: 通用
6
+ label: 营养成分
7
+ sort_no: 120
8
+ type: text
@@ -0,0 +1,8 @@
1
+ name: nutrient_value
2
+ amis:
3
+ id: 'u:b2c3d4e00007'
4
+ group: 通用
5
+ label: 数值
6
+ scale: 2
7
+ sort_no: 130
8
+ type: number
@@ -0,0 +1,8 @@
1
+ name: package_type
2
+ amis:
3
+ id: 'u:b2c3d4e00002'
4
+ filterable: true
5
+ group: 通用
6
+ label: 包装类型
7
+ sort_no: 70
8
+ type: text
@@ -2,7 +2,7 @@ name: pls_file
2
2
  amis:
3
3
  id: 'u:6c8fbb635d0e'
4
4
  group: 通用
5
- is_wide: true
5
+ is_wide: false
6
6
  label: PLS文件
7
7
  reference_to: pepsico_km_pls_file
8
8
  sort_no: 350
@@ -67,6 +67,7 @@ label: 品牌-产品
67
67
  options:
68
68
  - label: '1'
69
69
  value: '1'
70
- required: true
71
- sort_no: 50
70
+ required: false
71
+ sort_no: 500
72
72
  type: select
73
+ visible_on: '{{false}}'
@@ -0,0 +1,8 @@
1
+ name: product_standard
2
+ amis:
3
+ id: 'u:b2c3d4e00012'
4
+ filterable: true
5
+ group: 通用
6
+ label: 产品标准号
7
+ sort_no: 180
8
+ type: text
@@ -0,0 +1,8 @@
1
+ name: serving_amount
2
+ amis:
3
+ id: 'u:b2c3d4e00005'
4
+ group: 通用
5
+ label: 每份食用量(克)
6
+ scale: 2
7
+ sort_no: 110
8
+ type: number
@@ -0,0 +1,8 @@
1
+ name: serving_desc
2
+ amis:
3
+ id: 'u:b2c3d4e00004'
4
+ group: 通用
5
+ is_wide: true
6
+ label: 每份食用量说明
7
+ sort_no: 100
8
+ type: text
@@ -0,0 +1,7 @@
1
+ name: shelf_life
2
+ amis:
3
+ id: 'u:b2c3d4e00011'
4
+ group: 通用
5
+ label: 保质期
6
+ sort_no: 170
7
+ type: text
@@ -0,0 +1,9 @@
1
+ name: storage_condition
2
+ amis:
3
+ id: 'u:b2c3d4e00010'
4
+ group: 通用
5
+ is_wide: true
6
+ label: 贮存条件
7
+ rows: 2
8
+ sort_no: 160
9
+ type: textarea
@@ -4,7 +4,7 @@ amis:
4
4
  data_type: text
5
5
  group: 通用
6
6
  is_wide: false
7
- label: 标签
7
+ label: 来源标签
8
8
  options:
9
9
  - label: 产品名称
10
10
  value: 产品名称
@@ -12,6 +12,6 @@ options:
12
12
  value: 配料
13
13
  - label: 是否低糖
14
14
  value: 是否低糖
15
- required: true
16
- sort_no: 200
15
+ required: false
16
+ sort_no: 90
17
17
  type: text
@@ -4,5 +4,5 @@ amis:
4
4
  group: 通用
5
5
  label: 口味
6
6
  required: true
7
- sort_no: 150
7
+ sort_no: 60
8
8
  type: text
@@ -0,0 +1,7 @@
1
+ name: unit
2
+ amis:
3
+ id: 'u:b2c3d4e00008'
4
+ group: 通用
5
+ label: 单位
6
+ sort_no: 140
7
+ type: text
@@ -2,12 +2,22 @@ name: all
2
2
  columns:
3
3
  - field: name
4
4
  wrap: false
5
+ - field: brand
5
6
  - field: taste
7
+ - field: package_type
8
+ - field: net_content
6
9
  - field: tag
7
- - field: content
8
- width: '500'
10
+ - field: serving_desc
11
+ - field: serving_amount
12
+ - field: nutrient
13
+ - field: nutrient_value
14
+ - field: unit
15
+ - field: nrv_percent
16
+ - field: storage_condition
17
+ width: '300'
9
18
  wrap: true
10
- - field: enable
19
+ - field: shelf_life
20
+ - field: product_standard
11
21
  crud_mode: table
12
22
  filter_scope: space
13
23
  filters: []
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ pepsico_activateVisible: function (object_name, record_id, record_permissions, record) {
3
+ // 列表行操作可见性: AI已提取且未生效时显示"生效"
4
+ return !!(record && record.ai_extract === true && record.is_active !== true)
5
+ }
6
+ }
@@ -0,0 +1,110 @@
1
+ name: pepsico_activate
2
+ amis_schema: |-
3
+ {
4
+ "type": "service",
5
+ "body": [
6
+ {
7
+ "type": "button",
8
+ "label": "生效",
9
+ "id": "u:plsactivate01",
10
+ "themeCss": {
11
+ "className": {
12
+ "background:default": "var(--private)",
13
+ "font:default": {
14
+ "color": "#ffffff"
15
+ },
16
+ "border:default": {
17
+ "top-border-color": "#ffffff",
18
+ "left-border-style": "solid",
19
+ "left-border-color": "#ffffff",
20
+ "right-border-style": "solid",
21
+ "right-border-color": "#ffffff",
22
+ "top-border-style": "solid",
23
+ "bottom-border-style": "solid",
24
+ "bottom-border-color": "#ffffff"
25
+ }
26
+ }
27
+ },
28
+ "editorState": "default",
29
+ "visibleOn": "${ai_extract == true && is_active != true}",
30
+ "actionType": "ajax",
31
+ "confirmText": "确认要将该PLS文件及其提取的规则设为生效吗?",
32
+ "confirmTitle": "生效",
33
+ "onEvent": {
34
+ "click": {
35
+ "weight": 0,
36
+ "actions": [
37
+ {
38
+ "ignoreError": false,
39
+ "actionType": "disabled",
40
+ "componentId": "u:plsactivate01"
41
+ },
42
+ {
43
+ "actionType": "ajax",
44
+ "ignoreError": false,
45
+ "outputVar": "responseResult",
46
+ "options": {},
47
+ "api": {
48
+ "url": "/api/pepsico-content/pls-file/set-active",
49
+ "method": "post",
50
+ "requestAdaptor": "api.data = { id: context._id, active: true };\nreturn api;",
51
+ "adaptor": "",
52
+ "messages": {
53
+ "success": "已生效",
54
+ "failed": "操作失败,请稍后再试。"
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "actionType": "broadcast",
60
+ "args": {
61
+ "eventName": "@data.changed.pepsico_km_pls_file"
62
+ },
63
+ "data": {
64
+ "objectName": "pepsico_km_pls_file"
65
+ }
66
+ },
67
+ {
68
+ "actionType": "broadcast",
69
+ "args": {
70
+ "eventName": "@data.changed.pepsico_km_pls"
71
+ },
72
+ "data": {
73
+ "objectName": "pepsico_km_pls"
74
+ }
75
+ },
76
+ {
77
+ "ignoreError": false,
78
+ "actionType": "enabled",
79
+ "componentId": "u:plsactivate01"
80
+ }
81
+ ]
82
+ }
83
+ }
84
+ }
85
+ ],
86
+ "regions": [
87
+ "body"
88
+ ],
89
+ "data": {
90
+ "context": {},
91
+ "dataComponentId": "",
92
+ "record_id": "",
93
+ "record": {},
94
+ "permissions": {}
95
+ },
96
+ "id": "u:plsactivateservice01",
97
+ "bodyClassName": "p-0",
98
+ "dsType": "api",
99
+ "asideResizor": false,
100
+ "editorState": "default",
101
+ "pullRefresh": {
102
+ "disabled": true
103
+ }
104
+ }
105
+ is_enable: true
106
+ label: 生效
107
+ locked: false
108
+ 'on': record
109
+ type: amis_button
110
+ visible: true
@@ -0,0 +1,147 @@
1
+ name: pepsico_batch_upload_pls
2
+ amis_schema: |-
3
+ {
4
+ "type": "service",
5
+ "body": [
6
+ {
7
+ "type": "button",
8
+ "label": "批量PLS文件上传",
9
+ "id": "u:plsbatchupload01",
10
+ "level": "primary",
11
+ "icon": "fa fa-upload",
12
+ "editorState": "default",
13
+ "visibleOn": "${formFactor != 'SMALL'}",
14
+ "onEvent": {
15
+ "click": {
16
+ "weight": 0,
17
+ "actions": [
18
+ {
19
+ "ignoreError": false,
20
+ "actionType": "dialog",
21
+ "dialog": {
22
+ "type": "dialog",
23
+ "title": "批量PLS文件上传",
24
+ "body": [
25
+ {
26
+ "type": "alert",
27
+ "level": "info",
28
+ "body": "仅支持上传 PDF 文件,每个文件将自动生成一条PLS文件记录。",
29
+ "id": "u:plsbatchtip01"
30
+ },
31
+ {
32
+ "type": "input-file",
33
+ "label": "PLS文件",
34
+ "autoUpload": true,
35
+ "proxy": true,
36
+ "uploadType": "fileReceptor",
37
+ "name": "files",
38
+ "id": "u:plsbatchfile01",
39
+ "btnLabel": "选择PDF文件",
40
+ "multiple": true,
41
+ "useChunk": false,
42
+ "accept": ".pdf",
43
+ "drag": true,
44
+ "receiver": {
45
+ "url": "/s3/files",
46
+ "method": "post",
47
+ "requestAdaptor": "const superData = (typeof context != 'undefined') ? context : api.body;\nconst { global } = superData;\nconst { spaceId, userId } = global;\napi.data.append('space', spaceId);\napi.data.append('owner', userId);\nreturn api;",
48
+ "adaptor": "const superData = (typeof context != 'undefined') ? context : api.body;\nconst { context: pageContext } = superData;\nvar rootUrl = pageContext.rootUrl + \"/api/files/files/\";\npayload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n}\nreturn payload;",
49
+ "messages": {},
50
+ "dataType": "form-data"
51
+ }
52
+ }
53
+ ],
54
+ "id": "u:plsbatchdialog01",
55
+ "showCloseButton": true,
56
+ "closeOnOutside": false,
57
+ "closeOnEsc": false,
58
+ "showErrorMsg": true,
59
+ "showLoading": true,
60
+ "draggable": false,
61
+ "actions": [
62
+ {
63
+ "type": "button",
64
+ "actionType": "cancel",
65
+ "label": "取消",
66
+ "id": "u:plsbatchcancel01"
67
+ },
68
+ {
69
+ "type": "button",
70
+ "label": "确定",
71
+ "primary": true,
72
+ "id": "u:plsbatchconfirm01",
73
+ "actionType": "confirm",
74
+ "editorState": "default",
75
+ "onEvent": {
76
+ "click": {
77
+ "weight": 0,
78
+ "actions": [
79
+ {
80
+ "ignoreError": false,
81
+ "actionType": "disabled",
82
+ "componentId": "u:plsbatchconfirm01"
83
+ },
84
+ {
85
+ "ignoreError": false,
86
+ "actionType": "ajax",
87
+ "outputVar": "responseResult",
88
+ "options": {},
89
+ "api": {
90
+ "url": "/api/pepsico-content/pls-file/batch-upload",
91
+ "method": "post",
92
+ "requestAdaptor": "api.data = { fileIds: _.isString(context.files) ? _.split(context.files, ',') : (context.files || []) };\nreturn api;",
93
+ "adaptor": "",
94
+ "messages": {
95
+ "success": "PLS文件上传成功",
96
+ "failed": "PLS文件上传失败,请稍后再试。"
97
+ }
98
+ }
99
+ },
100
+ {
101
+ "componentId": "listview_pepsico_km_pls_file",
102
+ "groupType": "component",
103
+ "actionType": "reload"
104
+ },
105
+ {
106
+ "ignoreError": false,
107
+ "actionType": "enabled",
108
+ "componentId": "u:plsbatchconfirm01"
109
+ }
110
+ ]
111
+ }
112
+ }
113
+ }
114
+ ],
115
+ "actionType": "dialog",
116
+ "size": "md"
117
+ }
118
+ }
119
+ ]
120
+ }
121
+ }
122
+ }
123
+ ],
124
+ "regions": [
125
+ "body"
126
+ ],
127
+ "data": {
128
+ "context": {},
129
+ "dataComponentId": "",
130
+ "record_id": "",
131
+ "record": {},
132
+ "permissions": {}
133
+ },
134
+ "id": "u:plsbatchservice01",
135
+ "bodyClassName": "p-0",
136
+ "asideResizor": false,
137
+ "editorState": "default",
138
+ "pullRefresh": {
139
+ "disabled": true
140
+ }
141
+ }
142
+ is_enable: true
143
+ label: 批量PLS文件上传
144
+ locked: false
145
+ 'on': list
146
+ type: amis_button
147
+ visible: true
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ pepsico_deactivateVisible: function (object_name, record_id, record_permissions, record) {
3
+ // 列表行操作可见性: AI已提取且已生效时显示"失效"
4
+ return !!(record && record.ai_extract === true && record.is_active === true)
5
+ }
6
+ }
@@ -0,0 +1,110 @@
1
+ name: pepsico_deactivate
2
+ amis_schema: |-
3
+ {
4
+ "type": "service",
5
+ "body": [
6
+ {
7
+ "type": "button",
8
+ "label": "失效",
9
+ "id": "u:plsdeactivate01",
10
+ "themeCss": {
11
+ "className": {
12
+ "background:default": "var(--private)",
13
+ "font:default": {
14
+ "color": "#ffffff"
15
+ },
16
+ "border:default": {
17
+ "top-border-color": "#ffffff",
18
+ "left-border-style": "solid",
19
+ "left-border-color": "#ffffff",
20
+ "right-border-style": "solid",
21
+ "right-border-color": "#ffffff",
22
+ "top-border-style": "solid",
23
+ "bottom-border-style": "solid",
24
+ "bottom-border-color": "#ffffff"
25
+ }
26
+ }
27
+ },
28
+ "editorState": "default",
29
+ "visibleOn": "${ai_extract == true && is_active == true}",
30
+ "actionType": "ajax",
31
+ "confirmText": "确认要将该PLS文件及其提取的规则设为失效吗?",
32
+ "confirmTitle": "失效",
33
+ "onEvent": {
34
+ "click": {
35
+ "weight": 0,
36
+ "actions": [
37
+ {
38
+ "ignoreError": false,
39
+ "actionType": "disabled",
40
+ "componentId": "u:plsdeactivate01"
41
+ },
42
+ {
43
+ "actionType": "ajax",
44
+ "ignoreError": false,
45
+ "outputVar": "responseResult",
46
+ "options": {},
47
+ "api": {
48
+ "url": "/api/pepsico-content/pls-file/set-active",
49
+ "method": "post",
50
+ "requestAdaptor": "api.data = { id: context._id, active: false };\nreturn api;",
51
+ "adaptor": "",
52
+ "messages": {
53
+ "success": "已失效",
54
+ "failed": "操作失败,请稍后再试。"
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "actionType": "broadcast",
60
+ "args": {
61
+ "eventName": "@data.changed.pepsico_km_pls_file"
62
+ },
63
+ "data": {
64
+ "objectName": "pepsico_km_pls_file"
65
+ }
66
+ },
67
+ {
68
+ "actionType": "broadcast",
69
+ "args": {
70
+ "eventName": "@data.changed.pepsico_km_pls"
71
+ },
72
+ "data": {
73
+ "objectName": "pepsico_km_pls"
74
+ }
75
+ },
76
+ {
77
+ "ignoreError": false,
78
+ "actionType": "enabled",
79
+ "componentId": "u:plsdeactivate01"
80
+ }
81
+ ]
82
+ }
83
+ }
84
+ }
85
+ ],
86
+ "regions": [
87
+ "body"
88
+ ],
89
+ "data": {
90
+ "context": {},
91
+ "dataComponentId": "",
92
+ "record_id": "",
93
+ "record": {},
94
+ "permissions": {}
95
+ },
96
+ "id": "u:plsdeactivateservice01",
97
+ "bodyClassName": "p-0",
98
+ "dsType": "api",
99
+ "asideResizor": false,
100
+ "editorState": "default",
101
+ "pullRefresh": {
102
+ "disabled": true
103
+ }
104
+ }
105
+ is_enable: true
106
+ label: 失效
107
+ locked: false
108
+ 'on': record
109
+ type: amis_button
110
+ visible: true
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ pepsico_extract_rulesVisible: function (object_name, record_id, record_permissions, record) {
3
+ // 列表行操作可见性: AI尚未提取规则时显示"规则提取"
4
+ return !!(record && record.ai_extract !== true)
5
+ }
6
+ }