@steedos-labs/plugin-workflow 3.0.0-beta.26 → 3.0.0-beta.27

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.
@@ -246,7 +246,7 @@ WorkflowManager.getUser = async function (spaceId, userId, notNeedDetails) {
246
246
  }
247
247
 
248
248
  if (typeof userId !== 'string') {
249
- return WorkflowManager.getUsers(spaceId, userId, notNeedDetails);
249
+ return await WorkflowManager.getUsers(spaceId, userId, notNeedDetails);
250
250
  }
251
251
 
252
252
  const spaceUsersCollection = await getCollection('space_users');
@@ -83,11 +83,16 @@ router.post('/api/workflow/v2/nextStepUsers', requireAuthentication, async funct
83
83
  var
84
84
  userField = nextStep.approver_user_field,
85
85
  userFieldValue = values[userField];
86
- if (userField.is_multiselect) { //如果多选,以userFieldValue值为Array
87
- nextStepUsers = await WorkflowManager.getUsers(spaceId, userFieldValue);
88
- } else {
89
- nextStepUsers.push(await WorkflowManager.getUser(spaceId, userFieldValue));
86
+ if(userFieldValue){
87
+ if (_.isArray(userFieldValue)) { //如果多选,以userFieldValue值为Array
88
+ nextStepUsers = await WorkflowManager.getUsers(spaceId, userFieldValue);
89
+ } else {
90
+ nextStepUsers.push(await WorkflowManager.getUser(spaceId, userFieldValue));
91
+ }
92
+ }else {
93
+ error = "FIELD_VALUE_EMPTY";
90
94
  }
95
+
91
96
  break;
92
97
  case 'orgField':
93
98
  var
@@ -96,7 +101,7 @@ router.post('/api/workflow/v2/nextStepUsers', requireAuthentication, async funct
96
101
  orgField = nextStep.approver_org_field,
97
102
  orgFieldValue = values[orgField];
98
103
  if (orgFieldValue) {
99
- if (orgField.is_multiselect) { //如果多选,以orgFieldValue值为Array
104
+ if (_.isArray(orgFieldValue)) { //如果多选,以orgFieldValue值为Array
100
105
  orgs = await WorkflowManager.getOrganizations(orgFieldValue);
101
106
  orgChildrens = await WorkflowManager.getOrganizationsChildrens(spaceId, orgFieldValue);
102
107
  } else {
@@ -105,7 +110,7 @@ router.post('/api/workflow/v2/nextStepUsers', requireAuthentication, async funct
105
110
  }
106
111
  nextStepUsers = await WorkflowManager.getOrganizationsUsers(spaceId, orgChildrens);
107
112
 
108
- orgFieldUsers = await WorkflowManager.getOrganizationsUsers(spaceId, orgs);
113
+ const orgFieldUsers = await WorkflowManager.getOrganizationsUsers(spaceId, orgs);
109
114
 
110
115
  nextStepUsers = nextStepUsers.concat(orgFieldUsers);
111
116
 
@@ -131,7 +136,7 @@ router.post('/api/workflow/v2/nextStepUsers', requireAuthentication, async funct
131
136
  userFieldValue = values[userField],
132
137
  approverRoleIds = nextStep.approver_roles;
133
138
  if (userFieldValue) {
134
- if (userField.is_multiselect) { //如果多选,以userFieldValue值为Array
139
+ if (_.isArray(userFieldValue)) { //如果多选,以userFieldValue值为Array
135
140
  nextStepUsers = await WorkflowManager.getRoleUsersByUsersAndRoles(spaceId, userFieldValue, approverRoleIds);
136
141
  } else {
137
142
  nextStepUsers = await WorkflowManager.getRoleUsersByUsersAndRoles(spaceId, [userFieldValue], approverRoleIds);
@@ -153,7 +158,7 @@ router.post('/api/workflow/v2/nextStepUsers', requireAuthentication, async funct
153
158
  approverRoleIds = nextStep.approver_roles;
154
159
 
155
160
  if (orgFieldValue) {
156
- if (orgField.is_multiselect) { //如果多选,以orgFieldValue值为Array
161
+ if (_.isArray(orgFieldValue)) { //如果多选,以orgFieldValue值为Array
157
162
  nextStepUsers = await WorkflowManager.getRoleUsersByOrgsAndRoles(spaceId, orgFieldValue, approverRoleIds);
158
163
  } else {
159
164
  nextStepUsers = await WorkflowManager.getRoleUsersByOrgsAndRoles(spaceId, [orgFieldValue], approverRoleIds);
@@ -160,8 +160,8 @@ function transformFormFields(amisField) {
160
160
 
161
161
 
162
162
  if(amisField.type === 'steedos-field'){
163
- return {
164
- _id: new ObjectId().toHexString(),
163
+ const sfield = {
164
+ _id: amisField.config.name,
165
165
  code: amisField.config.name,
166
166
  name: amisField.config.label,
167
167
  is_wide: amisField.config.is_wide,
@@ -173,6 +173,17 @@ function transformFormFields(amisField) {
173
173
  type: 'steedos-field',
174
174
  config: amisField.config
175
175
  }
176
+
177
+ let tempConfig = amisField.config;
178
+
179
+ if (tempConfig.reference_to === "organizations") {
180
+ sfield.type = 'group'
181
+ sfield._type = 'steedos-field'
182
+ }else if(tempConfig.reference_to === "space_users" || tempConfig.reference_to === "users"){
183
+ sfield.type = 'user'
184
+ sfield._type = 'steedos-field'
185
+ }
186
+ return sfield;
176
187
  };
177
188
 
178
189
  let formFieldsItem = {
@@ -454,7 +465,7 @@ function transformFormFields(amisField) {
454
465
 
455
466
  if (tempConfig.reference_to === "organizations") {
456
467
  steedosField.type = 'group'
457
- }else if(tempConfig.reference_to === "space_users"){
468
+ }else if(tempConfig.reference_to === "space_users" || tempConfig.reference_to === "user"){
458
469
  // && tempConfig.reference_to_field === 'user'
459
470
  steedosField.type = 'user'
460
471
  }else{
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@steedos-labs/plugin-workflow",
3
- "version": "3.0.0-beta.26",
3
+ "version": "3.0.0-beta.27",
4
4
  "main": "package.service.js",
5
5
  "license": "MIT",
6
6
  "scripts": {
7
7
  "build": "tsc && webpack --config webpack.config.js",
8
8
  "build:watch": "tsc --watch",
9
- "release": "npm publish --registry https://registry.npmjs.org && open https://npmmirror.com/sync/@steedos-labs/plugin-workflow && cnpm sync @steedos-labs/plugin-workflow"
9
+ "release": "yarn build && npm publish --registry https://registry.npmjs.org && open https://npmmirror.com/sync/@steedos-labs/plugin-workflow && cnpm sync @steedos-labs/plugin-workflow"
10
10
  },
11
11
  "dependencies": {
12
12
  "graphql-parse-resolve-info": "^4.12.3",