@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.
@@ -3751,10 +3751,23 @@ function getNameTpl(field, ctx){
3751
3751
  if(ctx && ctx.isLookup){
3752
3752
  linkTarget = "target='_blank'";
3753
3753
  }
3754
+ let nameLabel = field.name;
3755
+ //若字段类型是lookup,则按照相关表tpl的label规则显示;若是其它类型,则显示_display或字段本身的值
3756
+ if (field.type == "lookup") {
3757
+ if(!field.reference_to && (field.optionsFunction || field._optionsFunction || field.options)){
3758
+ if(!field.isTableField){
3759
+ nameLabel = `\${${field.name}__label}`;
3760
+ }
3761
+ } else {
3762
+ nameLabel = `\${_display.${field.name}.label}`;
3763
+ }
3764
+ } else {
3765
+ nameLabel = `\${_display.${field.name} || ${field.name}}`;
3766
+ }
3754
3767
  if(ctx.isRelated && window.innerWidth >= 768){
3755
- return `<a href="${href}" ${linkTarget} onclick="return false;">\${${field.name} | raw}</a>`
3768
+ return `<a href="${href}" ${linkTarget} onclick="return false;">\${${nameLabel} | raw}</a>`
3756
3769
  }else {
3757
- return `<a href="${href}" ${linkTarget}>\${${field.name} | raw}</a>`
3770
+ return `<a href="${href}" ${linkTarget}>\${${nameLabel} | raw}</a>`
3758
3771
  }
3759
3772
  }
3760
3773
 
@@ -3879,7 +3892,7 @@ function getLocationTpl(field){
3879
3892
  }
3880
3893
 
3881
3894
  async function getFieldTpl (field, options){
3882
- if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLookLabel){
3895
+ if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLookLabel && field.multiple !== true){
3883
3896
  return getNameTpl(field, options)
3884
3897
  }
3885
3898
  switch (field.type) {
@@ -3920,7 +3933,7 @@ async function getFieldsTemplate(fields, display){
3920
3933
  if(display != false){
3921
3934
  display = true;
3922
3935
  }
3923
- let fieldsName = ['_id'];
3936
+ let fieldsName = ['_id', 'space'];
3924
3937
  let displayFields = [];
3925
3938
  let fieldsArr = [];
3926
3939
  if(_$1__namespace.isArray(fields)){
@@ -4841,6 +4854,29 @@ instance
4841
4854
  }
4842
4855
  });
4843
4856
 
4857
+ /*
4858
+ * @Author: baozhoutao@steedos.com
4859
+ * @Date: 2022-07-13 15:18:03
4860
+ * @LastEditors: baozhoutao@steedos.com
4861
+ * @LastEditTime: 2023-04-11 10:34:26
4862
+ * @Description:
4863
+ */
4864
+
4865
+ async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
4866
+ const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
4867
+ const page = await fetchAPI(api);
4868
+ if (page && page.schema) {
4869
+ page.schema = JSON.parse(page.schema);
4870
+ if(page.schema.data){
4871
+ delete page.schema.data.recordId;
4872
+ delete page.schema.data.objectName;
4873
+ delete page.schema.data.context;
4874
+ delete page.schema.data.global;
4875
+ }
4876
+ return page;
4877
+ }
4878
+ }
4879
+
4844
4880
  async function getQuickEditSchema(object, columnField, options){
4845
4881
  let field = object.fields[columnField.name];
4846
4882
  //判断在amis3.2以上环境下,放开批量编辑与lookup的单元格编辑
@@ -5475,20 +5511,26 @@ async function getTableColumns$1(object, fields, options){
5475
5511
  }
5476
5512
 
5477
5513
  if(window.innerWidth >= 768 && ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && _$1__namespace.isString(field.reference_to) && field.multiple != true)) && options.isRelated){
5478
-
5479
- const drawerRecordDetailSchema = {
5514
+ const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });
5515
+ const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
5516
+ "recordId": `\${${options.idFieldName}}`,
5517
+ "data": {
5518
+ ...recordPage.schema.data,
5519
+ "_inDrawer": true, // 用于判断是否在抽屉中
5520
+ "recordLoaded": false, // 重置数据加载状态
5521
+ }
5522
+ }) : {
5480
5523
  "type": "steedos-record-detail",
5481
5524
  "objectApiName": "${objectName}",
5482
5525
  "recordId": `\${${options.idFieldName}}`,
5483
5526
  "showBackButton": false,
5484
5527
  "showButtons": true,
5485
5528
  "data": {
5486
- "_inDrawer": true, // 用于判断是否在抽屉中
5487
- "recordLoaded": false, // 重置数据加载状态
5529
+ "_inDrawer": true, // 用于判断是否在抽屉中
5530
+ "recordLoaded": false, // 重置数据加载状态
5488
5531
  }
5489
5532
  };
5490
5533
 
5491
-
5492
5534
  if(!(field.is_name || field.name === options.labelFieldName)){
5493
5535
  drawerRecordDetailSchema.objectApiName = field.reference_to;
5494
5536
  drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
@@ -5504,7 +5546,7 @@ async function getTableColumns$1(object, fields, options){
5504
5546
  "title": "&nbsp;",
5505
5547
  "headerClassName": "hidden",
5506
5548
  "size": "lg",
5507
- "bodyClassName": "p-0 m-0",
5549
+ "bodyClassName": "p-0 m-0 bg-gray-100",
5508
5550
  "closeOnEsc": true,
5509
5551
  "closeOnOutside": true,
5510
5552
  "resizable": true,
@@ -6440,6 +6482,19 @@ function getReadonlyFormAdaptor(object, fields, options){
6440
6482
  // })
6441
6483
 
6442
6484
  var fieldNames = _$1__namespace.map(fields, function(n){return n.name});
6485
+ var nameField = object.fields[object.NAME_FIELD_KEY];
6486
+ let nameLabel = nameField && nameField.name;
6487
+ if (nameField && nameField.type == "lookup") {
6488
+ if(!nameField.reference_to && (nameField.optionsFunction || nameField._optionsFunction || nameField.options)){
6489
+ if(!nameField.isTableField){
6490
+ nameLabel = `record.${nameField.name}__label`;
6491
+ }
6492
+ } else {
6493
+ nameLabel = `record._display.${nameField.name}.label`;
6494
+ }
6495
+ } else if (nameField){
6496
+ nameLabel = `record._display.${nameField.name} || record.${nameField.name}`;
6497
+ }
6443
6498
  return `
6444
6499
  if(payload.data.data.length === 0){
6445
6500
  var isEditor = !!${options && options.isEditor};
@@ -6481,8 +6536,7 @@ function getReadonlyFormAdaptor(object, fields, options){
6481
6536
  payload.data = data;
6482
6537
  payload.data.__objectName = "${object.name}";
6483
6538
  payload.data.record = record;
6484
-
6485
- payload.data.NAME_FIELD_VALUE = record.${object.NAME_FIELD_KEY || 'name'};
6539
+ payload.data.NAME_FIELD_VALUE = ${nameLabel} || record.name;
6486
6540
  payload.data._master = {
6487
6541
  record: record,
6488
6542
  objectName: "${object.name}",
@@ -7949,7 +8003,8 @@ const getSchema$5 = async (uiSchema, ctx) => {
7949
8003
  type: 'button',
7950
8004
  actionType: 'confirm',
7951
8005
  label: instance.t('frontend_form_save'),
7952
- primary: true
8006
+ primary: true,
8007
+ close: `object_actions_drawer_${uiSchema.name}`
7953
8008
  },
7954
8009
  ]
7955
8010
  }
@@ -7967,29 +8022,6 @@ const getSchema$5 = async (uiSchema, ctx) => {
7967
8022
  }
7968
8023
  };
7969
8024
 
7970
- /*
7971
- * @Author: baozhoutao@steedos.com
7972
- * @Date: 2022-07-13 15:18:03
7973
- * @LastEditors: baozhoutao@steedos.com
7974
- * @LastEditTime: 2023-04-11 10:34:26
7975
- * @Description:
7976
- */
7977
-
7978
- async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
7979
- const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
7980
- const page = await fetchAPI(api);
7981
- if (page && page.schema) {
7982
- page.schema = JSON.parse(page.schema);
7983
- if(page.schema.data){
7984
- delete page.schema.data.recordId;
7985
- delete page.schema.data.objectName;
7986
- delete page.schema.data.context;
7987
- delete page.schema.data.global;
7988
- }
7989
- return page;
7990
- }
7991
- }
7992
-
7993
8025
  /*
7994
8026
  * @Author: baozhoutao@steedos.com
7995
8027
  * @Date: 2022-11-01 15:49:58
@@ -8068,6 +8100,20 @@ const getSchema$4 = async (uiSchema, ctx) => {
8068
8100
  ]
8069
8101
  }
8070
8102
  },
8103
+ "actions": [
8104
+ {
8105
+ type: 'button',
8106
+ actionType: 'cancel',
8107
+ label: instance.t('frontend_form_cancel')
8108
+ },
8109
+ {
8110
+ type: 'button',
8111
+ actionType: 'confirm',
8112
+ label: instance.t('frontend_form_save'),
8113
+ primary: true,
8114
+ close: `object_actions_drawer_${uiSchema.name}`
8115
+ },
8116
+ ]
8071
8117
  },
8072
8118
  },
8073
8119
  ],
@@ -8149,7 +8195,8 @@ const getSchema$3 = (uiSchema)=>{
8149
8195
  }
8150
8196
  ]
8151
8197
  }
8152
- }
8198
+ },
8199
+ "close": `object_actions_drawer_${uiSchema.name}`
8153
8200
  }
8154
8201
  ],
8155
8202
  "regions": [
@@ -12084,10 +12131,6 @@ async function getObjectCRUD(objectSchema, fields, options){
12084
12131
  }
12085
12132
  }
12086
12133
  `;
12087
- let autoFillHeight = true;
12088
- if(options.isRelated || window.innerWidth < 768){
12089
- autoFillHeight = false;
12090
- }
12091
12134
 
12092
12135
  body = Object.assign({}, table, {
12093
12136
  type: 'crud',
@@ -12098,7 +12141,7 @@ async function getObjectCRUD(objectSchema, fields, options){
12098
12141
  keepItemSelectionOnPageChange: true,
12099
12142
  api: await getTableApi(objectSchema, fields, options),
12100
12143
  hiddenOn: options.tableHiddenOn,
12101
- autoFillHeight,
12144
+ // autoFillHeight,//autoFillHeight按amis规范默认为false,需要配置此属性时在各个组件层配置,比如列表视图组件那边传入此属性为true
12102
12145
  className: `flex-auto ${crudClassName || ""}`,
12103
12146
  // 这里不可以用动态className,因为它会把样式类加到.antd-Crud和.antd-Table.antd-Crud-body这两层div中,而子表列表中crudClassName中有hidden样式类会造成所有子表都不显示的bug
12104
12147
  // className: {
@@ -12271,6 +12314,10 @@ async function getFormSchemaWithDataFilter(form, options = {}){
12271
12314
  async function getObjectForm(objectSchema, ctx){
12272
12315
  const { recordId, formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign, tabId, appId, defaults, submitSuccActions = [],
12273
12316
  formDataFilter, onFormDataFilter, amisData, env } = ctx;
12317
+ //优先识别组件上的enableTabs属性,若不存在,则识别对象上定义的
12318
+ if (typeof ctx.enableTabs !== 'boolean') {
12319
+ ctx.enableTabs = objectSchema.enable_form_tabs;
12320
+ }
12274
12321
  const fields = _$1__default["default"].values(objectSchema.fields);
12275
12322
  const formFields = getFormFields$1(objectSchema, ctx);
12276
12323
  const formSchema = defaults && defaults.formSchema || {};
@@ -12364,7 +12411,7 @@ async function getObjectForm(objectSchema, ctx){
12364
12411
 
12365
12412
  async function getObjectDetail(objectSchema, recordId, ctx){
12366
12413
  const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign,
12367
- formDataFilter, onFormDataFilter, amisData, env } = ctx;
12414
+ formDataFilter, onFormDataFilter, amisData, env, enableInitApi } = ctx;
12368
12415
  const fields = _$1__default["default"].values(objectSchema.fields);
12369
12416
  const formFields = getFormFields$1(objectSchema, ctx);
12370
12417
  const serviceId = `service_detail_page`;
@@ -12431,6 +12478,16 @@ async function getObjectDetail(objectSchema, recordId, ctx){
12431
12478
  // }
12432
12479
  };
12433
12480
 
12481
+ if(enableInitApi){
12482
+ amisSchema.api = await getReadonlyFormInitApi(objectSchema, recordId, fields, ctx);
12483
+ // 开启初始化api请求时,如果不把recordLoaded默认设置为false,recordLoaded值会取RecordServic组件中的recordLoaded值
12484
+ // 这会造成表单内steedos field组件lookup字段中props.data取到的是RecordServic组件
12485
+ amisSchema.data = {
12486
+ ...amisSchema.data,
12487
+ recordLoaded: false
12488
+ };
12489
+ }
12490
+
12434
12491
  amisSchema.body[0].body = await getFormSchemaWithDataFilter(amisSchema.body[0].body, { formDataFilter, onFormDataFilter, amisData, env });
12435
12492
  // console.log('getObjectDetail=====>', amisSchema);
12436
12493
  return amisSchema;
@@ -12922,7 +12979,7 @@ async function getObjectRelatedListsMiniSchema(objectApiName){
12922
12979
  * @Author: baozhoutao@steedos.com
12923
12980
  * @Date: 2022-07-05 15:55:39
12924
12981
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12925
- * @LastEditTime: 2024-02-23 16:37:06
12982
+ * @LastEditTime: 2024-04-26 16:46:44
12926
12983
  * @Description:
12927
12984
  */
12928
12985
 
@@ -13187,37 +13244,44 @@ async function getListSchema(
13187
13244
  * 本次存储代码段
13188
13245
  */
13189
13246
  try {
13190
- const listViewPropsStoreKey = location.pathname + "/crud";
13191
- let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
13192
- /**
13193
- * localListViewProps规范来自crud请求api中api.data.$self参数值的。
13194
- * 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
13195
- * __searchable__...:顶部放大镜搜索条件
13196
- * filter:右侧过滤器
13197
- * perPage:每页条数
13198
- * page:当前页码
13199
- * orderBy:排序字段
13200
- * orderDir:排序方向
13201
- */
13202
- if (localListViewProps) {
13203
- localListViewProps = JSON.parse(localListViewProps);
13204
- // localListViewProps.perPage = 3;
13205
- let listSchema = {};
13206
- if(localListViewProps.orderBy){
13207
- listSchema.orderBy = localListViewProps.orderBy;
13208
- }
13209
- if(localListViewProps.orderDir){
13210
- listSchema.orderDir = localListViewProps.orderDir;
13211
- }
13247
+ const listViewPropsStoreKey = location.pathname + "/crud";
13248
+ let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
13249
+ /**
13250
+ * localListViewProps规范来自crud请求api中api.data.$self参数值的。
13251
+ * 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
13252
+ * __searchable__...:顶部放大镜搜索条件
13253
+ * filter:右侧过滤器
13254
+ * perPage:每页条数
13255
+ * page:当前页码
13256
+ * orderBy:排序字段
13257
+ * orderDir:排序方向
13258
+ */
13259
+ if (localListViewProps) {
13260
+ localListViewProps = JSON.parse(localListViewProps);
13261
+ // localListViewProps.perPage = 3;
13262
+ let listSchema = {};
13263
+ if (localListViewProps.orderBy) {
13264
+ listSchema.orderBy = localListViewProps.orderBy;
13265
+ }
13266
+ if (localListViewProps.orderDir) {
13267
+ listSchema.orderDir = localListViewProps.orderDir;
13268
+ }
13212
13269
 
13213
- if(localListViewProps.perPage){
13214
- listSchema.perPage = localListViewProps.perPage;
13270
+ if (localListViewProps.perPage) {
13271
+ listSchema.perPage = localListViewProps.perPage;
13272
+ }
13273
+ defaults.listSchema = _$1.defaultsDeep({}, listSchema, defaults.listSchema || {});
13215
13274
  }
13216
- defaults.listSchema = _$1.defaultsDeep({}, listSchema, defaults.listSchema || {});
13217
- }
13218
13275
  }
13219
13276
  catch (ex) {
13220
- console.error("本地存储中crud参数解析异常:", ex);
13277
+ console.error("本地存储中crud参数解析异常:", ex);
13278
+ }
13279
+
13280
+ if (window.innerWidth > 768) {
13281
+ // 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许重写微页面中重新组件autoFillHeight属性
13282
+ defaults.listSchema = _$1.defaultsDeep({}, defaults.listSchema || {}, {
13283
+ autoFillHeight: true
13284
+ });
13221
13285
  }
13222
13286
 
13223
13287
  ctx.defaults = defaults;
@@ -13267,15 +13331,15 @@ async function getListSchema(
13267
13331
  async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
13268
13332
  let fields = [];
13269
13333
  for (const column of columns) {
13334
+ let columnField, fieldName, displayName, filedInfo, rfUiSchema, rfFieldInfo;
13270
13335
  if (_$1.isString(column)) {
13271
- let columnField;
13272
13336
  if (column.indexOf('.') > 0) {
13273
- const fieldName = column.split('.')[0];
13274
- const displayName = column.split('.')[1];
13275
- const filedInfo = uiSchema.fields[fieldName];
13337
+ fieldName = column.split('.')[0];
13338
+ displayName = column.split('.')[1];
13339
+ filedInfo = uiSchema.fields[fieldName];
13276
13340
  if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && _$1.isString(filedInfo.reference_to)) {
13277
- const rfUiSchema = await getUISchema(filedInfo.reference_to);
13278
- const rfFieldInfo = rfUiSchema.fields[displayName];
13341
+ rfUiSchema = await getUISchema(filedInfo.reference_to);
13342
+ rfFieldInfo = rfUiSchema.fields[displayName];
13279
13343
  columnField = Object.assign({}, rfFieldInfo, { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } }, ctx);
13280
13344
  }else if(filedInfo && filedInfo.type === 'object'){
13281
13345
  columnField = uiSchema.fields[column];
@@ -13299,14 +13363,13 @@ async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
13299
13363
  }
13300
13364
 
13301
13365
  } else if (_$1.isObject(column)) {
13302
- let columnField;
13303
13366
  if (column.field.indexOf('.') > 0) {
13304
- const fieldName = column.field.split('.')[0];
13305
- const displayName = column.field.split('.')[1];
13306
- const filedInfo = uiSchema.fields[fieldName];
13367
+ fieldName = column.field.split('.')[0];
13368
+ displayName = column.field.split('.')[1];
13369
+ filedInfo = uiSchema.fields[fieldName];
13307
13370
  if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && _$1.isString(filedInfo.reference_to)) {
13308
- const rfUiSchema = await getUISchema(filedInfo.reference_to);
13309
- const rfFieldInfo = rfUiSchema.fields[displayName];
13371
+ rfUiSchema = await getUISchema(filedInfo.reference_to);
13372
+ rfFieldInfo = rfUiSchema.fields[displayName];
13310
13373
  columnField = Object.assign({}, rfFieldInfo, ctx,
13311
13374
  { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } },
13312
13375
  {
@@ -13314,6 +13377,8 @@ async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
13314
13377
  wrap: column.wrap // wrap = true 是没效果的
13315
13378
  }
13316
13379
  );
13380
+ } else if (filedInfo && filedInfo.type === 'object') {
13381
+ columnField = uiSchema.fields[column.field];
13317
13382
  }
13318
13383
  } else {
13319
13384
  if (uiSchema.fields[column.field]) {
@@ -13448,7 +13513,7 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
13448
13513
  };
13449
13514
  const content = {
13450
13515
  "type": "tabs",
13451
- "className": "steedos-record-tabs bg-white p-4 mt-2",
13516
+ "className": "steedos-record-tabs bg-white p-4 m-2 border rounded",
13452
13517
  "contentClassName": "bg-none",
13453
13518
  "tabs": [
13454
13519
  detailed
@@ -13524,6 +13589,10 @@ async function getRecordServiceSchema(objectName, appId, props = {}, body) {
13524
13589
  data: {
13525
13590
  "_master.objectName": "${objectName}",
13526
13591
  "_master.recordId": "${recordId}",
13592
+ // 微页面设计器中用RecordServic组件包裹一个ObjectForm只读组件时,如果这里不把recordLoaded默认设置为false
13593
+ // recordLoaded值会取父作用域中已经被设置为true的值(比如父级有RecordServic组件,在加载完数据后,父作用域中recordLoaded值为true)
13594
+ // 这会造成表单内steedos field组件lookup字段中props.data取到的是父作用域中的数据
13595
+ "recordLoaded": false,
13527
13596
  ...(props.data || {})
13528
13597
  },
13529
13598
  "style": {
@@ -14412,7 +14481,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
14412
14481
  });
14413
14482
 
14414
14483
  // 把自动填充规则中依赖的字段也加到api请求中
14415
- let autoFillMapping = !field.multiple && field.auto_fill_mapping;
14484
+ let autoFillMapping = field.auto_fill_mapping;
14416
14485
  if (autoFillMapping && autoFillMapping.length) {
14417
14486
  autoFillMapping.forEach(function (item) {
14418
14487
  if(!_$1__namespace.find(tableFields, function(f){
@@ -14562,7 +14631,11 @@ async function lookupToAmisPicker(field, readonly, ctx){
14562
14631
  // 如果当前元素不是数组,则处理该元素
14563
14632
  // 下面正则用于匹配amis公式\${}
14564
14633
  if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
14565
- arr[i] = currentAmis.evaluate(arr[i], api.data.$);
14634
+ try{
14635
+ arr[i] = currentAmis.evaluate(arr[i], api.context);
14636
+ }catch(ex){
14637
+ console.error("运行lookup过滤公式时出现错误:",ex);
14638
+ }
14566
14639
  }
14567
14640
  }
14568
14641
  }
@@ -14884,7 +14957,7 @@ async function lookupToAmisSelect(field, readonly, ctx){
14884
14957
  ];
14885
14958
 
14886
14959
  // 把自动填充规则中依赖的字段也加到api请求中
14887
- let autoFillMapping = !field.multiple && field.auto_fill_mapping;
14960
+ let autoFillMapping = field.auto_fill_mapping;
14888
14961
  if (autoFillMapping && autoFillMapping.length) {
14889
14962
  autoFillMapping.forEach(function (item) {
14890
14963
  queryFields.push(refObjectConfig.fields[item.from]);
@@ -14970,6 +15043,7 @@ async function lookupToAmisSelect(field, readonly, ctx){
14970
15043
  var fieldFilters = ${JSON.stringify(field.filters)};
14971
15044
  var currentAmis = amisRequire('amis');
14972
15045
  //递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
15046
+ debugger;
14973
15047
  function traverseNestedArray(arr) {
14974
15048
  for (let i = 0; i < arr.length; i++) {
14975
15049
  if (Array.isArray(arr[i])) {
@@ -14979,7 +15053,11 @@ async function lookupToAmisSelect(field, readonly, ctx){
14979
15053
  // 如果当前元素不是数组,则处理该元素
14980
15054
  // 下面正则用于匹配amis公式\${}
14981
15055
  if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
14982
- arr[i] = currentAmis.evaluate(arr[i], api.data.$);
15056
+ try{
15057
+ arr[i] = currentAmis.evaluate(arr[i], api.context);
15058
+ }catch(ex){
15059
+ console.error("运行lookup过滤公式时出现错误:",ex);
15060
+ }
14983
15061
  }
14984
15062
  }
14985
15063
  }
@@ -15126,14 +15204,25 @@ async function getApi(object, recordId, fields, options){
15126
15204
  }
15127
15205
 
15128
15206
  async function getAutoFill(field, refObject) {
15129
- let autoFillMapping = !field.multiple && field.auto_fill_mapping;
15207
+ let autoFillMapping = field.auto_fill_mapping;
15130
15208
  if (autoFillMapping && autoFillMapping.length) {
15131
15209
  let fillMapping = {};
15210
+ if (field.multiple) {
15211
+ autoFillMapping.forEach(function (item) {
15212
+ //from的字段类型为lookup、master_detail、select时,需要保留数组格式;其他类型需要转变为字符串格式
15213
+ if (_$1__namespace.includes(["lookup","master_detail","select"], refObject.fields[item.from].type)) {
15214
+ fillMapping[item.to] = `\${items | pick:${item.from}}`;
15215
+ } else {
15216
+ fillMapping[item.to] = `\${items | pick:${item.from} | join}`;
15217
+ }
15218
+ });
15219
+ }else {
15220
+ autoFillMapping.forEach(function (item) {
15221
+ fillMapping[item.to] = `\${${item.from}}`;
15222
+ });
15223
+ }
15132
15224
  // let fieldsForApi = [];
15133
- autoFillMapping.forEach(function (item) {
15134
- fillMapping[item.to] = `\${${item.from}}`;
15135
- // fieldsForApi.push(item.from);
15136
- });
15225
+ // fieldsForApi.push(item.from);
15137
15226
  // let api = {
15138
15227
  // // "url": "/amis/api/mock2/form/autoUpdate?browser=${browser}&version=${version}",
15139
15228
  // "url": `/api/v1/${refObject.name}/\${${field.name}}?fields=${JSON.stringify(fieldsForApi)}`,
@@ -15235,7 +15324,7 @@ async function lookupToAmis(field, readonly, ctx){
15235
15324
  amisSchema = _$1__namespace.defaultsDeep({}, pageAmisSchema, amisSchema);
15236
15325
  }
15237
15326
  }
15238
- const autoFill = await getAutoFill(field);
15327
+ const autoFill = await getAutoFill(field, refObject);
15239
15328
  if(autoFill){
15240
15329
  amisSchema.autoFill = autoFill;
15241
15330
  // 这里不配置initAutoFill值,按amis规则initAutoFill默认值为fillIfNotSet处理--需要amis sdk 版本 > 3.6.3-patch.6(不包括)版本
@@ -21499,11 +21588,11 @@ var SteedosSkeleton = function (props) {
21499
21588
  };
21500
21589
 
21501
21590
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
21502
- 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;
21591
+ 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;
21503
21592
  return __generator(this, function (_f) {
21504
21593
  switch (_f.label) {
21505
21594
  case 0:
21506
- $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;
21595
+ $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;
21507
21596
  objectApiName = props.objectApiName || "space_users";
21508
21597
  schemaKeys = _$1.difference(_$1.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData", "formDataFilter", "onFormDataFilter", "env"]);
21509
21598
  formSchema = _$1.pick(props, schemaKeys);
@@ -21559,6 +21648,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
21559
21648
  options.isEditor = true;
21560
21649
  }
21561
21650
  return [4 /*yield*/, getViewSchema(objectApiName, recordId, Object.assign({}, options, {
21651
+ enableInitApi: enableInitApi,
21562
21652
  initApiRequestAdaptor: initApiRequestAdaptor,
21563
21653
  initApiAdaptor: initApiAdaptor,
21564
21654
  enableTabs: enableTabs,
@@ -21588,16 +21678,6 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
21588
21678
  if (_$1.has(props, 'objectApiName')) {
21589
21679
  amisSchema.data.objectName = objectApiName;
21590
21680
  }
21591
- if (props.$$editor) {
21592
- fieldsArray = fields || [];
21593
- excludedFieldsArray = excludedFields || [];
21594
- InitApiResendOn = fieldsArray.concat(excludedFieldsArray).join('');
21595
- if (InitApiResendOn) {
21596
- amisSchema.data.InitApiResendOn = InitApiResendOn;
21597
- amisSchema.api.url += "&InitApiResendOn=${InitApiResendOn}";
21598
- // amisSchema.api.InitApiResendOn = "${InitApiResendOn}"; 这种写法有bug,当多选几个显示的字段/排除的字段时,表单一直loding。
21599
- }
21600
- }
21601
21681
  return [2 /*return*/, amisSchema];
21602
21682
  }
21603
21683
  });
@@ -22015,12 +22095,12 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
22015
22095
  /*
22016
22096
  * @Author: baozhoutao@steedos.com
22017
22097
  * @Date: 2022-12-08 10:32:17
22018
- * @LastEditors: baozhoutao@steedos.com
22019
- * @LastEditTime: 2024-02-18 16:05:56
22098
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
22099
+ * @LastEditTime: 2024-04-25 19:21:15
22020
22100
  * @Description:
22021
22101
  */
22022
22102
  var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void 0, function () {
22023
- var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema;
22103
+ var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema, formData;
22024
22104
  return __generator(this, function (_b) {
22025
22105
  switch (_b.label) {
22026
22106
  case 0:
@@ -22047,6 +22127,14 @@ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void
22047
22127
  }
22048
22128
  Object.assign(schema.style, style);
22049
22129
  }
22130
+ formData = {};
22131
+ if (_$1.has(props, "recordId") && $schema.recordId !== "${recordId}") {
22132
+ formData.recordId = props.recordId;
22133
+ }
22134
+ schema.data = Object.assign({}, schema.data || {}, formData);
22135
+ if (_$1.has(props, 'objectApiName')) {
22136
+ schema.data.objectName = objectApiName;
22137
+ }
22050
22138
  // console.log(`AmisRecordService====schema==>`, schema)
22051
22139
  return [2 /*return*/, schema];
22052
22140
  }
@@ -22632,7 +22720,7 @@ var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, fu
22632
22720
  schemaApi: {
22633
22721
  "method": "get",
22634
22722
  "url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus"),
22635
- "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 "),
22723
+ "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 "),
22636
22724
  "headers": {
22637
22725
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
22638
22726
  }
@@ -23069,7 +23157,8 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
23069
23157
  "color": "#FFFFFF"
23070
23158
  },
23071
23159
  },
23072
- ]
23160
+ ],
23161
+ "xs": "auto"
23073
23162
  },
23074
23163
  {
23075
23164
  "body": [
@@ -23085,7 +23174,8 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
23085
23174
  "tpl": "${context.user.email}",
23086
23175
  "inline": true,
23087
23176
  },
23088
- ]
23177
+ ],
23178
+ "columnClassName": "break-all"
23089
23179
  }
23090
23180
  ]
23091
23181
  },
@@ -23330,7 +23420,7 @@ var AmisGlobalHeader = function (props) { return __awaiter(void 0, void 0, void
23330
23420
  body: [
23331
23421
  {
23332
23422
  type: "wrapper",
23333
- 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',
23423
+ 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',
23334
23424
  body: [
23335
23425
  {
23336
23426
  "type": "steedos-app-launcher",
@@ -23440,7 +23530,7 @@ var REFERENCE_VALUE_ITEM_ONCLICK = {
23440
23530
  "title": "&nbsp;",
23441
23531
  "headerClassName": "hidden",
23442
23532
  "size": "lg",
23443
- "bodyClassName": "p-0 m-0",
23533
+ "bodyClassName": "p-0 m-0 bg-gray-100",
23444
23534
  "closeOnEsc": true,
23445
23535
  "closeOnOutside": true,
23446
23536
  "resizable": true,
@@ -24378,7 +24468,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
24378
24468
  recordPage = _a.sent();
24379
24469
  recordSchema = recordPage ? recordPage.schema : {
24380
24470
  "type": "wrapper",
24381
- "className": "steedos-record-content overflow-y-auto p-0 m-0 flex-1 h-full",
24471
+ "className": "steedos-record-content overflow-y-auto p-0 m-0 flex-1 h-full bg-gray-100",
24382
24472
  "name": "amis-".concat(appId, "-").concat(objectApiName, "-detail"),
24383
24473
  "body": [
24384
24474
  {