@steedos-widgets/sortable 1.3.17-beta.2 → 1.3.18

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.
package/dist/assets.json CHANGED
@@ -3,8 +3,8 @@
3
3
  {
4
4
  "package": "@steedos-widgets/sortable",
5
5
  "urls": [
6
- "https://unpkg.com/@steedos-widgets/sortable@1.3.17-beta.2/dist/sortable.umd.js",
7
- "https://unpkg.com/@steedos-widgets/sortable@1.3.17-beta.2/dist/sortable.umd.css"
6
+ "https://unpkg.com/@steedos-widgets/sortable@1.3.18/dist/sortable.umd.js",
7
+ "https://unpkg.com/@steedos-widgets/sortable@1.3.18/dist/sortable.umd.css"
8
8
  ],
9
9
  "library": "BuilderSortable"
10
10
  }
@@ -15,10 +15,10 @@
15
15
  "npm": {
16
16
  "package": "@steedos-widgets/sortable"
17
17
  },
18
- "url": "https://unpkg.com/@steedos-widgets/sortable@1.3.17-beta.2/dist/meta.js",
18
+ "url": "https://unpkg.com/@steedos-widgets/sortable@1.3.18/dist/meta.js",
19
19
  "urls": {
20
- "default": "https://unpkg.com/@steedos-widgets/sortable@1.3.17-beta.2/dist/meta.js",
21
- "design": "https://unpkg.com/@steedos-widgets/sortable@1.3.17-beta.2/dist/meta.js"
20
+ "default": "https://unpkg.com/@steedos-widgets/sortable@1.3.18/dist/meta.js",
21
+ "design": "https://unpkg.com/@steedos-widgets/sortable@1.3.18/dist/meta.js"
22
22
  }
23
23
  }
24
24
  ]
@@ -55329,9 +55329,9 @@ function getFieldWidth(width){
55329
55329
  const defaultWidth = "unset";//用于使table内的td标签下生成div,实现将快速编辑按钮固定在右侧的效果,并不是为了unset效果
55330
55330
  if(typeof width == 'string'){
55331
55331
  if(isNaN(width)){
55332
- return width;
55332
+ return width || defaultWidth;
55333
55333
  }else {
55334
- return Number(width);
55334
+ return Number(width) || defaultWidth;
55335
55335
  }
55336
55336
  }else if(typeof width == 'number'){
55337
55337
  return width;
@@ -55432,6 +55432,7 @@ async function getTableColumns(fields, options){
55432
55432
  width: getFieldWidth(field.width),
55433
55433
  toggled: field.toggled,
55434
55434
  className,
55435
+ inputClassName: "inline",
55435
55436
  static: true,
55436
55437
  }, field.amis, {name: field.name});
55437
55438
  }
@@ -55469,6 +55470,7 @@ async function getTableColumns(fields, options){
55469
55470
  tpl: tpl,
55470
55471
  toggled: field.toggled,
55471
55472
  className,
55473
+ inputClassName: "inline",
55472
55474
  static: true,
55473
55475
  options: field.type === 'html' ? {html: true} : null
55474
55476
  // toggled: true
@@ -55490,8 +55492,8 @@ async function getTableColumns(fields, options){
55490
55492
  const href = Router.getObjectDetailPath({
55491
55493
  ...options, formFactor: options.formFactor, appId: "${appId}", objectName: options.objectName || "${objectName}", recordId: `\${${options.idFieldName}}`
55492
55494
  });
55493
- columns[0].type = "tpl";
55494
- columns[0].tpl = `<a href="${href}">\${${columns[0].name}}</a>`;
55495
+ columns[1].type = "tpl";
55496
+ columns[1].tpl = `<a href="${href}">\${${columns[1].name}}</a>`;
55495
55497
  }
55496
55498
  return columns;
55497
55499
  }
@@ -56338,6 +56340,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
56338
56340
  const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
56339
56341
  const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
56340
56342
  const onSearchScript = `
56343
+ // console.log("===onSearchScript=form==");
56341
56344
  const scope = event.context.scoped;
56342
56345
  var filterForm = scope.parent.parent.getComponents().find(function(n){
56343
56346
  return n.props.type === "form";
@@ -56394,25 +56397,13 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
56394
56397
  crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});
56395
56398
  `;
56396
56399
  const onCancelScript = `
56397
- doAction(
56398
- {
56399
- "componentId": 'service_${ctx.crudId}',
56400
- "actionType": "setValue",
56401
- "args": {
56402
- "value": {
56403
- "__filterFormValues": null
56404
- }
56405
- }
56406
- }
56407
- )
56400
+ // console.log("===onCancelScript=form==");
56408
56401
  const scope = event.context.scoped;
56409
56402
  var filterForm = scope.parent.parent.getComponents().find(function(n){
56410
56403
  return n.props.type === "form";
56411
56404
  });
56412
56405
  var filterFormValues = filterForm.getValues();
56413
- var listView = scope.parent.parent.parent.getComponents().find(function(n){
56414
- return n.props.type === "crud";
56415
- });
56406
+ let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
56416
56407
  const removedValues = {};
56417
56408
  for(var k in filterFormValues){
56418
56409
  if(/^__searchable__/.test(k)){
@@ -56427,7 +56418,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
56427
56418
  if(localListViewProps){
56428
56419
  localListViewProps = JSON.parse(localListViewProps);
56429
56420
  for(var k in localListViewProps){
56430
- if(k !== "__keywords"){
56421
+ if(/^__searchable__/.test(k)){
56431
56422
  removedValues[k] = null;
56432
56423
  }
56433
56424
  }
@@ -56438,20 +56429,35 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
56438
56429
  //lookup字段保留快速搜索条件
56439
56430
  removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];
56440
56431
  }
56441
- filterForm.reset();
56442
- setTimeout(()=>{
56443
- listView.handleFilterSubmit(removedValues);
56444
- }, 100);
56445
- const filterService = filterForm.context.getComponents().find(function(n){
56446
- return n.props.type === "service";
56447
- });
56448
- filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
56432
+ filterForm.setValues(removedValues);//会把表单提交到toolbar的快速搜索区域,造成在快速搜索框中触发搜索时再次把搜索表单中的字段值清除掉的bug,已单独在快速搜索框那边添加搜索事件代码处理过了
56433
+ // 以下方法都无法实现清除表单值
56434
+ // filterForm.setValues({}, true)
56435
+ // filterForm.reset();
56436
+ // filterForm.handleAction({},{
56437
+ // "actionType": "setValue",
56438
+ // "args": {
56439
+ // "value": removedValues
56440
+ // }
56441
+ // });
56442
+ // 下面触发clear动作可以清除表单值,且不会把表单提交到toolbar的快速搜索区域,但是会把金额等范围字段清空成非范围字段
56443
+ // filterForm.handleAction({},{
56444
+ // "actionType": "clear"
56445
+ // });
56446
+
56447
+ // 清除__changedFilterFormValues中的值
56448
+ crud && crud.setData({__changedFilterFormValues: {}});
56449
+ filterForm.handleFormSubmit(event);
56450
+ // crud.handleFilterSubmit(removedValues);
56451
+
56452
+ let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
56453
+ filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});
56449
56454
  //触发amis crud 高度重算
56450
56455
  setTimeout(()=>{
56451
56456
  window.dispatchEvent(new Event("resize"))
56452
56457
  }, 100);
56453
56458
  // 移除搜索按钮上的红点
56454
- let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
56459
+ // let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
56460
+ let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
56455
56461
  crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
56456
56462
  `;
56457
56463
  const dataProviderInited = `
@@ -56931,78 +56937,97 @@ function fields$1(){
56931
56937
 
56932
56938
  function fieldsExtend$4(){
56933
56939
  return {
56940
+ "group": "",
56934
56941
  "label": {
56935
56942
  "is_wide": true
56936
56943
  },
56937
56944
  "name": {
56945
+ "group": "",
56938
56946
  "amis": {
56939
56947
  "hidden": true,
56940
56948
  "required": false
56941
56949
  }
56942
56950
  },
56943
56951
  "object_name": {
56952
+ "group": "",
56944
56953
  "amis": {
56945
56954
  "hidden": true
56946
56955
  }
56947
56956
  },
56948
56957
  "filter_scope": {
56958
+ "group": "",
56949
56959
  "amis": {
56950
56960
  "hidden": true,
56951
56961
  "required": false
56952
56962
  }
56953
56963
  },
56954
56964
  "columns": {
56965
+ "group": "",
56955
56966
  "amis": {
56956
56967
  "hidden": true,
56957
56968
  "required": false
56958
56969
  }
56959
56970
  },
56960
56971
  "mobile_columns":{
56972
+ "group": "",
56961
56973
  "amis": {
56962
56974
  "hidden": true,
56963
56975
  "required": false
56964
56976
  }
56965
56977
  },
56966
56978
  "searchable_fields":{
56979
+ "group": "",
56967
56980
  "amis": {
56968
56981
  "hidden": true,
56969
56982
  "required": false
56970
56983
  }
56971
56984
  },
56972
56985
  "filter_fields": {
56986
+ "group": "",
56973
56987
  "amis": {
56974
56988
  "hidden": true,
56975
56989
  "required": false
56976
56990
  }
56977
56991
  },
56978
56992
  "scrolling_mode": {
56993
+ "group": "",
56979
56994
  "amis": {
56980
56995
  "hidden": true,
56981
56996
  "required": false
56982
56997
  }
56983
56998
  },
56984
56999
  "sort": {
57000
+ "group": "",
56985
57001
  "amis": {
56986
57002
  "hidden": true,
56987
57003
  "required": false
56988
57004
  }
56989
57005
  },
56990
57006
  "show_count": {
57007
+ "group": "",
56991
57008
  "amis": {
56992
57009
  "hidden": true,
56993
57010
  "required": false
56994
57011
  }
56995
57012
  },
56996
57013
  "type": {
57014
+ "group": "",
56997
57015
  "amis": {
56998
57016
  "hidden": true,
56999
57017
  "required": false
57000
57018
  }
57001
57019
  },
57002
57020
  "shared": {
57021
+ "group": "",
57003
57022
  "amis": {
57004
57023
  "visibleOn": "${global.user.is_space_admin}"
57005
57024
  }
57025
+ },
57026
+ "filters": {
57027
+ "group": "",
57028
+ "amis": {
57029
+ "hidden": true
57030
+ }
57006
57031
  }
57007
57032
  }
57008
57033
  }
@@ -57149,6 +57174,12 @@ function fieldsExtend$3(){
57149
57174
  "amis": {
57150
57175
  "visibleOn": "${global.user.is_space_admin}"
57151
57176
  }
57177
+ },
57178
+ "filters": {
57179
+ "group": "",
57180
+ "amis": {
57181
+ "hidden": true
57182
+ }
57152
57183
  }
57153
57184
  }
57154
57185
  }
@@ -57487,7 +57518,6 @@ function fieldsExtend$1(){
57487
57518
  }
57488
57519
  },
57489
57520
  "mobile_columns": {
57490
- "group": instance.t('frontend_listview_control_columns_mobile_group'),
57491
57521
  "amis": {
57492
57522
  "type": "transfer",
57493
57523
  "sortable": true,
@@ -57857,7 +57887,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
57857
57887
  // }
57858
57888
  `;
57859
57889
 
57860
- function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
57890
+ // function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
57891
+ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
57861
57892
  const searchableFieldsLabel = [];
57862
57893
  _.each(mainObject.fields, function (field) {
57863
57894
  if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
@@ -57873,6 +57904,33 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
57873
57904
  crudKeywords = (localListViewProps && localListViewProps.__keywords) || "";
57874
57905
  }
57875
57906
 
57907
+ const onChangeScript = `
57908
+ const scope = event.context.scoped;
57909
+ let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
57910
+ // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
57911
+ let __changedSearchBoxValues = {};
57912
+ __changedSearchBoxValues["${keywordsSearchBoxName}"] = event.data["${keywordsSearchBoxName}"];
57913
+ // crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});
57914
+ // 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
57915
+ crud && crud.setData({__changedSearchBoxValues: __changedSearchBoxValues});
57916
+ `;
57917
+
57918
+ // onSearchScript中加上了onChangeScript中的脚本,是因为amis 3.2不能用change事件执行onChangeScript
57919
+ // 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript
57920
+ // 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
57921
+ const onSearchScript = `
57922
+ ${onChangeScript}
57923
+
57924
+ // 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题
57925
+ // const scope = event.context.scoped;
57926
+ // 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null
57927
+ // 点击取消按钮后继续在表单项中输入过滤条件且最后没有点击回车按键或点击表单项搜索按钮的话,在快速搜索中点击回车按钮提交搜索会所顶部搜索表单中的字段值清空
57928
+ let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
57929
+ setTimeout(function(){
57930
+ filterForm.setValues(event.data.__changedFilterFormValues);
57931
+ }, 500);
57932
+ `;
57933
+
57876
57934
  return {
57877
57935
  "type": "tooltip-wrapper",
57878
57936
  "id": "steedos_crud_toolbar_quick_search",
@@ -57891,28 +57949,24 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
57891
57949
  "placeholder": "搜索此列表",
57892
57950
  "value": crudKeywords,
57893
57951
  "clearable": true,
57894
- "clearAndSubmit": true,
57952
+ // "clearAndSubmit": true,//因为清除并不会触发失去焦点事件,只有禁用,但是它会触发change事件,所以等升级到amis 3.4+后可以重新放开
57895
57953
  "searchImediately": false,
57896
57954
  "onEvent": {
57897
- "change": {
57955
+ "search": {
57898
57956
  "actions": [
57899
57957
  {
57900
57958
  "actionType": "custom",
57901
- "script": `
57902
- doAction(
57903
- {
57904
- "componentId": 'service_${crudId}',
57905
- "actionType": "setValue",
57906
- "args": {
57907
- "value": {
57908
- "__serachBoxValues": event.data
57909
- }
57910
- }
57911
- }
57912
- )
57913
- `
57959
+ "script": onSearchScript
57914
57960
  }
57915
57961
  ]
57962
+ },
57963
+ "blur": { //这里把change事件换成blur是因为amis 3.2change事件中setData会卡,升级到3.4+后就可以换回change事件
57964
+ "actions": [
57965
+ {
57966
+ "actionType": "custom",
57967
+ "script": onChangeScript
57968
+ },
57969
+ ]
57916
57970
  }
57917
57971
  }
57918
57972
  }
@@ -57921,7 +57975,7 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
57921
57975
  }
57922
57976
 
57923
57977
  function getObjectHeaderToolbar(mainObject, fields, formFactor, {
57924
- showDisplayAs = false, hiddenCount = false, headerToolbarItems, crudId,
57978
+ showDisplayAs = false, hiddenCount = false, headerToolbarItems,
57925
57979
  filterVisible = true, isLookup = false, keywordsSearchBoxName } = {}){
57926
57980
  // console.log(`getObjectHeaderToolbar====>`, filterVisible)
57927
57981
  // console.log(`getObjectHeaderToolbar`, mainObject)
@@ -58025,7 +58079,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
58025
58079
  };
58026
58080
  }
58027
58081
  let toolbarDisplayAsButton = getDisplayAsButton(mainObject?.name);
58028
- let toolbarDQuickSearchBox = getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName, crudId });
58082
+ let toolbarDQuickSearchBox = getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName });
58029
58083
 
58030
58084
  // toolbars返回的数组元素不可以是空对象{},比如hiddenCount ? {} : {"type": "tpl",...},因为空对象最终还是会生成一个空的.antd-Crud-toolbar-item dom
58031
58085
  // 当出现空的.antd-Crud-toolbar-item dom时会影响toolbar元素的maring-right css样式计算,如果有动态需要应该加到动态数组变量toolbars中
@@ -58173,6 +58227,20 @@ async function getObjectFilter(objectSchema, fields, options) {
58173
58227
  let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
58174
58228
  crudService && crudService.setData({isFieldsFilterEmpty});
58175
58229
  `;
58230
+ let onChangeScript = `
58231
+ const scope = event.context.scoped;
58232
+ // let filterFormValues = event.data;
58233
+ let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
58234
+ let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
58235
+ // 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。
58236
+ let filterFormValues = filterFormService.getData();
58237
+ let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
58238
+ const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;
58239
+ // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
58240
+ // crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});
58241
+ // 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中
58242
+ crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});
58243
+ `;
58176
58244
  return {
58177
58245
  "title": "",
58178
58246
  "submitText": "",
@@ -58196,19 +58264,7 @@ async function getObjectFilter(objectSchema, fields, options) {
58196
58264
  "actions": [
58197
58265
  {
58198
58266
  "actionType": "custom",
58199
- "script": `
58200
- doAction(
58201
- {
58202
- "componentId": 'service_${options.crudId}',
58203
- "actionType": "setValue",
58204
- "args": {
58205
- "value": {
58206
- "__filterFormValues": event.data
58207
- }
58208
- }
58209
- }
58210
- )
58211
- `
58267
+ "script": onChangeScript
58212
58268
  }
58213
58269
  ]
58214
58270
  }
@@ -58735,8 +58791,6 @@ async function lookupToAmisTreeSelect(field, readonly, ctx) {
58735
58791
  return amisSchema;
58736
58792
  }
58737
58793
 
58738
- const keywordsSearchBoxName = `__keywords_lookup`;
58739
-
58740
58794
  const getReferenceToFieldSchema = (field, refObjectConfig)=>{
58741
58795
  let referenceTo = field.reference_to;
58742
58796
  if(!referenceTo){
@@ -58995,8 +59049,18 @@ async function lookupToAmisPicker(field, readonly, ctx){
58995
59049
 
58996
59050
  source.data.$term = "$term";
58997
59051
  source.data.$self = "$$";
58998
-
59052
+
59053
+ // field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
59054
+ let keywordsSearchBoxName = `__keywords_lookup__${field.name.replace(/\./g, "_")}__to__${refObjectConfig.name}`;
59055
+
58999
59056
  source.requestAdaptor = `
59057
+ let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};
59058
+ let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};
59059
+ // 把表单搜索和快速搜索中的change事件中记录的过滤条件也拼到$self中,是为解决触发搜索请求时,两边输入的过滤条件都带上,即:
59060
+ // 有时在搜索表单中输入过滤条件事,忘记点击回车键或搜索按钮,而是进一步修改快速搜索框中的关键字点击其中回车键触发搜索
59061
+ // 这种情况下,触发的搜索请求中没有带上搜索表单中输入的过滤条件。
59062
+ // 反过来先在快速搜索框中输入过滤条件却不点击其中回车键触发搜索,而是到搜索表单中触发搜索请求也是一样的。
59063
+ Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);
59000
59064
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
59001
59065
  var filters = [];
59002
59066
  var pageSize = api.data.pageSize || 10;
@@ -59131,6 +59195,14 @@ async function lookupToAmisPicker(field, readonly, ctx){
59131
59195
  }
59132
59196
  });
59133
59197
  payload.data.rows = treeRecords;
59198
+ try{
59199
+ setTimeout(() => {
59200
+ $('.amis-dialog-widget.antd-Modal .antd-Table-content .antd-Table-table thead .antd-Table-expandBtn')[0]?.click();
59201
+ }, 600);
59202
+ }
59203
+ catch(ex){
59204
+ console.error("tree数据格式展开异常:", ex);
59205
+ }
59134
59206
  }
59135
59207
  return payload;
59136
59208
  `;
@@ -59303,6 +59375,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
59303
59375
 
59304
59376
  async function lookupToAmisSelect(field, readonly, ctx){
59305
59377
  let referenceTo = await getReferenceTo(field);
59378
+ const isMobile = window.innerWidth <= 768;
59306
59379
  const valueFieldKey = referenceTo && referenceTo.valueField?.name || '_id' ;
59307
59380
  // const labelFieldKey = referenceTo && referenceTo.labelField?.name || 'name';
59308
59381
 
@@ -59483,7 +59556,11 @@ async function lookupToAmisSelect(field, readonly, ctx){
59483
59556
  </span>
59484
59557
  <span class='pl-1.5'>\${label}</span>
59485
59558
  </span>`;
59486
- data.menuTpl = "${icon ? `"+select_menuTpl+"` : label}";
59559
+ const menuTpl = "${icon ? `"+select_menuTpl+"` : label}";
59560
+ // TODO: 待amis修复了此bug, 就可以撤销添加menuTpl的判断。
59561
+ if(!(isMobile && field.multiple)){
59562
+ data.menuTpl = menuTpl;
59563
+ }
59487
59564
  if(field.multiple){
59488
59565
  data.multiple = true;
59489
59566
  data.extractValue = true;
@@ -59867,6 +59944,8 @@ function getSelectFieldOptions(field){
59867
59944
  }
59868
59945
 
59869
59946
  async function convertSFieldToAmisField(field, readonly, ctx) {
59947
+ // console.log('convertSFieldToAmisField====>', field, readonly, ctx)
59948
+ const isMobile = window.innerWidth <= 768;
59870
59949
  // 创建人和修改人、创建时间和修改时间不显示
59871
59950
  if(lodash.exports.includes(OMIT_FIELDS, field.name) && ctx.showSystemFields != true){
59872
59951
  return;
@@ -59929,7 +60008,11 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
59929
60008
  </span>
59930
60009
  <span class='pl-1.5'>\${label}</span>
59931
60010
  </span>`;
59932
- convertData.menuTpl = "${icon ? `"+select_menuTpl+"` : label}";
60011
+ const menuTpl = "${icon ? `"+select_menuTpl+"` : label}";
60012
+ // TODO: 待amis修复了此bug, 就可以撤销添加menuTpl的判断。
60013
+ if(!(isMobile && field.multiple)){
60014
+ convertData.menuTpl = menuTpl;
60015
+ }
59933
60016
  if(field.multiple){
59934
60017
  convertData.multiple = true;
59935
60018
  convertData.extractValue = true;
@@ -60516,9 +60599,7 @@ async function getFieldSearchable(perField, permissionFields, ctx){
60516
60599
 
60517
60600
  const amisField = await convertSFieldToAmisField(_field, false, Object.assign({}, ctx, {fieldNamePrefix: fieldNamePrefix, required: false, showSystemFields: true, inFilterForm: true}));
60518
60601
  if(amisField){
60519
- return Object.assign({}, amisField,{
60520
- submitOnChange: false
60521
- });
60602
+ return amisField;
60522
60603
  }
60523
60604
  }
60524
60605
  }