@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,25 @@
1
+ name: all
2
+ columns:
3
+ - field: approval
4
+ wrap: true
5
+ - field: approval_name
6
+ wrap: true
7
+ - field: scene
8
+ - field: material
9
+ wrap: true
10
+ - field: source
11
+ - field: before_pls_names
12
+ wrap: true
13
+ - field: after_pls_names
14
+ wrap: true
15
+ - field: operator
16
+ - field: created
17
+ filter_scope: space
18
+ filters: []
19
+ is_enable: true
20
+ label: 所有
21
+ shared: true
22
+ shared_to: space
23
+ sort:
24
+ - field_name: created
25
+ order: desc
@@ -0,0 +1,16 @@
1
+ name: pepsico_pls_change_log
2
+ custom: true
3
+ enable_api: true
4
+ enable_dataloader: true
5
+ enable_enhanced_lookup: true
6
+ enable_inline_edit: false
7
+ enable_lock_detail: true
8
+ enable_workflow: false
9
+ enable_trash: false
10
+ enable_audit: false
11
+ field_groups:
12
+ - group_name: 通用
13
+ icon: action_list_component
14
+ is_enable: true
15
+ label: PLS文件变更日志
16
+ version: 2
@@ -0,0 +1,15 @@
1
+ name: pepsico_pls_change_log.admin
2
+ allowCreate: true
3
+ allowCreateFiles: true
4
+ allowDelete: true
5
+ allowDeleteFiles: true
6
+ allowEdit: true
7
+ allowEditFiles: true
8
+ allowRead: true
9
+ allowReadFiles: true
10
+ modifyAllFiles: true
11
+ modifyAllRecords: true
12
+ permission_set_id: admin
13
+ viewAllFiles: true
14
+ viewAllRecords: true
15
+ field_permissions: []
@@ -0,0 +1,14 @@
1
+ name: pepsico_pls_change_log.user
2
+ allowCreate: false
3
+ allowCreateFiles: false
4
+ allowDelete: false
5
+ allowDeleteFiles: false
6
+ allowEdit: false
7
+ allowEditFiles: false
8
+ allowRead: true
9
+ allowReadFiles: true
10
+ modifyAllRecords: false
11
+ permission_set_id: user
12
+ viewAllFiles: true
13
+ viewAllRecords: true
14
+ field_permissions: []
@@ -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: 固定
14
16
  value: guding
15
17
  - label: NS预审
@@ -20,6 +22,8 @@ options:
20
22
  value: PreSRA
21
23
  - label: CA预审
22
24
  value: PreCA
25
+ - label: QC预审
26
+ value: PreQC
23
27
  - label: 固定预审
24
28
  value: Preguding
25
29
  - label: Kids
@@ -0,0 +1,10 @@
1
+ name: pre_qc_reviewer
2
+ filters: []
3
+ group: 预审
4
+ is_wide: false
5
+ label: QC预审人
6
+ multiple: false
7
+ reference_to: users
8
+ required: false
9
+ sort_no: 680
10
+ type: lookup
@@ -0,0 +1,14 @@
1
+ name: qc_assistance
2
+ amis:
3
+ id: 'u:reviewer_qc_assistance'
4
+ description: ''
5
+ filters: []
6
+ group: 通用
7
+ is_wide: false
8
+ label: QC协作人
9
+ multiple: true
10
+ reference_to: users
11
+ required: false
12
+ sort_no: 665
13
+ type: lookup
14
+ visible_on: ''
@@ -0,0 +1,12 @@
1
+ name: qc_reviewer
2
+ amis:
3
+ id: 'u:reviewer_qc'
4
+ filters: []
5
+ group: 通用
6
+ is_wide: false
7
+ label: QC审核人
8
+ multiple: true
9
+ reference_to: users
10
+ required: false
11
+ sort_no: 675
12
+ type: lookup
@@ -17,6 +17,9 @@ columns:
17
17
  - field: pre_sra_reviewer
18
18
  - field: ca_assistance
19
19
  - field: ca_reviewer
20
+ - field: qc_reviewer
21
+ - field: qc_assistance
22
+ - field: pre_qc_reviewer
20
23
  - field: pre_ca_reviewer
21
24
  - field: assistance
22
25
  width: '250'
@@ -33,6 +36,7 @@ searchable_fields:
33
36
  - field: legal_reviewer
34
37
  - field: sra_reviewer
35
38
  - field: ca_reviewer
39
+ - field: qc_reviewer
36
40
  - field: reviewer
37
41
  shared_to: space
38
42
  sort:
@@ -48,6 +48,15 @@
48
48
  "visibleOn": "${pre_ca_reviewer && approval_type === 'departmental_review' && review_status != 'draft'}",
49
49
  "editorState": "default"
50
50
  },
51
+ {
52
+ "type": "tpl",
53
+ "tpl": "<li class=\"col-span-1 flex rounded-md shadow-sm\">\n <div class=\"flex w-16 shrink-0 items-center justify-center rounded-l-md text-xs font-medium text-white\" style=\"background-color: #155798\">QC<br/>预审</div>\n <div class=\"flex flex-1 items-center justify-between truncate rounded-r-md border-b border-r border-t border-gray-200 bg-white\">\n <div class=\"flex-1 truncate px-4 py-2 text-sm\">\n <a href=\"#\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_preqc || _display.pre_qc_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(pre_qc_materials_quantity, pre_qc_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(pre_qc_approval_status === 'pass', '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', pre_qc_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', pre_qc_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !pre_qc_approval_status, '')}</p>\n </div>\n </div>\n</li>",
54
+ "inline": true,
55
+ "wrapperComponent": "",
56
+ "id": "u:pre_qc_card",
57
+ "visibleOn": "${pre_qc_reviewer && approval_type === 'departmental_review' && ec_has_detail_page === 'yes' && review_status != 'draft'}",
58
+ "editorState": "default"
59
+ },
51
60
  {
52
61
  "type": "tpl",
53
62
  "tpl": "<li class=\"col-span-1 flex rounded-md shadow-sm\">\n <div class=\"flex w-16 shrink-0 items-center justify-center rounded-l-md text-xs font-medium text-white\" style=\"background-color: #155798\">固定<br/>预审</div>\n <div class=\"flex flex-1 items-center justify-between truncate rounded-r-md border-b border-r border-t border-gray-200 bg-white\">\n <div class=\"flex-1 truncate px-4 py-2 text-sm\">\n <a href=\"#\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_preguding || _display.pre_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(pre_materials_quantity, pre_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(pre_approval_status === 'pass', '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', pre_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', pre_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !pre_approval_status, '')}</p>\n </div>\n </div>\n</li>",
@@ -63,7 +72,7 @@
63
72
  "id": "u:pre_review_row",
64
73
  "isFixedHeight": false,
65
74
  "isFixedWidth": false,
66
- "visibleOn": "${(pre_ns_reviewer || pre_legal_reviewer || pre_sra_reviewer || pre_ca_reviewer || pre_reviewer) && review_status != 'draft' && is_skip_approver != true}",
75
+ "visibleOn": "${(pre_ns_reviewer || pre_legal_reviewer || pre_sra_reviewer || pre_ca_reviewer || (pre_qc_reviewer && ec_has_detail_page === 'yes') || pre_reviewer) && review_status != 'draft' && is_skip_approver != true}",
67
76
  "className": "mt-3 grid grid-cols-1 gap-5 sm:grid-cols-2 sm:gap-6 lg:grid-cols-5 sm:m-4"
68
77
  },
69
78
  {
@@ -105,6 +114,15 @@
105
114
  "visibleOn": "${approval_type === 'departmental_review' && review_status != 'draft'}",
106
115
  "editorState": "default"
107
116
  },
117
+ {
118
+ "type": "tpl",
119
+ "tpl": "<li class=\"col-span-1 flex rounded-md shadow-sm\">\n <div class=\"flex w-16 shrink-0 items-center justify-center rounded-l-md bg-private text-base font-medium text-white\">QC</div>\n <div class=\"flex flex-1 items-center justify-between truncate rounded-r-md border-b border-r border-t border-gray-200 bg-white\">\n <div class=\"flex-1 truncate px-4 py-2 text-sm\">\n <a href=\"#\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_qc || _display.qc_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(qc_materials_quantity, qc_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(qc_approval_status === 'pass' && qc_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', qc_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', qc_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !qc_approval_status, '')}</p>\n </div>\n </div>\n</li>",
120
+ "inline": true,
121
+ "wrapperComponent": "",
122
+ "id": "u:qc_review_card",
123
+ "visibleOn": "${approval_type === 'departmental_review' && ec_has_detail_page === 'yes' && review_status != 'draft'}",
124
+ "editorState": "default"
125
+ },
108
126
  {
109
127
  "type": "tpl",
110
128
  "tpl": "<li class=\"col-span-1 flex rounded-md shadow-sm\">\n <div class=\"flex w-16 shrink-0 items-center justify-center rounded-l-md bg-private text-base font-medium text-white\">固定</div>\n <div class=\"flex flex-1 items-center justify-between truncate rounded-r-md border-b border-r border-t border-gray-200 bg-white\">\n <div class=\"flex-1 truncate px-4 py-2 text-sm\">\n <a href=\"#\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_guding || _display.reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(approval_materials_quantity, approval_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(approval_status === 'pass' && approval_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', approval_status === true, '<i class=\"fa-solid fa-check\"></i>', approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !approval_status, '')}</p>\n </div>\n </div>\n</li>",