@steedos-labs/content-compliance 0.8.8 → 0.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/index.js +1 -1
  2. package/lib/actions/bypassApproval.js +18 -0
  3. package/lib/actions/bypassApproval.js.map +1 -1
  4. package/lib/actions/bypassMaterial.js +12 -0
  5. package/lib/actions/bypassMaterial.js.map +1 -1
  6. package/lib/index.js +128 -0
  7. package/lib/index.js.map +1 -1
  8. package/lib/methods/AI.d.ts +6 -0
  9. package/lib/methods/AI.js +116 -15
  10. package/lib/methods/AI.js.map +1 -1
  11. package/lib/methods/__tests__/plsReview.test.d.ts +1 -0
  12. package/lib/methods/__tests__/plsReview.test.js +428 -0
  13. package/lib/methods/__tests__/plsReview.test.js.map +1 -0
  14. package/lib/methods/__tests__/postponeReview.test.js +21 -0
  15. package/lib/methods/__tests__/postponeReview.test.js.map +1 -1
  16. package/lib/methods/__tests__/qcParallelReview.test.d.ts +1 -0
  17. package/lib/methods/__tests__/qcParallelReview.test.js +53 -0
  18. package/lib/methods/__tests__/qcParallelReview.test.js.map +1 -0
  19. package/lib/methods/__tests__/qcPreReview.test.d.ts +1 -0
  20. package/lib/methods/__tests__/qcPreReview.test.js +65 -0
  21. package/lib/methods/__tests__/qcPreReview.test.js.map +1 -0
  22. package/lib/methods/approval_engine.d.ts +4 -0
  23. package/lib/methods/approval_engine.js +388 -221
  24. package/lib/methods/approval_engine.js.map +1 -1
  25. package/lib/methods/consts.d.ts +35 -0
  26. package/lib/methods/consts.js +2 -0
  27. package/lib/methods/consts.js.map +1 -1
  28. package/lib/methods/material.js +13 -0
  29. package/lib/methods/material.js.map +1 -1
  30. package/lib/methods/pls.d.ts +31 -0
  31. package/lib/methods/pls.js +429 -130
  32. package/lib/methods/pls.js.map +1 -1
  33. package/lib/pages/__tests__/aiReviewCardStyles.test.d.ts +1 -0
  34. package/lib/pages/__tests__/aiReviewCardStyles.test.js +29 -0
  35. package/lib/pages/__tests__/aiReviewCardStyles.test.js.map +1 -0
  36. package/lib/pages/__tests__/aiReviewChineseColons.test.d.ts +1 -0
  37. package/lib/pages/__tests__/aiReviewChineseColons.test.js +132 -0
  38. package/lib/pages/__tests__/aiReviewChineseColons.test.js.map +1 -0
  39. package/lib/pages/__tests__/clientCssCacheVersion.test.d.ts +1 -0
  40. package/lib/pages/__tests__/clientCssCacheVersion.test.js +31 -0
  41. package/lib/pages/__tests__/clientCssCacheVersion.test.js.map +1 -0
  42. package/lib/pages/__tests__/materialDetailAIReviewFilter.test.d.ts +1 -0
  43. package/lib/pages/__tests__/materialDetailAIReviewFilter.test.js +51 -0
  44. package/lib/pages/__tests__/materialDetailAIReviewFilter.test.js.map +1 -0
  45. package/lib/pages/__tests__/plsReviewCardStyles.test.d.ts +1 -0
  46. package/lib/pages/__tests__/plsReviewCardStyles.test.js +98 -0
  47. package/lib/pages/__tests__/plsReviewCardStyles.test.js.map +1 -0
  48. package/lib/pages/__tests__/plsReviewPage.test.d.ts +1 -0
  49. package/lib/pages/__tests__/plsReviewPage.test.js +249 -0
  50. package/lib/pages/__tests__/plsReviewPage.test.js.map +1 -0
  51. package/main/default/applications/pepsico_content_setting.app.yml +4 -0
  52. package/main/default/client/pepsico_content.client.js +8 -3
  53. package/main/default/objects/ai_process_detail/ai_process_detail.object.yml +1 -0
  54. package/main/default/objects/ai_process_detail/fields/pls_extracted_data.field.yml +9 -0
  55. package/main/default/objects/ai_process_detail/fields/pls_file_ids.field.yml +9 -0
  56. package/main/default/objects/ai_process_detail/fields/pls_product_name_matched.field.yml +9 -0
  57. package/main/default/objects/ai_process_detail/fields/pls_rule_unique_matched.field.yml +9 -0
  58. package/main/default/objects/pepesio_ch__c/fields/company_id.field.yml +14 -0
  59. package/main/default/objects/pepesio_ch__c/fields/company_ids.field.yml +16 -0
  60. package/main/default/objects/pepesio_ch__c/fields/created.field.yml +10 -0
  61. package/main/default/objects/pepesio_ch__c/fields/created_by.field.yml +9 -0
  62. package/main/default/objects/pepesio_ch__c/fields/file_name.field.yml +8 -0
  63. package/main/default/objects/pepesio_ch__c/fields/instance_state.field.yml +25 -0
  64. package/main/default/objects/pepesio_ch__c/fields/locked.field.yml +12 -0
  65. package/main/default/objects/pepesio_ch__c/fields/material_type.field.yml +10 -0
  66. package/main/default/objects/pepesio_ch__c/fields/media_type.field.yml +13 -0
  67. package/main/default/objects/pepesio_ch__c/fields/modified.field.yml +10 -0
  68. package/main/default/objects/pepesio_ch__c/fields/modified_by.field.yml +9 -0
  69. package/main/default/objects/pepesio_ch__c/fields/name.field.yml +11 -0
  70. package/main/default/objects/pepesio_ch__c/fields/owner.field.yml +12 -0
  71. package/main/default/objects/pepesio_ch__c/fields/product.field.yml +10 -0
  72. package/main/default/objects/pepesio_ch__c/fields/time.field.yml +8 -0
  73. package/main/default/objects/pepesio_ch__c/fields/type.field.yml +22 -0
  74. package/main/default/objects/pepesio_ch__c/listviews/all.listview.yml +21 -0
  75. package/main/default/objects/pepesio_ch__c/listviews/recent.listview.yml +11 -0
  76. package/main/default/objects/pepesio_ch__c/pepesio_ch__c.object.yml +31 -0
  77. package/main/default/objects/pepesio_ch__c/permissions/admin.permission.yml +9 -0
  78. package/main/default/objects/pepesio_ch__c/permissions/user.permission.yml +9 -0
  79. package/main/default/objects/pepsico_ai_review/buttons/pepsico_adopt.button.yml +3 -3
  80. package/main/default/objects/pepsico_ai_review/fields/is_active.field.yml +7 -0
  81. package/main/default/objects/pepsico_ai_review/fields/pepsico_material_approval.field.yml +7 -0
  82. package/main/default/objects/pepsico_ai_review/fields/pls_file.field.yml +7 -0
  83. package/main/default/objects/pepsico_ai_review/fields/review_type.field.yml +12 -0
  84. package/main/default/objects/pepsico_approval_process/fields/type.field.yml +5 -1
  85. package/main/default/objects/pepsico_km_pls/fields/allergen_statement.field.yml +9 -0
  86. package/main/default/objects/pepsico_km_pls/fields/ingredient_list.field.yml +9 -0
  87. package/main/default/objects/pepsico_km_pls/listviews/all.listview.yml +6 -0
  88. package/main/default/objects/pepsico_km_pls_file/listviews/lookup.listview.yml +19 -0
  89. package/main/default/objects/pepsico_km_pls_file/permissions/user.permission.yml +2 -2
  90. package/main/default/objects/pepsico_material/fields/pre_qc_approval_status.field.yml +16 -0
  91. package/main/default/objects/pepsico_material/fields/qc_approval_status.field.yml +16 -0
  92. package/main/default/objects/pepsico_material/fields/qc_bypass_reason.field.yml +11 -0
  93. package/main/default/objects/pepsico_material/fields/qc_bypassed.field.yml +12 -0
  94. package/main/default/objects/pepsico_material/fields/qc_bypassed_at.field.yml +11 -0
  95. package/main/default/objects/pepsico_material/fields/qc_bypassed_by.field.yml +12 -0
  96. package/main/default/objects/pepsico_material/listviews/all.listview.yml +2 -0
  97. package/main/default/objects/pepsico_material_approval/buttons/pepsico_modify_pls.button.yml +70 -0
  98. package/main/default/objects/pepsico_material_approval/buttons/pepsico_postpone_review.button.yml +62 -37
  99. package/main/default/objects/pepsico_material_approval/buttons/pre_review_approve.button.yml +1 -1
  100. package/main/default/objects/pepsico_material_approval/buttons/pre_review_reject.button.yml +1 -1
  101. package/main/default/objects/pepsico_material_approval/fields/approved_flows.field.yml +2 -2
  102. package/main/default/objects/pepsico_material_approval/fields/assistance.field.yml +1 -1
  103. package/main/default/objects/pepsico_material_approval/fields/ca_assistance.field.yml +1 -1
  104. package/main/default/objects/pepsico_material_approval/fields/classification.field.yml +15 -0
  105. package/main/default/objects/pepsico_material_approval/fields/ec_check_food_name.field.yml +18 -0
  106. package/main/default/objects/pepsico_material_approval/fields/ec_check_ingredients.field.yml +18 -0
  107. package/main/default/objects/pepsico_material_approval/fields/ec_check_net_content.field.yml +18 -0
  108. package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_address.field.yml +18 -0
  109. package/main/default/objects/pepsico_material_approval/fields/ec_check_producer_name.field.yml +18 -0
  110. package/main/default/objects/pepsico_material_approval/fields/ec_check_shelf_life.field.yml +18 -0
  111. package/main/default/objects/pepsico_material_approval/fields/ec_check_standard_code.field.yml +18 -0
  112. package/main/default/objects/pepsico_material_approval/fields/ec_check_storage_condition.field.yml +18 -0
  113. package/main/default/objects/pepsico_material_approval/fields/ec_has_detail_page.field.yml +18 -0
  114. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.field.yml +5 -0
  115. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.producer_address.field.yml +7 -0
  116. package/main/default/objects/pepsico_material_approval/fields/ec_producers.$.producer_name.field.yml +7 -0
  117. package/main/default/objects/pepsico_material_approval/fields/ec_producers.field.yml +16 -0
  118. package/main/default/objects/pepsico_material_approval/fields/ec_qc_production_email.field.yml +16 -0
  119. package/main/default/objects/pepsico_material_approval/fields/ec_related_approval.field.yml +9 -0
  120. package/main/default/objects/pepsico_material_approval/fields/form_version.field.yml +10 -0
  121. package/main/default/objects/pepsico_material_approval/fields/handler_preca.field.yml +1 -1
  122. package/main/default/objects/pepsico_material_approval/fields/handler_preguding.field.yml +1 -1
  123. package/main/default/objects/pepsico_material_approval/fields/handler_prens.field.yml +1 -1
  124. package/main/default/objects/pepsico_material_approval/fields/handler_preqc.field.yml +22 -0
  125. package/main/default/objects/pepsico_material_approval/fields/handler_presra.field.yml +1 -1
  126. package/main/default/objects/pepsico_material_approval/fields/handler_qc.field.yml +20 -0
  127. package/main/default/objects/pepsico_material_approval/fields/has_nutrition_table.field.yml +18 -0
  128. package/main/default/objects/pepsico_material_approval/fields/legal_assistance.field.yml +1 -1
  129. package/main/default/objects/pepsico_material_approval/fields/ns_assistance.field.yml +1 -1
  130. package/main/default/objects/pepsico_material_approval/fields/pls_file.field.yml +2 -2
  131. package/main/default/objects/pepsico_material_approval/fields/pls_km_files.field.yml +28 -0
  132. package/main/default/objects/pepsico_material_approval/fields/pls_upload_files.field.yml +21 -0
  133. package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +1 -1
  134. package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +1 -1
  135. package/main/default/objects/pepsico_material_approval/fields/pre_qc_approval_status.field.yml +17 -0
  136. package/main/default/objects/pepsico_material_approval/fields/pre_qc_materials_quantity.field.yml +21 -0
  137. package/main/default/objects/pepsico_material_approval/fields/pre_qc_reviewer.field.yml +19 -0
  138. package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +1 -1
  139. package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +1 -1
  140. package/main/default/objects/pepsico_material_approval/fields/product.field.yml +15 -0
  141. package/main/default/objects/pepsico_material_approval/fields/qc_approval_status.field.yml +18 -0
  142. package/main/default/objects/pepsico_material_approval/fields/qc_assistance.field.yml +22 -0
  143. package/main/default/objects/pepsico_material_approval/fields/qc_bypass_reason.field.yml +8 -0
  144. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed.field.yml +12 -0
  145. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_at.field.yml +8 -0
  146. package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_by.field.yml +8 -0
  147. package/main/default/objects/pepsico_material_approval/fields/qc_materials_quantity.field.yml +21 -0
  148. package/main/default/objects/pepsico_material_approval/fields/qc_reviewer.field.yml +22 -0
  149. package/main/default/objects/pepsico_material_approval/fields/sra_assistance.field.yml +1 -1
  150. package/main/default/objects/pepsico_material_approval/listviews/all.listview.yml +2 -0
  151. package/main/default/objects/pepsico_material_approval/pepsico_material_approval.object.yml +4 -0
  152. package/main/default/objects/pepsico_pls_change_log/fields/after_pls_files.field.yml +9 -0
  153. package/main/default/objects/pepsico_pls_change_log/fields/after_pls_names.field.yml +7 -0
  154. package/main/default/objects/pepsico_pls_change_log/fields/approval.field.yml +7 -0
  155. package/main/default/objects/pepsico_pls_change_log/fields/approval_name.field.yml +6 -0
  156. package/main/default/objects/pepsico_pls_change_log/fields/before_pls_files.field.yml +9 -0
  157. package/main/default/objects/pepsico_pls_change_log/fields/before_pls_names.field.yml +7 -0
  158. package/main/default/objects/pepsico_pls_change_log/fields/material.field.yml +8 -0
  159. package/main/default/objects/pepsico_pls_change_log/fields/operator.field.yml +7 -0
  160. package/main/default/objects/pepsico_pls_change_log/fields/scene.field.yml +13 -0
  161. package/main/default/objects/pepsico_pls_change_log/fields/source.field.yml +14 -0
  162. package/main/default/objects/pepsico_pls_change_log/fields/space.field.yml +6 -0
  163. package/main/default/objects/pepsico_pls_change_log/listviews/all.listview.yml +25 -0
  164. package/main/default/objects/pepsico_pls_change_log/pepsico_pls_change_log.object.yml +16 -0
  165. package/main/default/objects/pepsico_pls_change_log/permissions/admin.permission.yml +15 -0
  166. package/main/default/objects/pepsico_pls_change_log/permissions/user.permission.yml +14 -0
  167. package/main/default/objects/pepsico_review_postpone/fields/department_type.field.yml +4 -0
  168. package/main/default/objects/pepsico_reviewer/fields/pre_qc_reviewer.field.yml +10 -0
  169. package/main/default/objects/pepsico_reviewer/fields/qc_assistance.field.yml +14 -0
  170. package/main/default/objects/pepsico_reviewer/fields/qc_reviewer.field.yml +12 -0
  171. package/main/default/objects/pepsico_reviewer/listviews/all.listview.yml +4 -0
  172. package/main/default/pages/pepsico_content_review_detail.page.amis.json +19 -1
  173. package/main/default/pages/pepsico_material_detail.page.amis.json +623 -41
  174. package/main/default/pages/pepsico_material_detail_mobile.page.amis.json +307 -3
  175. package/main/default/tabs/object_pepsico_pls_change_log.tab.yml +14 -0
  176. package/main/default/triggers/pepsico_material_approval_change.trigger.yml +3 -0
  177. package/package.json +1 -1
  178. package/public/content-review/amis.css +338 -8
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var fs = require("node:fs");
5
+ var path = require("node:path");
6
+ var pageDirectory = path.resolve(__dirname, '../../../main/default/pages');
7
+ var loadPage = function (name) { return JSON.parse(fs.readFileSync(path.join(pageDirectory, name), 'utf8')); };
8
+ var loadAmisButton = function (relativePath) {
9
+ var e_1, _a;
10
+ var source = fs.readFileSync(path.resolve(pageDirectory, '..', 'objects', relativePath), 'utf8');
11
+ var schemaLines = [];
12
+ try {
13
+ for (var _b = tslib_1.__values(source.slice(source.indexOf('amis_schema: |-') + 'amis_schema: |-'.length).split('\n').slice(1)), _c = _b.next(); !_c.done; _c = _b.next()) {
14
+ var line = _c.value;
15
+ if (line && !line.startsWith(' ')) {
16
+ break;
17
+ }
18
+ schemaLines.push(line.slice(2));
19
+ }
20
+ }
21
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
22
+ finally {
23
+ try {
24
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
25
+ }
26
+ finally { if (e_1) throw e_1.error; }
27
+ }
28
+ return JSON.parse(schemaLines.join('\n'));
29
+ };
30
+ var collect = function (node, predicate, result) {
31
+ if (result === void 0) { result = []; }
32
+ if (Array.isArray(node)) {
33
+ node.forEach(function (item) { return collect(item, predicate, result); });
34
+ return result;
35
+ }
36
+ if (!node || typeof node !== 'object') {
37
+ return result;
38
+ }
39
+ var schema = node;
40
+ if (predicate(schema)) {
41
+ result.push(schema);
42
+ }
43
+ Object.values(schema).forEach(function (value) { return collect(value, predicate, result); });
44
+ return result;
45
+ };
46
+ var pages = [
47
+ loadPage('pepsico_material_detail.page.amis.json'),
48
+ loadPage('pepsico_material_detail_mobile.page.amis.json')
49
+ ];
50
+ var services = pages.flatMap(function (page) { return collect(page, function (schema) { return schema.type === 'service'
51
+ && schema.api === '/api/pepsico-content/pls-review/material/${recordId}'; }); });
52
+ var findOne = function (node, predicate) {
53
+ var matches = collect(node, predicate);
54
+ expect(matches).toHaveLength(1);
55
+ return matches[0];
56
+ };
57
+ describe('PLS review page schema', function () {
58
+ it('keeps all three PLS tabs grouped by file and review', function () {
59
+ expect(services).toHaveLength(3);
60
+ services.forEach(function (service) {
61
+ var groupEach = findOne(service.body, function (schema) {
62
+ return schema.type === 'each' && schema.source === '${groups}';
63
+ });
64
+ expect(collect(groupEach.items, function (schema) {
65
+ return schema.type === 'cards' && schema.source === '${reviews}';
66
+ })).toHaveLength(1);
67
+ });
68
+ });
69
+ it('opens each PLS file in a right-side read-only drawer', function () {
70
+ services.forEach(function (service) {
71
+ var header = findOne(service.body, function (schema) {
72
+ return schema.className === 'pepsico-pls-review-group-header';
73
+ });
74
+ var fileButton = findOne(header, function (schema) {
75
+ return schema.className === 'pepsico-pls-review-file-button';
76
+ });
77
+ expect(fileButton.type).toBe('button');
78
+ expect(fileButton.label).toBe('${plsName}');
79
+ expect(fileButton.level).toBe('link');
80
+ expect(fileButton.actionType).toBe('drawer');
81
+ expect(fileButton.drawer.position).toBe('right');
82
+ expect(fileButton.drawer.closeOnOutside).toBe(true);
83
+ expect(fileButton.drawer.actions).toEqual([]);
84
+ var plsForm = findOne(fileButton.drawer.body, function (schema) {
85
+ return schema.type === 'steedos-object-form';
86
+ });
87
+ expect(plsForm.objectApiName).toBe('pepsico_km_pls_file');
88
+ expect(plsForm.recordId).toBe('${plsFileId}');
89
+ expect(plsForm.mode).toBe('read');
90
+ expect(collect(header, function (schema) {
91
+ return typeof schema.tpl === 'string' && schema.tpl.includes('PLS 文件:');
92
+ })).toHaveLength(0);
93
+ var modifyButton = findOne(header, function (schema) { return schema.label === '修改PLS文件'; });
94
+ expect(modifyButton.visibleOn).toBe('${canManage}');
95
+ expect(modifyButton.actionType).toBe('dialog');
96
+ expect(modifyButton.level).toBe('default');
97
+ expect(modifyButton.size).toBeUndefined();
98
+ });
99
+ });
100
+ it('uses the AI Cards structure for grouped PLS reviews', function () {
101
+ services.forEach(function (service) {
102
+ var cards = findOne(service.body, function (schema) {
103
+ return schema.type === 'cards' && schema.source === '${reviews}';
104
+ });
105
+ expect(cards.className).toContain('pepsico_ai_review-card');
106
+ expect(cards.className).toContain('pepsico-pls-review-cards');
107
+ expect(cards.columnsCount).toBe(1);
108
+ expect(cards.card.media).toEqual({
109
+ type: 'image',
110
+ url: '${evidence_image}',
111
+ position: 'left'
112
+ });
113
+ expect(cards.card.bodyClassName).toBe('pepsico_ai_review-card-body');
114
+ var templates = collect(cards.card, function (schema) { return typeof schema.tpl === 'string'; })
115
+ .map(function (schema) { return schema.tpl; });
116
+ expect(templates).toEqual(expect.arrayContaining([
117
+ '<b>素材内容:</b>${name}',
118
+ '<b>提醒类型:</b>${rule_category}',
119
+ '<b>提醒原因:</b>${reason}'
120
+ ]));
121
+ expect(templates.some(function (tpl) { return tpl.includes('规则原文'); })).toBe(false);
122
+ });
123
+ });
124
+ it('opens a native two-step wizard with the approved copy and APIs', function () {
125
+ services.forEach(function (service) {
126
+ var modifyButton = findOne(service.body, function (schema) { return schema.label === '修改PLS文件'; });
127
+ expect(modifyButton.dialog.title).toBe('');
128
+ expect(modifyButton.dialog.showCloseButton).toBe(true);
129
+ var wizard = findOne(modifyButton.dialog.body, function (schema) { return schema.type === 'wizard'; });
130
+ expect(wizard.className).toContain('pepsico-pls-review-wizard');
131
+ expect(wizard.mode).toBe('horizontal');
132
+ expect(wizard.steps).toHaveLength(2);
133
+ expect(wizard.steps.map(function (step) { return step.title; })).toEqual([
134
+ '选择或上传 PLS文件',
135
+ '确认应用新PLS文件规则'
136
+ ]);
137
+ expect(wizard.actionNextLabel).toBe('下一步');
138
+ expect(wizard.actionNextSaveLabel).toBe('下一步');
139
+ expect(wizard.actionFinishLabel).toBe('应用新的PLS文件重新审核');
140
+ expect(wizard.steps[0].api.url).toBe('/api/pepsico-content/pls-file/upload');
141
+ expect(wizard.steps[1].api.url).toBe('/api/pepsico-content/pls-review/apply-source');
142
+ expect(wizard.steps[0].api.sendOn).toContain('!newPlsFileId');
143
+ expect(wizard.steps[0].api.sendOn).toContain('newPlsUploadedFileId');
144
+ expect(wizard.steps[0].api.sendOn).toContain('uploadedPlsFile[0]');
145
+ expect(wizard.steps[0].api.adaptor).toContain('newPlsUploadedFileId');
146
+ expect(wizard.steps[0].api.adaptor).toContain('payload.error');
147
+ expect(wizard.steps[0].api.requestAdaptor).toContain('approvalId: context.approvalId');
148
+ expect(wizard.steps[1].api.adaptor).toContain('payload.error');
149
+ expect(wizard.steps[1].api.requestAdaptor).toContain("throw new Error('请选择或上传PLS文件')");
150
+ expect(wizard.steps[1].api.requestAdaptor).toContain('materialId: context.materialId');
151
+ expect(wizard.steps[1].api.adaptor).toContain('请稍后刷新页面进行确认');
152
+ expect(wizard.steps[1].api.requestAdaptor).toContain('sourceMode: context.plsSourceMode');
153
+ var schemas = collect(wizard, function () { return true; });
154
+ var existingPlsSelect = findOne(wizard, function (schema) {
155
+ return schema.type === 'steedos-field' && schema.name === 'selectedPlsFile';
156
+ });
157
+ expect(existingPlsSelect.type).toBe('steedos-field');
158
+ expect(existingPlsSelect.className).toBe('pepsico-pls-source-field');
159
+ expect(existingPlsSelect.source).toBeUndefined();
160
+ expect(existingPlsSelect.config).toMatchObject({
161
+ type: 'lookup',
162
+ name: 'selectedPlsFile',
163
+ reference_to: 'pepsico_km_pls_file',
164
+ enable_enhanced_lookup: true,
165
+ filters: [['is_active', '!=', false]],
166
+ amis: {
167
+ joinValues: false,
168
+ extractValue: false
169
+ }
170
+ });
171
+ var uploadedPlsInput = findOne(wizard, function (schema) {
172
+ return schema.type === 'input-file' && schema.label === '上传本地PLS文件';
173
+ });
174
+ expect(uploadedPlsInput.className).toBe('pepsico-pls-source-field');
175
+ expect(schemas.some(function (schema) { return schema.tpl === '<b>当前PLS文件:</b>${plsName}'; })).toBe(true);
176
+ expect(schemas.some(function (schema) {
177
+ return schema.tpl === '<b>新的PLS文件:</b>${plsSourceMode === "existing" ? (selectedPlsFile.name || selectedPlsFile.label || selectedPlsFile) : newPlsFileName}';
178
+ })).toBe(true);
179
+ expect(schemas.some(function (schema) {
180
+ return schema.body === '应用后,当前 PLS 文件关联的意见将失效,并按新的PLS文件规则重新生成对应意见。';
181
+ })).toBe(true);
182
+ expect(collect(wizard.steps[1].body, function (schema) {
183
+ return schema.className === 'pepsico-pls-source-summary';
184
+ })).toHaveLength(2);
185
+ });
186
+ });
187
+ it('uses the compact dialog and the exact AI adoption workflow', function () {
188
+ var aiAdoptButton = findOne(pages[0], function (schema) { return schema.id === 'u:pepsico_adopt'; });
189
+ var aiThreadAction = findOne(aiAdoptButton.onEvent.click.actions, function (schema) {
190
+ return schema.outputVar === 'responseResult';
191
+ });
192
+ expect(aiThreadAction.api.requestAdaptor).toContain('filter(Boolean)');
193
+ expect(aiThreadAction.api.requestAdaptor).toContain("typeof file === 'string'");
194
+ expect(aiThreadAction.api.requestAdaptor).toContain('file.value || file._id');
195
+ expect(aiThreadAction.api.requestAdaptor).not.toContain('evidence_image_file.length ?');
196
+ var adoptionButtons = pages.flatMap(function (page) { return collect(page, function (schema) {
197
+ return schema.label === '采纳' && schema.confirmText === aiAdoptButton.confirmText;
198
+ }); });
199
+ expect(adoptionButtons).toHaveLength(5);
200
+ adoptionButtons.forEach(function (button) {
201
+ var threadAction = findOne(button.onEvent.click.actions, function (schema) {
202
+ return schema.outputVar === 'responseResult';
203
+ });
204
+ expect(threadAction.api.requestAdaptor).toBe(aiThreadAction.api.requestAdaptor);
205
+ });
206
+ var executeAdaptor = function (requestAdaptor, context) {
207
+ return new Function('api', 'context', 'Amis', requestAdaptor)({}, context, { uuidv4: function () { return 'generated-id'; } });
208
+ };
209
+ var mixedAttachments = [
210
+ { value: null },
211
+ null,
212
+ {},
213
+ { value: 'valid-value' },
214
+ { _id: 'valid-id' },
215
+ 'valid-string'
216
+ ];
217
+ expect(executeAdaptor(aiThreadAction.api.requestAdaptor, {
218
+ evidence_image_file: mixedAttachments
219
+ }).data.comment.attachmentIds).toEqual(['valid-value', 'valid-id', 'valid-string']);
220
+ var objectAdoptButton = findOne(loadAmisButton('pepsico_ai_review/buttons/pepsico_adopt.button.yml'), function (schema) { return schema.id === 'u:pepsico_adopt'; });
221
+ var objectThreadAction = findOne(objectAdoptButton.onEvent.click.actions, function (schema) {
222
+ return schema.outputVar === 'responseResult';
223
+ });
224
+ expect(executeAdaptor(objectThreadAction.api.requestAdaptor, {
225
+ record: { _display: { evidence_image_file: mixedAttachments } }
226
+ }).data.comment.attachmentIds).toEqual(['valid-value', 'valid-id', 'valid-string']);
227
+ services.forEach(function (service) {
228
+ var modifyButton = findOne(service.body, function (schema) { return schema.label === '修改PLS文件'; });
229
+ expect(modifyButton.dialog.size).toBe('md');
230
+ expect(modifyButton.dialog.className).toContain('pepsico-pls-review-dialog');
231
+ var adoptButton = findOne(service.body, function (schema) {
232
+ return schema.label === '采纳' && schema.className === 'pepsico-adopt mr-4';
233
+ });
234
+ expect(adoptButton.confirmText).toBe(aiAdoptButton.confirmText);
235
+ expect(adoptButton.onEvent).toEqual(aiAdoptButton.onEvent);
236
+ expect(adoptButton.actionType).toBeUndefined();
237
+ expect(adoptButton.api).toBeUndefined();
238
+ });
239
+ });
240
+ it('removes the old always-visible source controls', function () {
241
+ services.forEach(function (service) {
242
+ expect(collect(service.body, function (schema) {
243
+ return typeof schema.className === 'string'
244
+ && schema.className.includes('pepsico-pls-review-actions');
245
+ })).toHaveLength(0);
246
+ });
247
+ });
248
+ });
249
+ //# sourceMappingURL=plsReviewPage.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plsReviewPage.test.js","sourceRoot":"","sources":["../../../src/pages/__tests__/plsReviewPage.test.ts"],"names":[],"mappings":"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"}
@@ -117,6 +117,9 @@ tab_items:
117
117
  object_pepsico_mail_visit_log:
118
118
  group: 业务日志
119
119
  index: 20
120
+ object_pepsico_pls_change_log:
121
+ group: 业务日志
122
+ index: 29
120
123
  admin_logs:
121
124
  group: 系统信息
122
125
  index: 21
@@ -157,6 +160,7 @@ tabs:
157
160
  - object_pepsico_spot_check_report
158
161
  - object_pepsico_mail_send_log
159
162
  - object_pepsico_mail_visit_log
163
+ - object_pepsico_pls_change_log
160
164
  - admin_logs
161
165
  - admin_steedos_packages
162
166
  - operation_logs
@@ -13,7 +13,14 @@ document.title = "内容审核";
13
13
  // document.head.appendChild(link);
14
14
 
15
15
  var today = new Date();
16
- var v = today.getFullYear().toString() + (today.getMonth() + 1).toString().padStart(2, '0') + today.getDate().toString().padStart(2, '0');
16
+ var fallbackV = today.getFullYear().toString()
17
+ + (today.getMonth() + 1).toString().padStart(2, '0')
18
+ + today.getDate().toString().padStart(2, '0')
19
+ + today.getHours().toString().padStart(2, '0')
20
+ + today.getMinutes().toString().padStart(2, '0');
21
+ var v = window.__meteor_runtime_config__ && window.__meteor_runtime_config__.autoupdateVersion
22
+ ? window.__meteor_runtime_config__.autoupdateVersion
23
+ : fallbackV;
17
24
 
18
25
  loadCss(Steedos.absoluteUrl('/content-review/topic.css?v='+v));
19
26
  loadCss(Steedos.absoluteUrl('/content-review/amis.css?v='+v));
@@ -56,5 +63,3 @@ if(false){
56
63
  }, {});
57
64
  })
58
65
  }
59
-
60
-
@@ -21,6 +21,7 @@ field_groups:
21
21
  - group_name: 视频
22
22
  - group_name: Word
23
23
  - group_name: PPT
24
+ - group_name: PLS
24
25
  icon: video
25
26
  is_enable: true
26
27
  label: AI数据处理明细行
@@ -0,0 +1,9 @@
1
+ name: pls_extracted_data
2
+ amis:
3
+ id: 'u:a1b2c3d50010'
4
+ group: PLS
5
+ is_wide: true
6
+ label: 模型输出的完整多产品结构化数据
7
+ language: json
8
+ sort_no: 1200
9
+ type: code
@@ -0,0 +1,9 @@
1
+ name: pls_file_ids
2
+ amis:
3
+ id: 'u:a1b2c3d50011'
4
+ group: PLS
5
+ is_wide: true
6
+ label: 用户提供的一个或多个PLS文件ID
7
+ language: json
8
+ sort_no: 1250
9
+ type: code
@@ -0,0 +1,9 @@
1
+ name: pls_product_name_matched
2
+ amis:
3
+ id: 'u:a1b2c3d50012'
4
+ group: PLS
5
+ is_wide: false
6
+ label: 所有素材产品名是否都能在PLS规则中找到
7
+ required: false
8
+ sort_no: 1300
9
+ type: boolean
@@ -0,0 +1,9 @@
1
+ name: pls_rule_unique_matched
2
+ amis:
3
+ id: 'u:a1b2c3d50013'
4
+ group: PLS
5
+ is_wide: false
6
+ label: 每个产品是否能唯一定位一组PLS规则
7
+ required: false
8
+ sort_no: 1350
9
+ type: boolean
@@ -0,0 +1,14 @@
1
+ name: company_id
2
+ amis:
3
+ id: 'u:dbf9ff7957a7'
4
+ description: ''
5
+ enable_thousands: true
6
+ group: 通用
7
+ index: true
8
+ inlineHelpText: ''
9
+ label: 主分部
10
+ reference_to: company
11
+ sort_no: 500
12
+ sortable: true
13
+ type: lookup
14
+ visible_on: '{{false}}'
@@ -0,0 +1,16 @@
1
+ name: company_ids
2
+ amis:
3
+ id: 'u:9e1464ea0def'
4
+ description: ''
5
+ enable_thousands: true
6
+ group: 通用
7
+ hidden: false
8
+ index: true
9
+ inlineHelpText: ''
10
+ label: 所属分部
11
+ multiple: true
12
+ reference_to: company
13
+ sort_no: 550
14
+ sortable: true
15
+ type: lookup
16
+ visible_on: '{{false}}'
@@ -0,0 +1,10 @@
1
+ name: created
2
+ amis:
3
+ id: 'u:533baf78ad91'
4
+ disabled: true
5
+ group: 通用
6
+ label: 创建时间
7
+ readonly: true
8
+ sort_no: 650
9
+ sortable: true
10
+ type: datetime
@@ -0,0 +1,9 @@
1
+ name: created_by
2
+ amis: {}
3
+ disabled: true
4
+ group: 通用
5
+ label: 创建人
6
+ readonly: true
7
+ reference_to: users
8
+ sort_no: 700
9
+ type: lookup
@@ -0,0 +1,8 @@
1
+ name: file_name
2
+ amis:
3
+ id: 'u:079e0a9780f3'
4
+ group: 通用
5
+ label: 文件名
6
+ required: true
7
+ sort_no: 100
8
+ type: text
@@ -0,0 +1,25 @@
1
+ name: instance_state
2
+ amis:
3
+ id: 'u:6ecc9e437b0f'
4
+ description: ''
5
+ enable_thousands: true
6
+ group: 通用
7
+ inlineHelpText: ''
8
+ label: 申请单审批状态
9
+ options:
10
+ - label: 草稿
11
+ value: draft
12
+ - label: 进行中
13
+ value: pending
14
+ - label: 已完成
15
+ value: completed
16
+ - label: 已核准
17
+ value: approved
18
+ - label: 已驳回
19
+ value: rejected
20
+ - label: 已取消
21
+ value: terminated
22
+ readonly: true
23
+ sort_no: 600
24
+ type: select
25
+ visible_on: '{{false}}'
@@ -0,0 +1,12 @@
1
+ name: locked
2
+ amis:
3
+ id: 'u:80c1945ba6cf'
4
+ description: ''
5
+ enable_thousands: true
6
+ group: 通用
7
+ hidden: false
8
+ inlineHelpText: ''
9
+ label: 已锁定
10
+ sort_no: 450
11
+ type: boolean
12
+ visible_on: '{{false}}'
@@ -0,0 +1,10 @@
1
+ name: material_type
2
+ amis:
3
+ id: 'u:931b3c6cc6b6'
4
+ deleted_lookup_record_behavior: retain
5
+ group: 通用
6
+ label: 素材类型
7
+ reference_to: picklist_options
8
+ required: true
9
+ sort_no: 300
10
+ type: lookup
@@ -0,0 +1,13 @@
1
+ name: media_type
2
+ amis:
3
+ id: 'u:ce18de49afe1'
4
+ group: 通用
5
+ label: 媒体类型
6
+ options:
7
+ - label: 图片
8
+ value: 图片
9
+ - label: 视频
10
+ value: 视频
11
+ required: true
12
+ sort_no: 200
13
+ type: select
@@ -0,0 +1,10 @@
1
+ name: modified
2
+ amis:
3
+ id: 'u:556f829f2866'
4
+ disabled: true
5
+ group: 通用
6
+ label: 修改时间
7
+ readonly: true
8
+ sort_no: 750
9
+ sortable: true
10
+ type: datetime
@@ -0,0 +1,9 @@
1
+ name: modified_by
2
+ amis: {}
3
+ disabled: true
4
+ group: 通用
5
+ label: 修改人
6
+ readonly: true
7
+ reference_to: users
8
+ sort_no: 800
9
+ type: lookup
@@ -0,0 +1,11 @@
1
+ name: name
2
+ amis:
3
+ id: 'u:bac9e64dde15'
4
+ filterable: true
5
+ group: 通用
6
+ index: true
7
+ label: 标题
8
+ required: true
9
+ searchable: true
10
+ sort_no: 50
11
+ type: text
@@ -0,0 +1,12 @@
1
+ name: owner
2
+ amis:
3
+ id: 'u:3671e1624489'
4
+ description: ''
5
+ enable_thousands: true
6
+ group: 通用
7
+ index: true
8
+ inlineHelpText: ''
9
+ label: 所有者
10
+ sort_no: 400
11
+ sortable: true
12
+ visible_on: '{{false}}'
@@ -0,0 +1,10 @@
1
+ name: product
2
+ amis:
3
+ id: 'u:081f260004db'
4
+ deleted_lookup_record_behavior: retain
5
+ group: 通用
6
+ label: 产品
7
+ reference_to: picklist_options
8
+ required: true
9
+ sort_no: 250
10
+ type: lookup
@@ -0,0 +1,8 @@
1
+ name: time
2
+ amis:
3
+ id: 'u:fea23cac95f5'
4
+ group: 通用
5
+ label: 接口调用时间
6
+ required: true
7
+ sort_no: 350
8
+ type: datetime
@@ -0,0 +1,22 @@
1
+ name: type
2
+ amis:
3
+ id: 'u:b274a5f33dad'
4
+ data_type: text
5
+ group: 通用
6
+ label: 文件类型
7
+ options:
8
+ - label: jfif
9
+ value: jfif
10
+ - label: jpeg
11
+ value: jpeg
12
+ - label: jpg
13
+ value: jpg
14
+ - label: mov
15
+ value: mov
16
+ - label: mp4
17
+ value: mp4
18
+ - label: png
19
+ value: png
20
+ required: true
21
+ sort_no: 150
22
+ type: select
@@ -0,0 +1,21 @@
1
+ name: all
2
+ label: 所有
3
+ columns:
4
+ - field: name
5
+ - field: file_name
6
+ - field: type
7
+ - field: media_type
8
+ - field: product
9
+ - field: material_type
10
+ - field: time
11
+ crud_mode: table
12
+ filter_scope: space
13
+ filters: []
14
+ is_enable: true
15
+ searchable_fields: []
16
+ shared_to: space
17
+ sort:
18
+ - field_name: time
19
+ order: desc
20
+ - field_name: created
21
+ order: desc
@@ -0,0 +1,11 @@
1
+ name: recent
2
+ label: 最近查看
3
+ columns:
4
+ - field: name
5
+ crud_mode: table
6
+ filter_scope: space
7
+ filters: []
8
+ shared_to: space
9
+ sort:
10
+ - field_name: created
11
+ order: desc