@steedos/standard-process-approval 3.0.0-beta.9 → 3.0.0-beta.90

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 (33) hide show
  1. package/main/default/client/process.client.js +1 -5
  2. package/main/default/objectTranslations/workflow_notifications.zh-CN/workflow_notifications.zh-CN.objectTranslation.yml +1 -1
  3. package/main/default/objectTranslations/workflow_outbound_messages.zh-CN/workflow_outbound_messages.zh-CN.objectTranslation.yml +1 -1
  4. package/main/default/objects/process/approval/process_definition/buttons/copy.button.yml +58 -0
  5. package/main/default/objects/process/approval/process_definition/buttons/customize.button.yml +135 -0
  6. package/main/default/objects/process/approval/process_definition/buttons/disable.button.yml +64 -0
  7. package/main/default/objects/process/approval/process_definition/buttons/enable.button.yml +64 -0
  8. package/main/default/objects/process/approval/{process_definition.object.yml → process_definition/process_definition.object.yml} +48 -16
  9. package/main/default/objects/process/approval/process_definition.action.js +38 -55
  10. package/main/default/objects/process/approval/process_node.object.yml +58 -24
  11. package/main/default/objects/process_instance_history/buttons/approve.button.yml +0 -3
  12. package/main/default/objects/process_instance_history/buttons/reassign.button.yml +0 -3
  13. package/main/default/objects/process_instance_history/buttons/recall.button.yml +0 -4
  14. package/main/default/objects/process_instance_history/buttons/reject.button.yml +0 -3
  15. package/main/default/objects/process_instance_history/pages/process_instance_detail.page.amis.json +38 -43
  16. package/main/default/objects/workflow-actions/action_field_updates.object.yml +1 -0
  17. package/main/default/objects/workflow-actions/workflow_notifications.object.yml +1 -0
  18. package/main/default/objects/workflow-actions/workflow_outbound_messages/workflow_outbound_messages.object.yml +2 -1
  19. package/main/default/objects/workflow-actions/workflow_rule.object.yml +26 -24
  20. package/main/default/pages/process_definition_form.page.amis.json +35 -0
  21. package/main/default/pages/process_definition_form.page.yml +13 -0
  22. package/main/default/pages/process_node_form.page.amis.json +65 -0
  23. package/main/default/pages/process_node_form.page.yml +13 -0
  24. package/main/default/pages/workflow_notifications_form.page.amis.json +47 -0
  25. package/main/default/pages/workflow_notifications_form.page.yml +13 -0
  26. package/main/default/pages/workflow_rule_form.page.amis.json +55 -0
  27. package/main/default/pages/workflow_rule_form.page.yml +13 -0
  28. package/main/default/services/approval_process.service.js +70 -2
  29. package/main/default/triggers/process_definition.trigger.js +160 -10
  30. package/main/default/triggers/process_instance_history.trigger.js +8 -1
  31. package/package.json +3 -3
  32. package/main/default/client/action_field_updates.client.js +0 -155
  33. package/main/default/client/workflow_notifications.client.js +0 -74
@@ -25,6 +25,17 @@ fields:
25
25
  type: master_detail
26
26
  is_wide: true
27
27
  reference_to: process_definition
28
+ auto_fill_mapping:
29
+ - from: object_name
30
+ to: object_name
31
+ object_name:
32
+ label: Object
33
+ type: lookup
34
+ reference_to: objects
35
+ reference_to_field: name
36
+ required: true
37
+ filterable: true
38
+ visible_on: "${false}"
28
39
  filtrad:
29
40
  type: boolean
30
41
  label: All records should enter this step
@@ -89,23 +100,22 @@ fields:
89
100
  visible_on: "{{ formData.approver != 'submitter_choose' }}"
90
101
  depend_on:
91
102
  - process_definition
92
- optionsFunction: !!js/function |
93
- function (doc){
94
- var options = [];
95
- if(doc.process_definition){
96
- var pid = doc.process_definition;
97
- if(_.isObject(pid)){
98
- pid = pid._id;
99
- }
100
- var object_name = Creator.odata.get("process_definition", pid, "object_name").object_name;
101
- var userFields = _.filter(Creator.getObject(object_name).fields, function(field){
102
- return (field.type === 'lookup' || field.type === 'master_detail') && field.omit != true && (field.reference_to === 'users' || (field.reference_to === 'space_users' && field.reference_to_field === 'user'))
103
- });
104
- _.each(userFields, function(field){
105
- options.push({label:field.label, value:field.name});
106
- })
103
+ reference_to: object_fields
104
+ reference_to_field: name
105
+ filtersFunction: !<tag:yaml.org,2002:js/function> |-
106
+ function (filters, values) {
107
+ var pid = values.process_definition;
108
+ if(_.isObject(pid)){
109
+ pid = pid._id;
110
+ }
111
+ var result = Steedos.authRequest("/api/v1/process_definition/" + pid + "?fields=[\"object_name\"]", {type: 'get', async: false});
112
+ var pObjectName = result && result.data && result.data.object_name;
113
+ if(pObjectName){
114
+ return [['object', '=', pObjectName], [['type', '=', 'lookup'], 'or', ['type', '=', 'master_detail']], [['reference_to', '=', 'users'], 'or', [['reference_to', '=', 'space_users'],['reference_to_field', '=', 'user']]], ['omit', '!=', true]];
115
+ }
116
+ else{
117
+ return ['object', '=', -1];
107
118
  }
108
- return options;
109
119
  }
110
120
  when_multiple_approvers:
111
121
  type: select
@@ -149,8 +159,14 @@ fields:
149
159
  if(_.isObject(pid)){
150
160
  pid = pid._id;
151
161
  }
152
- var object_name = Creator.odata.get("process_definition", pid, "object_name").object_name;
153
- return "object_name eq '" + object_name + "'";
162
+ var result = Steedos.authRequest("/api/v1/process_definition/" + pid + "?fields=[\"object_name\"]", {type: 'get', async: false});
163
+ var pObjectName = result && result.data && result.data.object_name;
164
+ if(pObjectName){
165
+ return ['object_name', '=', pObjectName];
166
+ }
167
+ else{
168
+ return ['object_name', '=', -1];
169
+ }
154
170
  }
155
171
  }
156
172
  group: Approval Actions
@@ -169,8 +185,14 @@ fields:
169
185
  if(_.isObject(pid)){
170
186
  pid = pid._id;
171
187
  }
172
- var object_name = Creator.odata.get("process_definition", pid, "object_name").object_name;
173
- return "object_name eq '" + object_name + "'";
188
+ var result = Steedos.authRequest("/api/v1/process_definition/" + pid + "?fields=[\"object_name\"]", {type: 'get', async: false});
189
+ var pObjectName = result && result.data && result.data.object_name;
190
+ if(pObjectName){
191
+ return ['object_name', '=', pObjectName];
192
+ }
193
+ else{
194
+ return ['object_name', '=', -1];
195
+ }
174
196
  }
175
197
  }
176
198
  group: Approval Actions
@@ -189,8 +211,14 @@ fields:
189
211
  if(_.isObject(pid)){
190
212
  pid = pid._id;
191
213
  }
192
- var object_name = Creator.odata.get("process_definition", pid, "object_name").object_name;
193
- return "object_name eq '" + object_name + "'";
214
+ var result = Steedos.authRequest("/api/v1/process_definition/" + pid + "?fields=[\"object_name\"]", {type: 'get', async: false});
215
+ var pObjectName = result && result.data && result.data.object_name;
216
+ if(pObjectName){
217
+ return ['object_name', '=', pObjectName];
218
+ }
219
+ else{
220
+ return ['object_name', '=', -1];
221
+ }
194
222
  }
195
223
  }
196
224
  group: Rejection Actions
@@ -209,8 +237,14 @@ fields:
209
237
  if(_.isObject(pid)){
210
238
  pid = pid._id;
211
239
  }
212
- var object_name = Creator.odata.get("process_definition", pid, "object_name").object_name;
213
- return "object_name eq '" + object_name + "'";
240
+ var result = Steedos.authRequest("/api/v1/process_definition/" + pid + "?fields=[\"object_name\"]", {type: 'get', async: false});
241
+ var pObjectName = result && result.data && result.data.object_name;
242
+ if(pObjectName){
243
+ return ['object_name', '=', pObjectName];
244
+ }
245
+ else{
246
+ return ['object_name', '=', -1];
247
+ }
214
248
  }
215
249
  }
216
250
  group: Rejection Actions
@@ -90,9 +90,6 @@ amis_schema: |-
90
90
  "body"
91
91
  ],
92
92
  "data": {
93
- "context": {
94
- "rootUrl": "http://127.0.0.1:5300"
95
- },
96
93
  "app_id": "",
97
94
  "tab_id": "",
98
95
  "object_name": "",
@@ -89,9 +89,6 @@ amis_schema: |-
89
89
  "body"
90
90
  ],
91
91
  "data": {
92
- "context": {
93
- "rootUrl": "http://127.0.0.1:5300"
94
- },
95
92
  "app_id": "",
96
93
  "tab_id": "",
97
94
  "object_name": "",
@@ -82,15 +82,11 @@ amis_schema: |-
82
82
  "body"
83
83
  ],
84
84
  "data": {
85
- "context": {
86
- "rootUrl": "http://127.0.0.1:5300"
87
- },
88
85
  "app_id": "",
89
86
  "tab_id": "",
90
87
  "object_name": "",
91
88
  "dataComponentId": "",
92
89
  "record_id": "",
93
- "record": {},
94
90
  "permissions": {}
95
91
  },
96
92
  "bodyClassName": "p-0",
@@ -82,9 +82,6 @@ amis_schema: |-
82
82
  "body"
83
83
  ],
84
84
  "data": {
85
- "context": {
86
- "rootUrl": "http://127.0.0.1:5300"
87
- },
88
85
  "app_id": "",
89
86
  "tab_id": "",
90
87
  "object_name": "",
@@ -13,7 +13,7 @@
13
13
  },
14
14
  {
15
15
  "type": "tabs",
16
- "className": "steedos-record-tabs bg-white p-4 mt-3 border-y",
16
+ "className": "steedos-record-tabs bg-white p-4 sm:m-4 sm:border sm:rounded",
17
17
  "tabs": [
18
18
  {
19
19
  "title": "详情",
@@ -34,50 +34,53 @@
34
34
  "enableInitApi": true
35
35
  }
36
36
  ]
37
- }
38
- ],
39
- "id": "u:78283d8a88a6",
40
- "className": "px-0"
41
- },
42
- {
43
- "title": "相关表",
44
- "body": [
37
+ },
45
38
  {
46
39
  "type": "group",
47
40
  "id": "u:731d4077557a",
48
41
  "className": "px-0",
49
42
  "body": [
50
43
  {
51
- "type": "steedos-object-related-lists",
52
- "id": "u:f3101a683d9e",
53
- "label": "所有相关表",
44
+ "type": "steedos-record-service",
45
+ "id": "u:abefc73e930d",
46
+ "label": "记录服务",
54
47
  "recordId": "${target_object.ids[0]}",
55
48
  "objectApiName": "${target_object.o}",
56
- "visibleOn": "${!!target_object}"
49
+ "body": [
50
+ {
51
+ "type": "steedos-object-related-lists",
52
+ "id": "u:f3101a683d9e",
53
+ "label": "所有相关表",
54
+ "recordId": "${target_object.ids[0]}",
55
+ "objectApiName": "${target_object.o}",
56
+ "visibleOn": "${!!target_object}"
57
+ }
58
+ ]
57
59
  }
58
60
  ]
59
61
  }
60
62
  ],
61
- "id": "u:2828559659a3"
63
+ "id": "u:78283d8a88a6",
64
+ "className": "px-0"
62
65
  },
63
- {
64
- "title": "当前记录",
65
- "className": "px-0 py-4",
66
- "body": [
67
- {
68
- "type": "steedos-object-form",
69
- "label": "对象表单",
70
- "objectApiName": "${objectName}",
71
- "recordId": "${recordId}",
72
- "appId": "${appId}",
73
- "id": "u:417063b0c22f"
74
- }
75
- ],
76
- "id": "u:5d4e7e3f6ecc"
77
- }
66
+ {
67
+ "title": "当前记录",
68
+ "body": [
69
+ {
70
+ "type": "steedos-object-form",
71
+ "id": "u:417063b0c22f",
72
+ "label": "对象表单",
73
+ "objectApiName": "${objectName}",
74
+ "recordId": "${recordId}",
75
+ "appId": "${appId}"
76
+ }
77
+ ],
78
+ "id": "u:5d4e7e3f6ecc",
79
+ "className": "px-0 py-4"
80
+ }
78
81
  ],
79
82
  "id": "u:e1251a3f5a0f"
80
- }
83
+ }
81
84
  ],
82
85
  "data": {
83
86
  "_master.objectName": "${objectName}",
@@ -99,25 +102,17 @@
99
102
  }
100
103
  },
101
104
  "id": "u:be317b257920",
102
- "messages": {}
105
+ "messages": {},
106
+ "dsType": "api"
103
107
  }
104
108
  ],
105
109
  "regions": [
106
- "body"
110
+ "body"
107
111
  ],
108
- "data": {
109
- "objectName": "process_instance_history",
110
- "recordId": "sJjFfTionvxrwrdF8",
111
- "context": {
112
- "rootUrl": "http://127.0.0.1:5900",
113
- "tenantId": "63ed8fb288feeecd0165843d",
114
- "userId": "1852bcb9-a3cb-4d04-905b-1cd12e4cdb3b",
115
- "authToken": "655db0535cc3e217056b8fcb0aa270b8618128df0daad0076f9b90c4041a537f4aef46ed54131dc642afeb"
116
- }
117
- },
112
+ "data": {},
118
113
  "id": "page_process_instance_history_record_detail",
119
114
  "name": "page_process_instance_history_record_detail",
120
115
  "objectApiName": "${objectName}",
121
116
  "bodyClassName": "",
122
117
  "className": "object-detail-page"
123
- }
118
+ }
@@ -5,6 +5,7 @@ hidden: true
5
5
  enable_inline_edit: false
6
6
  version: 2
7
7
  enable_enhanced_lookup: true
8
+ isMetadata: true
8
9
  fields:
9
10
  name:
10
11
  type: text
@@ -5,6 +5,7 @@ hidden: true
5
5
  enable_inline_edit: false
6
6
  enable_enhanced_lookup: true
7
7
  version: 2
8
+ isMetadata: true
8
9
  fields:
9
10
  name:
10
11
  type: text
@@ -4,4 +4,5 @@ icon: app
4
4
  version: 2
5
5
  hidden: true
6
6
  enable_inline_edit: false
7
- enable_enhanced_lookup: true
7
+ enable_enhanced_lookup: true
8
+ isMetadata: true
@@ -4,6 +4,7 @@ icon: maintenance_work_rule
4
4
  hidden: true
5
5
  version: 2
6
6
  enable_enhanced_lookup: true
7
+ isMetadata: true
7
8
  fields:
8
9
  object_name:
9
10
  label: Object Name
@@ -116,40 +117,18 @@ fields:
116
117
  group: time_dependent_action
117
118
  amis:
118
119
  showIndex: true
119
- columns: ["number", "unit", "type", "date_field"]
120
+ columns: ["date_field", "type", "number", "unit"]
120
121
  time_triggers.$:
121
122
  label: Field
122
123
  blackbox: true
123
124
  type: object
124
- time_triggers.$.number:
125
- label: 数值
126
- type: number
127
- scale: 0
128
- required: true
129
- time_triggers.$.unit:
130
- label: 单位
131
- type: select
132
- options:
133
- - label: 小时
134
- value: hour
135
- - label: 天
136
- value: day
137
- required: true
138
- time_triggers.$.type:
139
- label: 类型
140
- type: select
141
- options:
142
- - label: 早于
143
- value: earlier_than
144
- - label: 晚于
145
- value: later_than
146
- required: true
147
125
  time_triggers.$.date_field:
148
126
  label: 日期字段
149
127
  type: lookup
150
128
  reference_to: object_fields
151
129
  reference_to_field: name
152
130
  enable_enhanced_lookup: false
131
+ required: true
153
132
  depend_on:
154
133
  - object_name
155
134
  filtersFunction: !<tag:yaml.org,2002:js/function> |-
@@ -161,6 +140,29 @@ fields:
161
140
  return ['_id', '=', 'no']
162
141
  }
163
142
  }
143
+ time_triggers.$.type:
144
+ label: 类型
145
+ type: select
146
+ options:
147
+ - label: 早于
148
+ value: earlier_than
149
+ - label: 晚于
150
+ value: later_than
151
+ required: true
152
+ time_triggers.$.number:
153
+ label: 数值
154
+ type: number
155
+ scale: 0
156
+ required: true
157
+ time_triggers.$.unit:
158
+ label: 单位
159
+ type: select
160
+ options:
161
+ - label: 小时
162
+ value: hour
163
+ - label: 天
164
+ value: day
165
+ required: true
164
166
  time_triggers.$.updates_field_actions:
165
167
  type: lookup
166
168
  multiple: true
@@ -0,0 +1,35 @@
1
+ {
2
+ "type": "service",
3
+ "body": [
4
+ {
5
+ "type": "steedos-object-form",
6
+ "label": "对象表单",
7
+ "objectApiName": "process_definition",
8
+ "recordId": "${recordId}",
9
+ "className": "",
10
+ "enableTabs": false,
11
+ "mode": "edit",
12
+ "layout": "normal",
13
+ "tabsMode": "",
14
+ "fieldsExtend": {
15
+ "entry_criteria": {
16
+ "amis": {
17
+ "type": "service",
18
+ "schemaApi": {
19
+ "method": "get",
20
+ "url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/fields/options",
21
+ "cache": 30000,
22
+ "adaptor": "const field = context.uiSchema.fields.entry_criteria; const variables = SteedosUI.getFormulaVariables(payload.data.options); \n var fieldSchema={label: field.label, type:'input-formula', name: 'entry_criteria', 'evalMode': false, variableMode: 'tabs', variables: variables, labelRemark: field.inlineHelpText, description: field.description } \n return {...payload, data:fieldSchema};",
23
+ "trackExpression": "${object_name}",
24
+ "sendOn": "${object_name}"
25
+ },
26
+ "dsType": "api"
27
+ }
28
+ }
29
+ }
30
+ }
31
+ ],
32
+ "data": {},
33
+ "name": "page_process_definition_form",
34
+ "dsType": "api"
35
+ }
@@ -0,0 +1,13 @@
1
+ name: process_definition_form
2
+ is_active: true
3
+ label: 批准过程表单
4
+ locked: false
5
+ object_name: process_definition
6
+ pageAssignments:
7
+ - type: orgDefault
8
+ page: process_definition_form
9
+ desktop: true
10
+ mobile: true
11
+ render_engine: amis
12
+ type: form
13
+ widgets: []
@@ -0,0 +1,65 @@
1
+ {
2
+ "type": "service",
3
+ "body": [
4
+ {
5
+ "type": "steedos-object-form",
6
+ "label": "对象表单",
7
+ "objectApiName": "process_node",
8
+ "recordId": "${recordId}",
9
+ "className": "",
10
+ "enableTabs": false,
11
+ "mode": "edit",
12
+ "layout": "normal",
13
+ "tabsMode": "",
14
+ "id": "u:1c918e931a42",
15
+ "onEvent": {
16
+ "inited": {
17
+ "actions": [
18
+ {
19
+ "actionType": "ajax",
20
+ "api": {
21
+ "method": "get",
22
+ "url": "${context.rootUrl}/api/v1/process_definition/${process_definition}?fields=[\"object_name\"]",
23
+ "cache": 30000,
24
+ "adaptor": "return {...payload, data:{processDefinitionObjectName: payload.data.object_name}};",
25
+ "headers": {
26
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
27
+ }
28
+ }
29
+ },
30
+ {
31
+ "actionType": "setValue",
32
+ "args": {
33
+ "value": {
34
+ "processDefinitionObjectName": "${event.data.processDefinitionObjectName}"
35
+ }
36
+ },
37
+ "componentId": "page_process_node_form"
38
+ }
39
+ ]
40
+ }
41
+ },
42
+ "fieldsExtend": {
43
+ "entry_criteria": {
44
+ "amis": {
45
+ "type": "service",
46
+ "id": "u:46bf09af8f92",
47
+ "schemaApi": {
48
+ "method": "get",
49
+ "url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/${processDefinitionObjectName}/fields/options",
50
+ "cache": 30000,
51
+ "adaptor": "const field = context.uiSchema.fields.entry_criteria; const variables = SteedosUI.getFormulaVariables(payload.data.options); \n var fieldSchema={label: field.label, type:'input-formula', name: 'entry_criteria', 'evalMode': false, variableMode: 'tabs', variables: variables, labelRemark: field.inlineHelpText, description: field.description } \n return {...payload, data:fieldSchema};",
52
+ "trackExpression": "${processDefinitionObjectName}",
53
+ "sendOn": "${processDefinitionObjectName}"
54
+ },
55
+ "dsType": "api"
56
+ }
57
+ }
58
+ }
59
+ }
60
+ ],
61
+ "data": {},
62
+ "name": "page_process_node_form",
63
+ "dsType": "api",
64
+ "id": "page_process_node_form"
65
+ }
@@ -0,0 +1,13 @@
1
+ name: process_node_form
2
+ is_active: true
3
+ label: 批准步骤表单
4
+ locked: false
5
+ object_name: process_node
6
+ pageAssignments:
7
+ - type: orgDefault
8
+ page: process_node_form
9
+ desktop: true
10
+ mobile: true
11
+ render_engine: amis
12
+ type: form
13
+ widgets: []
@@ -0,0 +1,47 @@
1
+ {
2
+ "type": "service",
3
+ "body": [
4
+ {
5
+ "type": "steedos-object-form",
6
+ "label": "对象表单",
7
+ "objectApiName": "workflow_notifications",
8
+ "recordId": "${recordId}",
9
+ "className": "",
10
+ "id": "u:b3d626885b90",
11
+ "enableTabs": false,
12
+ "mode": "edit",
13
+ "layout": "normal",
14
+ "tabsMode": "",
15
+ "fieldsExtend": {
16
+ "title": {
17
+ "amis": {
18
+ "type": "service",
19
+ "schemaApi": {
20
+ "method": "get",
21
+ "url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/fields/options",
22
+ "cache": 30000,
23
+ "adaptor": "const fields = context.uiSchema.fields;\nconst titleField = fields && fields.title;\nconst bodyField = fields && fields.body;\nconst variables = SteedosUI.getFormulaVariables(payload.data.options);\n var fieldSchema=[{\n label: titleField.label,\n type: 'input-formula',\n name: 'title',\n evalMode: false,\n variableMode: 'tabs',\n variables: variables,\n labelRemark: titleField.inlineHelpText,\n description: titleField.description\n}, {\n label: bodyField.label,\n type: 'input-formula',\n name: 'body',\n evalMode: false,\n variableMode: 'tabs',\n variables: variables,\n labelRemark: bodyField.inlineHelpText,\n description: bodyField.description\n}]\nreturn {...payload, data:fieldSchema};",
24
+ "trackExpression": "${object_name}",
25
+ "sendOn": "${object_name}",
26
+ "requestAdaptor": "",
27
+ "messages": {}
28
+ },
29
+ "dsType": "api",
30
+ "id": "u:508198dbfac7",
31
+ "initFetchSchema": true
32
+ }
33
+ },
34
+ "body": {
35
+ "amis": {
36
+ "id": "u:18ca55507d93",
37
+ "hidden": true
38
+ }
39
+ }
40
+ }
41
+ }
42
+ ],
43
+ "data": {},
44
+ "name": "page_workflow_notifications_form",
45
+ "id": "u:35c197d6b61a",
46
+ "dsType": "api"
47
+ }
@@ -0,0 +1,13 @@
1
+ name: workflow_notifications_form
2
+ is_active: true
3
+ label: 消息提醒表单
4
+ locked: false
5
+ object_name: workflow_notifications
6
+ pageAssignments:
7
+ - type: orgDefault
8
+ page: workflow_notifications_form
9
+ desktop: true
10
+ mobile: true
11
+ render_engine: amis
12
+ type: form
13
+ widgets: []
@@ -0,0 +1,55 @@
1
+ {
2
+ "type": "service",
3
+ "body": [
4
+ {
5
+ "type": "steedos-object-form",
6
+ "label": "对象表单",
7
+ "objectApiName": "workflow_rule",
8
+ "recordId": "${recordId}",
9
+ "className": "",
10
+ "id": "u:b3d626885b90",
11
+ "enableTabs": false,
12
+ "mode": "edit",
13
+ "layout": "normal",
14
+ "tabsMode": "",
15
+ "initApiAdaptor": "if (recordId) {\n var data = payload.data;\n if (data) {\n data.filters = window.amisConvert.filtersToConditions(data.filters || []);\n }\n payload.data = data;\n}\nreturn payload;",
16
+ "apiRequestAdaptor": "if (formData.filters) {\n formData.filters = window.amisConvert.conditionsToFilters(formData.filters);\n}\n__saveData = JSON.stringify(JSON.stringify(formData));\napi.data = { query: query.replace('{__saveData}', __saveData) };\n",
17
+ "fieldsExtend": {
18
+ "formula": {
19
+ "amis": {
20
+ "type": "service",
21
+ "schemaApi": {
22
+ "method": "get",
23
+ "url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/fields/options",
24
+ "cache": 30000,
25
+ "adaptor": "const field = context.uiSchema.fields.formula; const variables = SteedosUI.getFormulaVariables(payload.data.options); \n var fieldSchema={label: field.label, type:'input-formula', name: 'formula', 'evalMode': false, variableMode: 'tabs', variables: variables, labelRemark: field.inlineHelpText, description: field.description } \n return {...payload, data:fieldSchema};",
26
+ "trackExpression": "${object_name}",
27
+ "sendOn": "${object_name}"
28
+ },
29
+ "dsType": "api"
30
+ }
31
+ },
32
+ "filters": {
33
+ "amis": {
34
+ "type": "condition-builder",
35
+ "description": "",
36
+ "source": {
37
+ "method": "get",
38
+ "url": "${context.rootUrl}/service/api/amis-metadata-listviews/getFilterFields?objectName=${object_name}",
39
+ "dataType": "json",
40
+ "headers": {
41
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
42
+ }
43
+ },
44
+ "className": "col-span-2 m-0",
45
+ "visibleOn": "${object_name}"
46
+ }
47
+ }
48
+ }
49
+ }
50
+ ],
51
+ "data": {},
52
+ "name": "page_workflow_rule_form",
53
+ "id": "u:a4758c8d4978",
54
+ "dsType": "api"
55
+ }