@steedos/service-plugin-amis 2.3.0-beta.31 → 2.3.0-beta.33

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.
@@ -169,6 +169,88 @@ const getFieldOperators = (type, lng)=>{
169
169
 
170
170
  }
171
171
 
172
+ const getField = (objectName, fieldName, type, lng)=>{
173
+ let field = null;
174
+ switch (type) {
175
+ case 'textarea':
176
+ case 'autonumber':
177
+ case 'url':
178
+ case 'email':
179
+ case 'text':
180
+ field = {
181
+ type: 'text',
182
+ operators: getFieldOperators('text', lng)
183
+ };
184
+ break;
185
+ case 'percent':
186
+ case 'currency':
187
+ case 'number':
188
+ field = {
189
+ type: 'number',
190
+ operators: getFieldOperators('number', lng)
191
+ };
192
+ break;
193
+ // 以下date 、datetime、time 不能作为amis 表单项的格式 . filters 对此格式做个特殊兼容,
194
+ case 'date':
195
+ // 华炎魔方中日期字段存的是utc的0点
196
+ field = {
197
+ type: "date",
198
+ format: "YYYY-MM-DDT00:00:00+00:00",
199
+ operators: getFieldOperators("date", lng)
200
+ };
201
+ break;
202
+ case 'datetime':
203
+ // 即amis中日期时间控件的format默认值为"YYYY-MM-DDTHH:mm+08:00"正好满足需求
204
+ field = {
205
+ type: "datetime",
206
+ operators: getFieldOperators("datetime", lng)
207
+ };
208
+ break;
209
+ case 'time':
210
+ // 华炎魔方中时间字段存的是1970-01-01的utc时间
211
+ field = {
212
+ type: "time",
213
+ format: "1970-01-01THH:mm+00:00",
214
+ operators: getFieldOperators("time", lng)
215
+ };
216
+ break;
217
+ case 'lookup':
218
+ case 'master_detail':
219
+ case 'select':
220
+ field = {
221
+ type: 'select',
222
+ source: {
223
+ "method": "get",
224
+ "url": "${context.rootUrl}" + `/service/api/amis-metadata-listviews/getSelectFieldOptions?objectName=${objectName}&fieldName=${fieldName}`,
225
+ "dataType": "json",
226
+ "headers": {
227
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
228
+ }
229
+ }
230
+ ,
231
+ searchable: true,
232
+ operators: getFieldOperators("select", lng)
233
+ };
234
+ break;
235
+ case 'boolean':
236
+ case 'toggle':
237
+ field = {
238
+ type: "select",
239
+ options: [
240
+ {label: steedosI18n.t("True", {}, lng), value: true},
241
+ {label: steedosI18n.t("False", {}, lng), value: false}
242
+ ],
243
+ operators: [
244
+ "equal",
245
+ "not_equal"
246
+ ]
247
+ };
248
+ default:
249
+ break;
250
+ }
251
+ return field;
252
+ }
253
+
172
254
  module.exports = {
173
255
  name: "amis-metadata-listviews",
174
256
  mixins: [],
@@ -239,89 +321,19 @@ module.exports = {
239
321
  if(!field.hidden && !_.includes(["grid", "object", "[Object]", "[object]", "Object", "markdown", "html"], field.type)){
240
322
  field.label = field.label || field.name
241
323
  switch (field.type) {
242
- case 'text':
243
- fields.push({
244
- label: field.label,
245
- type: field.type,
246
- name: field.name,
247
- operators: getFieldOperators(field.type, lng)
248
- });
249
- break;
250
- case 'currency':
251
- case 'number':
324
+ case 'formula':
252
325
  fields.push({
253
326
  label: field.label,
254
- type: 'number',
255
327
  name: field.name,
256
- operators: getFieldOperators('number', lng)
257
- });
328
+ ...getField(objectName, field.name, field.data_type, lng)
329
+ })
258
330
  break;
259
- // 以下date 、datetime、time 不能作为amis 表单项的格式 . filters 对此格式做个特殊兼容,
260
- case 'date':
261
- // 华炎魔方中日期字段存的是utc的0点
262
- fields.push({
263
- label: field.label,
264
- type: field.type,
265
- name: field.name,
266
- format: "YYYY-MM-DDT00:00:00+00:00",
267
- operators: getFieldOperators(field.type, lng)
268
- });
269
- break;
270
- case 'datetime':
271
- // 即amis中日期时间控件的format默认值为"YYYY-MM-DDTHH:mm+08:00"正好满足需求
272
- fields.push({
273
- label: field.label,
274
- type: field.type,
275
- name: field.name,
276
- operators: getFieldOperators(field.type, lng)
277
- });
278
- break;
279
- case 'time':
280
- // 华炎魔方中时间字段存的是1970-01-01的utc时间
281
- fields.push({
282
- label: field.label,
283
- type: field.type,
284
- name: field.name,
285
- format: "1970-01-01THH:mm+00:00",
286
- operators: getFieldOperators(field.type, lng)
287
- });
288
- break;
289
- case 'lookup':
290
- case 'master_detail':
291
- case 'select':
292
- fields.push({
293
- label: field.label,
294
- type: 'select',
295
- name: field.name,
296
- source: {
297
- "method": "get",
298
- "url": "${context.rootUrl}" + `/service/api/amis-metadata-listviews/getSelectFieldOptions?objectName=${objectName}&fieldName=${field.name}`,
299
- "dataType": "json",
300
- "headers": {
301
- "Authorization": "Bearer ${context.tenantId},${context.authToken}"
302
- }
303
- }
304
- ,
305
- searchable: true,
306
- operators: getFieldOperators(field.type, lng)
307
- });
308
- break;
309
- case 'boolean':
310
- case 'toggle':
331
+ default:
311
332
  fields.push({
312
333
  label: field.label,
313
- type: "select",
314
334
  name: field.name,
315
- options: [
316
- {label: steedosI18n.t("True", {}, lng), value: true},
317
- {label: steedosI18n.t("False", {}, lng), value: false}
318
- ],
319
- operators: [
320
- "equal",
321
- "not_equal"
322
- ]
323
- });
324
- default:
335
+ ...getField(objectName, field.name, field.type, lng)
336
+ })
325
337
  break;
326
338
  }
327
339
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-plugin-amis",
3
- "version": "2.3.0-beta.31",
3
+ "version": "2.3.0-beta.33",
4
4
  "main": "package.service.js",
5
5
  "scripts": {
6
6
  "build": "node .scripts/build.tailwind.js"
@@ -10,5 +10,5 @@
10
10
  "publishConfig": {
11
11
  "access": "public"
12
12
  },
13
- "gitHead": "7cd0bd9b12852cf7e25e17a7d7345500401c3af5"
13
+ "gitHead": "a2570c1f4432d59f68d7c28b5147555367275108"
14
14
  }