@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.
- package/dist/index.js +1 -1
- package/lib/actions/bypassApproval.js +18 -0
- package/lib/actions/bypassApproval.js.map +1 -1
- package/lib/actions/bypassMaterial.js +12 -0
- package/lib/actions/bypassMaterial.js.map +1 -1
- package/lib/index.js +128 -0
- package/lib/index.js.map +1 -1
- package/lib/methods/AI.d.ts +6 -0
- package/lib/methods/AI.js +116 -15
- package/lib/methods/AI.js.map +1 -1
- package/lib/methods/__tests__/plsReview.test.d.ts +1 -0
- package/lib/methods/__tests__/plsReview.test.js +428 -0
- package/lib/methods/__tests__/plsReview.test.js.map +1 -0
- package/lib/methods/__tests__/postponeReview.test.js +21 -0
- package/lib/methods/__tests__/postponeReview.test.js.map +1 -1
- package/lib/methods/__tests__/qcParallelReview.test.d.ts +1 -0
- package/lib/methods/__tests__/qcParallelReview.test.js +53 -0
- package/lib/methods/__tests__/qcParallelReview.test.js.map +1 -0
- package/lib/methods/__tests__/qcPreReview.test.d.ts +1 -0
- package/lib/methods/__tests__/qcPreReview.test.js +65 -0
- package/lib/methods/__tests__/qcPreReview.test.js.map +1 -0
- package/lib/methods/approval_engine.d.ts +4 -0
- package/lib/methods/approval_engine.js +388 -221
- package/lib/methods/approval_engine.js.map +1 -1
- package/lib/methods/consts.d.ts +35 -0
- package/lib/methods/consts.js +2 -0
- package/lib/methods/consts.js.map +1 -1
- package/lib/methods/material.js +13 -0
- package/lib/methods/material.js.map +1 -1
- package/lib/methods/pls.d.ts +31 -0
- package/lib/methods/pls.js +429 -130
- package/lib/methods/pls.js.map +1 -1
- package/lib/pages/__tests__/aiReviewCardStyles.test.d.ts +1 -0
- package/lib/pages/__tests__/aiReviewCardStyles.test.js +29 -0
- package/lib/pages/__tests__/aiReviewCardStyles.test.js.map +1 -0
- package/lib/pages/__tests__/aiReviewChineseColons.test.d.ts +1 -0
- package/lib/pages/__tests__/aiReviewChineseColons.test.js +132 -0
- package/lib/pages/__tests__/aiReviewChineseColons.test.js.map +1 -0
- package/lib/pages/__tests__/clientCssCacheVersion.test.d.ts +1 -0
- package/lib/pages/__tests__/clientCssCacheVersion.test.js +31 -0
- package/lib/pages/__tests__/clientCssCacheVersion.test.js.map +1 -0
- package/lib/pages/__tests__/materialDetailAIReviewFilter.test.d.ts +1 -0
- package/lib/pages/__tests__/materialDetailAIReviewFilter.test.js +51 -0
- package/lib/pages/__tests__/materialDetailAIReviewFilter.test.js.map +1 -0
- package/lib/pages/__tests__/plsReviewCardStyles.test.d.ts +1 -0
- package/lib/pages/__tests__/plsReviewCardStyles.test.js +98 -0
- package/lib/pages/__tests__/plsReviewCardStyles.test.js.map +1 -0
- package/lib/pages/__tests__/plsReviewPage.test.d.ts +1 -0
- package/lib/pages/__tests__/plsReviewPage.test.js +249 -0
- package/lib/pages/__tests__/plsReviewPage.test.js.map +1 -0
- package/main/default/applications/pepsico_content_setting.app.yml +4 -0
- package/main/default/client/pepsico_content.client.js +8 -3
- package/main/default/objects/ai_process_detail/ai_process_detail.object.yml +1 -0
- package/main/default/objects/ai_process_detail/fields/pls_extracted_data.field.yml +9 -0
- package/main/default/objects/ai_process_detail/fields/pls_file_ids.field.yml +9 -0
- package/main/default/objects/ai_process_detail/fields/pls_product_name_matched.field.yml +9 -0
- package/main/default/objects/ai_process_detail/fields/pls_rule_unique_matched.field.yml +9 -0
- package/main/default/objects/pepesio_ch__c/fields/company_id.field.yml +14 -0
- package/main/default/objects/pepesio_ch__c/fields/company_ids.field.yml +16 -0
- package/main/default/objects/pepesio_ch__c/fields/created.field.yml +10 -0
- package/main/default/objects/pepesio_ch__c/fields/created_by.field.yml +9 -0
- package/main/default/objects/pepesio_ch__c/fields/file_name.field.yml +8 -0
- package/main/default/objects/pepesio_ch__c/fields/instance_state.field.yml +25 -0
- package/main/default/objects/pepesio_ch__c/fields/locked.field.yml +12 -0
- package/main/default/objects/pepesio_ch__c/fields/material_type.field.yml +10 -0
- package/main/default/objects/pepesio_ch__c/fields/media_type.field.yml +13 -0
- package/main/default/objects/pepesio_ch__c/fields/modified.field.yml +10 -0
- package/main/default/objects/pepesio_ch__c/fields/modified_by.field.yml +9 -0
- package/main/default/objects/pepesio_ch__c/fields/name.field.yml +11 -0
- package/main/default/objects/pepesio_ch__c/fields/owner.field.yml +12 -0
- package/main/default/objects/pepesio_ch__c/fields/product.field.yml +10 -0
- package/main/default/objects/pepesio_ch__c/fields/time.field.yml +8 -0
- package/main/default/objects/pepesio_ch__c/fields/type.field.yml +22 -0
- package/main/default/objects/pepesio_ch__c/listviews/all.listview.yml +21 -0
- package/main/default/objects/pepesio_ch__c/listviews/recent.listview.yml +11 -0
- package/main/default/objects/pepesio_ch__c/pepesio_ch__c.object.yml +31 -0
- package/main/default/objects/pepesio_ch__c/permissions/admin.permission.yml +9 -0
- package/main/default/objects/pepesio_ch__c/permissions/user.permission.yml +9 -0
- package/main/default/objects/pepsico_ai_review/buttons/pepsico_adopt.button.yml +3 -3
- package/main/default/objects/pepsico_ai_review/fields/is_active.field.yml +7 -0
- package/main/default/objects/pepsico_ai_review/fields/pepsico_material_approval.field.yml +7 -0
- package/main/default/objects/pepsico_ai_review/fields/pls_file.field.yml +7 -0
- package/main/default/objects/pepsico_ai_review/fields/review_type.field.yml +12 -0
- package/main/default/objects/pepsico_approval_process/fields/type.field.yml +5 -1
- package/main/default/objects/pepsico_km_pls/fields/allergen_statement.field.yml +9 -0
- package/main/default/objects/pepsico_km_pls/fields/ingredient_list.field.yml +9 -0
- package/main/default/objects/pepsico_km_pls/listviews/all.listview.yml +6 -0
- package/main/default/objects/pepsico_km_pls_file/listviews/lookup.listview.yml +19 -0
- package/main/default/objects/pepsico_km_pls_file/permissions/user.permission.yml +2 -2
- package/main/default/objects/pepsico_material/buttons/pepsico_material_spot_check.button.yml +1 -1
- package/main/default/objects/pepsico_material/fields/kol_classification.field.yml +2 -1
- package/main/default/objects/pepsico_material/fields/pre_qc_approval_status.field.yml +16 -0
- package/main/default/objects/pepsico_material/fields/qc_approval_status.field.yml +16 -0
- package/main/default/objects/pepsico_material/fields/qc_bypass_reason.field.yml +11 -0
- package/main/default/objects/pepsico_material/fields/qc_bypassed.field.yml +12 -0
- package/main/default/objects/pepsico_material/fields/qc_bypassed_at.field.yml +11 -0
- package/main/default/objects/pepsico_material/fields/qc_bypassed_by.field.yml +12 -0
- package/main/default/objects/pepsico_material/listviews/all.listview.yml +2 -0
- package/main/default/objects/pepsico_material/listviews/dco_spot_check.listview.yml +31 -0
- package/main/default/objects/pepsico_material/listviews/kol_midtier.listview.yml +31 -0
- package/main/default/objects/pepsico_material/listviews/spot_check.listview.yml +31 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_modify_pls.button.yml +70 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +62 -37
- package/main/default/objects/pepsico_material_approval/buttons/pre_review_approve.button.yml +1 -1
- package/main/default/objects/pepsico_material_approval/buttons/pre_review_reject.button.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/approved_flows.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/assistance.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/ca_assistance.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/classification.field.yml +26 -11
- package/main/default/objects/pepsico_material_approval/fields/ec_check_food_name.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_check_ingredients.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_check_net_content.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_address.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_name.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_check_shelf_life.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_check_standard_code.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_check_storage_condition.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_has_detail_page.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.field.yml +5 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.producer_address.field.yml +7 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.producer_name.field.yml +7 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_producers.field.yml +16 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_qc_production_email.field.yml +16 -0
- package/main/default/objects/pepsico_material_approval/fields/ec_related_approval.field.yml +9 -0
- package/main/default/objects/pepsico_material_approval/fields/followers.field.yml +4 -4
- package/main/default/objects/pepsico_material_approval/fields/form_version.field.yml +10 -0
- package/main/default/objects/pepsico_material_approval/fields/handler_preca.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/handler_preguding.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/handler_prens.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/handler_preqc.field.yml +22 -0
- package/main/default/objects/pepsico_material_approval/fields/handler_presra.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/handler_qc.field.yml +20 -0
- package/main/default/objects/pepsico_material_approval/fields/has_nutrition_table.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/internal_collaborator.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/internal_collaborator_edit.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/kol_classification.field.yml +2 -1
- package/main/default/objects/pepsico_material_approval/fields/legal_assistance.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/ns_assistance.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/pls_file.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pls_km_files.field.yml +28 -0
- package/main/default/objects/pepsico_material_approval/fields/pls_upload_files.field.yml +21 -0
- package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_qc_approval_status.field.yml +17 -0
- package/main/default/objects/pepsico_material_approval/fields/pre_qc_materials_quantity.field.yml +21 -0
- package/main/default/objects/pepsico_material_approval/fields/pre_qc_reviewer.field.yml +19 -0
- package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/product.field.yml +25 -10
- package/main/default/objects/pepsico_material_approval/fields/qc_approval_status.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/qc_assistance.field.yml +22 -0
- package/main/default/objects/pepsico_material_approval/fields/qc_bypass_reason.field.yml +8 -0
- package/main/default/objects/pepsico_material_approval/fields/qc_bypassed.field.yml +12 -0
- package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_at.field.yml +8 -0
- package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_by.field.yml +8 -0
- package/main/default/objects/pepsico_material_approval/fields/qc_materials_quantity.field.yml +21 -0
- package/main/default/objects/pepsico_material_approval/fields/qc_reviewer.field.yml +22 -0
- package/main/default/objects/pepsico_material_approval/fields/social_media.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/sra_assistance.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/listviews/all.listview.yml +2 -0
- package/main/default/objects/pepsico_material_approval/pepsico_material_approval.object.yml +4 -0
- package/main/default/objects/pepsico_pls_change_log/fields/after_pls_files.field.yml +9 -0
- package/main/default/objects/pepsico_pls_change_log/fields/after_pls_names.field.yml +7 -0
- package/main/default/objects/pepsico_pls_change_log/fields/approval.field.yml +7 -0
- package/main/default/objects/pepsico_pls_change_log/fields/approval_name.field.yml +6 -0
- package/main/default/objects/pepsico_pls_change_log/fields/before_pls_files.field.yml +9 -0
- package/main/default/objects/pepsico_pls_change_log/fields/before_pls_names.field.yml +7 -0
- package/main/default/objects/pepsico_pls_change_log/fields/material.field.yml +8 -0
- package/main/default/objects/pepsico_pls_change_log/fields/operator.field.yml +7 -0
- package/main/default/objects/pepsico_pls_change_log/fields/scene.field.yml +13 -0
- package/main/default/objects/pepsico_pls_change_log/fields/source.field.yml +14 -0
- package/main/default/objects/pepsico_pls_change_log/fields/space.field.yml +6 -0
- package/main/default/objects/pepsico_pls_change_log/listviews/all.listview.yml +25 -0
- package/main/default/objects/pepsico_pls_change_log/pepsico_pls_change_log.object.yml +16 -0
- package/main/default/objects/pepsico_pls_change_log/permissions/admin.permission.yml +15 -0
- package/main/default/objects/pepsico_pls_change_log/permissions/user.permission.yml +14 -0
- package/main/default/objects/pepsico_review_postpone/fields/department_type.field.yml +4 -0
- package/main/default/objects/pepsico_reviewer/fields/pre_qc_reviewer.field.yml +10 -0
- package/main/default/objects/pepsico_reviewer/fields/qc_assistance.field.yml +14 -0
- package/main/default/objects/pepsico_reviewer/fields/qc_reviewer.field.yml +12 -0
- package/main/default/objects/pepsico_reviewer/listviews/all.listview.yml +4 -0
- package/main/default/pages/pepsico_content_review_detail.page.amis.json +19 -1
- package/main/default/pages/pepsico_material_detail.page.amis.json +623 -41
- package/main/default/pages/pepsico_material_detail_mobile.page.amis.json +307 -3
- package/main/default/tabs/object_pepsico_pls_change_log.tab.yml +14 -0
- package/main/default/triggers/pepsico_material_approval_change.trigger.yml +3 -0
- package/package.json +1 -1
- package/public/content-review/amis.css +338 -8
|
@@ -152,11 +152,60 @@
|
|
|
152
152
|
overflow: auto;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
+
/* 「违规画面」缩略图的边长。图片、无图卡片的灰色占位框、放大热区、正文左内边距
|
|
156
|
+
都取这个值,调整尺寸只改这一处。 */
|
|
157
|
+
.pepsico_ai_review-card{
|
|
158
|
+
--pepsico-ai-thumb-size: 9rem;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.pepsico_ai_review-card .antd-Card-multiMedia--left .antd-Card-multiMedia-img{
|
|
162
|
+
width: var(--pepsico-ai-thumb-size);
|
|
163
|
+
height: var(--pepsico-ai-thumb-size);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* 「采纳」与意见内容同排、垂直居中,不再单独占一行。
|
|
167
|
+
有图卡片的正文/操作区在 .antd-Card-multiMedia-flex 这一列里,
|
|
168
|
+
无图卡片则直接挂在 .antd-Card 这一列上,两种都要改成行排列。 */
|
|
169
|
+
.pepsico_ai_review-card .antd-Card,
|
|
170
|
+
.pepsico_ai_review-card .antd-Card-multiMedia--left .antd-Card-multiMedia-flex{
|
|
171
|
+
flex-direction: row;
|
|
172
|
+
align-items: center;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.pepsico_ai_review-card .antd-Card-body{
|
|
176
|
+
flex: 1 1 auto;
|
|
177
|
+
min-width: 0;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/* 卡片高度由缩略图或占位框决定时,让较短的正文在可用高度内垂直居中,
|
|
181
|
+
保持上、下留白一致。 */
|
|
155
182
|
.pepsico_ai_review-card-body{
|
|
156
|
-
|
|
183
|
+
display: flex;
|
|
184
|
+
flex-direction: column;
|
|
185
|
+
justify-content: center;
|
|
157
186
|
}
|
|
158
187
|
|
|
159
|
-
.pepsico_ai_review-card .antd-Card-
|
|
188
|
+
.pepsico_ai_review-card .antd-Card-footer-wrapper{
|
|
189
|
+
flex: 0 0 auto;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/* 没有「违规画面」的 AI 意见不会生成 .antd-Card-multiMedia--left 容器,
|
|
193
|
+
amis 只在有多媒体的卡片上重置操作区,无图卡片会退回默认样式:
|
|
194
|
+
整行铺满、顶部带分隔线、文字居中的纯文本链接。
|
|
195
|
+
这里把 amis 给有图卡片的那几条重置补给所有 AI 意见卡片,
|
|
196
|
+
保证有图/无图卡片的「采纳」按钮一致。 */
|
|
197
|
+
.pepsico_ai_review-card .antd-Card-footer-wrapper .antd-Card-actions-wrapper .antd-Card-actions{
|
|
198
|
+
margin-left: unset;
|
|
199
|
+
border: none;
|
|
200
|
+
width: unset;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.pepsico_ai_review-card .antd-Card-footer-wrapper .antd-Card-actions-wrapper .antd-Card-actions > a{
|
|
204
|
+
border: none;
|
|
205
|
+
flex-grow: 0;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.pepsico_ai_review-card .antd-Card-footer-wrapper .antd-Card-actions-wrapper .pepsico-adopt{
|
|
160
209
|
border-width: 1px;
|
|
161
210
|
border-style: solid;
|
|
162
211
|
font-size: var(--button-size-default-fontSize);
|
|
@@ -164,7 +213,6 @@
|
|
|
164
213
|
border-radius: var(--button-size-default-top-left-border-radius) var(--button-size-default-top-right-border-radius) var(--button-size-default-bottom-right-border-radius) var(--button-size-default-bottom-left-border-radius);
|
|
165
214
|
padding: var(--button-size-default-paddingTop) var(--button-size-default-paddingRight) var(--button-size-default-paddingBottom) var(--button-size-default-paddingLeft);
|
|
166
215
|
margin: var(--button-size-default-marginTop) var(--button-size-default-marginRight) var(--button-size-default-marginBottom) var(--button-size-default-marginLeft);
|
|
167
|
-
margin-bottom: 0.25rem;
|
|
168
216
|
margin-right: 1rem;
|
|
169
217
|
color: #fff;
|
|
170
218
|
background: var(--button-default-default-bg-color);
|
|
@@ -177,21 +225,92 @@
|
|
|
177
225
|
|
|
178
226
|
|
|
179
227
|
.pepsico_ai_review-card .antd-Card-fieldValue .antd-Image-thumb{
|
|
180
|
-
width:
|
|
181
|
-
height:
|
|
228
|
+
width: var(--pepsico-ai-thumb-size) !important;
|
|
229
|
+
height: var(--pepsico-ai-thumb-size) !important;
|
|
182
230
|
}
|
|
183
231
|
|
|
184
232
|
.pepsico_ai_review-card .antd-Card-fieldValue .antd-Image-thumb img{
|
|
185
233
|
display: none !important;
|
|
186
234
|
}
|
|
187
235
|
|
|
236
|
+
/* 正文里的第一个字段是「违规画面」的一份副本:图片本身被上面的规则隐藏,
|
|
237
|
+
留下的空盒子盖在真实图片上,只为提供 amis 的「查看大图」蒙层热区。
|
|
238
|
+
无图卡片上 amis 渲染的是占位图、不会生成蒙层,这份副本没有用处,
|
|
239
|
+
还会盖住文字挡住 tooltip,直接隐藏。 */
|
|
188
240
|
.pepsico_ai_review-card-body .antd-Card-field:first-of-type{
|
|
241
|
+
display: none;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/* position: 给下面的热区做定位参照。
|
|
245
|
+
flex: .antd-Card 改成行排列后,多媒体容器成了 flex item,默认按内容宽度收缩,
|
|
246
|
+
会把「采纳」拽到文字右边而不是卡片最右侧,这里让它撑满整张卡片。 */
|
|
247
|
+
.pepsico_ai_review-card .antd-Card-multiMedia--left{
|
|
248
|
+
position: relative;
|
|
249
|
+
flex: 1 1 auto;
|
|
250
|
+
min-width: 0;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* 有图卡片才需要热区。原来用 left:10px + 静态 top 定位,与图片实际的
|
|
254
|
+
margin(--gap-md) 和 .antd-Card-multiMedia--left 的垂直居中都对不上,
|
|
255
|
+
hover 时的黑色蒙层会错位。改为相对多媒体容器定位,与图片同边距、同轴居中。 */
|
|
256
|
+
.pepsico_ai_review-card .antd-Card-multiMedia--left .pepsico_ai_review-card-body .antd-Card-field:first-of-type{
|
|
257
|
+
display: block;
|
|
258
|
+
position: absolute;
|
|
259
|
+
left: var(--gap-md);
|
|
260
|
+
top: 50%;
|
|
261
|
+
transform: translateY(-50%);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/* 无「违规画面」时 amis 不会渲染 .antd-Card-multiMedia--left,正文直接挂在
|
|
265
|
+
.antd-Card 下 —— 用这个结构差异认出无图卡片,给它补一个同尺寸同位置的灰色
|
|
266
|
+
占位框,让有图/无图卡片的正文起点和卡片高度保持一致。
|
|
267
|
+
占位框用 ::before 绝对定位,不占文档流,所以正文要留出等宽的左内边距、
|
|
268
|
+
卡片要保证最小高度。 */
|
|
269
|
+
.pepsico_ai_review-card .antd-Card > .pepsico_ai_review-card-body{
|
|
270
|
+
padding-left: calc(var(--pepsico-ai-thumb-size) + var(--gap-md) * 2);
|
|
271
|
+
min-height: calc(var(--pepsico-ai-thumb-size) + var(--gap-md) * 2);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.pepsico_ai_review-card .antd-Card > .pepsico_ai_review-card-body::before{
|
|
275
|
+
content: "";
|
|
189
276
|
position: absolute;
|
|
190
|
-
left:
|
|
277
|
+
left: var(--gap-md);
|
|
278
|
+
top: 50%;
|
|
279
|
+
transform: translateY(-50%);
|
|
280
|
+
width: var(--pepsico-ai-thumb-size);
|
|
281
|
+
height: var(--pepsico-ai-thumb-size);
|
|
282
|
+
box-sizing: border-box;
|
|
283
|
+
border: var(--Card-borderWidth) solid var(--Card-borderColor);
|
|
284
|
+
border-radius: var(--Card-borderRadius);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/* amis 默认给缩略图外层留了 4px 内边距、且是 inline-block(底部还有基线间隙),
|
|
288
|
+
热区盒子会比图片大一圈、往上偏。去掉后热区与缩略图严丝合缝。 */
|
|
289
|
+
.pepsico_ai_review-card-body .antd-Card-field:first-of-type .antd-ImageField,
|
|
290
|
+
.pepsico_ai_review-card-body .antd-Card-field:first-of-type .antd-Image{
|
|
291
|
+
display: block;
|
|
292
|
+
padding: 0;
|
|
191
293
|
}
|
|
192
294
|
|
|
193
|
-
|
|
194
|
-
|
|
295
|
+
/* tpl 渲染的是内联的 <span class="TplField"><span>…</span></span>,
|
|
296
|
+
两层都置为块级:外层让字段间距(mb-1)生效,内层承载下面的挂起缩进。 */
|
|
297
|
+
.pepsico_ai_review-card-body .antd-TplField{
|
|
298
|
+
display: block;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/* 提醒原因等长文本完整显示、不截断(配合字段改用 tpl 去掉了 hover tooltip)。
|
|
302
|
+
原来这里是 white-space:nowrap,配合 .antd-Card-fieldValue 的
|
|
303
|
+
overflow:hidden + text-overflow:ellipsis,长文案只能显示一行。 */
|
|
304
|
+
.pepsico_ai_review-card-body .antd-TplField > span{
|
|
305
|
+
display: block;
|
|
306
|
+
white-space: normal;
|
|
307
|
+
word-break: break-word;
|
|
308
|
+
/* 挂起缩进:负 text-indent 只作用于首行,把首行拉回块起点,
|
|
309
|
+
padding-left 把整块右推,于是折行后的各行与首行正文左对齐、
|
|
310
|
+
不会顶到「提醒原因: 」标签下面。
|
|
311
|
+
三个标签都是 4 个汉字 + ": ",实测等宽 4.612em,故取同一个值。 */
|
|
312
|
+
padding-left: 4.612em;
|
|
313
|
+
text-indent: -4.612em;
|
|
195
314
|
}
|
|
196
315
|
|
|
197
316
|
.steedos-object-table.steedos-crud-mode-cards .antd-Crud .antd-Cards .antd-Cards-body .antd-Card .antd-Card-body .antd-Card-field .antd-Card-fieldValue .antd-TplField{
|
|
@@ -236,6 +355,12 @@
|
|
|
236
355
|
margin-right: 0px !important;
|
|
237
356
|
}
|
|
238
357
|
|
|
358
|
+
/* 卡片网格会占满固定高度的列表区域。记录较少时,flex 默认的 align-content: stretch
|
|
359
|
+
会把剩余高度分摊给每一行;从顶部紧凑排列,把剩余空间留在列表底部。 */
|
|
360
|
+
.steedos-record-related-list .pepsico_ai_review-card .antd-Cards .antd-Cards-body.antd-Grid{
|
|
361
|
+
align-content: flex-start;
|
|
362
|
+
}
|
|
363
|
+
|
|
239
364
|
|
|
240
365
|
.steedos-record-related-list .pepsico_ai_review-card .antd-Cards .antd-Cards-body .antd-Grid-col--sm12{
|
|
241
366
|
padding: 0px;
|
|
@@ -306,3 +431,208 @@ tbody .color-priority-danger *{
|
|
|
306
431
|
tbody .color-priority-postponed *{
|
|
307
432
|
color: #999 !important;
|
|
308
433
|
}
|
|
434
|
+
|
|
435
|
+
/* PLS 意见按关联文件分组,卡片布局与 AI 审核意见保持一致。 */
|
|
436
|
+
.pepsico-pls-review-group {
|
|
437
|
+
border: 1px solid #d8e2ea;
|
|
438
|
+
border-radius: 6px;
|
|
439
|
+
overflow: hidden;
|
|
440
|
+
background: #fff;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
.pepsico-pls-review-group-header {
|
|
444
|
+
min-height: 3rem;
|
|
445
|
+
padding: 0.625rem 1rem;
|
|
446
|
+
background: #f3f7fa;
|
|
447
|
+
color: #123f5a;
|
|
448
|
+
font-weight: 600;
|
|
449
|
+
border-bottom: 1px solid #d8e2ea;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.pepsico-pls-review-group-header > .antd-Container-body {
|
|
453
|
+
display: flex;
|
|
454
|
+
align-items: center;
|
|
455
|
+
justify-content: space-between;
|
|
456
|
+
gap: 1rem;
|
|
457
|
+
width: 100%;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
.pepsico-pls-review-file-button {
|
|
461
|
+
flex: 1 1 auto;
|
|
462
|
+
min-width: 0;
|
|
463
|
+
height: auto !important;
|
|
464
|
+
justify-content: flex-start;
|
|
465
|
+
padding: 0.125rem 0;
|
|
466
|
+
color: #1f2933;
|
|
467
|
+
font-size: inherit;
|
|
468
|
+
font-weight: 600;
|
|
469
|
+
white-space: normal;
|
|
470
|
+
text-align: left;
|
|
471
|
+
text-decoration: none;
|
|
472
|
+
overflow: hidden;
|
|
473
|
+
overflow-wrap: anywhere;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
.pepsico-pls-review-file-button > span {
|
|
477
|
+
display: -webkit-box;
|
|
478
|
+
overflow: hidden;
|
|
479
|
+
line-height: 1.5;
|
|
480
|
+
text-overflow: ellipsis;
|
|
481
|
+
white-space: normal;
|
|
482
|
+
width: 100%;
|
|
483
|
+
-webkit-box-orient: vertical;
|
|
484
|
+
-webkit-line-clamp: 2;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
.pepsico-pls-review-group-header > .antd-Container-body > .antd-Button:not(.pepsico-pls-review-file-button) {
|
|
488
|
+
flex: 0 0 auto;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.pepsico-pls-review-file-button:hover {
|
|
492
|
+
color: var(--private) !important;
|
|
493
|
+
text-decoration: none !important;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
.pepsico-pls-review-cards {
|
|
497
|
+
margin: 1rem;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.pepsico-pls-review-dialog .antd-Modal-content {
|
|
501
|
+
padding: 0;
|
|
502
|
+
overflow: hidden;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
.pepsico-pls-review-dialog .antd-Modal-header {
|
|
506
|
+
position: absolute;
|
|
507
|
+
top: 0.75rem;
|
|
508
|
+
right: 1rem;
|
|
509
|
+
z-index: 2;
|
|
510
|
+
padding: 0;
|
|
511
|
+
border: 0;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
.pepsico-pls-review-dialog .antd-Modal-title {
|
|
515
|
+
display: none;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.pepsico-pls-review-dialog .antd-Modal-body {
|
|
519
|
+
margin: 0;
|
|
520
|
+
padding: 3.25rem 1.5rem 1.5rem;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
.pepsico-pls-review-dialog .pepsico-pls-review-wizard {
|
|
524
|
+
margin: 0;
|
|
525
|
+
overflow: hidden;
|
|
526
|
+
border: 0;
|
|
527
|
+
border-radius: 0;
|
|
528
|
+
box-shadow: none;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
.pepsico-pls-review-wizard .antd-Wizard-steps {
|
|
532
|
+
padding: 1rem 1.25rem;
|
|
533
|
+
background: #f8fafc;
|
|
534
|
+
border-bottom: 1px solid #e5ebf0;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.pepsico-pls-review-wizard [role="wizard-body"] {
|
|
538
|
+
padding: 1.5rem 1.25rem;
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.pepsico-pls-source-summary {
|
|
542
|
+
display: block;
|
|
543
|
+
margin-bottom: 1rem;
|
|
544
|
+
line-height: 1.6;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
.pepsico-pls-review-wizard [role="wizard-footer"] {
|
|
548
|
+
display: flex;
|
|
549
|
+
justify-content: flex-end;
|
|
550
|
+
gap: 0.75rem;
|
|
551
|
+
padding: 1rem 1.25rem;
|
|
552
|
+
border-top: 1px solid #e5ebf0;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
.pepsico-pls-source-mode {
|
|
556
|
+
margin-bottom: 1.25rem;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
.pepsico-pls-source-mode .antd-ButtonGroup {
|
|
560
|
+
display: grid;
|
|
561
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
562
|
+
width: 100%;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
.pepsico-pls-source-mode .antd-Button {
|
|
566
|
+
justify-content: center;
|
|
567
|
+
width: 100%;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
.pepsico-pls-source-field {
|
|
571
|
+
display: grid;
|
|
572
|
+
grid-template-columns: 10rem minmax(0, 1fr);
|
|
573
|
+
align-items: center;
|
|
574
|
+
column-gap: 1rem;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
.pepsico-pls-source-field .antd-Form-label,
|
|
578
|
+
.pepsico-pls-source-field .antd-Form-control {
|
|
579
|
+
margin: 0;
|
|
580
|
+
width: auto;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
@media (max-width: 768px) {
|
|
584
|
+
.pepsico-pls-source-field {
|
|
585
|
+
grid-template-columns: minmax(0, 1fr);
|
|
586
|
+
row-gap: 0.5rem;
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
.pepsico-pls-review-group-header > .antd-Container-body {
|
|
590
|
+
align-items: flex-start;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
.pepsico-pls-review-dialog .antd-Modal-body {
|
|
594
|
+
padding: 3rem 0.75rem 0.75rem;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
.pepsico-pls-review-dialog .pepsico-pls-review-wizard {
|
|
598
|
+
margin-top: 0;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
.pepsico-pls-review-wizard .antd-Wizard-steps,
|
|
602
|
+
.pepsico-pls-review-wizard [role="wizard-body"],
|
|
603
|
+
.pepsico-pls-review-wizard [role="wizard-footer"] {
|
|
604
|
+
padding-left: 0.75rem;
|
|
605
|
+
padding-right: 0.75rem;
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
/* Display each selected PLS lookup record on its own separated row. */
|
|
610
|
+
.pepsico-pls-files-field .steedos-field-lookup-each {
|
|
611
|
+
flex-direction: column !important;
|
|
612
|
+
flex-wrap: nowrap !important;
|
|
613
|
+
align-items: stretch;
|
|
614
|
+
gap: 0 !important;
|
|
615
|
+
width: 100%;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
.pepsico-pls-files-field .steedos-field-lookup-each > .antd-Form-item {
|
|
619
|
+
width: 100%;
|
|
620
|
+
padding: 6px 0;
|
|
621
|
+
border-bottom: 0;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
.pepsico-pls-files-field .steedos-field-lookup-each > .antd-Form-item:first-child {
|
|
625
|
+
padding-top: 0;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
/* 底部分隔线由字段外层容器的 border-b 提供(见字段 yml 的 className),
|
|
629
|
+
这样线能横跨标签列与值列、与其它字段对齐; 若画在最后一条记录上, 只有值列那么宽。 */
|
|
630
|
+
.pepsico-pls-files-field .steedos-field-lookup-each > .antd-Form-item:last-child {
|
|
631
|
+
padding-bottom: 0;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
/* 框架只在只读页给字段追加 border-b, 编辑态没有。本字段的 border-b 写死在 className 里
|
|
635
|
+
会两处都显示, 故在编辑弹框内取消, 保持与同表单其它字段一致。 */
|
|
636
|
+
.antd-Modal .pepsico-pls-files-field {
|
|
637
|
+
border-bottom: 0 !important;
|
|
638
|
+
}
|