@steedos-labs/content-compliance 0.8.7 → 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 (188) 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/buttons/pepsico_material_spot_check.button.yml +1 -1
  91. package/main/default/objects/pepsico_material/fields/kol_classification.field.yml +2 -1
  92. package/main/default/objects/pepsico_material/fields/pre_qc_approval_status.field.yml +16 -0
  93. package/main/default/objects/pepsico_material/fields/qc_approval_status.field.yml +16 -0
  94. package/main/default/objects/pepsico_material/fields/qc_bypass_reason.field.yml +11 -0
  95. package/main/default/objects/pepsico_material/fields/qc_bypassed.field.yml +12 -0
  96. package/main/default/objects/pepsico_material/fields/qc_bypassed_at.field.yml +11 -0
  97. package/main/default/objects/pepsico_material/fields/qc_bypassed_by.field.yml +12 -0
  98. package/main/default/objects/pepsico_material/listviews/all.listview.yml +2 -0
  99. package/main/default/objects/pepsico_material/listviews/dco_spot_check.listview.yml +31 -0
  100. package/main/default/objects/pepsico_material/listviews/kol_midtier.listview.yml +31 -0
  101. package/main/default/objects/pepsico_material/listviews/spot_check.listview.yml +31 -0
  102. package/main/default/objects/pepsico_material_approval/buttons/pepsico_modify_pls.button.yml +70 -0
  103. package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +62 -37
  104. package/main/default/objects/pepsico_material_approval/buttons/pre_review_approve.button.yml +1 -1
  105. package/main/default/objects/pepsico_material_approval/buttons/pre_review_reject.button.yml +1 -1
  106. package/main/default/objects/pepsico_material_approval/fields/approved_flows.field.yml +2 -2
  107. package/main/default/objects/pepsico_material_approval/fields/assistance.field.yml +1 -1
  108. package/main/default/objects/pepsico_material_approval/fields/ca_assistance.field.yml +1 -1
  109. package/main/default/objects/pepsico_material_approval/fields/classification.field.yml +26 -11
  110. package/main/default/objects/pepsico_material_approval/fields/ec_check_food_name.field.yml +18 -0
  111. package/main/default/objects/pepsico_material_approval/fields/ec_check_ingredients.field.yml +18 -0
  112. package/main/default/objects/pepsico_material_approval/fields/ec_check_net_content.field.yml +18 -0
  113. package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_address.field.yml +18 -0
  114. package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_name.field.yml +18 -0
  115. package/main/default/objects/pepsico_material_approval/fields/ec_check_shelf_life.field.yml +18 -0
  116. package/main/default/objects/pepsico_material_approval/fields/ec_check_standard_code.field.yml +18 -0
  117. package/main/default/objects/pepsico_material_approval/fields/ec_check_storage_condition.field.yml +18 -0
  118. package/main/default/objects/pepsico_material_approval/fields/ec_has_detail_page.field.yml +18 -0
  119. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.field.yml +5 -0
  120. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.producer_address.field.yml +7 -0
  121. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.producer_name.field.yml +7 -0
  122. package/main/default/objects/pepsico_material_approval/fields/ec_producers.field.yml +16 -0
  123. package/main/default/objects/pepsico_material_approval/fields/ec_qc_production_email.field.yml +16 -0
  124. package/main/default/objects/pepsico_material_approval/fields/ec_related_approval.field.yml +9 -0
  125. package/main/default/objects/pepsico_material_approval/fields/followers.field.yml +4 -4
  126. package/main/default/objects/pepsico_material_approval/fields/form_version.field.yml +10 -0
  127. package/main/default/objects/pepsico_material_approval/fields/handler_preca.field.yml +1 -1
  128. package/main/default/objects/pepsico_material_approval/fields/handler_preguding.field.yml +1 -1
  129. package/main/default/objects/pepsico_material_approval/fields/handler_prens.field.yml +1 -1
  130. package/main/default/objects/pepsico_material_approval/fields/handler_preqc.field.yml +22 -0
  131. package/main/default/objects/pepsico_material_approval/fields/handler_presra.field.yml +1 -1
  132. package/main/default/objects/pepsico_material_approval/fields/handler_qc.field.yml +20 -0
  133. package/main/default/objects/pepsico_material_approval/fields/has_nutrition_table.field.yml +18 -0
  134. package/main/default/objects/pepsico_material_approval/fields/internal_collaborator.field.yml +1 -1
  135. package/main/default/objects/pepsico_material_approval/fields/internal_collaborator_edit.field.yml +1 -1
  136. package/main/default/objects/pepsico_material_approval/fields/kol_classification.field.yml +2 -1
  137. package/main/default/objects/pepsico_material_approval/fields/legal_assistance.field.yml +1 -1
  138. package/main/default/objects/pepsico_material_approval/fields/ns_assistance.field.yml +1 -1
  139. package/main/default/objects/pepsico_material_approval/fields/pls_file.field.yml +2 -2
  140. package/main/default/objects/pepsico_material_approval/fields/pls_km_files.field.yml +28 -0
  141. package/main/default/objects/pepsico_material_approval/fields/pls_upload_files.field.yml +21 -0
  142. package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +1 -1
  143. package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +1 -1
  144. package/main/default/objects/pepsico_material_approval/fields/pre_qc_approval_status.field.yml +17 -0
  145. package/main/default/objects/pepsico_material_approval/fields/pre_qc_materials_quantity.field.yml +21 -0
  146. package/main/default/objects/pepsico_material_approval/fields/pre_qc_reviewer.field.yml +19 -0
  147. package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +1 -1
  148. package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +1 -1
  149. package/main/default/objects/pepsico_material_approval/fields/product.field.yml +25 -10
  150. package/main/default/objects/pepsico_material_approval/fields/qc_approval_status.field.yml +18 -0
  151. package/main/default/objects/pepsico_material_approval/fields/qc_assistance.field.yml +22 -0
  152. package/main/default/objects/pepsico_material_approval/fields/qc_bypass_reason.field.yml +8 -0
  153. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed.field.yml +12 -0
  154. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_at.field.yml +8 -0
  155. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_by.field.yml +8 -0
  156. package/main/default/objects/pepsico_material_approval/fields/qc_materials_quantity.field.yml +21 -0
  157. package/main/default/objects/pepsico_material_approval/fields/qc_reviewer.field.yml +22 -0
  158. package/main/default/objects/pepsico_material_approval/fields/social_media.field.yml +2 -2
  159. package/main/default/objects/pepsico_material_approval/fields/sra_assistance.field.yml +1 -1
  160. package/main/default/objects/pepsico_material_approval/listviews/all.listview.yml +2 -0
  161. package/main/default/objects/pepsico_material_approval/pepsico_material_approval.object.yml +4 -0
  162. package/main/default/objects/pepsico_pls_change_log/fields/after_pls_files.field.yml +9 -0
  163. package/main/default/objects/pepsico_pls_change_log/fields/after_pls_names.field.yml +7 -0
  164. package/main/default/objects/pepsico_pls_change_log/fields/approval.field.yml +7 -0
  165. package/main/default/objects/pepsico_pls_change_log/fields/approval_name.field.yml +6 -0
  166. package/main/default/objects/pepsico_pls_change_log/fields/before_pls_files.field.yml +9 -0
  167. package/main/default/objects/pepsico_pls_change_log/fields/before_pls_names.field.yml +7 -0
  168. package/main/default/objects/pepsico_pls_change_log/fields/material.field.yml +8 -0
  169. package/main/default/objects/pepsico_pls_change_log/fields/operator.field.yml +7 -0
  170. package/main/default/objects/pepsico_pls_change_log/fields/scene.field.yml +13 -0
  171. package/main/default/objects/pepsico_pls_change_log/fields/source.field.yml +14 -0
  172. package/main/default/objects/pepsico_pls_change_log/fields/space.field.yml +6 -0
  173. package/main/default/objects/pepsico_pls_change_log/listviews/all.listview.yml +25 -0
  174. package/main/default/objects/pepsico_pls_change_log/pepsico_pls_change_log.object.yml +16 -0
  175. package/main/default/objects/pepsico_pls_change_log/permissions/admin.permission.yml +15 -0
  176. package/main/default/objects/pepsico_pls_change_log/permissions/user.permission.yml +14 -0
  177. package/main/default/objects/pepsico_review_postpone/fields/department_type.field.yml +4 -0
  178. package/main/default/objects/pepsico_reviewer/fields/pre_qc_reviewer.field.yml +10 -0
  179. package/main/default/objects/pepsico_reviewer/fields/qc_assistance.field.yml +14 -0
  180. package/main/default/objects/pepsico_reviewer/fields/qc_reviewer.field.yml +12 -0
  181. package/main/default/objects/pepsico_reviewer/listviews/all.listview.yml +4 -0
  182. package/main/default/pages/pepsico_content_review_detail.page.amis.json +19 -1
  183. package/main/default/pages/pepsico_material_detail.page.amis.json +623 -41
  184. package/main/default/pages/pepsico_material_detail_mobile.page.amis.json +307 -3
  185. package/main/default/tabs/object_pepsico_pls_change_log.tab.yml +14 -0
  186. package/main/default/triggers/pepsico_material_approval_change.trigger.yml +3 -0
  187. package/package.json +1 -1
  188. 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: []
@@ -153,7 +153,7 @@ amis_schema: |-
153
153
  ]
154
154
  }
155
155
  },
156
- "visibleOn": "${(is_skip_approver == true || (kol_classification == 'Mid-tier'&& approval_status == true)) && ARRAYINCLUDES(global.user.roles, \"pepsico_spot_check\")}"
156
+ "visibleOn": "${(is_skip_approver == true || (kol_classification == 'Mid-tier'&& approval_status == true)) && ARRAYINCLUDES((curRoles || global.user.roles), \"pepsico_spot_check\")}"
157
157
  }
158
158
  ],
159
159
  "regions": [
@@ -3,6 +3,7 @@ amis:
3
3
  id: 'u:937b11b9daq1'
4
4
  type: tree-select
5
5
  multiple: false
6
+ joinValues: true
6
7
  enableNodePath: false
7
8
  hideRoot: true
8
9
  showIcon: true
@@ -77,7 +78,7 @@ amis:
77
78
  return {approve_role: ''}
78
79
  }
79
80
  messages: {}
80
- - ignoreError: false
81
+ - ignoreError: true
81
82
  actionType: setValue
82
83
  componentId: 'u:e524cfef769289'
83
84
  args:
@@ -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
@@ -3,6 +3,37 @@ columns:
3
3
  - field: name
4
4
  width: '400'
5
5
  wrap: true
6
+ amis:
7
+ tpl: "<a class='antd-Link' style='color:var(--primary);cursor:pointer'>${name}</a>"
8
+ onEvent:
9
+ click:
10
+ actions:
11
+ - actionType: drawer
12
+ drawer:
13
+ type: drawer
14
+ position: right
15
+ size: lg
16
+ width: "75%"
17
+ title: " "
18
+ headerClassName: hidden
19
+ bodyClassName: p-0 m-0 bg-gray-100
20
+ closeOnEsc: true
21
+ closeOnOutside: true
22
+ resizable: true
23
+ actions: []
24
+ className: steedos-record-detail-drawer app-popover
25
+ data:
26
+ recordId: "${_id}"
27
+ curUser: "${context.userId}"
28
+ curRoles: "${context.user.roles}"
29
+ body:
30
+ - type: service
31
+ className: h-full
32
+ messages: {}
33
+ schemaApi:
34
+ url: "/api/pageSchema/record?objectApiName=pepsico_material&formFactor=LARGE"
35
+ method: get
36
+ adaptor: "const rid = context.recordId || context._id; const schema = JSON.parse(payload.schema); schema.objectApiName='pepsico_material'; schema.appId='pepsico_content_review'; schema.recordId=rid; schema.data={objectName: 'pepsico_material', recordId: rid, appId: 'pepsico_content_review', _inDrawer: true, recordLoaded: false}; return {data: schema};"
6
37
  - field: pepsico_material_approval
7
38
  width: '400'
8
39
  wrap: true
@@ -3,6 +3,37 @@ columns:
3
3
  - field: name
4
4
  width: '400'
5
5
  wrap: true
6
+ amis:
7
+ tpl: "<a class='antd-Link' style='color:var(--primary);cursor:pointer'>${name}</a>"
8
+ onEvent:
9
+ click:
10
+ actions:
11
+ - actionType: drawer
12
+ drawer:
13
+ type: drawer
14
+ position: right
15
+ size: lg
16
+ width: "75%"
17
+ title: " "
18
+ headerClassName: hidden
19
+ bodyClassName: p-0 m-0 bg-gray-100
20
+ closeOnEsc: true
21
+ closeOnOutside: true
22
+ resizable: true
23
+ actions: []
24
+ className: steedos-record-detail-drawer app-popover
25
+ data:
26
+ recordId: "${_id}"
27
+ curUser: "${context.userId}"
28
+ curRoles: "${context.user.roles}"
29
+ body:
30
+ - type: service
31
+ className: h-full
32
+ messages: {}
33
+ schemaApi:
34
+ url: "/api/pageSchema/record?objectApiName=pepsico_material&formFactor=LARGE"
35
+ method: get
36
+ adaptor: "const rid = context.recordId || context._id; const schema = JSON.parse(payload.schema); schema.objectApiName='pepsico_material'; schema.appId='pepsico_content_review'; schema.recordId=rid; schema.data={objectName: 'pepsico_material', recordId: rid, appId: 'pepsico_content_review', _inDrawer: true, recordLoaded: false}; return {data: schema};"
6
37
  - field: pepsico_material_approval
7
38
  width: '400'
8
39
  wrap: true
@@ -3,6 +3,37 @@ columns:
3
3
  - field: name
4
4
  width: '400'
5
5
  wrap: true
6
+ amis:
7
+ tpl: "<a class='antd-Link' style='color:var(--primary);cursor:pointer'>${name}</a>"
8
+ onEvent:
9
+ click:
10
+ actions:
11
+ - actionType: drawer
12
+ drawer:
13
+ type: drawer
14
+ position: right
15
+ size: lg
16
+ width: "75%"
17
+ title: " "
18
+ headerClassName: hidden
19
+ bodyClassName: p-0 m-0 bg-gray-100
20
+ closeOnEsc: true
21
+ closeOnOutside: true
22
+ resizable: true
23
+ actions: []
24
+ className: steedos-record-detail-drawer app-popover
25
+ data:
26
+ recordId: "${_id}"
27
+ curUser: "${context.userId}"
28
+ curRoles: "${context.user.roles}"
29
+ body:
30
+ - type: service
31
+ className: h-full
32
+ messages: {}
33
+ schemaApi:
34
+ url: "/api/pageSchema/record?objectApiName=pepsico_material&formFactor=LARGE"
35
+ method: get
36
+ adaptor: "const rid = context.recordId || context._id; const schema = JSON.parse(payload.schema); schema.objectApiName='pepsico_material'; schema.appId='pepsico_content_review'; schema.recordId=rid; schema.data={objectName: 'pepsico_material', recordId: rid, appId: 'pepsico_content_review', _inDrawer: true, recordLoaded: false}; return {data: schema};"
6
37
  - field: pepsico_material_approval
7
38
  width: '400'
8
39
  wrap: true
@@ -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
+ }