@steedos-widgets/amis-object 3.6.15 → 6.3.0-beta.11

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.
@@ -3723,10 +3723,23 @@ function getNameTpl(field, ctx){
3723
3723
  if(ctx && ctx.isLookup){
3724
3724
  linkTarget = "target='_blank'";
3725
3725
  }
3726
+ let nameLabel = field.name;
3727
+ //若字段类型是lookup,则按照相关表tpl的label规则显示;若是其它类型,则显示_display或字段本身的值
3728
+ if (field.type == "lookup") {
3729
+ if(!field.reference_to && (field.optionsFunction || field._optionsFunction || field.options)){
3730
+ if(!field.isTableField){
3731
+ nameLabel = `\${${field.name}__label}`;
3732
+ }
3733
+ } else {
3734
+ nameLabel = `\${_display.${field.name}.label}`;
3735
+ }
3736
+ } else {
3737
+ nameLabel = `\${_display.${field.name} || ${field.name}}`;
3738
+ }
3726
3739
  if(ctx.isRelated && window.innerWidth >= 768){
3727
- return `<a href="${href}" ${linkTarget} onclick="return false;">\${${field.name} | raw}</a>`
3740
+ return `<a href="${href}" ${linkTarget} onclick="return false;">\${${nameLabel} | raw}</a>`
3728
3741
  }else {
3729
- return `<a href="${href}" ${linkTarget}>\${${field.name} | raw}</a>`
3742
+ return `<a href="${href}" ${linkTarget}>\${${nameLabel} | raw}</a>`
3730
3743
  }
3731
3744
  }
3732
3745
 
@@ -3851,7 +3864,7 @@ function getLocationTpl(field){
3851
3864
  }
3852
3865
 
3853
3866
  async function getFieldTpl (field, options){
3854
- if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLookLabel){
3867
+ if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLookLabel && field.multiple !== true){
3855
3868
  return getNameTpl(field, options)
3856
3869
  }
3857
3870
  switch (field.type) {
@@ -3892,7 +3905,7 @@ async function getFieldsTemplate(fields, display){
3892
3905
  if(display != false){
3893
3906
  display = true;
3894
3907
  }
3895
- let fieldsName = ['_id'];
3908
+ let fieldsName = ['_id', 'space'];
3896
3909
  let displayFields = [];
3897
3910
  let fieldsArr = [];
3898
3911
  if(_$1.isArray(fields)){
@@ -4813,6 +4826,29 @@ instance
4813
4826
  }
4814
4827
  });
4815
4828
 
4829
+ /*
4830
+ * @Author: baozhoutao@steedos.com
4831
+ * @Date: 2022-07-13 15:18:03
4832
+ * @LastEditors: baozhoutao@steedos.com
4833
+ * @LastEditTime: 2023-04-11 10:34:26
4834
+ * @Description:
4835
+ */
4836
+
4837
+ async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
4838
+ const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
4839
+ const page = await fetchAPI(api);
4840
+ if (page && page.schema) {
4841
+ page.schema = JSON.parse(page.schema);
4842
+ if(page.schema.data){
4843
+ delete page.schema.data.recordId;
4844
+ delete page.schema.data.objectName;
4845
+ delete page.schema.data.context;
4846
+ delete page.schema.data.global;
4847
+ }
4848
+ return page;
4849
+ }
4850
+ }
4851
+
4816
4852
  async function getQuickEditSchema(object, columnField, options){
4817
4853
  let field = object.fields[columnField.name];
4818
4854
  //判断在amis3.2以上环境下,放开批量编辑与lookup的单元格编辑
@@ -5447,20 +5483,26 @@ async function getTableColumns$1(object, fields, options){
5447
5483
  }
5448
5484
 
5449
5485
  if(window.innerWidth >= 768 && ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && _$1.isString(field.reference_to) && field.multiple != true)) && options.isRelated){
5450
-
5451
- const drawerRecordDetailSchema = {
5486
+ const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });
5487
+ const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
5488
+ "recordId": `\${${options.idFieldName}}`,
5489
+ "data": {
5490
+ ...recordPage.schema.data,
5491
+ "_inDrawer": true, // 用于判断是否在抽屉中
5492
+ "recordLoaded": false, // 重置数据加载状态
5493
+ }
5494
+ }) : {
5452
5495
  "type": "steedos-record-detail",
5453
5496
  "objectApiName": "${objectName}",
5454
5497
  "recordId": `\${${options.idFieldName}}`,
5455
5498
  "showBackButton": false,
5456
5499
  "showButtons": true,
5457
5500
  "data": {
5458
- "_inDrawer": true, // 用于判断是否在抽屉中
5459
- "recordLoaded": false, // 重置数据加载状态
5501
+ "_inDrawer": true, // 用于判断是否在抽屉中
5502
+ "recordLoaded": false, // 重置数据加载状态
5460
5503
  }
5461
5504
  };
5462
5505
 
5463
-
5464
5506
  if(!(field.is_name || field.name === options.labelFieldName)){
5465
5507
  drawerRecordDetailSchema.objectApiName = field.reference_to;
5466
5508
  drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
@@ -5476,7 +5518,7 @@ async function getTableColumns$1(object, fields, options){
5476
5518
  "title": "&nbsp;",
5477
5519
  "headerClassName": "hidden",
5478
5520
  "size": "lg",
5479
- "bodyClassName": "p-0 m-0",
5521
+ "bodyClassName": "p-0 m-0 bg-gray-100",
5480
5522
  "closeOnEsc": true,
5481
5523
  "closeOnOutside": true,
5482
5524
  "resizable": true,
@@ -6412,6 +6454,19 @@ function getReadonlyFormAdaptor(object, fields, options){
6412
6454
  // })
6413
6455
 
6414
6456
  var fieldNames = _$1.map(fields, function(n){return n.name});
6457
+ var nameField = object.fields[object.NAME_FIELD_KEY];
6458
+ let nameLabel = nameField && nameField.name;
6459
+ if (nameField && nameField.type == "lookup") {
6460
+ if(!nameField.reference_to && (nameField.optionsFunction || nameField._optionsFunction || nameField.options)){
6461
+ if(!nameField.isTableField){
6462
+ nameLabel = `record.${nameField.name}__label`;
6463
+ }
6464
+ } else {
6465
+ nameLabel = `record._display.${nameField.name}.label`;
6466
+ }
6467
+ } else if (nameField){
6468
+ nameLabel = `record._display.${nameField.name} || record.${nameField.name}`;
6469
+ }
6415
6470
  return `
6416
6471
  if(payload.data.data.length === 0){
6417
6472
  var isEditor = !!${options && options.isEditor};
@@ -6453,8 +6508,7 @@ function getReadonlyFormAdaptor(object, fields, options){
6453
6508
  payload.data = data;
6454
6509
  payload.data.__objectName = "${object.name}";
6455
6510
  payload.data.record = record;
6456
-
6457
- payload.data.NAME_FIELD_VALUE = record.${object.NAME_FIELD_KEY || 'name'};
6511
+ payload.data.NAME_FIELD_VALUE = ${nameLabel} || record.name;
6458
6512
  payload.data._master = {
6459
6513
  record: record,
6460
6514
  objectName: "${object.name}",
@@ -7921,7 +7975,8 @@ const getSchema$5 = async (uiSchema, ctx) => {
7921
7975
  type: 'button',
7922
7976
  actionType: 'confirm',
7923
7977
  label: instance.t('frontend_form_save'),
7924
- primary: true
7978
+ primary: true,
7979
+ close: `object_actions_drawer_${uiSchema.name}`
7925
7980
  },
7926
7981
  ]
7927
7982
  }
@@ -7939,29 +7994,6 @@ const getSchema$5 = async (uiSchema, ctx) => {
7939
7994
  }
7940
7995
  };
7941
7996
 
7942
- /*
7943
- * @Author: baozhoutao@steedos.com
7944
- * @Date: 2022-07-13 15:18:03
7945
- * @LastEditors: baozhoutao@steedos.com
7946
- * @LastEditTime: 2023-04-11 10:34:26
7947
- * @Description:
7948
- */
7949
-
7950
- async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
7951
- const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
7952
- const page = await fetchAPI(api);
7953
- if (page && page.schema) {
7954
- page.schema = JSON.parse(page.schema);
7955
- if(page.schema.data){
7956
- delete page.schema.data.recordId;
7957
- delete page.schema.data.objectName;
7958
- delete page.schema.data.context;
7959
- delete page.schema.data.global;
7960
- }
7961
- return page;
7962
- }
7963
- }
7964
-
7965
7997
  /*
7966
7998
  * @Author: baozhoutao@steedos.com
7967
7999
  * @Date: 2022-11-01 15:49:58
@@ -8040,6 +8072,20 @@ const getSchema$4 = async (uiSchema, ctx) => {
8040
8072
  ]
8041
8073
  }
8042
8074
  },
8075
+ "actions": [
8076
+ {
8077
+ type: 'button',
8078
+ actionType: 'cancel',
8079
+ label: instance.t('frontend_form_cancel')
8080
+ },
8081
+ {
8082
+ type: 'button',
8083
+ actionType: 'confirm',
8084
+ label: instance.t('frontend_form_save'),
8085
+ primary: true,
8086
+ close: `object_actions_drawer_${uiSchema.name}`
8087
+ },
8088
+ ]
8043
8089
  },
8044
8090
  },
8045
8091
  ],
@@ -8121,7 +8167,8 @@ const getSchema$3 = (uiSchema)=>{
8121
8167
  }
8122
8168
  ]
8123
8169
  }
8124
- }
8170
+ },
8171
+ "close": `object_actions_drawer_${uiSchema.name}`
8125
8172
  }
8126
8173
  ],
8127
8174
  "regions": [
@@ -12056,10 +12103,6 @@ async function getObjectCRUD(objectSchema, fields, options){
12056
12103
  }
12057
12104
  }
12058
12105
  `;
12059
- let autoFillHeight = true;
12060
- if(options.isRelated || window.innerWidth < 768){
12061
- autoFillHeight = false;
12062
- }
12063
12106
 
12064
12107
  body = Object.assign({}, table, {
12065
12108
  type: 'crud',
@@ -12070,7 +12113,7 @@ async function getObjectCRUD(objectSchema, fields, options){
12070
12113
  keepItemSelectionOnPageChange: true,
12071
12114
  api: await getTableApi(objectSchema, fields, options),
12072
12115
  hiddenOn: options.tableHiddenOn,
12073
- autoFillHeight,
12116
+ // autoFillHeight,//autoFillHeight按amis规范默认为false,需要配置此属性时在各个组件层配置,比如列表视图组件那边传入此属性为true
12074
12117
  className: `flex-auto ${crudClassName || ""}`,
12075
12118
  // 这里不可以用动态className,因为它会把样式类加到.antd-Crud和.antd-Table.antd-Crud-body这两层div中,而子表列表中crudClassName中有hidden样式类会造成所有子表都不显示的bug
12076
12119
  // className: {
@@ -12243,6 +12286,10 @@ async function getFormSchemaWithDataFilter(form, options = {}){
12243
12286
  async function getObjectForm(objectSchema, ctx){
12244
12287
  const { recordId, formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign, tabId, appId, defaults, submitSuccActions = [],
12245
12288
  formDataFilter, onFormDataFilter, amisData, env } = ctx;
12289
+ //优先识别组件上的enableTabs属性,若不存在,则识别对象上定义的
12290
+ if (typeof ctx.enableTabs !== 'boolean') {
12291
+ ctx.enableTabs = objectSchema.enable_form_tabs;
12292
+ }
12246
12293
  const fields = _$1__default.values(objectSchema.fields);
12247
12294
  const formFields = getFormFields$1(objectSchema, ctx);
12248
12295
  const formSchema = defaults && defaults.formSchema || {};
@@ -12336,7 +12383,7 @@ async function getObjectForm(objectSchema, ctx){
12336
12383
 
12337
12384
  async function getObjectDetail(objectSchema, recordId, ctx){
12338
12385
  const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign,
12339
- formDataFilter, onFormDataFilter, amisData, env } = ctx;
12386
+ formDataFilter, onFormDataFilter, amisData, env, enableInitApi } = ctx;
12340
12387
  const fields = _$1__default.values(objectSchema.fields);
12341
12388
  const formFields = getFormFields$1(objectSchema, ctx);
12342
12389
  const serviceId = `service_detail_page`;
@@ -12403,6 +12450,16 @@ async function getObjectDetail(objectSchema, recordId, ctx){
12403
12450
  // }
12404
12451
  };
12405
12452
 
12453
+ if(enableInitApi){
12454
+ amisSchema.api = await getReadonlyFormInitApi(objectSchema, recordId, fields, ctx);
12455
+ // 开启初始化api请求时,如果不把recordLoaded默认设置为false,recordLoaded值会取RecordServic组件中的recordLoaded值
12456
+ // 这会造成表单内steedos field组件lookup字段中props.data取到的是RecordServic组件
12457
+ amisSchema.data = {
12458
+ ...amisSchema.data,
12459
+ recordLoaded: false
12460
+ };
12461
+ }
12462
+
12406
12463
  amisSchema.body[0].body = await getFormSchemaWithDataFilter(amisSchema.body[0].body, { formDataFilter, onFormDataFilter, amisData, env });
12407
12464
  // console.log('getObjectDetail=====>', amisSchema);
12408
12465
  return amisSchema;
@@ -12894,7 +12951,7 @@ async function getObjectRelatedListsMiniSchema(objectApiName){
12894
12951
  * @Author: baozhoutao@steedos.com
12895
12952
  * @Date: 2022-07-05 15:55:39
12896
12953
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12897
- * @LastEditTime: 2024-02-23 16:37:06
12954
+ * @LastEditTime: 2024-04-26 16:46:44
12898
12955
  * @Description:
12899
12956
  */
12900
12957
 
@@ -13159,37 +13216,44 @@ async function getListSchema(
13159
13216
  * 本次存储代码段
13160
13217
  */
13161
13218
  try {
13162
- const listViewPropsStoreKey = location.pathname + "/crud";
13163
- let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
13164
- /**
13165
- * localListViewProps规范来自crud请求api中api.data.$self参数值的。
13166
- * 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
13167
- * __searchable__...:顶部放大镜搜索条件
13168
- * filter:右侧过滤器
13169
- * perPage:每页条数
13170
- * page:当前页码
13171
- * orderBy:排序字段
13172
- * orderDir:排序方向
13173
- */
13174
- if (localListViewProps) {
13175
- localListViewProps = JSON.parse(localListViewProps);
13176
- // localListViewProps.perPage = 3;
13177
- let listSchema = {};
13178
- if(localListViewProps.orderBy){
13179
- listSchema.orderBy = localListViewProps.orderBy;
13180
- }
13181
- if(localListViewProps.orderDir){
13182
- listSchema.orderDir = localListViewProps.orderDir;
13183
- }
13219
+ const listViewPropsStoreKey = location.pathname + "/crud";
13220
+ let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
13221
+ /**
13222
+ * localListViewProps规范来自crud请求api中api.data.$self参数值的。
13223
+ * 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
13224
+ * __searchable__...:顶部放大镜搜索条件
13225
+ * filter:右侧过滤器
13226
+ * perPage:每页条数
13227
+ * page:当前页码
13228
+ * orderBy:排序字段
13229
+ * orderDir:排序方向
13230
+ */
13231
+ if (localListViewProps) {
13232
+ localListViewProps = JSON.parse(localListViewProps);
13233
+ // localListViewProps.perPage = 3;
13234
+ let listSchema = {};
13235
+ if (localListViewProps.orderBy) {
13236
+ listSchema.orderBy = localListViewProps.orderBy;
13237
+ }
13238
+ if (localListViewProps.orderDir) {
13239
+ listSchema.orderDir = localListViewProps.orderDir;
13240
+ }
13184
13241
 
13185
- if(localListViewProps.perPage){
13186
- listSchema.perPage = localListViewProps.perPage;
13242
+ if (localListViewProps.perPage) {
13243
+ listSchema.perPage = localListViewProps.perPage;
13244
+ }
13245
+ defaults.listSchema = defaultsDeep$1({}, listSchema, defaults.listSchema || {});
13187
13246
  }
13188
- defaults.listSchema = defaultsDeep$1({}, listSchema, defaults.listSchema || {});
13189
- }
13190
13247
  }
13191
13248
  catch (ex) {
13192
- console.error("本地存储中crud参数解析异常:", ex);
13249
+ console.error("本地存储中crud参数解析异常:", ex);
13250
+ }
13251
+
13252
+ if (window.innerWidth > 768) {
13253
+ // 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许重写微页面中重新组件autoFillHeight属性
13254
+ defaults.listSchema = defaultsDeep$1({}, defaults.listSchema || {}, {
13255
+ autoFillHeight: true
13256
+ });
13193
13257
  }
13194
13258
 
13195
13259
  ctx.defaults = defaults;
@@ -13239,15 +13303,15 @@ async function getListSchema(
13239
13303
  async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
13240
13304
  let fields = [];
13241
13305
  for (const column of columns) {
13306
+ let columnField, fieldName, displayName, filedInfo, rfUiSchema, rfFieldInfo;
13242
13307
  if (isString(column)) {
13243
- let columnField;
13244
13308
  if (column.indexOf('.') > 0) {
13245
- const fieldName = column.split('.')[0];
13246
- const displayName = column.split('.')[1];
13247
- const filedInfo = uiSchema.fields[fieldName];
13309
+ fieldName = column.split('.')[0];
13310
+ displayName = column.split('.')[1];
13311
+ filedInfo = uiSchema.fields[fieldName];
13248
13312
  if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)) {
13249
- const rfUiSchema = await getUISchema(filedInfo.reference_to);
13250
- const rfFieldInfo = rfUiSchema.fields[displayName];
13313
+ rfUiSchema = await getUISchema(filedInfo.reference_to);
13314
+ rfFieldInfo = rfUiSchema.fields[displayName];
13251
13315
  columnField = Object.assign({}, rfFieldInfo, { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } }, ctx);
13252
13316
  }else if(filedInfo && filedInfo.type === 'object'){
13253
13317
  columnField = uiSchema.fields[column];
@@ -13271,14 +13335,13 @@ async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
13271
13335
  }
13272
13336
 
13273
13337
  } else if (isObject$1(column)) {
13274
- let columnField;
13275
13338
  if (column.field.indexOf('.') > 0) {
13276
- const fieldName = column.field.split('.')[0];
13277
- const displayName = column.field.split('.')[1];
13278
- const filedInfo = uiSchema.fields[fieldName];
13339
+ fieldName = column.field.split('.')[0];
13340
+ displayName = column.field.split('.')[1];
13341
+ filedInfo = uiSchema.fields[fieldName];
13279
13342
  if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)) {
13280
- const rfUiSchema = await getUISchema(filedInfo.reference_to);
13281
- const rfFieldInfo = rfUiSchema.fields[displayName];
13343
+ rfUiSchema = await getUISchema(filedInfo.reference_to);
13344
+ rfFieldInfo = rfUiSchema.fields[displayName];
13282
13345
  columnField = Object.assign({}, rfFieldInfo, ctx,
13283
13346
  { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } },
13284
13347
  {
@@ -13286,6 +13349,8 @@ async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
13286
13349
  wrap: column.wrap // wrap = true 是没效果的
13287
13350
  }
13288
13351
  );
13352
+ } else if (filedInfo && filedInfo.type === 'object') {
13353
+ columnField = uiSchema.fields[column.field];
13289
13354
  }
13290
13355
  } else {
13291
13356
  if (uiSchema.fields[column.field]) {
@@ -13420,7 +13485,7 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
13420
13485
  };
13421
13486
  const content = {
13422
13487
  "type": "tabs",
13423
- "className": "steedos-record-tabs bg-white p-4 mt-2",
13488
+ "className": "steedos-record-tabs bg-white p-4 m-2 border rounded",
13424
13489
  "contentClassName": "bg-none",
13425
13490
  "tabs": [
13426
13491
  detailed
@@ -13496,6 +13561,10 @@ async function getRecordServiceSchema(objectName, appId, props = {}, body) {
13496
13561
  data: {
13497
13562
  "_master.objectName": "${objectName}",
13498
13563
  "_master.recordId": "${recordId}",
13564
+ // 微页面设计器中用RecordServic组件包裹一个ObjectForm只读组件时,如果这里不把recordLoaded默认设置为false
13565
+ // recordLoaded值会取父作用域中已经被设置为true的值(比如父级有RecordServic组件,在加载完数据后,父作用域中recordLoaded值为true)
13566
+ // 这会造成表单内steedos field组件lookup字段中props.data取到的是父作用域中的数据
13567
+ "recordLoaded": false,
13499
13568
  ...(props.data || {})
13500
13569
  },
13501
13570
  "style": {
@@ -14384,7 +14453,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
14384
14453
  });
14385
14454
 
14386
14455
  // 把自动填充规则中依赖的字段也加到api请求中
14387
- let autoFillMapping = !field.multiple && field.auto_fill_mapping;
14456
+ let autoFillMapping = field.auto_fill_mapping;
14388
14457
  if (autoFillMapping && autoFillMapping.length) {
14389
14458
  autoFillMapping.forEach(function (item) {
14390
14459
  if(!_$1.find(tableFields, function(f){
@@ -14534,7 +14603,11 @@ async function lookupToAmisPicker(field, readonly, ctx){
14534
14603
  // 如果当前元素不是数组,则处理该元素
14535
14604
  // 下面正则用于匹配amis公式\${}
14536
14605
  if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
14537
- arr[i] = currentAmis.evaluate(arr[i], api.data.$);
14606
+ try{
14607
+ arr[i] = currentAmis.evaluate(arr[i], api.context);
14608
+ }catch(ex){
14609
+ console.error("运行lookup过滤公式时出现错误:",ex);
14610
+ }
14538
14611
  }
14539
14612
  }
14540
14613
  }
@@ -14856,7 +14929,7 @@ async function lookupToAmisSelect(field, readonly, ctx){
14856
14929
  ];
14857
14930
 
14858
14931
  // 把自动填充规则中依赖的字段也加到api请求中
14859
- let autoFillMapping = !field.multiple && field.auto_fill_mapping;
14932
+ let autoFillMapping = field.auto_fill_mapping;
14860
14933
  if (autoFillMapping && autoFillMapping.length) {
14861
14934
  autoFillMapping.forEach(function (item) {
14862
14935
  queryFields.push(refObjectConfig.fields[item.from]);
@@ -14942,6 +15015,7 @@ async function lookupToAmisSelect(field, readonly, ctx){
14942
15015
  var fieldFilters = ${JSON.stringify(field.filters)};
14943
15016
  var currentAmis = amisRequire('amis');
14944
15017
  //递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
15018
+ debugger;
14945
15019
  function traverseNestedArray(arr) {
14946
15020
  for (let i = 0; i < arr.length; i++) {
14947
15021
  if (Array.isArray(arr[i])) {
@@ -14951,7 +15025,11 @@ async function lookupToAmisSelect(field, readonly, ctx){
14951
15025
  // 如果当前元素不是数组,则处理该元素
14952
15026
  // 下面正则用于匹配amis公式\${}
14953
15027
  if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
14954
- arr[i] = currentAmis.evaluate(arr[i], api.data.$);
15028
+ try{
15029
+ arr[i] = currentAmis.evaluate(arr[i], api.context);
15030
+ }catch(ex){
15031
+ console.error("运行lookup过滤公式时出现错误:",ex);
15032
+ }
14955
15033
  }
14956
15034
  }
14957
15035
  }
@@ -15098,14 +15176,25 @@ async function getApi(object, recordId, fields, options){
15098
15176
  }
15099
15177
 
15100
15178
  async function getAutoFill(field, refObject) {
15101
- let autoFillMapping = !field.multiple && field.auto_fill_mapping;
15179
+ let autoFillMapping = field.auto_fill_mapping;
15102
15180
  if (autoFillMapping && autoFillMapping.length) {
15103
15181
  let fillMapping = {};
15182
+ if (field.multiple) {
15183
+ autoFillMapping.forEach(function (item) {
15184
+ //from的字段类型为lookup、master_detail、select时,需要保留数组格式;其他类型需要转变为字符串格式
15185
+ if (_$1.includes(["lookup","master_detail","select"], refObject.fields[item.from].type)) {
15186
+ fillMapping[item.to] = `\${items | pick:${item.from}}`;
15187
+ } else {
15188
+ fillMapping[item.to] = `\${items | pick:${item.from} | join}`;
15189
+ }
15190
+ });
15191
+ }else {
15192
+ autoFillMapping.forEach(function (item) {
15193
+ fillMapping[item.to] = `\${${item.from}}`;
15194
+ });
15195
+ }
15104
15196
  // let fieldsForApi = [];
15105
- autoFillMapping.forEach(function (item) {
15106
- fillMapping[item.to] = `\${${item.from}}`;
15107
- // fieldsForApi.push(item.from);
15108
- });
15197
+ // fieldsForApi.push(item.from);
15109
15198
  // let api = {
15110
15199
  // // "url": "/amis/api/mock2/form/autoUpdate?browser=${browser}&version=${version}",
15111
15200
  // "url": `/api/v1/${refObject.name}/\${${field.name}}?fields=${JSON.stringify(fieldsForApi)}`,
@@ -15207,7 +15296,7 @@ async function lookupToAmis(field, readonly, ctx){
15207
15296
  amisSchema = _$1.defaultsDeep({}, pageAmisSchema, amisSchema);
15208
15297
  }
15209
15298
  }
15210
- const autoFill = await getAutoFill(field);
15299
+ const autoFill = await getAutoFill(field, refObject);
15211
15300
  if(autoFill){
15212
15301
  amisSchema.autoFill = autoFill;
15213
15302
  // 这里不配置initAutoFill值,按amis规则initAutoFill默认值为fillIfNotSet处理--需要amis sdk 版本 > 3.6.3-patch.6(不包括)版本
@@ -21471,11 +21560,11 @@ var SteedosSkeleton = function (props) {
21471
21560
  };
21472
21561
 
21473
21562
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
21474
- var $schema, recordId, defaultData, mode, _a, layout, labelAlign, appId, fieldsExtend, _b, excludedFields, _c, fields, _d, form, _e, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, submitSuccActions, data, formDataFilter, onFormDataFilter, env, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, allData, schema, schema, formData, fieldsArray, excludedFieldsArray, InitApiResendOn;
21563
+ var $schema, recordId, defaultData, mode, _a, layout, labelAlign, appId, fieldsExtend, _b, excludedFields, _c, fields, _d, form, _e, className, enableInitApi, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, submitSuccActions, data, formDataFilter, onFormDataFilter, env, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, allData, schema, schema, formData;
21475
21564
  return __generator(this, function (_f) {
21476
21565
  switch (_f.label) {
21477
21566
  case 0:
21478
- $schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, _a = props.layout, layout = _a === void 0 ? "horizontal" : _a, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _b = props.excludedFields, excludedFields = _b === void 0 ? null : _b, _c = props.fields, fields = _c === void 0 ? null : _c, _d = props.form, form = _d === void 0 ? {} : _d, _e = props.className, className = _e === void 0 ? "" : _e, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode, submitSuccActions = props.submitSuccActions, data = props.data, formDataFilter = props.formDataFilter, onFormDataFilter = props.onFormDataFilter, env = props.env;
21567
+ $schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, _a = props.layout, layout = _a === void 0 ? "horizontal" : _a, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _b = props.excludedFields, excludedFields = _b === void 0 ? null : _b, _c = props.fields, fields = _c === void 0 ? null : _c, _d = props.form, form = _d === void 0 ? {} : _d, _e = props.className, className = _e === void 0 ? "" : _e, enableInitApi = props.enableInitApi, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode, submitSuccActions = props.submitSuccActions, data = props.data, formDataFilter = props.formDataFilter, onFormDataFilter = props.onFormDataFilter, env = props.env;
21479
21568
  objectApiName = props.objectApiName || "space_users";
21480
21569
  schemaKeys = difference(keys($schema), ["id", "form", "type", "mode", "layout", "defaultData", "formDataFilter", "onFormDataFilter", "env"]);
21481
21570
  formSchema = pick(props, schemaKeys);
@@ -21531,6 +21620,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
21531
21620
  options.isEditor = true;
21532
21621
  }
21533
21622
  return [4 /*yield*/, getViewSchema(objectApiName, recordId, Object.assign({}, options, {
21623
+ enableInitApi: enableInitApi,
21534
21624
  initApiRequestAdaptor: initApiRequestAdaptor,
21535
21625
  initApiAdaptor: initApiAdaptor,
21536
21626
  enableTabs: enableTabs,
@@ -21560,16 +21650,6 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
21560
21650
  if (has(props, 'objectApiName')) {
21561
21651
  amisSchema.data.objectName = objectApiName;
21562
21652
  }
21563
- if (props.$$editor) {
21564
- fieldsArray = fields || [];
21565
- excludedFieldsArray = excludedFields || [];
21566
- InitApiResendOn = fieldsArray.concat(excludedFieldsArray).join('');
21567
- if (InitApiResendOn) {
21568
- amisSchema.data.InitApiResendOn = InitApiResendOn;
21569
- amisSchema.api.url += "&InitApiResendOn=${InitApiResendOn}";
21570
- // amisSchema.api.InitApiResendOn = "${InitApiResendOn}"; 这种写法有bug,当多选几个显示的字段/排除的字段时,表单一直loding。
21571
- }
21572
- }
21573
21653
  return [2 /*return*/, amisSchema];
21574
21654
  }
21575
21655
  });
@@ -21987,12 +22067,12 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
21987
22067
  /*
21988
22068
  * @Author: baozhoutao@steedos.com
21989
22069
  * @Date: 2022-12-08 10:32:17
21990
- * @LastEditors: baozhoutao@steedos.com
21991
- * @LastEditTime: 2024-02-18 16:05:56
22070
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
22071
+ * @LastEditTime: 2024-04-25 19:21:15
21992
22072
  * @Description:
21993
22073
  */
21994
22074
  var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void 0, function () {
21995
- var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema;
22075
+ var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema, formData;
21996
22076
  return __generator(this, function (_b) {
21997
22077
  switch (_b.label) {
21998
22078
  case 0:
@@ -22019,6 +22099,14 @@ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void
22019
22099
  }
22020
22100
  Object.assign(schema.style, style);
22021
22101
  }
22102
+ formData = {};
22103
+ if (has(props, "recordId") && $schema.recordId !== "${recordId}") {
22104
+ formData.recordId = props.recordId;
22105
+ }
22106
+ schema.data = Object.assign({}, schema.data || {}, formData);
22107
+ if (has(props, 'objectApiName')) {
22108
+ schema.data.objectName = objectApiName;
22109
+ }
22022
22110
  // console.log(`AmisRecordService====schema==>`, schema)
22023
22111
  return [2 /*return*/, schema];
22024
22112
  }
@@ -22604,7 +22692,7 @@ var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, fu
22604
22692
  schemaApi: {
22605
22693
  "method": "get",
22606
22694
  "url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus"),
22607
- "adaptor": "\n try {\n // console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"").concat(data.tabId, "\";\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 whitespace-normal leading-6 block -ml-px no-underline group flex items-center text-[14px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n })\n })\n } else {\n var tabGroup = _.find(tab_groups, {\"group_name\": groupName});\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": tabGroup && tabGroup.default_open != false,\n \"isGroup\": true,\n \"children\": _.sortBy(_.map(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 whitespace-normal leading-6 block -ml-px no-underline group flex items-center text-[14px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n }\n }),(tab) => {return tab.index})\n }) \n }\n });\n \n }else{\n _.each(payload.children, (tab)=>{\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 whitespace-normal leading-6 block -ml-px no-underline group flex items-center text-[14px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n });\n })\n }\n //\u4EE5\u4E0B\u4E3Anav\u7B2C\u4E00\u5C42\u6392\u5E8F\uFF0C\u5305\u62EC\u5206\u7EC4\u4E0E\u9009\u9879\u5361\n // let groupLength = ((payload.tab_groups && payload.tab_groups.length) || 0) + 1000;\n data.nav = _.sortBy(data.nav, function(tab){\n if(tab.isGroup){\n return _.findIndex(payload.tab_groups, function(group){\n return group.group_name === tab.label;\n });\n }else{\n // \u6CA1\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u6309index\u6392\u5217\u5728\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u524D\u65B9\n return (tab.index || 0) - 1000;\n }\n })\n payload.data = {\n \"type\":\"service\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": data.nav,\n \"keyvalues\": \"${ss:keyvalues}\"\n },\n \"id\": \"appMenuService\",\n \"onEvent\": {\n \"@data.changed.steedos_keyvalues\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n \"keyvalues\": \"${event.data.keyvalues}\"\n }\n }\n }\n ]\n }\n },\n \"body\":{\n \"type\": \"nav\",\n className: \"").concat(className, " text-black\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"source\": \"${items}\",\n //\u5DE6\u5C42\u663E\u793A\u65F6\u5BA1\u6279\u5355\u663E\u793Abadge\u6570\u91CF\n \"itemBadge\": {\n \"mode\": \"text\",\n \"text\": \"").concat(badgeText, "\",\n \"visibleOn\": \"${id == 'instance_tasks'}\",\n \"overflowCount\": 99,\n \"style\": stacked?{\n \"right\": \"20%\",\n \"margin-right\": \"-23px\",\n \"height\": \"20px\",\n \"border-radius\": \"10px\",\n \"font-size\": \"16px\",\n \"line-height\": \"18px\",\n \"top\": \"50%\"\n }:{\n \"transform\": \"translate(calc(50% - 17px), calc(-50% + 10px))\",\n \"border-radius\": \"6.5px\",\n \"height\": \"15px\",\n \"line-height\": \"13px\",\n \"padding\": \"0px 4px\",\n \"font-size\": \"12px\"\n }\n },\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n }\n }\n }\n };\n } catch (error) {\n console.log(`error`, error)\n }\n // console.log('payload===2==>', payload)\n return payload;\n "),
22695
+ "adaptor": "\n try {\n // console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"").concat(data.tabId, "\";\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='whitespace-normal leading-6 block no-underline group flex items-center text-[14px] rounded-md'><svg class=\"slds-icon_container slds-icon-standard-${ tab.iconClass } slds-icon !fill-white rounded-xl mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n })\n })\n } else {\n var tabGroup = _.find(tab_groups, {\"group_name\": groupName});\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": tabGroup && tabGroup.default_open != false,\n \"isGroup\": true,\n \"children\": _.sortBy(_.map(tabs, (tab) => {\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='whitespace-normal leading-6 block no-underline group flex items-center text-[14px] rounded-md'><svg class=\"slds-icon_container slds-icon-standard-${ tab.iconClass } !fill-white slds-icon rounded-xl mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n }\n }),(tab) => {return tab.index})\n }) \n }\n });\n \n }else{\n _.each(payload.children, (tab)=>{\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='whitespace-normal leading-6 block no-underline group flex items-center text-[14px] rounded-md'><svg class=\"slds-icon_container slds-icon-standard-${ tab.iconClass } slds-icon !fill-white rounded-xl mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n });\n })\n }\n //\u4EE5\u4E0B\u4E3Anav\u7B2C\u4E00\u5C42\u6392\u5E8F\uFF0C\u5305\u62EC\u5206\u7EC4\u4E0E\u9009\u9879\u5361\n // let groupLength = ((payload.tab_groups && payload.tab_groups.length) || 0) + 1000;\n data.nav = _.sortBy(data.nav, function(tab){\n if(tab.isGroup){\n return _.findIndex(payload.tab_groups, function(group){\n return group.group_name === tab.label;\n });\n }else{\n // \u6CA1\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u6309index\u6392\u5217\u5728\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u524D\u65B9\n return (tab.index || 0) - 1000;\n }\n })\n payload.data = {\n \"type\":\"service\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": data.nav,\n \"keyvalues\": \"${ss:keyvalues}\"\n },\n \"id\": \"appMenuService\",\n \"onEvent\": {\n \"@data.changed.steedos_keyvalues\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n \"keyvalues\": \"${event.data.keyvalues}\"\n }\n }\n }\n ]\n }\n },\n \"body\":{\n \"type\": \"nav\",\n \"searchable\": ").concat(stacked, ",\n \"searchConfig\": {\n \"placeholder\": \"\u641C\u7D22\u83DC\u5355\",\n \"matchFunc\": \"return link.searchKey && link.searchKey.indexOf(keyword)>=0;\"\n },\n className: \"").concat(className, " text-black steedos-app-menu ").concat(stacked ? 'stacked' : '', "\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"source\": \"${items}\",\n //\u5DE6\u5C42\u663E\u793A\u65F6\u5BA1\u6279\u5355\u663E\u793Abadge\u6570\u91CF\n \"itemBadge\": {\n \"mode\": \"text\",\n \"text\": \"").concat(badgeText, "\",\n \"visibleOn\": \"${id == 'instance_tasks'}\",\n \"overflowCount\": 99,\n \"style\": stacked?{\n \"right\": \"20%\",\n \"margin-right\": \"-23px\",\n \"height\": \"20px\",\n \"border-radius\": \"10px\",\n \"font-size\": \"16px\",\n \"line-height\": \"18px\",\n \"top\": \"50%\"\n }:{\n \"transform\": \"translate(calc(50% - 17px), calc(-50% + 10px))\",\n \"border-radius\": \"6.5px\",\n \"height\": \"15px\",\n \"line-height\": \"13px\",\n \"padding\": \"0px 4px\",\n \"font-size\": \"12px\"\n }\n },\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n }\n }\n }\n };\n } catch (error) {\n console.log(`error`, error)\n }\n // console.log('payload===2==>', payload)\n return payload;\n "),
22608
22696
  "headers": {
22609
22697
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
22610
22698
  }
@@ -23041,7 +23129,8 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
23041
23129
  "color": "#FFFFFF"
23042
23130
  },
23043
23131
  },
23044
- ]
23132
+ ],
23133
+ "xs": "auto"
23045
23134
  },
23046
23135
  {
23047
23136
  "body": [
@@ -23057,7 +23146,8 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
23057
23146
  "tpl": "${context.user.email}",
23058
23147
  "inline": true,
23059
23148
  },
23060
- ]
23149
+ ],
23150
+ "columnClassName": "break-all"
23061
23151
  }
23062
23152
  ]
23063
23153
  },
@@ -23302,7 +23392,7 @@ var AmisGlobalHeader = function (props) { return __awaiter(void 0, void 0, void
23302
23392
  body: [
23303
23393
  {
23304
23394
  type: "wrapper",
23305
- className: 'sidebar-wrapper px-0 pt-4 pb-16 fixed z-20 h-full h-fill ease-in-out duration-300 flex flex-col border-r overflow-y-auto bg-white border-gray-300 block -translate-x-0 sm:w-[220px] w-64',
23395
+ className: 'sidebar-wrapper px-0 py-3 pb-16 fixed z-20 h-full h-fill ease-in-out duration-300 flex flex-col border-r overflow-y-auto bg-gray-50 border-gray-200 block -translate-x-0 sm:w-[220px] w-64',
23306
23396
  body: [
23307
23397
  {
23308
23398
  "type": "steedos-app-launcher",
@@ -23412,7 +23502,7 @@ var REFERENCE_VALUE_ITEM_ONCLICK = {
23412
23502
  "title": "&nbsp;",
23413
23503
  "headerClassName": "hidden",
23414
23504
  "size": "lg",
23415
- "bodyClassName": "p-0 m-0",
23505
+ "bodyClassName": "p-0 m-0 bg-gray-100",
23416
23506
  "closeOnEsc": true,
23417
23507
  "closeOnOutside": true,
23418
23508
  "resizable": true,
@@ -24350,7 +24440,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
24350
24440
  recordPage = _a.sent();
24351
24441
  recordSchema = recordPage ? recordPage.schema : {
24352
24442
  "type": "wrapper",
24353
- "className": "steedos-record-content overflow-y-auto p-0 m-0 flex-1 h-full",
24443
+ "className": "steedos-record-content overflow-y-auto p-0 m-0 flex-1 h-full bg-gray-100",
24354
24444
  "name": "amis-".concat(appId, "-").concat(objectApiName, "-detail"),
24355
24445
  "body": [
24356
24446
  {