@steedos-labs/plugin-workflow 3.0.0-beta.29 → 3.0.0-beta.31

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 (34) hide show
  1. package/main/default/client/instance.client.js +2 -2
  2. package/main/default/manager/import.js +16 -1
  3. package/main/default/manager/push_manager.js +14 -6
  4. package/main/default/methods/trace_approve_cc.js +568 -0
  5. package/main/default/objectTranslations/instances.en/instances.en.objectTranslation.yml +212 -0
  6. package/main/default/objectTranslations/instances.zh-CN/instances.zh-CN.objectTranslation.yml +209 -0
  7. package/main/default/objects/flows/buttons/newexport.button.yml +1 -1
  8. package/main/default/objects/flows/buttons/newimport.button.yml +2 -1
  9. package/main/default/objects/flows/flows.object.yml +1 -0
  10. package/main/default/objects/instances/buttons/instance_cc.button.yml +1 -1
  11. package/main/default/objects/instances/buttons/instance_distribute.button.yml +3 -2
  12. package/main/default/objects/instances/buttons/instance_forward.button.yml +1 -1
  13. package/main/default/objects/instances/buttons/instance_reassign.button.yml +1 -16
  14. package/main/default/objects/instances/buttons/instance_relocate.button.yml +1 -1
  15. package/main/default/objects/instances/buttons/instance_retrieve.button.yml +106 -2
  16. package/main/default/objects/instances/buttons/instance_save.button.yml +1 -1
  17. package/main/default/objects/instances/listviews/monitor.listview.yml +0 -1
  18. package/main/default/pages/instance_tasks_list.page.amis.json +6 -99
  19. package/main/default/pages/instances_list.page.amis.json +6 -100
  20. package/main/default/routes/api_cc.router.js +5 -12
  21. package/main/default/routes/api_flow_permission.router.js +7 -2
  22. package/main/default/routes/api_workflow_instance_return.router.js +164 -167
  23. package/main/default/routes/api_workflow_reassign.router.js +200 -196
  24. package/main/default/routes/api_workflow_relocate.router.js +1 -1
  25. package/main/default/routes/api_workflow_retrieve.router.js +246 -237
  26. package/main/default/routes/export.router.js +5 -4
  27. package/main/default/routes/flow_form_design.ejs +2 -0
  28. package/main/default/routes/import.router.js +6 -7
  29. package/main/default/triggers/amis_form_design.trigger.js +1 -1
  30. package/main/default/utils/designerManager.js +1 -0
  31. package/package.json +3 -2
  32. package/package.service.js +20 -6
  33. package/src/webhook_queue.js +283 -0
  34. package/main/default/manager/index.js +0 -23
@@ -39,7 +39,7 @@
39
39
  "hideRoot": true,
40
40
  "showIcon": true,
41
41
  "initiallyOpen": false,
42
- "value": "${CONCATENATE('/app/', appId, '/', objectName, '/grid/', listViewId, '?additionalFilters=', additionalFilters,'&flowId=',flowId,'&categoryId=',categoryId)}",
42
+ "value": "${value}",
43
43
  "size": "md",
44
44
  "onEvent": {
45
45
  "change": {
@@ -122,7 +122,8 @@
122
122
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
123
123
  },
124
124
  "messages": {},
125
- "trackExpression": "${_reloadKey}"
125
+ "trackExpression": "${_reloadKey}",
126
+ "adaptor": "payload.data.value = window.location.pathname + decodeURIComponent(window.location.search); return payload;"
126
127
  },
127
128
  "messages": {},
128
129
  "dsType": "api",
@@ -164,7 +165,7 @@
164
165
  "showHeader": true,
165
166
  "id": "u:d29cef0d1007",
166
167
  "showDisplayAs": true,
167
- "className": "h-full w-full bg-white instance-tasks-list",
168
+ "className": "h-full w-full instance-tasks-list",
168
169
  "hiddenColumnOperation": true,
169
170
  "formFactor": "LARGE",
170
171
  "headerToolbarItems": [
@@ -194,7 +195,7 @@
194
195
  },
195
196
  {
196
197
  "type": "service",
197
- "visibleOn": "${!!flowId}",
198
+ "visibleOn": "${!!flowId && listName == 'inbox'}",
198
199
  "schemaApi": {
199
200
  "url": "/graphql?flowId=${flowId}&categoryId=${categoryId}",
200
201
  "method": "post",
@@ -244,101 +245,7 @@
244
245
  "objectName": "instance_tasks",
245
246
  "initialValues": {},
246
247
  "title": "",
247
- "context": {
248
- "rootUrl": "http://127.0.0.1:5600",
249
- "tenantId": "68400b7542187738fb1bab2c",
250
- "userId": "68400b7042187738fb1bab2a",
251
- "authToken": "c317dc22e82ffecda1f13f09767a9242b3ee44363f2b4d19a436afea7994c8e2bdb72ff0426aae544ecc5c",
252
- "user": {
253
- "authToken": "c317dc22e82ffecda1f13f09767a9242b3ee44363f2b4d19a436afea7994c8e2bdb72ff0426aae544ecc5c",
254
- "spaceId": "68400b7542187738fb1bab2c",
255
- "userId": "68400b7042187738fb1bab2a",
256
- "name": "YLH1",
257
- "username": "yinlianghui",
258
- "email": "yinlianghui@hotoa.com",
259
- "utcOffset": null,
260
- "steedos_id": "68400b7042187738fb1bab2a",
261
- "locale": "en-us",
262
- "language": "en",
263
- "roles": [
264
- "admin"
265
- ],
266
- "profile": "admin",
267
- "user": "68400b7042187738fb1bab2a",
268
- "user_accepted": true,
269
- "organization": {
270
- "_id": "68400b7542187738fb1bab2c",
271
- "name": "TEW",
272
- "fullname": "TEW",
273
- "company_id": "68400b7542187738fb1bab2c"
274
- },
275
- "organizations": [
276
- {
277
- "_id": "68400b7542187738fb1bab2c",
278
- "name": "TEW",
279
- "fullname": "TEW",
280
- "company_id": "68400b7542187738fb1bab2c"
281
- },
282
- {
283
- "_id": "684784a17f4aeba0af86e0bb",
284
- "name": "生产部",
285
- "fullname": "生产部",
286
- "company_id": "68400b7542187738fb1bab2c"
287
- }
288
- ],
289
- "space": {
290
- "_id": "68400b7542187738fb1bab2c",
291
- "name": "TEW",
292
- "admins": [
293
- "68400b7042187738fb1bab2a",
294
- "686ccd4a33466ba7d2a1fce6",
295
- "686cc9f8b6409ed05d63c80d"
296
- ]
297
- },
298
- "owner": "68400b7042187738fb1bab2a",
299
- "created_by": "68400b7042187738fb1bab2a",
300
- "created": "2025-06-04T09:01:41.340Z",
301
- "modified_by": "68400b7042187738fb1bab2a",
302
- "modified": "2025-08-31T09:38:56.388Z",
303
- "email_verified": null,
304
- "company_id": "68400b7542187738fb1bab2c",
305
- "organizations_parents": [
306
- "68400b7542187738fb1bab2c",
307
- "684784a17f4aeba0af86e0bb"
308
- ],
309
- "company_ids": [
310
- "68400b7542187738fb1bab2c"
311
- ],
312
- "spaces": [
313
- {
314
- "_id": "68400b7542187738fb1bab2c",
315
- "name": "TEW",
316
- "admins": [
317
- "68400b7042187738fb1bab2a",
318
- "686ccd4a33466ba7d2a1fce6",
319
- "686cc9f8b6409ed05d63c80d"
320
- ]
321
- }
322
- ],
323
- "companies": [
324
- {
325
- "_id": "68400b7542187738fb1bab2c",
326
- "name": "TEW",
327
- "organization": "68400b7542187738fb1bab2c"
328
- }
329
- ],
330
- "company": {
331
- "_id": "68400b7542187738fb1bab2c",
332
- "name": "TEW",
333
- "organization": "68400b7542187738fb1bab2c"
334
- },
335
- "permission_shares": [],
336
- "spaceUserId": "68400b7542187738fb1bab2d",
337
- "is_space_admin": true,
338
- "is_phone": false,
339
- "is_tablet": false
340
- }
341
- }
248
+ "context": {}
342
249
  },
343
250
  "id": "u:b7167e2fcaf0",
344
251
  "name": "page_instances_list",
@@ -41,7 +41,7 @@
41
41
  "hideRoot": true,
42
42
  "showIcon": true,
43
43
  "initiallyOpen": false,
44
- "value": "${CONCATENATE('/app/', appId, '/', objectName, '/grid/', listViewId, '?additionalFilters=', additionalFilters,'&flowId=',flowId,'&categoryId=',categoryId)}",
44
+ "value": "${value}",
45
45
  "size": "md",
46
46
  "onEvent": {
47
47
  "change": {
@@ -122,7 +122,8 @@
122
122
  "headers": {
123
123
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
124
124
  },
125
- "messages": {}
125
+ "messages": {},
126
+ "adaptor": "payload.data.value = window.location.pathname + decodeURIComponent(window.location.search); return payload;"
126
127
  },
127
128
  "messages": {},
128
129
  "dsType": "api"
@@ -163,7 +164,6 @@
163
164
  "showHeader": true,
164
165
  "id": "u:d29cef0d1007",
165
166
  "showDisplayAs": true,
166
- "className": "bg-gray-100",
167
167
  "hiddenColumnOperation": true,
168
168
  "formFactor": "LARGE",
169
169
  "headerToolbarItems": [
@@ -193,14 +193,14 @@
193
193
  },
194
194
  {
195
195
  "type": "service",
196
- "visibleOn": "${!!flowId}",
196
+ "visibleOn": "${!!flowId && listName == 'monitor'}",
197
197
  "schemaApi": {
198
198
  "url": "/graphql?flowId=${flowId}&categoryId=${categoryId}",
199
199
  "method": "post",
200
200
  "data": {
201
201
  "query": "{flow: flows__findOne(id:\"${flowId}\"){form__expand{current}}}"
202
202
  },
203
- "adaptor": "const schema = window.SteedosWorkflow.Instance.getListViewSchema(payload.data.flow); console.log('===schema==234==>', schema);return schema;"
203
+ "adaptor": "const schema = window.SteedosWorkflow.Instance.getListViewSchema(payload.data.flow); return schema;"
204
204
  },
205
205
  "id": "u:30c21a4ee7cb",
206
206
  "dsType": "api"
@@ -243,101 +243,7 @@
243
243
  "objectName": "instances",
244
244
  "initialValues": {},
245
245
  "title": "",
246
- "context": {
247
- "rootUrl": "http://127.0.0.1:5600",
248
- "tenantId": "68400b7542187738fb1bab2c",
249
- "userId": "68400b7042187738fb1bab2a",
250
- "authToken": "cc31877680017ca5bc8b6de2a9f1cb38debce7c39bd2f79e21c43400783f8c4d852662a1e443e9c44584be",
251
- "user": {
252
- "authToken": "cc31877680017ca5bc8b6de2a9f1cb38debce7c39bd2f79e21c43400783f8c4d852662a1e443e9c44584be",
253
- "spaceId": "68400b7542187738fb1bab2c",
254
- "userId": "68400b7042187738fb1bab2a",
255
- "name": "YLH1",
256
- "username": "yinlianghui",
257
- "email": "yinlianghui@hotoa.com",
258
- "utcOffset": null,
259
- "steedos_id": "68400b7042187738fb1bab2a",
260
- "locale": "en-us",
261
- "language": "en",
262
- "roles": [
263
- "admin"
264
- ],
265
- "profile": "admin",
266
- "user": "68400b7042187738fb1bab2a",
267
- "user_accepted": true,
268
- "organization": {
269
- "_id": "68400b7542187738fb1bab2c",
270
- "name": "TEW",
271
- "fullname": "TEW",
272
- "company_id": "68400b7542187738fb1bab2c"
273
- },
274
- "organizations": [
275
- {
276
- "_id": "68400b7542187738fb1bab2c",
277
- "name": "TEW",
278
- "fullname": "TEW",
279
- "company_id": "68400b7542187738fb1bab2c"
280
- },
281
- {
282
- "_id": "684784a17f4aeba0af86e0bb",
283
- "name": "生产部",
284
- "fullname": "生产部",
285
- "company_id": "68400b7542187738fb1bab2c"
286
- }
287
- ],
288
- "space": {
289
- "_id": "68400b7542187738fb1bab2c",
290
- "name": "TEW",
291
- "admins": [
292
- "68400b7042187738fb1bab2a",
293
- "686ccd4a33466ba7d2a1fce6",
294
- "686cc9f8b6409ed05d63c80d"
295
- ]
296
- },
297
- "owner": "68400b7042187738fb1bab2a",
298
- "created_by": "68400b7042187738fb1bab2a",
299
- "created": "2025-06-04T09:01:41.340Z",
300
- "modified_by": "68400b7042187738fb1bab2a",
301
- "modified": "2025-08-31T09:38:56.388Z",
302
- "email_verified": null,
303
- "company_id": "68400b7542187738fb1bab2c",
304
- "organizations_parents": [
305
- "68400b7542187738fb1bab2c",
306
- "684784a17f4aeba0af86e0bb"
307
- ],
308
- "company_ids": [
309
- "68400b7542187738fb1bab2c"
310
- ],
311
- "spaces": [
312
- {
313
- "_id": "68400b7542187738fb1bab2c",
314
- "name": "TEW",
315
- "admins": [
316
- "68400b7042187738fb1bab2a",
317
- "686ccd4a33466ba7d2a1fce6",
318
- "686cc9f8b6409ed05d63c80d"
319
- ]
320
- }
321
- ],
322
- "companies": [
323
- {
324
- "_id": "68400b7542187738fb1bab2c",
325
- "name": "TEW",
326
- "organization": "68400b7542187738fb1bab2c"
327
- }
328
- ],
329
- "company": {
330
- "_id": "68400b7542187738fb1bab2c",
331
- "name": "TEW",
332
- "organization": "68400b7542187738fb1bab2c"
333
- },
334
- "permission_shares": [],
335
- "spaceUserId": "68400b7542187738fb1bab2d",
336
- "is_space_admin": true,
337
- "is_phone": false,
338
- "is_tablet": false
339
- }
340
- }
246
+ "context": {}
341
247
  },
342
248
  "id": "u:b7167e2fcaf0",
343
249
  "name": "page_instances_list",
@@ -1,15 +1,15 @@
1
1
  /*
2
2
  * @Author: baozhoutao@steedos.com
3
3
  * @Date: 2022-09-15 13:09:51
4
- * @LastEditors: baozhoutao@steedos.com
5
- * @LastEditTime: 2023-02-07 18:12:15
4
+ * @LastEditors: 孙浩林 sunhaolin@steedos.com
5
+ * @LastEditTime: 2025-10-03 15:11:56
6
6
  * @Description:
7
7
  */
8
8
  const express = require("express");
9
9
  const router = express.Router();
10
10
  const { requireAuthentication } = require("@steedos/auth");
11
11
  const objectql = require('@steedos/objectql')
12
- const _ = require('lodash');
12
+ const { cc_do } = require('../methods/trace_approve_cc');
13
13
 
14
14
  router.post('/api/workflow/v2/cc_do', requireAuthentication, async function (req, res) {
15
15
  try {
@@ -17,15 +17,8 @@ router.post('/api/workflow/v2/cc_do', requireAuthentication, async function (req
17
17
  const { instanceId, traceId, approveId, usersId, description } = req.body;
18
18
  const approve = await objectql.getSteedosSchema().broker.call('instance.getApprove', {instanceId, traceId, approveId})
19
19
  try {
20
- Meteor.call('cc_do', approve, usersId, description, {userId: userSession.userId}, (error, result)=>{
21
- if(error){
22
- res.status(200).send({
23
- error: error.message
24
- });
25
- }else{
26
- res.status(200).send(result);
27
- }
28
- })
20
+ const result = await cc_do(approve, usersId, description, {userId: userSession.userId})
21
+ res.status(200).send(result);
29
22
  } catch (error) {
30
23
  console.error(error);
31
24
  res.status(200).send({
@@ -1,8 +1,8 @@
1
1
  /*
2
2
  * @Author: baozhoutao@steedos.com
3
3
  * @Date: 2023-03-18 15:05:39
4
- * @LastEditors: baozhoutao@steedos.com
5
- * @LastEditTime: 2023-03-18 15:25:49
4
+ * @LastEditors: 孙浩林 sunhaolin@steedos.com
5
+ * @LastEditTime: 2025-10-08 09:35:17
6
6
  * @Description:
7
7
  */
8
8
  const express = require("express");
@@ -13,9 +13,14 @@ const _ = require('lodash');
13
13
 
14
14
  router.get('/api/workflow/v2/flow_permissions/:flow', requireAuthentication, async function (req, res) {
15
15
  let userSession = req.user;
16
+ const { is_space_admin } = userSession;
16
17
  const { flow } = req.params;
17
18
  try {
18
19
  const permissions = await PermissionManager.getFlowPermissions(flow, userSession.userId);
20
+ // 工作区管理员默认对流程有管理权限
21
+ if (is_space_admin && !_.includes(permissions, 'admin')) {
22
+ permissions.push('admin');
23
+ }
19
24
  res.status(200).send({
20
25
  permissions: permissions
21
26
  })