@steedos-labs/content-compliance 0.8.8 → 0.8.9

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 (178) hide show
  1. package/dist/index.js +1 -1
  2. package/lib/actions/bypassApproval.js +18 -0
  3. package/lib/actions/bypassApproval.js.map +1 -1
  4. package/lib/actions/bypassMaterial.js +12 -0
  5. package/lib/actions/bypassMaterial.js.map +1 -1
  6. package/lib/index.js +128 -0
  7. package/lib/index.js.map +1 -1
  8. package/lib/methods/AI.d.ts +6 -0
  9. package/lib/methods/AI.js +116 -15
  10. package/lib/methods/AI.js.map +1 -1
  11. package/lib/methods/__tests__/plsReview.test.d.ts +1 -0
  12. package/lib/methods/__tests__/plsReview.test.js +428 -0
  13. package/lib/methods/__tests__/plsReview.test.js.map +1 -0
  14. package/lib/methods/__tests__/postponeReview.test.js +21 -0
  15. package/lib/methods/__tests__/postponeReview.test.js.map +1 -1
  16. package/lib/methods/__tests__/qcParallelReview.test.d.ts +1 -0
  17. package/lib/methods/__tests__/qcParallelReview.test.js +53 -0
  18. package/lib/methods/__tests__/qcParallelReview.test.js.map +1 -0
  19. package/lib/methods/__tests__/qcPreReview.test.d.ts +1 -0
  20. package/lib/methods/__tests__/qcPreReview.test.js +65 -0
  21. package/lib/methods/__tests__/qcPreReview.test.js.map +1 -0
  22. package/lib/methods/approval_engine.d.ts +4 -0
  23. package/lib/methods/approval_engine.js +388 -221
  24. package/lib/methods/approval_engine.js.map +1 -1
  25. package/lib/methods/consts.d.ts +35 -0
  26. package/lib/methods/consts.js +2 -0
  27. package/lib/methods/consts.js.map +1 -1
  28. package/lib/methods/material.js +13 -0
  29. package/lib/methods/material.js.map +1 -1
  30. package/lib/methods/pls.d.ts +31 -0
  31. package/lib/methods/pls.js +429 -130
  32. package/lib/methods/pls.js.map +1 -1
  33. package/lib/pages/__tests__/aiReviewCardStyles.test.d.ts +1 -0
  34. package/lib/pages/__tests__/aiReviewCardStyles.test.js +29 -0
  35. package/lib/pages/__tests__/aiReviewCardStyles.test.js.map +1 -0
  36. package/lib/pages/__tests__/aiReviewChineseColons.test.d.ts +1 -0
  37. package/lib/pages/__tests__/aiReviewChineseColons.test.js +132 -0
  38. package/lib/pages/__tests__/aiReviewChineseColons.test.js.map +1 -0
  39. package/lib/pages/__tests__/clientCssCacheVersion.test.d.ts +1 -0
  40. package/lib/pages/__tests__/clientCssCacheVersion.test.js +31 -0
  41. package/lib/pages/__tests__/clientCssCacheVersion.test.js.map +1 -0
  42. package/lib/pages/__tests__/materialDetailAIReviewFilter.test.d.ts +1 -0
  43. package/lib/pages/__tests__/materialDetailAIReviewFilter.test.js +51 -0
  44. package/lib/pages/__tests__/materialDetailAIReviewFilter.test.js.map +1 -0
  45. package/lib/pages/__tests__/plsReviewCardStyles.test.d.ts +1 -0
  46. package/lib/pages/__tests__/plsReviewCardStyles.test.js +98 -0
  47. package/lib/pages/__tests__/plsReviewCardStyles.test.js.map +1 -0
  48. package/lib/pages/__tests__/plsReviewPage.test.d.ts +1 -0
  49. package/lib/pages/__tests__/plsReviewPage.test.js +249 -0
  50. package/lib/pages/__tests__/plsReviewPage.test.js.map +1 -0
  51. package/main/default/applications/pepsico_content_setting.app.yml +4 -0
  52. package/main/default/client/pepsico_content.client.js +8 -3
  53. package/main/default/objects/ai_process_detail/ai_process_detail.object.yml +1 -0
  54. package/main/default/objects/ai_process_detail/fields/pls_extracted_data.field.yml +9 -0
  55. package/main/default/objects/ai_process_detail/fields/pls_file_ids.field.yml +9 -0
  56. package/main/default/objects/ai_process_detail/fields/pls_product_name_matched.field.yml +9 -0
  57. package/main/default/objects/ai_process_detail/fields/pls_rule_unique_matched.field.yml +9 -0
  58. package/main/default/objects/pepesio_ch__c/fields/company_id.field.yml +14 -0
  59. package/main/default/objects/pepesio_ch__c/fields/company_ids.field.yml +16 -0
  60. package/main/default/objects/pepesio_ch__c/fields/created.field.yml +10 -0
  61. package/main/default/objects/pepesio_ch__c/fields/created_by.field.yml +9 -0
  62. package/main/default/objects/pepesio_ch__c/fields/file_name.field.yml +8 -0
  63. package/main/default/objects/pepesio_ch__c/fields/instance_state.field.yml +25 -0
  64. package/main/default/objects/pepesio_ch__c/fields/locked.field.yml +12 -0
  65. package/main/default/objects/pepesio_ch__c/fields/material_type.field.yml +10 -0
  66. package/main/default/objects/pepesio_ch__c/fields/media_type.field.yml +13 -0
  67. package/main/default/objects/pepesio_ch__c/fields/modified.field.yml +10 -0
  68. package/main/default/objects/pepesio_ch__c/fields/modified_by.field.yml +9 -0
  69. package/main/default/objects/pepesio_ch__c/fields/name.field.yml +11 -0
  70. package/main/default/objects/pepesio_ch__c/fields/owner.field.yml +12 -0
  71. package/main/default/objects/pepesio_ch__c/fields/product.field.yml +10 -0
  72. package/main/default/objects/pepesio_ch__c/fields/time.field.yml +8 -0
  73. package/main/default/objects/pepesio_ch__c/fields/type.field.yml +22 -0
  74. package/main/default/objects/pepesio_ch__c/listviews/all.listview.yml +21 -0
  75. package/main/default/objects/pepesio_ch__c/listviews/recent.listview.yml +11 -0
  76. package/main/default/objects/pepesio_ch__c/pepesio_ch__c.object.yml +31 -0
  77. package/main/default/objects/pepesio_ch__c/permissions/admin.permission.yml +9 -0
  78. package/main/default/objects/pepesio_ch__c/permissions/user.permission.yml +9 -0
  79. package/main/default/objects/pepsico_ai_review/buttons/pepsico_adopt.button.yml +3 -3
  80. package/main/default/objects/pepsico_ai_review/fields/is_active.field.yml +7 -0
  81. package/main/default/objects/pepsico_ai_review/fields/pepsico_material_approval.field.yml +7 -0
  82. package/main/default/objects/pepsico_ai_review/fields/pls_file.field.yml +7 -0
  83. package/main/default/objects/pepsico_ai_review/fields/review_type.field.yml +12 -0
  84. package/main/default/objects/pepsico_approval_process/fields/type.field.yml +5 -1
  85. package/main/default/objects/pepsico_km_pls/fields/allergen_statement.field.yml +9 -0
  86. package/main/default/objects/pepsico_km_pls/fields/ingredient_list.field.yml +9 -0
  87. package/main/default/objects/pepsico_km_pls/listviews/all.listview.yml +6 -0
  88. package/main/default/objects/pepsico_km_pls_file/listviews/lookup.listview.yml +19 -0
  89. package/main/default/objects/pepsico_km_pls_file/permissions/user.permission.yml +2 -2
  90. package/main/default/objects/pepsico_material/fields/pre_qc_approval_status.field.yml +16 -0
  91. package/main/default/objects/pepsico_material/fields/qc_approval_status.field.yml +16 -0
  92. package/main/default/objects/pepsico_material/fields/qc_bypass_reason.field.yml +11 -0
  93. package/main/default/objects/pepsico_material/fields/qc_bypassed.field.yml +12 -0
  94. package/main/default/objects/pepsico_material/fields/qc_bypassed_at.field.yml +11 -0
  95. package/main/default/objects/pepsico_material/fields/qc_bypassed_by.field.yml +12 -0
  96. package/main/default/objects/pepsico_material/listviews/all.listview.yml +2 -0
  97. package/main/default/objects/pepsico_material_approval/buttons/pepsico_modify_pls.button.yml +70 -0
  98. package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +62 -37
  99. package/main/default/objects/pepsico_material_approval/buttons/pre_review_approve.button.yml +1 -1
  100. package/main/default/objects/pepsico_material_approval/buttons/pre_review_reject.button.yml +1 -1
  101. package/main/default/objects/pepsico_material_approval/fields/approved_flows.field.yml +2 -2
  102. package/main/default/objects/pepsico_material_approval/fields/assistance.field.yml +1 -1
  103. package/main/default/objects/pepsico_material_approval/fields/ca_assistance.field.yml +1 -1
  104. package/main/default/objects/pepsico_material_approval/fields/classification.field.yml +15 -0
  105. package/main/default/objects/pepsico_material_approval/fields/ec_check_food_name.field.yml +18 -0
  106. package/main/default/objects/pepsico_material_approval/fields/ec_check_ingredients.field.yml +18 -0
  107. package/main/default/objects/pepsico_material_approval/fields/ec_check_net_content.field.yml +18 -0
  108. package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_address.field.yml +18 -0
  109. package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_name.field.yml +18 -0
  110. package/main/default/objects/pepsico_material_approval/fields/ec_check_shelf_life.field.yml +18 -0
  111. package/main/default/objects/pepsico_material_approval/fields/ec_check_standard_code.field.yml +18 -0
  112. package/main/default/objects/pepsico_material_approval/fields/ec_check_storage_condition.field.yml +18 -0
  113. package/main/default/objects/pepsico_material_approval/fields/ec_has_detail_page.field.yml +18 -0
  114. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.field.yml +5 -0
  115. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.producer_address.field.yml +7 -0
  116. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.producer_name.field.yml +7 -0
  117. package/main/default/objects/pepsico_material_approval/fields/ec_producers.field.yml +16 -0
  118. package/main/default/objects/pepsico_material_approval/fields/ec_qc_production_email.field.yml +16 -0
  119. package/main/default/objects/pepsico_material_approval/fields/ec_related_approval.field.yml +9 -0
  120. package/main/default/objects/pepsico_material_approval/fields/form_version.field.yml +10 -0
  121. package/main/default/objects/pepsico_material_approval/fields/handler_preca.field.yml +1 -1
  122. package/main/default/objects/pepsico_material_approval/fields/handler_preguding.field.yml +1 -1
  123. package/main/default/objects/pepsico_material_approval/fields/handler_prens.field.yml +1 -1
  124. package/main/default/objects/pepsico_material_approval/fields/handler_preqc.field.yml +22 -0
  125. package/main/default/objects/pepsico_material_approval/fields/handler_presra.field.yml +1 -1
  126. package/main/default/objects/pepsico_material_approval/fields/handler_qc.field.yml +20 -0
  127. package/main/default/objects/pepsico_material_approval/fields/has_nutrition_table.field.yml +18 -0
  128. package/main/default/objects/pepsico_material_approval/fields/legal_assistance.field.yml +1 -1
  129. package/main/default/objects/pepsico_material_approval/fields/ns_assistance.field.yml +1 -1
  130. package/main/default/objects/pepsico_material_approval/fields/pls_file.field.yml +2 -2
  131. package/main/default/objects/pepsico_material_approval/fields/pls_km_files.field.yml +28 -0
  132. package/main/default/objects/pepsico_material_approval/fields/pls_upload_files.field.yml +21 -0
  133. package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +1 -1
  134. package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +1 -1
  135. package/main/default/objects/pepsico_material_approval/fields/pre_qc_approval_status.field.yml +17 -0
  136. package/main/default/objects/pepsico_material_approval/fields/pre_qc_materials_quantity.field.yml +21 -0
  137. package/main/default/objects/pepsico_material_approval/fields/pre_qc_reviewer.field.yml +19 -0
  138. package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +1 -1
  139. package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +1 -1
  140. package/main/default/objects/pepsico_material_approval/fields/product.field.yml +15 -0
  141. package/main/default/objects/pepsico_material_approval/fields/qc_approval_status.field.yml +18 -0
  142. package/main/default/objects/pepsico_material_approval/fields/qc_assistance.field.yml +22 -0
  143. package/main/default/objects/pepsico_material_approval/fields/qc_bypass_reason.field.yml +8 -0
  144. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed.field.yml +12 -0
  145. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_at.field.yml +8 -0
  146. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_by.field.yml +8 -0
  147. package/main/default/objects/pepsico_material_approval/fields/qc_materials_quantity.field.yml +21 -0
  148. package/main/default/objects/pepsico_material_approval/fields/qc_reviewer.field.yml +22 -0
  149. package/main/default/objects/pepsico_material_approval/fields/sra_assistance.field.yml +1 -1
  150. package/main/default/objects/pepsico_material_approval/listviews/all.listview.yml +2 -0
  151. package/main/default/objects/pepsico_material_approval/pepsico_material_approval.object.yml +4 -0
  152. package/main/default/objects/pepsico_pls_change_log/fields/after_pls_files.field.yml +9 -0
  153. package/main/default/objects/pepsico_pls_change_log/fields/after_pls_names.field.yml +7 -0
  154. package/main/default/objects/pepsico_pls_change_log/fields/approval.field.yml +7 -0
  155. package/main/default/objects/pepsico_pls_change_log/fields/approval_name.field.yml +6 -0
  156. package/main/default/objects/pepsico_pls_change_log/fields/before_pls_files.field.yml +9 -0
  157. package/main/default/objects/pepsico_pls_change_log/fields/before_pls_names.field.yml +7 -0
  158. package/main/default/objects/pepsico_pls_change_log/fields/material.field.yml +8 -0
  159. package/main/default/objects/pepsico_pls_change_log/fields/operator.field.yml +7 -0
  160. package/main/default/objects/pepsico_pls_change_log/fields/scene.field.yml +13 -0
  161. package/main/default/objects/pepsico_pls_change_log/fields/source.field.yml +14 -0
  162. package/main/default/objects/pepsico_pls_change_log/fields/space.field.yml +6 -0
  163. package/main/default/objects/pepsico_pls_change_log/listviews/all.listview.yml +25 -0
  164. package/main/default/objects/pepsico_pls_change_log/pepsico_pls_change_log.object.yml +16 -0
  165. package/main/default/objects/pepsico_pls_change_log/permissions/admin.permission.yml +15 -0
  166. package/main/default/objects/pepsico_pls_change_log/permissions/user.permission.yml +14 -0
  167. package/main/default/objects/pepsico_review_postpone/fields/department_type.field.yml +4 -0
  168. package/main/default/objects/pepsico_reviewer/fields/pre_qc_reviewer.field.yml +10 -0
  169. package/main/default/objects/pepsico_reviewer/fields/qc_assistance.field.yml +14 -0
  170. package/main/default/objects/pepsico_reviewer/fields/qc_reviewer.field.yml +12 -0
  171. package/main/default/objects/pepsico_reviewer/listviews/all.listview.yml +4 -0
  172. package/main/default/pages/pepsico_content_review_detail.page.amis.json +19 -1
  173. package/main/default/pages/pepsico_material_detail.page.amis.json +623 -41
  174. package/main/default/pages/pepsico_material_detail_mobile.page.amis.json +307 -3
  175. package/main/default/tabs/object_pepsico_pls_change_log.tab.yml +14 -0
  176. package/main/default/triggers/pepsico_material_approval_change.trigger.yml +3 -0
  177. package/package.json +1 -1
  178. package/public/content-review/amis.css +338 -8
@@ -0,0 +1,31 @@
1
+ # 该对象原本只在数据库 objects 表中(界面创建),不随包注册。
2
+ # 纯 DB 对象要等启动后期才进 schema, 而 cachers-manager 的 $packages.changed
3
+ # 事件此时已在遍历 objects.getAll() 构建 global.objects, getObject 抛
4
+ # 「Object pepesio_ch__c is not found」使整个循环中断, global.objects 恒为
5
+ # undefined —— 结果是所有 code 触发器里的 objects 都是 undefined。
6
+ # 落成包内元数据后随包一起注册, 启动即在 schema 中, 不再中断该循环。
7
+ # 对象名 pepesio 是 pepsico 的笔误, 但集合中已有历史数据, 保持原名不改。
8
+ name: pepesio_ch__c
9
+ label: Content hub素材推送
10
+ icon: account
11
+ custom: true
12
+ version: 2
13
+ is_enable: true
14
+ enable_api: true
15
+ enable_dataloader: true
16
+ enable_enhanced_lookup: true
17
+ enable_inline_edit: true
18
+ enable_lock_detail: true
19
+ enable_workflow: true
20
+ enable_audit: false
21
+ enable_chatter: false
22
+ enable_events: false
23
+ enable_files: false
24
+ enable_form_tabs: false
25
+ enable_instances: false
26
+ enable_notes: false
27
+ enable_split: false
28
+ enable_tasks: false
29
+ enable_tree: false
30
+ field_groups:
31
+ - group_name: 通用
@@ -0,0 +1,9 @@
1
+ name: pepesio_ch__c.admin
2
+ permission_set_id: admin
3
+ allowCreate: true
4
+ allowDelete: true
5
+ allowEdit: true
6
+ allowRead: true
7
+ modifyAllRecords: true
8
+ viewAllRecords: true
9
+ field_permissions: []
@@ -0,0 +1,9 @@
1
+ name: pepesio_ch__c.user
2
+ permission_set_id: user
3
+ allowCreate: true
4
+ allowDelete: true
5
+ allowEdit: true
6
+ allowRead: true
7
+ modifyAllRecords: false
8
+ viewAllRecords: false
9
+ field_permissions: []
@@ -19,9 +19,9 @@ amis_schema: |-
19
19
  "outputVar": "responseResult",
20
20
  "options": {},
21
21
  "api": {
22
- "url": "${window:__meteor_runtime_config__.ROOT_URL}/v2/c/rooms/objects:pepsico_material:${pepsico_material}/threads",
22
+ "url": "/v2/c/rooms/objects:pepsico_material:${pepsico_material}/threads",
23
23
  "method": "post",
24
- "requestAdaptor": "const content = [{'type':'paragraph','children':[{'text':'素材内容: ' + (context.name || '') + ';'}]},{'type':'paragraph','children':[{'text':'提醒类型: ' + (context.rule_category || '') + ';'}]},{'type':'paragraph','children':[{'text':'提醒原因: ' + (context.reason || '') + ';'}]}]; if(context.time){content.unshift({'type':'paragraph','children':[{'text':'违规时间: ' + (context.time || '') + 's;'}]})} api.data = {'id': Amis.uuidv4(), 'metadata': {'is_ai_review': true, 'ai_review_id': context._id}, 'comment':{'id':Amis.uuidv4(),'body':{'version':1,'content': content},'attachmentIds': context.record._display.evidence_image_file ? [context.record._display.evidence_image_file.value] : []}}; return api;",
24
+ "requestAdaptor": "const rawFiles = context.record && context.record._display && context.record._display.evidence_image_file; const files = Array.isArray(rawFiles) ? rawFiles : (rawFiles ? [rawFiles] : []); const attachmentIds = files.map((file) => typeof file === 'string' ? file : file && (file.value || file._id)).filter(Boolean); const content = [{'type':'paragraph','children':[{'text':'素材内容:' + (context.name || '') + ';'}]},{'type':'paragraph','children':[{'text':'提醒类型:' + (context.rule_category || '') + ';'}]},{'type':'paragraph','children':[{'text':'提醒原因:' + (context.reason || '') + ';'}]}]; if(context.time){content.unshift({'type':'paragraph','children':[{'text':'违规时间:' + (context.time || '') + 's;'}]})} api.data = {'id': Amis.uuidv4(), 'metadata': {'is_ai_review': true, 'ai_review_id': context._id}, 'comment':{'id':Amis.uuidv4(),'body':{'version':1,'content': content},'attachmentIds': attachmentIds}}; return api;",
25
25
  "adaptor": "",
26
26
  "messages": {}
27
27
  }
@@ -32,7 +32,7 @@ amis_schema: |-
32
32
  "outputVar": "responseResult2",
33
33
  "options": {},
34
34
  "api": {
35
- "url": "${window:__meteor_runtime_config__.ROOT_URL}/api/v1/pepsico_ai_review/${recordId}",
35
+ "url": "/api/v1/pepsico_ai_review/${recordId}",
36
36
  "method": "put",
37
37
  "requestAdaptor": "api.data = {doc: {is_adoption: true}}; return api;",
38
38
  "adaptor": "",
@@ -0,0 +1,7 @@
1
+ name: is_active
2
+ label: 有效
3
+ type: boolean
4
+ defaultValue: true
5
+ group: 通用
6
+ sort_no: 490
7
+ visible_on: '{{false}}'
@@ -0,0 +1,7 @@
1
+ name: pepsico_material_approval
2
+ label: 材料审批单
3
+ type: lookup
4
+ reference_to: pepsico_material_approval
5
+ group: 通用
6
+ sort_no: 480
7
+ visible_on: '{{false}}'
@@ -0,0 +1,7 @@
1
+ name: pls_file
2
+ label: PLS文件来源
3
+ type: lookup
4
+ reference_to: pepsico_km_pls_file
5
+ group: 通用
6
+ sort_no: 470
7
+ visible_on: review_type == 'pls'
@@ -0,0 +1,12 @@
1
+ name: review_type
2
+ label: 意见类型
3
+ type: select
4
+ group: 通用
5
+ sort_no: 460
6
+ defaultValue: general
7
+ options:
8
+ - label: 普通AI意见
9
+ value: general
10
+ - label: PLS意见
11
+ value: pls
12
+ visible_on: '{{false}}'
@@ -10,6 +10,8 @@ options:
10
10
  value: SRA
11
11
  - label: CA
12
12
  value: CA
13
+ - label: QC
14
+ value: QC
13
15
  - label: Kids
14
16
  value: Kids
15
17
  - label: 固定
@@ -22,5 +24,7 @@ options:
22
24
  value: PreSRA
23
25
  - label: CA预审
24
26
  value: PreCA
27
+ - label: QC预审
28
+ value: PreQC
25
29
  - label: 固定预审
26
- value: Preguding
30
+ value: Preguding
@@ -0,0 +1,9 @@
1
+ name: allergen_statement
2
+ amis:
3
+ id: 'u:b2c3d4e00014'
4
+ group: 通用
5
+ is_wide: true
6
+ label: 致敏原信息
7
+ rows: 2
8
+ sort_no: 200
9
+ type: textarea
@@ -0,0 +1,9 @@
1
+ name: ingredient_list
2
+ amis:
3
+ id: 'u:b2c3d4e00013'
4
+ group: 通用
5
+ is_wide: true
6
+ label: 配料表
7
+ rows: 2
8
+ sort_no: 190
9
+ type: textarea
@@ -18,6 +18,12 @@ columns:
18
18
  wrap: true
19
19
  - field: shelf_life
20
20
  - field: product_standard
21
+ - field: ingredient_list
22
+ width: '300'
23
+ wrap: true
24
+ - field: allergen_statement
25
+ width: '300'
26
+ wrap: true
21
27
  crud_mode: table
22
28
  filter_scope: space
23
29
  filters: []
@@ -0,0 +1,19 @@
1
+ name: lookup
2
+ columns:
3
+ - field: product_name
4
+ - field: brand
5
+ - field: issue_date
6
+ - field: version
7
+ - field: sku
8
+ - field: name
9
+ - field: is_active
10
+ crud_mode: table
11
+ filter_scope: space
12
+ filters: []
13
+ is_enable: true
14
+ label: lookup
15
+ shared: true
16
+ shared_to: space
17
+ sort:
18
+ - field_name: created
19
+ order: desc
@@ -7,12 +7,12 @@ allowDeleteFiles: true
7
7
  allowEdit: false
8
8
  allowEditFiles: true
9
9
  allowExport: true
10
- allowRead: false
10
+ allowRead: true
11
11
  allowReadFiles: true
12
12
  modifyAllRecords: false
13
13
  modifyCompanyRecords: false
14
14
  permission_set_id: user
15
15
  viewAllFiles: true
16
- viewAllRecords: false
16
+ viewAllRecords: true
17
17
  viewCompanyRecords: false
18
18
  field_permissions: []
@@ -0,0 +1,16 @@
1
+ name: pre_qc_approval_status
2
+ data_type: boolean
3
+ group: 预审情况
4
+ is_wide: false
5
+ label: QC预审
6
+ options:
7
+ - label: √
8
+ value: true
9
+ - label: X
10
+ value: false
11
+ - label: Bypass
12
+ value: pass
13
+ color: '#02355a'
14
+ readonly: true
15
+ sort_no: 1645
16
+ type: select
@@ -0,0 +1,16 @@
1
+ name: qc_approval_status
2
+ data_type: boolean
3
+ group: 审核情况
4
+ is_wide: false
5
+ label: QC审核
6
+ options:
7
+ - label: √
8
+ value: true
9
+ - label: X
10
+ value: false
11
+ - label: Bypass
12
+ value: pass
13
+ color: '#02355a'
14
+ readonly: true
15
+ sort_no: 1625
16
+ type: select
@@ -0,0 +1,11 @@
1
+ name: qc_bypass_reason
2
+ data_type: text
3
+ description: QC部门跳过审核的原因
4
+ group: 审核情况
5
+ is_wide: false
6
+ label: QC跳过原因
7
+ readonly: true
8
+ sort_no: 275
9
+ static: false
10
+ type: textarea
11
+ visible_on: qc_bypassed == true
@@ -0,0 +1,12 @@
1
+ name: qc_bypassed
2
+ data_type: boolean
3
+ description: 标记QC部门是否跳过审核
4
+ group: 审核情况
5
+ is_wide: false
6
+ label: QC跳过
7
+ readonly: true
8
+ defaultValue: false
9
+ sort_no: 273
10
+ static: false
11
+ type: boolean
12
+ visible_on: qc_approval_status == 'pass'
@@ -0,0 +1,11 @@
1
+ name: qc_bypassed_at
2
+ data_type: datetime
3
+ description: QC部门跳过审核的时间
4
+ group: 审核情况
5
+ is_wide: false
6
+ label: QC跳过时间
7
+ readonly: true
8
+ sort_no: 276
9
+ static: false
10
+ type: datetime
11
+ visible_on: qc_bypassed == true
@@ -0,0 +1,12 @@
1
+ name: qc_bypassed_by
2
+ data_type: lookup
3
+ description: 记录QC部门跳过操作的用户
4
+ group: 审核情况
5
+ is_wide: false
6
+ label: QC跳过人
7
+ readonly: true
8
+ reference_to: users
9
+ sort_no: 274
10
+ static: false
11
+ type: lookup
12
+ visible_on: qc_bypassed == true
@@ -7,6 +7,8 @@ columns:
7
7
  - field: ns_approval_status
8
8
  - field: sra_approval_status
9
9
  - field: ca_approval_status
10
+ - field: pre_qc_approval_status
11
+ - field: qc_approval_status
10
12
  - field: approval_status
11
13
  - field: kids_approval_status
12
14
  - field: pepsico_material_approval
@@ -0,0 +1,70 @@
1
+ name: pepsico_modify_pls
2
+ label: 修改PLS文件
3
+ type: amis_button
4
+ 'on': record_only
5
+ visible: true
6
+ is_enable: true
7
+ amis_schema: |-
8
+ {
9
+ "type": "service",
10
+ "body": [
11
+ {
12
+ "type": "button",
13
+ "label": "修改PLS文件",
14
+ "level": "primary",
15
+ "visibleOn": "${owner === context.userId && current_step === 'submitter_revisions' && formFactor != 'SMALL' && form_version === 'v2' && (classification === 'MD-PO1-PO15' || classification === 'SLS-PO2-PO25' || has_nutrition_table === 'yes')}",
16
+ "onEvent": {
17
+ "click": {
18
+ "actions": [
19
+ {
20
+ "actionType": "dialog",
21
+ "dialog": {
22
+ "type": "dialog",
23
+ "title": "修改PLS文件",
24
+ "size": "lg",
25
+ "closeOnOutside": false,
26
+ "closeOnEsc": false,
27
+ "showCloseButton": true,
28
+ "showErrorMsg": true,
29
+ "body": [
30
+ {
31
+ "type": "alert",
32
+ "level": "info",
33
+ "body": "可重新选择PLS知识库记录,也可上传新的PDF文件。上传的文件将在再次提交审核时转为知识库记录。"
34
+ },
35
+ {
36
+ "type": "steedos-object-form",
37
+ "label": "对象表单",
38
+ "objectApiName": "${objectName}",
39
+ "recordId": "${recordId}",
40
+ "mode": "edit",
41
+ "enableInitApi": true,
42
+ "className": "",
43
+ "fields": [
44
+ "pls_km_files",
45
+ "pls_upload_files"
46
+ ]
47
+ }
48
+ ],
49
+ "actions": [
50
+ {
51
+ "type": "button",
52
+ "actionType": "cancel",
53
+ "label": "取消"
54
+ },
55
+ {
56
+ "type": "button",
57
+ "actionType": "confirm",
58
+ "label": "确定",
59
+ "primary": true
60
+ }
61
+ ]
62
+ }
63
+ }
64
+ ]
65
+ }
66
+ }
67
+ }
68
+ ],
69
+ "bodyClassName": "p-0"
70
+ }
@@ -7,8 +7,8 @@ amis_schema: |-
7
7
  "type": "button",
8
8
  "label": "延后审核",
9
9
  "id": "u:pepsico_postpone_review",
10
- "editorState": "default",
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'}",
10
+ "editorState": "default",
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(qc_reviewer, context.user.user) && qc_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_qc_reviewer == context.user.user && pre_qc_approval_status == false) || (pre_reviewer == context.user.user && pre_approval_status == false)) && formFactor != 'SMALL'}",
12
12
  "themeCss": {
13
13
  "className": {
14
14
  "background:default": "var(--private)",
@@ -45,17 +45,64 @@ amis_schema: |-
45
45
  "id": "u:postpone_review_alert"
46
46
  },
47
47
  {
48
- "type": "textarea",
49
- "label": "延后原因",
50
- "name": "postpone_reason",
51
- "id": "u:postpone_review_reason",
52
- "placeholder": "请填写延后原因(必填)",
53
- "required": true,
54
- "validations": {
55
- "isRequired": true
48
+ "id": "u:postpone_review_form",
49
+ "type": "form",
50
+ "title": "表单",
51
+ "mode": "normal",
52
+ "dsType": "api",
53
+ "feat": "Insert",
54
+ "body": [
55
+ {
56
+ "type": "textarea",
57
+ "label": "延后原因",
58
+ "name": "postpone_reason",
59
+ "id": "u:postpone_review_reason",
60
+ "placeholder": "请填写延后原因(必填)",
61
+ "required": true,
62
+ "validations": {
63
+ "isRequired": true
64
+ },
65
+ "validationErrors": {
66
+ "isRequired": "请填写延后原因"
67
+ },
68
+ "minRows": 3,
69
+ "maxRows": 20,
70
+ "value": ""
71
+ }
72
+ ],
73
+ "actions": [],
74
+ "resetAfterSubmit": true,
75
+ "onEvent": {
76
+ "submitSucc": {
77
+ "weight": 0,
78
+ "actions": [
79
+ {
80
+ "ignoreError": false,
81
+ "actionType": "closeDialog"
82
+ },
83
+ {
84
+ "actionType": "broadcast",
85
+ "args": {
86
+ "eventName": "@data.changed.pepsico_material_approval"
87
+ },
88
+ "data": {
89
+ "objectName": "pepsico_material_approval"
90
+ }
91
+ },
92
+ {
93
+ "actionType": "reload",
94
+ "componentId": "listview_pepsico_review_postpone",
95
+ "groupType": "component"
96
+ }
97
+ ]
98
+ }
56
99
  },
57
- "validationErrors": {
58
- "isRequired": "请填写延后原因"
100
+ "api": {
101
+ "url": "/api/pepsico-content/approve/postpone-review/${recordId}",
102
+ "method": "post",
103
+ "requestAdaptor": "\napi.data = {postpone_reason: context.postpone_reason}\n\n\nreturn api;",
104
+ "adaptor": "",
105
+ "messages": {}
59
106
  }
60
107
  }
61
108
  ],
@@ -69,7 +116,6 @@ amis_schema: |-
69
116
  },
70
117
  {
71
118
  "type": "button",
72
- "actionType": "confirm",
73
119
  "label": "确定延后",
74
120
  "primary": true,
75
121
  "id": "u:postpone_review_confirm",
@@ -84,31 +130,10 @@ amis_schema: |-
84
130
  "componentId": "u:postpone_review_confirm"
85
131
  },
86
132
  {
133
+ "componentId": "u:postpone_review_form",
87
134
  "ignoreError": false,
88
- "actionType": "ajax",
89
- "outputVar": "responseResult",
90
- "options": {},
91
- "api": {
92
- "url": "/api/pepsico-content/approve/postpone-review/${recordId}",
93
- "method": "post",
94
- "requestAdaptor": "\napi.data = {postpone_reason: context.postpone_reason}\n\n\nreturn api;",
95
- "adaptor": "",
96
- "messages": {}
97
- }
98
- },
99
- {
100
- "actionType": "broadcast",
101
- "args": {
102
- "eventName": "@data.changed.pepsico_material_approval"
103
- },
104
- "data": {
105
- "objectName": "pepsico_material_approval"
106
- }
107
- },
108
- {
109
- "actionType": "reload",
110
- "componentId": "listview_pepsico_review_postpone",
111
- "groupType": "component"
135
+ "actionType": "submit",
136
+ "outputVar": "submitResult"
112
137
  },
113
138
  {
114
139
  "ignoreError": false,
@@ -64,7 +64,7 @@ amis_schema: |-
64
64
  "id": "u:pre_review_approve_svc",
65
65
  "dsType": "api",
66
66
  "api": {
67
- "url": "/api/v1/pepsico_approval_process?filters=[[\"type\", \"in\", [\"PreNS\",\"PreLegal\",\"PreSRA\",\"PreCA\",\"Preguding\"]], [\"approved\", \"=\", \"progess\"], [\"pepsico_material_approval\", \"=\", \"${recordId}\"]]",
67
+ "url": "/api/v1/pepsico_approval_process?filters=[[\"type\", \"in\", [\"PreNS\",\"PreLegal\",\"PreSRA\",\"PreCA\",\"PreQC\",\"Preguding\"]], [\"approved\", \"=\", \"progess\"], [\"pepsico_material_approval\", \"=\", \"${recordId}\"]]",
68
68
  "method": "get",
69
69
  "requestAdaptor": "",
70
70
  "adaptor": "const data = payload.data; if(data.items.length > 0){if(_.find(data.items, {owner: context.context.user.user})){ return {data: {showPreReviewBtn: true}}}}else{return {data: {showPreReviewBtn: false}}}; return {data: {showPreReviewBtn: false}}",
@@ -64,7 +64,7 @@ amis_schema: |-
64
64
  "id": "u:pre_review_reject_svc",
65
65
  "dsType": "api",
66
66
  "api": {
67
- "url": "/api/v1/pepsico_approval_process?filters=[[\"type\", \"in\", [\"PreNS\",\"PreLegal\",\"PreSRA\",\"PreCA\",\"Preguding\"]], [\"approved\", \"=\", \"progess\"], [\"pepsico_material_approval\", \"=\", \"${recordId}\"]]",
67
+ "url": "/api/v1/pepsico_approval_process?filters=[[\"type\", \"in\", [\"PreNS\",\"PreLegal\",\"PreSRA\",\"PreCA\",\"PreQC\",\"Preguding\"]], [\"approved\", \"=\", \"progess\"], [\"pepsico_material_approval\", \"=\", \"${recordId}\"]]",
68
68
  "method": "get",
69
69
  "requestAdaptor": "",
70
70
  "adaptor": "const data = payload.data; if(data.items.length > 0){if(_.find(data.items, {owner: context.context.user.user})){ return {data: {showPreReviewBtn: true}}}}else{return {data: {showPreReviewBtn: false}}}; return {data: {showPreReviewBtn: false}}",
@@ -3,9 +3,9 @@ amis:
3
3
  id: 'u:28edd46fd192'
4
4
  description: ''
5
5
  group: 基本信息
6
- inlineHelpText: 请填写已经审批通过的流程编号,用逗号隔开;
6
+ inlineHelpText: 如填写已经审批通过的流程编号,用逗号隔开;
7
7
  is_wide: true
8
- label: 已审核的审批单号
8
+ label: 备注说明
9
9
  rows: 3
10
10
  sort_no: 1250
11
11
  type: textarea
@@ -8,7 +8,7 @@ amis:
8
8
  description: ''
9
9
  enable_thousands: true
10
10
  filters: []
11
- group: 审核人员
11
+ group: 审核情况
12
12
  inlineHelpText: ''
13
13
  is_wide: false
14
14
  label: 固定审核协作人
@@ -8,7 +8,7 @@ amis:
8
8
  description: ''
9
9
  enable_thousands: true
10
10
  filters: []
11
- group: 审核人员
11
+ group: 审核情况
12
12
  inlineHelpText: ''
13
13
  is_wide: false
14
14
  label: CA协作人
@@ -148,6 +148,16 @@ amis:
148
148
  args:
149
149
  value: '${event.data.responseResult.ca_assistance}'
150
150
  - ignoreError: true
151
+ actionType: setValue
152
+ componentId: 'u:qc_reviewer'
153
+ args:
154
+ value: '${event.data.responseResult.qc_reviewer}'
155
+ - ignoreError: false
156
+ actionType: setValue
157
+ componentId: 'u:qc_assistance'
158
+ args:
159
+ value: '${event.data.responseResult.qc_assistance}'
160
+ - ignoreError: false
151
161
  actionType: setValue
152
162
  componentId: 'u:can_pass_users'
153
163
  args:
@@ -177,6 +187,11 @@ amis:
177
187
  componentId: 'u:pre_legal_reviewer'
178
188
  args:
179
189
  value: '${event.data.responseResult.pre_legal_reviewer}'
190
+ - ignoreError: true
191
+ actionType: setValue
192
+ componentId: 'u:pre_qc_reviewer'
193
+ args:
194
+ value: '${event.data.responseResult.pre_qc_reviewer}'
180
195
  data_type: text
181
196
  description: ''
182
197
  enable_thousands: true
@@ -0,0 +1,18 @@
1
+ name: ec_check_food_name
2
+ label: 食品名称
3
+ type: select
4
+ data_type: text
5
+ group: 电商合规自查
6
+ sort_no: 1260
7
+ is_wide: false
8
+ required: false
9
+ amis:
10
+ type: button-group-select
11
+ multiple: false
12
+ requiredOn: >-
13
+ ${(classification == 'MD-PO1-PO15' || classification == 'SLS-PO2-PO25') &&
14
+ form_version == 'v2' && ec_has_detail_page == 'yes'}
15
+ options:
16
+ - label: 已自查
17
+ value: 'yes'
18
+ visible_on: (classification == 'MD-PO1-PO15' || classification == 'SLS-PO2-PO25') && form_version == 'v2' && ec_has_detail_page == 'yes'
@@ -0,0 +1,18 @@
1
+ name: ec_check_ingredients
2
+ label: 成分或配料表
3
+ type: select
4
+ data_type: text
5
+ group: 电商合规自查
6
+ sort_no: 1264
7
+ is_wide: false
8
+ required: false
9
+ amis:
10
+ type: button-group-select
11
+ multiple: false
12
+ requiredOn: >-
13
+ ${(classification == 'MD-PO1-PO15' || classification == 'SLS-PO2-PO25') &&
14
+ form_version == 'v2' && ec_has_detail_page == 'yes'}
15
+ options:
16
+ - label: 已自查
17
+ value: 'yes'
18
+ visible_on: (classification == 'MD-PO1-PO15' || classification == 'SLS-PO2-PO25') && form_version == 'v2' && ec_has_detail_page == 'yes'