@steedos-labs/content-compliance 0.8.22 → 0.8.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/lib/index.js +12 -7
- package/lib/index.js.map +1 -1
- package/lib/methods/AI.d.ts +2 -2
- package/lib/methods/AI.js +4 -3
- package/lib/methods/AI.js.map +1 -1
- package/lib/methods/__tests__/plsReview.test.js +179 -1
- package/lib/methods/__tests__/plsReview.test.js.map +1 -1
- package/lib/methods/__tests__/qcParallelReview.test.js +10 -3
- package/lib/methods/__tests__/qcParallelReview.test.js.map +1 -1
- package/lib/methods/__tests__/resubmissionAutoApprove.test.d.ts +1 -0
- package/lib/methods/__tests__/resubmissionAutoApprove.test.js +195 -0
- package/lib/methods/__tests__/resubmissionAutoApprove.test.js.map +1 -0
- package/lib/methods/approval_engine.d.ts +1 -0
- package/lib/methods/approval_engine.js +324 -281
- package/lib/methods/approval_engine.js.map +1 -1
- package/lib/methods/pls.d.ts +6 -2
- package/lib/methods/pls.js +53 -27
- package/lib/methods/pls.js.map +1 -1
- package/lib/pages/__tests__/plsReviewCardStyles.test.js +10 -6
- package/lib/pages/__tests__/plsReviewCardStyles.test.js.map +1 -1
- package/lib/pages/__tests__/plsReviewPage.test.js +43 -13
- package/lib/pages/__tests__/plsReviewPage.test.js.map +1 -1
- package/main/default/objects/pepsico_material/buttons/pepsico_upload_supplement.button.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/approved_flows.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/ec_has_detail_page.field.yml +3 -3
- package/main/default/objects/pepsico_material_approval/fields/ec_producers.field.yml +3 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_qc_production_email.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/has_nutrition_table.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/pls_km_files.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/pls_upload_files.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/listviews/collaboration.listview.yml +5 -0
- package/main/default/pages/pepsico_content_review_detail.page.amis.json +233 -109
- package/main/default/pages/pepsico_material_detail.page.amis.json +296 -230
- package/package.json +1 -1
- package/public/content-review/amis.css +20 -13
|
@@ -9,146 +9,270 @@
|
|
|
9
9
|
"showBackButton": "${!_inDrawer}",
|
|
10
10
|
"id": "u:80e7e5512598"
|
|
11
11
|
},
|
|
12
|
+
{
|
|
13
|
+
"type": "tpl",
|
|
14
|
+
"tpl": "<style>.pep-approval-wrap{position:relative}@media (min-width:640px){.pep-wrap-main{position:sticky;top:4rem;z-index:20}}.pep-approval-row > *{width:max(192px,calc((100% - 5 * 1.5rem) / 6))!important;flex:0 0 auto!important}.pep-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:5!important;width:24px!important;height:24px!important;min-width:0!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border-radius:9999px!important;box-shadow:0 1px 4px rgba(0,0,0,.25)!important;opacity:0;pointer-events:none}.pep-arrow[data-off='0']{opacity:1;pointer-events:auto}.pep-arrow-left{left:-10px!important}.pep-arrow-right{right:-10px!important}.pep-approval-wrap[data-pep-js='1'] .pep-approval-row{scrollbar-width:none}.pep-approval-wrap[data-pep-js='1'] .pep-approval-row::-webkit-scrollbar{height:0}</style>",
|
|
15
|
+
"inline": false,
|
|
16
|
+
"wrapperComponent": "",
|
|
17
|
+
"id": "u:pep_approval_row_style"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "custom",
|
|
21
|
+
"id": "u:pep_approval_arrow_ctl",
|
|
22
|
+
"html": "<span style=\"display:none\"></span>",
|
|
23
|
+
"onMount": "var upd=function(w){var row=w.querySelector('.pep-approval-row');var L=w.querySelector('.pep-arrow-left'), R=w.querySelector('.pep-arrow-right');if(!row||!L||!R){return;}var max=row.scrollWidth-row.clientWidth;var can=max>1;L.setAttribute('data-off',(!can||row.scrollLeft<=1)?'1':'0');R.setAttribute('data-off',(!can||row.scrollLeft>=max-1)?'1':'0');};var bind=function(){var ws=document.querySelectorAll('.pep-approval-wrap');for(var i=0;i<ws.length;i++){(function(w){if(w.__pepBound){upd(w);return;}var row=w.querySelector('.pep-approval-row');if(!row){return;}w.__pepBound=true;w.setAttribute('data-pep-js','1');var f=function(){upd(w);};row.addEventListener('scroll',f);window.addEventListener('resize',f);if(window.ResizeObserver){new ResizeObserver(f).observe(row);}f();})(ws[i]);}};bind();if(window.MutationObserver){var mo=new MutationObserver(function(){bind();});mo.observe(document.body,{childList:true,subtree:true});}window.__pepArrowsReady=true;"
|
|
24
|
+
},
|
|
12
25
|
{
|
|
13
26
|
"type": "container",
|
|
14
27
|
"body": [
|
|
15
28
|
{
|
|
16
|
-
"type": "
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
"type": "tpl",
|
|
35
|
-
"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\">SRA<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_presra || _display.pre_sra_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(pre_sra_materials_quantity, pre_sra_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(pre_sra_approval_status === 'pass', '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', pre_sra_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', pre_sra_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !pre_sra_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
36
|
-
"inline": true,
|
|
37
|
-
"wrapperComponent": "",
|
|
38
|
-
"id": "u:pre_sra_card",
|
|
39
|
-
"visibleOn": "${pre_sra_reviewer && approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
40
|
-
"editorState": "default"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"type": "tpl",
|
|
44
|
-
"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\">CA<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_preca || _display.pre_ca_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(pre_ca_materials_quantity, pre_ca_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(pre_ca_approval_status === 'pass', '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', pre_ca_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', pre_ca_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !pre_ca_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
45
|
-
"inline": true,
|
|
46
|
-
"wrapperComponent": "",
|
|
47
|
-
"id": "u:pre_ca_card",
|
|
48
|
-
"visibleOn": "${pre_ca_reviewer && approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
49
|
-
"editorState": "default"
|
|
29
|
+
"type": "button",
|
|
30
|
+
"label": "",
|
|
31
|
+
"icon": "fa-solid fa-angle-left",
|
|
32
|
+
"level": "link",
|
|
33
|
+
"tooltip": "向左滚动",
|
|
34
|
+
"className": "pep-arrow pep-arrow-left text-gray-500",
|
|
35
|
+
"id": "u:pre_scroll_left",
|
|
36
|
+
"onEvent": {
|
|
37
|
+
"click": {
|
|
38
|
+
"actions": [
|
|
39
|
+
{
|
|
40
|
+
"actionType": "custom",
|
|
41
|
+
"script": "var t = event && event.context && event.context.nativeEvent && event.context.nativeEvent.target; var w = t && t.closest ? t.closest('.pep-approval-wrap') : null; var el = w ? w.querySelector('.pep-approval-row') : document.querySelector('.pep-row-pre'); if (el) { el.scrollLeft = Math.max(0, Math.min(el.scrollWidth - el.clientWidth, el.scrollLeft + (-1) * Math.round(el.clientWidth * 0.8))); }"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
50
46
|
},
|
|
51
47
|
{
|
|
52
|
-
"type": "
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
"type": "container",
|
|
49
|
+
"body": [
|
|
50
|
+
{
|
|
51
|
+
"type": "tpl",
|
|
52
|
+
"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\">Legal<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=\"#\" title=\"${(_display.handler_prelegal || _display.pre_legal_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_prelegal || _display.pre_legal_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(pre_legal_materials_quantity, pre_legal_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(pre_legal_approval_status === 'pass', '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', pre_legal_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', pre_legal_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !pre_legal_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
53
|
+
"inline": true,
|
|
54
|
+
"wrapperComponent": "",
|
|
55
|
+
"id": "u:pre_legal_card",
|
|
56
|
+
"visibleOn": "${pre_legal_reviewer && approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
57
|
+
"editorState": "default",
|
|
58
|
+
"className": "w-48 flex-shrink-0"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"type": "tpl",
|
|
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\">NS<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=\"#\" title=\"${(_display.handler_prens || _display.pre_ns_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_prens || _display.pre_ns_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(pre_ns_materials_quantity, pre_ns_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(pre_ns_approval_status === 'pass', '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', pre_ns_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', pre_ns_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !pre_ns_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
63
|
+
"inline": true,
|
|
64
|
+
"wrapperComponent": "",
|
|
65
|
+
"id": "u:pre_ns_card",
|
|
66
|
+
"visibleOn": "${pre_ns_reviewer && approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
67
|
+
"editorState": "default",
|
|
68
|
+
"className": "w-48 flex-shrink-0"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "tpl",
|
|
72
|
+
"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\">SRA<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=\"#\" title=\"${(_display.handler_presra || _display.pre_sra_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_presra || _display.pre_sra_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(pre_sra_materials_quantity, pre_sra_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(pre_sra_approval_status === 'pass', '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', pre_sra_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', pre_sra_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !pre_sra_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
73
|
+
"inline": true,
|
|
74
|
+
"wrapperComponent": "",
|
|
75
|
+
"id": "u:pre_sra_card",
|
|
76
|
+
"visibleOn": "${pre_sra_reviewer && approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
77
|
+
"editorState": "default",
|
|
78
|
+
"className": "w-48 flex-shrink-0"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "tpl",
|
|
82
|
+
"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\">CA<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=\"#\" title=\"${(_display.handler_preca || _display.pre_ca_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_preca || _display.pre_ca_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(pre_ca_materials_quantity, pre_ca_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(pre_ca_approval_status === 'pass', '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', pre_ca_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', pre_ca_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !pre_ca_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
83
|
+
"inline": true,
|
|
84
|
+
"wrapperComponent": "",
|
|
85
|
+
"id": "u:pre_ca_card",
|
|
86
|
+
"visibleOn": "${pre_ca_reviewer && approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
87
|
+
"editorState": "default",
|
|
88
|
+
"className": "w-48 flex-shrink-0"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"type": "tpl",
|
|
92
|
+
"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=\"#\" title=\"${(_display.handler_preqc || _display.pre_qc_reviewer)|pick:label}\" 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>",
|
|
93
|
+
"inline": true,
|
|
94
|
+
"wrapperComponent": "",
|
|
95
|
+
"id": "u:pre_qc_card",
|
|
96
|
+
"visibleOn": "${pre_qc_reviewer && approval_type === 'departmental_review' && ec_has_detail_page === 'yes' && review_status != 'draft'}",
|
|
97
|
+
"editorState": "default",
|
|
98
|
+
"className": "w-48 flex-shrink-0"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"type": "tpl",
|
|
102
|
+
"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=\"#\" title=\"${(_display.handler_preguding || _display.pre_reviewer)|pick:label}\" 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>",
|
|
103
|
+
"inline": true,
|
|
104
|
+
"wrapperComponent": "",
|
|
105
|
+
"id": "u:pre_guding_card",
|
|
106
|
+
"visibleOn": "${pre_reviewer && approval_type === 'personnel_review' && review_status != 'draft'}",
|
|
107
|
+
"editorState": "default",
|
|
108
|
+
"className": "w-48 flex-shrink-0"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"size": "none",
|
|
112
|
+
"wrapperBody": false,
|
|
113
|
+
"id": "u:pre_review_row",
|
|
114
|
+
"isFixedHeight": false,
|
|
115
|
+
"isFixedWidth": false,
|
|
116
|
+
"className": "pep-approval-row pep-row-pre flex gap-6 overflow-x-auto flex-1 py-1"
|
|
59
117
|
},
|
|
60
118
|
{
|
|
61
|
-
"type": "
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
119
|
+
"type": "button",
|
|
120
|
+
"label": "",
|
|
121
|
+
"icon": "fa-solid fa-angle-right",
|
|
122
|
+
"level": "link",
|
|
123
|
+
"tooltip": "向右滚动",
|
|
124
|
+
"className": "pep-arrow pep-arrow-right text-gray-500",
|
|
125
|
+
"id": "u:pre_scroll_right",
|
|
126
|
+
"onEvent": {
|
|
127
|
+
"click": {
|
|
128
|
+
"actions": [
|
|
129
|
+
{
|
|
130
|
+
"actionType": "custom",
|
|
131
|
+
"script": "var t = event && event.context && event.context.nativeEvent && event.context.nativeEvent.target; var w = t && t.closest ? t.closest('.pep-approval-wrap') : null; var el = w ? w.querySelector('.pep-approval-row') : document.querySelector('.pep-row-pre'); if (el) { el.scrollLeft = Math.max(0, Math.min(el.scrollWidth - el.clientWidth, el.scrollLeft + (1) * Math.round(el.clientWidth * 0.8))); }"
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
68
136
|
}
|
|
69
137
|
],
|
|
70
138
|
"size": "none",
|
|
71
139
|
"wrapperBody": false,
|
|
72
|
-
"id": "u:
|
|
140
|
+
"id": "u:pre_row_wrap",
|
|
73
141
|
"isFixedHeight": false,
|
|
74
142
|
"isFixedWidth": false,
|
|
75
143
|
"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}",
|
|
76
|
-
"className": "mt-3
|
|
144
|
+
"className": "mt-3 sm:m-4 pep-approval-wrap pep-wrap-pre flex items-center"
|
|
77
145
|
},
|
|
78
146
|
{
|
|
79
147
|
"type": "container",
|
|
80
148
|
"body": [
|
|
81
149
|
{
|
|
82
|
-
"type": "
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
{
|
|
100
|
-
"type": "tpl",
|
|
101
|
-
"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\">SRA</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_sra || _display.sra_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(sra_materials_quantity, sra_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(sra_approval_status === 'pass' && sra_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', sra_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', sra_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !sra_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
102
|
-
"inline": true,
|
|
103
|
-
"wrapperComponent": "",
|
|
104
|
-
"id": "u:912d54a43263",
|
|
105
|
-
"visibleOn": "${approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
106
|
-
"editorState": "default"
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"type": "tpl",
|
|
110
|
-
"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\">CA</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_ca || _display.ca_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(ca_materials_quantity, ca_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(ca_approval_status === 'pass' && ca_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', ca_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', ca_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !ca_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
111
|
-
"inline": true,
|
|
112
|
-
"wrapperComponent": "",
|
|
113
|
-
"id": "u:3dd4613d67ae",
|
|
114
|
-
"visibleOn": "${approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
115
|
-
"editorState": "default"
|
|
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"
|
|
150
|
+
"type": "button",
|
|
151
|
+
"label": "",
|
|
152
|
+
"icon": "fa-solid fa-angle-left",
|
|
153
|
+
"level": "link",
|
|
154
|
+
"tooltip": "向左滚动",
|
|
155
|
+
"className": "pep-arrow pep-arrow-left text-gray-500",
|
|
156
|
+
"id": "u:main_scroll_left",
|
|
157
|
+
"onEvent": {
|
|
158
|
+
"click": {
|
|
159
|
+
"actions": [
|
|
160
|
+
{
|
|
161
|
+
"actionType": "custom",
|
|
162
|
+
"script": "var t = event && event.context && event.context.nativeEvent && event.context.nativeEvent.target; var w = t && t.closest ? t.closest('.pep-approval-wrap') : null; var el = w ? w.querySelector('.pep-approval-row') : document.querySelector('.pep-row-main'); if (el) { el.scrollLeft = Math.max(0, Math.min(el.scrollWidth - el.clientWidth, el.scrollLeft + (-1) * Math.round(el.clientWidth * 0.8))); }"
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
}
|
|
125
167
|
},
|
|
126
168
|
{
|
|
127
|
-
"type": "
|
|
128
|
-
"
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
169
|
+
"type": "container",
|
|
170
|
+
"body": [
|
|
171
|
+
{
|
|
172
|
+
"type": "tpl",
|
|
173
|
+
"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\">Legal</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=\"#\" title=\"${(_display.handler_legal || _display.legal_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_legal || _display.legal_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(legal_materials_quantity, legal_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(legal_approval_status === 'pass' && legal_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', legal_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', legal_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !legal_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
174
|
+
"inline": true,
|
|
175
|
+
"wrapperComponent": "",
|
|
176
|
+
"id": "u:1b743b2be88d",
|
|
177
|
+
"visibleOn": "${approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
178
|
+
"editorState": "default",
|
|
179
|
+
"className": "w-48 flex-shrink-0"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"type": "tpl",
|
|
183
|
+
"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\">NS</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=\"#\" title=\"${(_display.handler_ns || _display.ns_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_ns || _display.ns_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(ns_materials_quantity, ns_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(ns_approval_status === 'pass' && ns_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', ns_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', ns_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !ns_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
184
|
+
"inline": true,
|
|
185
|
+
"wrapperComponent": "",
|
|
186
|
+
"id": "u:65eac8efca60",
|
|
187
|
+
"visibleOn": "${approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
188
|
+
"editorState": "default",
|
|
189
|
+
"className": "w-48 flex-shrink-0"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"type": "tpl",
|
|
193
|
+
"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\">SRA</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=\"#\" title=\"${(_display.handler_sra || _display.sra_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_sra || _display.sra_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(sra_materials_quantity, sra_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(sra_approval_status === 'pass' && sra_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', sra_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', sra_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !sra_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
194
|
+
"inline": true,
|
|
195
|
+
"wrapperComponent": "",
|
|
196
|
+
"id": "u:912d54a43263",
|
|
197
|
+
"visibleOn": "${approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
198
|
+
"editorState": "default",
|
|
199
|
+
"className": "w-48 flex-shrink-0"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"type": "tpl",
|
|
203
|
+
"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\">CA</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=\"#\" title=\"${(_display.handler_ca || _display.ca_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_ca || _display.ca_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(ca_materials_quantity, ca_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(ca_approval_status === 'pass' && ca_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', ca_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', ca_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !ca_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
204
|
+
"inline": true,
|
|
205
|
+
"wrapperComponent": "",
|
|
206
|
+
"id": "u:3dd4613d67ae",
|
|
207
|
+
"visibleOn": "${approval_type === 'departmental_review' && review_status != 'draft'}",
|
|
208
|
+
"editorState": "default",
|
|
209
|
+
"className": "w-48 flex-shrink-0"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"type": "tpl",
|
|
213
|
+
"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=\"#\" title=\"${(_display.handler_qc || _display.qc_reviewer)|pick:label}\" 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>",
|
|
214
|
+
"inline": true,
|
|
215
|
+
"wrapperComponent": "",
|
|
216
|
+
"id": "u:qc_review_card",
|
|
217
|
+
"visibleOn": "${approval_type === 'departmental_review' && ec_has_detail_page === 'yes' && review_status != 'draft'}",
|
|
218
|
+
"editorState": "default",
|
|
219
|
+
"className": "w-48 flex-shrink-0"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"type": "tpl",
|
|
223
|
+
"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=\"#\" title=\"${(_display.handler_guding || _display.reviewer)|pick:label}\" 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>",
|
|
224
|
+
"inline": true,
|
|
225
|
+
"wrapperComponent": "",
|
|
226
|
+
"id": "u:ec5fe1e3ac08",
|
|
227
|
+
"visibleOn": "${approval_type === 'personnel_review' && review_status != 'draft'}",
|
|
228
|
+
"editorState": "default",
|
|
229
|
+
"className": "w-48 flex-shrink-0"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"type": "tpl",
|
|
233
|
+
"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\">Kids</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=\"#\" title=\"${(_display.handler_kids || _display.kids_reviewer)|pick:label}\" class=\"font-medium text-gray-900 hover:text-gray-600\">${(_display.handler_kids || _display.kids_reviewer)|pick:label}</a>\n <p class=\"text-gray-500 m-0 h-5\"><span class='mr-4'>${CONCATENATE(IF(kids_materials_quantity, kids_materials_quantity, 0), ' / ', materials_quantity)}</span>${IFS(kids_approval_status === 'pass' && kids_bypassed === true, '<i style=\"color: #02355a\" title=\"已跳过\"> Bypass</i>', kids_approval_status === true, '<i class=\"fa-solid fa-check\"></i>', kids_approval_status === false, '<i class=\"fa-solid fa-xmark\"></i>', !kids_approval_status, '')}</p>\n </div>\n </div>\n</li>",
|
|
234
|
+
"inline": true,
|
|
235
|
+
"wrapperComponent": "",
|
|
236
|
+
"id": "u:41fda075cc8b",
|
|
237
|
+
"visibleOn": "${child_files === 'yes' && review_status != 'draft'}",
|
|
238
|
+
"editorState": "default",
|
|
239
|
+
"className": "w-48 flex-shrink-0"
|
|
240
|
+
}
|
|
241
|
+
],
|
|
242
|
+
"size": "none",
|
|
243
|
+
"wrapperBody": false,
|
|
244
|
+
"id": "u:364038776887",
|
|
245
|
+
"isFixedHeight": false,
|
|
246
|
+
"isFixedWidth": false,
|
|
247
|
+
"className": "pep-approval-row pep-row-main flex gap-6 overflow-x-auto flex-1 py-1"
|
|
134
248
|
},
|
|
135
249
|
{
|
|
136
|
-
"type": "
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"
|
|
250
|
+
"type": "button",
|
|
251
|
+
"label": "",
|
|
252
|
+
"icon": "fa-solid fa-angle-right",
|
|
253
|
+
"level": "link",
|
|
254
|
+
"tooltip": "向右滚动",
|
|
255
|
+
"className": "pep-arrow pep-arrow-right text-gray-500",
|
|
256
|
+
"id": "u:main_scroll_right",
|
|
257
|
+
"onEvent": {
|
|
258
|
+
"click": {
|
|
259
|
+
"actions": [
|
|
260
|
+
{
|
|
261
|
+
"actionType": "custom",
|
|
262
|
+
"script": "var t = event && event.context && event.context.nativeEvent && event.context.nativeEvent.target; var w = t && t.closest ? t.closest('.pep-approval-wrap') : null; var el = w ? w.querySelector('.pep-approval-row') : document.querySelector('.pep-row-main'); if (el) { el.scrollLeft = Math.max(0, Math.min(el.scrollWidth - el.clientWidth, el.scrollLeft + (1) * Math.round(el.clientWidth * 0.8))); }"
|
|
263
|
+
}
|
|
264
|
+
]
|
|
265
|
+
}
|
|
266
|
+
}
|
|
143
267
|
}
|
|
144
268
|
],
|
|
145
269
|
"size": "none",
|
|
146
270
|
"wrapperBody": false,
|
|
147
|
-
"id": "u:
|
|
271
|
+
"id": "u:main_row_wrap",
|
|
148
272
|
"isFixedHeight": false,
|
|
149
273
|
"isFixedWidth": false,
|
|
150
274
|
"visibleOn": "${is_skip_approver != true}",
|
|
151
|
-
"className": "mt-3
|
|
275
|
+
"className": "mt-3 sm:m-4 pep-approval-wrap pep-wrap-main flex items-center"
|
|
152
276
|
},
|
|
153
277
|
{
|
|
154
278
|
"type": "tabs",
|