@steedos-widgets/amis-object 6.10.1-beta.31 → 6.10.1-beta.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/amis-object.cjs.css +60 -68
- package/dist/amis-object.cjs.js +290 -83
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +60 -68
- package/dist/amis-object.esm.js +290 -83
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +60 -68
- package/dist/amis-object.umd.js +109 -61
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +19 -19
- package/package.json +3 -3
package/dist/amis-object.cjs.js
CHANGED
|
@@ -3710,8 +3710,8 @@ function getComparableAmisVersion() {
|
|
|
3710
3710
|
/*
|
|
3711
3711
|
* @Author: baozhoutao@steedos.com
|
|
3712
3712
|
* @Date: 2022-05-23 09:53:08
|
|
3713
|
-
* @LastEditors:
|
|
3714
|
-
* @LastEditTime:
|
|
3713
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
3714
|
+
* @LastEditTime: 2025-04-08 10:55:41
|
|
3715
3715
|
* @Description:
|
|
3716
3716
|
*/
|
|
3717
3717
|
|
|
@@ -3865,9 +3865,10 @@ function getRelatedFieldTpl(field, ctx){
|
|
|
3865
3865
|
const href = Router$1.getObjectDetailPath({
|
|
3866
3866
|
formFactor: ctx.formFactor, appId: "${appId}", objectName: `${objectNameTpl}`, recordId: `${recordIdTpl}`
|
|
3867
3867
|
});
|
|
3868
|
-
if(ctx.isRelated && window.innerWidth >= 768
|
|
3868
|
+
if (window.innerWidth >= 768) { //(ctx.isRelated || isObjectListview) && window.innerWidth >= 768
|
|
3869
|
+
// 相关表字段,包括列表视图、对象表格组件中的lookup/master_detail字段,在PC端显示时,点击字段值,不跳转到详情页而是右侧弹出drawer
|
|
3869
3870
|
labelTpl = `<a href="${href}" ${linkTarget} onclick="return false;">${labelTpl}</a>`;
|
|
3870
|
-
}else {
|
|
3871
|
+
} else {
|
|
3871
3872
|
labelTpl = `<a href="${href}" ${linkTarget}>${labelTpl}</a>`;
|
|
3872
3873
|
}
|
|
3873
3874
|
|
|
@@ -4665,6 +4666,7 @@ var frontend_download$1 = "Download";
|
|
|
4665
4666
|
var frontend_form_save$1 = "Save";
|
|
4666
4667
|
var frontend_form_save_and_new$1 = "Save and New";
|
|
4667
4668
|
var frontend_form_cancel$1 = "Cancel";
|
|
4669
|
+
var frontend_form_reset$1 = "Reset";
|
|
4668
4670
|
var frontend_form_new$1 = "New";
|
|
4669
4671
|
var frontend_form_edit$1 = "Edit";
|
|
4670
4672
|
var frontend_form_preview$1 = "Preview";
|
|
@@ -4683,7 +4685,7 @@ var frontend_display_type_is_split$1 = "Split View";
|
|
|
4683
4685
|
var frontend_display_as$1 = "Displayed as";
|
|
4684
4686
|
var frontend_record_sum$1 = "items";
|
|
4685
4687
|
var frontend_button_reload_tooltip$1 = "Refresh";
|
|
4686
|
-
var frontend_button_search_tooltip$1 = "
|
|
4688
|
+
var frontend_button_search_tooltip$1 = "Filter";
|
|
4687
4689
|
var frontend_fields_filter_button_search$1 = "Search";
|
|
4688
4690
|
var frontend_fields_filter_button_settings$1 = "Set search options";
|
|
4689
4691
|
var frontend_button_listview_control_tooltip$1 = "List View Controls";
|
|
@@ -4755,6 +4757,7 @@ var en_us = {
|
|
|
4755
4757
|
frontend_form_save: frontend_form_save$1,
|
|
4756
4758
|
frontend_form_save_and_new: frontend_form_save_and_new$1,
|
|
4757
4759
|
frontend_form_cancel: frontend_form_cancel$1,
|
|
4760
|
+
frontend_form_reset: frontend_form_reset$1,
|
|
4758
4761
|
frontend_form_new: frontend_form_new$1,
|
|
4759
4762
|
frontend_form_edit: frontend_form_edit$1,
|
|
4760
4763
|
frontend_form_preview: frontend_form_preview$1,
|
|
@@ -4846,6 +4849,7 @@ var frontend_download = "下载";
|
|
|
4846
4849
|
var frontend_form_save = "保存";
|
|
4847
4850
|
var frontend_form_save_and_new = "保存并新建";
|
|
4848
4851
|
var frontend_form_cancel = "取消";
|
|
4852
|
+
var frontend_form_reset = "重置";
|
|
4849
4853
|
var frontend_form_new = "新建";
|
|
4850
4854
|
var frontend_form_edit = "编辑";
|
|
4851
4855
|
var frontend_form_preview = "预览";
|
|
@@ -4864,7 +4868,7 @@ var frontend_display_type_is_split = "分栏视图";
|
|
|
4864
4868
|
var frontend_display_as = "显示为";
|
|
4865
4869
|
var frontend_record_sum = "个项目";
|
|
4866
4870
|
var frontend_button_reload_tooltip = "刷新";
|
|
4867
|
-
var frontend_button_search_tooltip = "
|
|
4871
|
+
var frontend_button_search_tooltip = "筛选";
|
|
4868
4872
|
var frontend_fields_filter_button_search = "搜索";
|
|
4869
4873
|
var frontend_fields_filter_button_settings = "选择搜索项";
|
|
4870
4874
|
var frontend_button_listview_control_tooltip = "列表视图控制";
|
|
@@ -4937,6 +4941,7 @@ var zh_cn = {
|
|
|
4937
4941
|
frontend_form_save: frontend_form_save,
|
|
4938
4942
|
frontend_form_save_and_new: frontend_form_save_and_new,
|
|
4939
4943
|
frontend_form_cancel: frontend_form_cancel,
|
|
4944
|
+
frontend_form_reset: frontend_form_reset,
|
|
4940
4945
|
frontend_form_new: frontend_form_new,
|
|
4941
4946
|
frontend_form_edit: frontend_form_edit,
|
|
4942
4947
|
frontend_form_preview: frontend_form_preview,
|
|
@@ -5104,7 +5109,12 @@ async function getQuickEditSchema(object, columnField, options){
|
|
|
5104
5109
|
if (field.disabled) {
|
|
5105
5110
|
quickEditSchema = false;
|
|
5106
5111
|
} else {
|
|
5107
|
-
var
|
|
5112
|
+
var fieldCtx = Object.assign({}, _$1__namespace.omit(options, 'buttons'), {
|
|
5113
|
+
defaults: Object.assign({}, options.defaults, {
|
|
5114
|
+
formSchema: quickEditSchema
|
|
5115
|
+
})
|
|
5116
|
+
});
|
|
5117
|
+
var fieldSchema = await convertSFieldToAmisField(field, false, fieldCtx);
|
|
5108
5118
|
//存在属性上可编辑,实际不可编辑的字段,convertSFieldToAmisField函数可能会返回undefined,如summary
|
|
5109
5119
|
if (!!fieldSchema) {
|
|
5110
5120
|
quickEditSchema.body.push(fieldSchema);
|
|
@@ -5537,14 +5547,19 @@ function getFieldWidth(width){
|
|
|
5537
5547
|
}
|
|
5538
5548
|
|
|
5539
5549
|
async function getColumnItemOnClick(field, options){
|
|
5540
|
-
|
|
5550
|
+
let objectApiName = options.objectName;
|
|
5551
|
+
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
5552
|
+
objectApiName = field.reference_to;
|
|
5553
|
+
}
|
|
5554
|
+
const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: objectApiName, formFactor: options.formFactor });
|
|
5541
5555
|
const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
|
|
5542
5556
|
"recordId": `\${${options.idFieldName}}`,
|
|
5543
5557
|
"data": {
|
|
5544
5558
|
...recordPage.schema.data,
|
|
5545
5559
|
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
5546
5560
|
"recordLoaded": false, // 重置数据加载状态
|
|
5547
|
-
"recordId": `\${${options.idFieldName}}
|
|
5561
|
+
"recordId": `\${${options.idFieldName}}`,//审批微页面依赖了作用域中的recordId
|
|
5562
|
+
"_tableObjectName": options.objectName
|
|
5548
5563
|
}
|
|
5549
5564
|
}) : {
|
|
5550
5565
|
"type": "steedos-record-detail",
|
|
@@ -5555,12 +5570,16 @@ async function getColumnItemOnClick(field, options){
|
|
|
5555
5570
|
"data": {
|
|
5556
5571
|
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
5557
5572
|
"recordLoaded": false, // 重置数据加载状态
|
|
5573
|
+
"_tableObjectName": options.objectName
|
|
5558
5574
|
}
|
|
5559
5575
|
};
|
|
5560
5576
|
|
|
5561
5577
|
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
5562
5578
|
drawerRecordDetailSchema.objectApiName = field.reference_to;
|
|
5563
5579
|
drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
|
|
5580
|
+
// if (recordPage){
|
|
5581
|
+
// drawerRecordDetailSchema.data.recordId = `\${_display.${field.name}.value}`
|
|
5582
|
+
// }
|
|
5564
5583
|
}
|
|
5565
5584
|
return {
|
|
5566
5585
|
"click": {
|
|
@@ -5710,6 +5729,33 @@ async function getTableColumns$1(object, fields, options){
|
|
|
5710
5729
|
static: true,
|
|
5711
5730
|
}, fieldAmis, {name: field.name});
|
|
5712
5731
|
}
|
|
5732
|
+
else if(field.type === 'lookup' || field.type === 'master_detail'){
|
|
5733
|
+
columnItem = Object.assign({}, {
|
|
5734
|
+
type: "static-wrapper",
|
|
5735
|
+
name: field.name,
|
|
5736
|
+
label: field.label,
|
|
5737
|
+
sortable: field.sortable,
|
|
5738
|
+
width: getFieldWidth(field.width),
|
|
5739
|
+
toggled: field.toggled,
|
|
5740
|
+
className,
|
|
5741
|
+
size: "none",
|
|
5742
|
+
inputClassName: "inline",
|
|
5743
|
+
body: {
|
|
5744
|
+
type: "steedos-field",
|
|
5745
|
+
static: true,
|
|
5746
|
+
tableObjectName: options.objectName,
|
|
5747
|
+
config: {
|
|
5748
|
+
type: "lookup",
|
|
5749
|
+
reference_to: field.reference_to,
|
|
5750
|
+
name: field.name,
|
|
5751
|
+
is_name: field.is_name,
|
|
5752
|
+
label: null,
|
|
5753
|
+
multiple: field.multiple,
|
|
5754
|
+
amis: Object.assign({}, fieldAmis, { label: null })
|
|
5755
|
+
}
|
|
5756
|
+
}
|
|
5757
|
+
}, fieldAmis, {name: field.name});
|
|
5758
|
+
}
|
|
5713
5759
|
else {
|
|
5714
5760
|
const tpl = await getFieldTpl(field, options);
|
|
5715
5761
|
let type = 'static-text';
|
|
@@ -5758,10 +5804,20 @@ async function getTableColumns$1(object, fields, options){
|
|
|
5758
5804
|
columnItem.defaultColor = null;
|
|
5759
5805
|
}
|
|
5760
5806
|
|
|
5761
|
-
|
|
5807
|
+
let needClickEvent = false;
|
|
5808
|
+
// if (options.isRelated){
|
|
5809
|
+
// // 子表列表上,Lookup字段和名称字段都需要点击事件
|
|
5810
|
+
// needClickEvent = ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && _.isString(field.reference_to) && field.multiple != true));
|
|
5811
|
+
// }
|
|
5812
|
+
// else {// if (isObjectListview)
|
|
5813
|
+
// // 列表视图、对象表格中,Lookup字段需要点击事件
|
|
5814
|
+
// needClickEvent = (field.type == 'lookup' || field.type == 'master_detail') && _.isString(field.reference_to) && field.multiple != true;
|
|
5815
|
+
// }
|
|
5816
|
+
// lookup字段走steedos-field组件了,所以这里只需要判断子表名称字段才额外加点击事件弹出右侧详情
|
|
5817
|
+
needClickEvent = options.isRelated && (field.is_name || field.name === options.labelFieldName);
|
|
5818
|
+
if(window.innerWidth >= 768 && needClickEvent){
|
|
5762
5819
|
columnItem.onEvent = await getColumnItemOnClick(field, options);
|
|
5763
5820
|
}
|
|
5764
|
-
|
|
5765
5821
|
}
|
|
5766
5822
|
}
|
|
5767
5823
|
if(columnItem){
|
|
@@ -8113,9 +8169,9 @@ const getSchema$5 = async (uiSchema, ctx) => {
|
|
|
8113
8169
|
"body": [
|
|
8114
8170
|
{
|
|
8115
8171
|
"type": "button",
|
|
8172
|
+
"level": "primary",
|
|
8116
8173
|
"label": instance.t('frontend_form_new'),
|
|
8117
8174
|
"id": "u:standard_new",
|
|
8118
|
-
"level": "default",
|
|
8119
8175
|
"onEvent": {
|
|
8120
8176
|
"click": {
|
|
8121
8177
|
"weight": 0,
|
|
@@ -8316,8 +8372,8 @@ const getSchema$4 = async (uiSchema, ctx) => {
|
|
|
8316
8372
|
/*
|
|
8317
8373
|
* @Author: 殷亮辉 yinlianghui@hotoa.com
|
|
8318
8374
|
* @Date: 2023-03-22 09:31:21
|
|
8319
|
-
* @LastEditors:
|
|
8320
|
-
* @LastEditTime:
|
|
8375
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
8376
|
+
* @LastEditTime: 2025-04-07 16:02:53
|
|
8321
8377
|
*/
|
|
8322
8378
|
const getSchema$3 = (uiSchema)=>{
|
|
8323
8379
|
return {
|
|
@@ -8377,6 +8433,17 @@ const getSchema$3 = (uiSchema)=>{
|
|
|
8377
8433
|
"_isRelated": "${_isRelated}"
|
|
8378
8434
|
},
|
|
8379
8435
|
"expression": `\${_master.objectName != '${uiSchema.name}' && _master.objectName}`
|
|
8436
|
+
},
|
|
8437
|
+
// 列表视图、对象表格组件上的lookup字段,点开右侧弹出drawer窗口,删除记录后刷新列表
|
|
8438
|
+
{
|
|
8439
|
+
"actionType": "broadcast",
|
|
8440
|
+
"args": {
|
|
8441
|
+
"eventName": "@data.changed.${_tableObjectName}"
|
|
8442
|
+
},
|
|
8443
|
+
"data": {
|
|
8444
|
+
"objectName": "${_tableObjectName}"
|
|
8445
|
+
},
|
|
8446
|
+
"expression": `\${_tableObjectName != '${uiSchema.name}' && _tableObjectName}`
|
|
8380
8447
|
}
|
|
8381
8448
|
]
|
|
8382
8449
|
}
|
|
@@ -9291,7 +9358,7 @@ async function getObjectFieldsFilterFormSchema(ctx) {
|
|
|
9291
9358
|
const formSchema = {
|
|
9292
9359
|
"type": "service",
|
|
9293
9360
|
"visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
|
|
9294
|
-
"className": ctx.formFactor === 'SMALL' ? "slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden" : "slds-filters__body p-0 sm:grid sm:gap-4 sm:grid-cols-2
|
|
9361
|
+
"className": ctx.formFactor === 'SMALL' ? "slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden" : "slds-filters__body p-0 sm:grid sm:gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 p-1",
|
|
9295
9362
|
"style":{
|
|
9296
9363
|
"max-height":ctx.formFactor === 'SMALL'?"30vh":"unset"
|
|
9297
9364
|
},
|
|
@@ -9526,6 +9593,21 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
9526
9593
|
let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});
|
|
9527
9594
|
crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
|
|
9528
9595
|
`;
|
|
9596
|
+
/**
|
|
9597
|
+
给lookup字段配置filter_form_data时可以配置为amis变量,也可以配置为事态key-value键值对象值:
|
|
9598
|
+
```
|
|
9599
|
+
"filter_form_data": "${selectedPublicGroupFilterFormData|toJson}"
|
|
9600
|
+
```
|
|
9601
|
+
or
|
|
9602
|
+
```
|
|
9603
|
+
"filter_form_data": {
|
|
9604
|
+
"public_group_ids": [
|
|
9605
|
+
"67addbef39f9a4503789b38d"
|
|
9606
|
+
]
|
|
9607
|
+
}
|
|
9608
|
+
```
|
|
9609
|
+
*/
|
|
9610
|
+
const filterFormValues = ctx.filter_form_data;
|
|
9529
9611
|
const dataProviderInited = `
|
|
9530
9612
|
const searchableFields = ${JSON.stringify(searchableFields)};
|
|
9531
9613
|
const autoOpenFilter = ${autoOpenFilter};
|
|
@@ -9563,6 +9645,16 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
9563
9645
|
}
|
|
9564
9646
|
setData({ filterFormSearchableFields: defaultSearchableFields });
|
|
9565
9647
|
if(isLookup){
|
|
9648
|
+
let filterFormValues = ${_.isObject(filterFormValues) ? JSON.stringify(filterFormValues) : ('"' + filterFormValues + '"')} || {};
|
|
9649
|
+
const isAmisFormula = typeof filterFormValues === "string" && filterFormValues.indexOf("\${") > -1;
|
|
9650
|
+
if (isAmisFormula){
|
|
9651
|
+
filterFormValues = AmisCore.evaluate(filterFormValues, data) || {};
|
|
9652
|
+
}
|
|
9653
|
+
if (_.isObject(filterFormValues) || !_.isEmpty(filterFormValues)){
|
|
9654
|
+
let fields = data.uiSchema && data.uiSchema.fields;
|
|
9655
|
+
filterFormValues = SteedosUI.getSearchFilterFormValues(filterFormValues, fields);
|
|
9656
|
+
setData({ ...filterFormValues });
|
|
9657
|
+
}
|
|
9566
9658
|
// looup字段过滤器不在本地缓存记住过滤条件,所以初始始终隐藏过滤器
|
|
9567
9659
|
setData({ showFieldsFilter: autoOpenFilter });
|
|
9568
9660
|
}
|
|
@@ -9719,6 +9811,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
9719
9811
|
"body": [
|
|
9720
9812
|
{
|
|
9721
9813
|
"type": "button",
|
|
9814
|
+
"level": "primary",
|
|
9722
9815
|
"id": btnSearchId,
|
|
9723
9816
|
"label": instance.t('frontend_fields_filter_button_search'),
|
|
9724
9817
|
"icon": "fa fa-search",
|
|
@@ -9736,7 +9829,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
9736
9829
|
},
|
|
9737
9830
|
{
|
|
9738
9831
|
"type": "button",
|
|
9739
|
-
"label": instance.t('
|
|
9832
|
+
"label": instance.t('frontend_form_reset'),
|
|
9740
9833
|
"name": "btn_filter_form_cancel",
|
|
9741
9834
|
// "visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
|
|
9742
9835
|
"onEvent": {
|
|
@@ -9826,7 +9919,6 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
9826
9919
|
"className": "steedos-amis-form"
|
|
9827
9920
|
}
|
|
9828
9921
|
],
|
|
9829
|
-
"id": "u:ca99fa9fe1b1",
|
|
9830
9922
|
"actions": [
|
|
9831
9923
|
{
|
|
9832
9924
|
"type": "button",
|
|
@@ -9854,13 +9946,15 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
9854
9946
|
"actionType": "custom",
|
|
9855
9947
|
"script": onSearchableFieldsChangeScript
|
|
9856
9948
|
},
|
|
9857
|
-
|
|
9858
|
-
|
|
9859
|
-
|
|
9860
|
-
|
|
9861
|
-
|
|
9862
|
-
|
|
9863
|
-
|
|
9949
|
+
// 自动触发搜索事件会造成bug,应该是升级amis到6.4造成的,见:https://github.com/steedos/steedos-platform/issues/7121
|
|
9950
|
+
// 变更搜索项后,用户一般会点击搜索按钮,所以这里不自动触发搜索事件
|
|
9951
|
+
// {
|
|
9952
|
+
// "actionType": "click",
|
|
9953
|
+
// "componentId": btnSearchId,
|
|
9954
|
+
// "args": {
|
|
9955
|
+
// "__from_fields_filter_settings_confirm": true
|
|
9956
|
+
// }
|
|
9957
|
+
// },
|
|
9864
9958
|
{
|
|
9865
9959
|
"componentId": "",
|
|
9866
9960
|
"args": {},
|
|
@@ -9891,12 +9985,11 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
9891
9985
|
]
|
|
9892
9986
|
}
|
|
9893
9987
|
},
|
|
9894
|
-
"id": "u:b96d84868a5a",
|
|
9895
9988
|
"level": "link"
|
|
9896
9989
|
}
|
|
9897
9990
|
],
|
|
9898
9991
|
"size": "xs",
|
|
9899
|
-
"className": "space-x-
|
|
9992
|
+
"className": "space-x-2"
|
|
9900
9993
|
},
|
|
9901
9994
|
"size": "xs",
|
|
9902
9995
|
"className": "slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"
|
|
@@ -10600,7 +10693,6 @@ function getObjectListHeaderFirstLine(objectSchema, listViewName, ctx) {
|
|
|
10600
10693
|
"id": "u:ce9e3fcc411a"
|
|
10601
10694
|
}
|
|
10602
10695
|
],
|
|
10603
|
-
"className": "steedos-overflow-visible-dialog",
|
|
10604
10696
|
"showCloseButton": true,
|
|
10605
10697
|
"showErrorMsg": true,
|
|
10606
10698
|
"showLoading": true,
|
|
@@ -10842,7 +10934,7 @@ function getObjectListHeader(objectSchema, listViewName, ctx) {
|
|
|
10842
10934
|
let headerSchema = [{
|
|
10843
10935
|
"type": "wrapper",
|
|
10844
10936
|
"body": body,
|
|
10845
|
-
"className": `
|
|
10937
|
+
"className": `px-3 pt-3 pb-0 m-1 bg-white`
|
|
10846
10938
|
}];
|
|
10847
10939
|
// console.log(`getObjectListHeader`, objectSchema, listViewName, ctx)
|
|
10848
10940
|
return headerSchema;
|
|
@@ -11590,7 +11682,6 @@ const getSetListviewFiltersButtonSchema = ()=>{
|
|
|
11590
11682
|
}
|
|
11591
11683
|
}
|
|
11592
11684
|
],
|
|
11593
|
-
"className": "steedos-overflow-visible-dialog",
|
|
11594
11685
|
"showCloseButton": true,
|
|
11595
11686
|
"showErrorMsg": true,
|
|
11596
11687
|
"showLoading": true,
|
|
@@ -12224,7 +12315,7 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
12224
12315
|
return {
|
|
12225
12316
|
"type": "tooltip-wrapper",
|
|
12226
12317
|
"id": "steedos_crud_toolbar_quick_search",
|
|
12227
|
-
"align": "
|
|
12318
|
+
"align": "right",
|
|
12228
12319
|
"title": "",
|
|
12229
12320
|
"content": "可搜索字段:" + searchableFieldsLabel.join(","),
|
|
12230
12321
|
"placement": "bottom",
|
|
@@ -12238,6 +12329,7 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
12238
12329
|
"name": keywordsSearchBoxName,
|
|
12239
12330
|
"placeholder": "快捷搜索",
|
|
12240
12331
|
"value": crudKeywords,
|
|
12332
|
+
"mini": true,
|
|
12241
12333
|
"clearable": true,//因为清除并不会触发失去焦点事件,只有禁用,但是它会触发change事件,所以等升级到amis 3.4+后可以重新放开
|
|
12242
12334
|
"clearAndSubmit": true,
|
|
12243
12335
|
"searchImediately": false,
|
|
@@ -12286,7 +12378,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
12286
12378
|
if(!hiddenCount){
|
|
12287
12379
|
toolbarCount = {
|
|
12288
12380
|
"type": "tpl",
|
|
12289
|
-
"align": "
|
|
12381
|
+
"align": "left",
|
|
12290
12382
|
"className": "text-gray-500 mr-2",
|
|
12291
12383
|
"tpl": "${count} " + instance.t('frontend_record_sum')
|
|
12292
12384
|
};
|
|
@@ -12370,7 +12462,7 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
12370
12462
|
"animation": true,
|
|
12371
12463
|
"visibleOn": "${isFieldsFilterEmpty == false && isLookup != true}"
|
|
12372
12464
|
},
|
|
12373
|
-
"align": "
|
|
12465
|
+
"align": "right",
|
|
12374
12466
|
"className": "bg-white p-2 rounded text-gray-500",
|
|
12375
12467
|
"onEvent": {
|
|
12376
12468
|
"click": {
|
|
@@ -12392,27 +12484,27 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
12392
12484
|
// 当出现空的.antd-Crud-toolbar-item dom时会影响toolbar元素的maring-right css样式计算,如果有动态需要应该加到动态数组变量toolbars中
|
|
12393
12485
|
let toolbars = [];
|
|
12394
12486
|
if(formFactor === 'SMALL'){
|
|
12395
|
-
if(toolbarCount){
|
|
12396
|
-
|
|
12397
|
-
}
|
|
12398
|
-
toolbars.push(toolbarReloadButton);
|
|
12399
|
-
toolbars.push(
|
|
12487
|
+
// if(toolbarCount){
|
|
12488
|
+
// toolbars.push(toolbarCount);
|
|
12489
|
+
// }
|
|
12490
|
+
// toolbars.push(toolbarReloadButton);
|
|
12491
|
+
toolbars.push(toolbarDQuickSearchBox);
|
|
12400
12492
|
if(toolbarFilter){
|
|
12401
12493
|
toolbars.push(toolbarFilter);
|
|
12402
12494
|
}
|
|
12403
|
-
toolbars.push(
|
|
12495
|
+
toolbars.push(toolbarDisplayAsButton);
|
|
12404
12496
|
return [
|
|
12405
12497
|
// "bulkActions",
|
|
12406
12498
|
...(headerToolbarItems || []),
|
|
12407
12499
|
...toolbars,
|
|
12408
12500
|
]
|
|
12409
12501
|
}else {
|
|
12502
|
+
toolbars.push(toolbarDQuickSearchBox);
|
|
12410
12503
|
toolbars.push(toolbarReloadButton);
|
|
12411
12504
|
toolbars.push(toolbarDisplayAsButton);
|
|
12412
12505
|
if(mainObject?.permissions?.allowCreateListViews){
|
|
12413
12506
|
toolbars.push(getSettingListviewToolbarButtonSchema());
|
|
12414
12507
|
}
|
|
12415
|
-
toolbars.push(toolbarDQuickSearchBox);
|
|
12416
12508
|
if(toolbarFilter){
|
|
12417
12509
|
toolbars.push(toolbarFilter);
|
|
12418
12510
|
}
|
|
@@ -13092,6 +13184,17 @@ async function getObjectForm(objectSchema, ctx){
|
|
|
13092
13184
|
},
|
|
13093
13185
|
"expression": `\${_master.objectName != '${objectSchema.name}' && _master.objectName}`
|
|
13094
13186
|
},
|
|
13187
|
+
// 列表视图、对象表格组件上的lookup字段,点开右侧弹出drawer窗口,修改记录后刷新列表
|
|
13188
|
+
{
|
|
13189
|
+
"actionType": "broadcast",
|
|
13190
|
+
"args": {
|
|
13191
|
+
"eventName": "@data.changed.${_tableObjectName}"
|
|
13192
|
+
},
|
|
13193
|
+
"data": {
|
|
13194
|
+
"objectName": "${_tableObjectName}"
|
|
13195
|
+
},
|
|
13196
|
+
"expression": `\${_tableObjectName != '${objectSchema.name}' && _tableObjectName}`
|
|
13197
|
+
},
|
|
13095
13198
|
...submitSuccActions,
|
|
13096
13199
|
// {
|
|
13097
13200
|
// "actionType": "custom",
|
|
@@ -13694,7 +13797,7 @@ async function getObjectRelatedListsMiniSchema(objectApiName){
|
|
|
13694
13797
|
* @Author: baozhoutao@steedos.com
|
|
13695
13798
|
* @Date: 2022-07-05 15:55:39
|
|
13696
13799
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
13697
|
-
* @LastEditTime: 2025-
|
|
13800
|
+
* @LastEditTime: 2025-06-17 20:18:18
|
|
13698
13801
|
* @Description:
|
|
13699
13802
|
*/
|
|
13700
13803
|
|
|
@@ -14050,12 +14153,13 @@ async function getListSchema(
|
|
|
14050
14153
|
"filtersFunction": listview_filters,
|
|
14051
14154
|
"sort": sort,
|
|
14052
14155
|
"ctx": ctx,
|
|
14053
|
-
"requestAdaptor":
|
|
14054
|
-
"adaptor":
|
|
14156
|
+
"requestAdaptor": ctx.requestAdaptor || listView.requestAdaptor,
|
|
14157
|
+
"adaptor": ctx.adaptor || listView.adaptor,
|
|
14055
14158
|
"headerToolbarItems": ctx.headerToolbarItems,
|
|
14056
14159
|
"filterVisible": ctx.filterVisible,
|
|
14057
14160
|
"rowClassNameExpr": ctx.rowClassNameExpr,
|
|
14058
|
-
"
|
|
14161
|
+
"crud": ctx.crud || listView.crud,
|
|
14162
|
+
"crudDataFilter": ctx.crudDataFilter || listView.crudDataFilter ,
|
|
14059
14163
|
"onCrudDataFilter": ctx.onCrudDataFilter
|
|
14060
14164
|
};
|
|
14061
14165
|
// console.log(`getListSchema===>`,amisSchema)
|
|
@@ -14220,7 +14324,8 @@ async function getRecordDetailHeaderSchema(objectName,recordId, options){
|
|
|
14220
14324
|
}
|
|
14221
14325
|
|
|
14222
14326
|
async function getRecordDetailSchema(objectName, appId, props = {}){
|
|
14223
|
-
const uiSchema = await getUISchema(objectName);
|
|
14327
|
+
const uiSchema = await getUISchema(objectName);
|
|
14328
|
+
|
|
14224
14329
|
const relatedLists = await getObjectRelatedList(objectName);
|
|
14225
14330
|
const detailed = {
|
|
14226
14331
|
"title": instance.t('frontend_record_detail_tab_detailed'),
|
|
@@ -14261,6 +14366,21 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
|
|
|
14261
14366
|
if(relatedLists.length){
|
|
14262
14367
|
content.tabs.push(related);
|
|
14263
14368
|
}
|
|
14369
|
+
const contents = [content];
|
|
14370
|
+
if (uiSchema.enable_chatter && window.BuilderLiveblocks) {
|
|
14371
|
+
const chatter = {
|
|
14372
|
+
"type": "rooms-provider",
|
|
14373
|
+
"baseUrl": "${context.rootUrl}",
|
|
14374
|
+
"body": [
|
|
14375
|
+
{
|
|
14376
|
+
"type": "rooms-comments",
|
|
14377
|
+
"className": "flex flex-col gap-3 m-4",
|
|
14378
|
+
"roomId": "objects:${objectName}:${recordId}",
|
|
14379
|
+
}
|
|
14380
|
+
]
|
|
14381
|
+
};
|
|
14382
|
+
contents.push(chatter);
|
|
14383
|
+
}
|
|
14264
14384
|
// content.tabs = reverse(content.tabs)
|
|
14265
14385
|
if(content.tabs.length == 1){
|
|
14266
14386
|
content.className += " steedos-record-tabs--single";
|
|
@@ -14280,7 +14400,7 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
|
|
|
14280
14400
|
"showBackButton": props.showBackButton,
|
|
14281
14401
|
_reloadKey: props._reloadKey
|
|
14282
14402
|
},
|
|
14283
|
-
|
|
14403
|
+
...contents,
|
|
14284
14404
|
],
|
|
14285
14405
|
"objectApiName": "${objectName}",
|
|
14286
14406
|
"recordId": "${recordId}",
|
|
@@ -15064,14 +15184,42 @@ function getLookupSapceUserTreeSchema(isMobile){
|
|
|
15064
15184
|
{
|
|
15065
15185
|
"actionType": "custom",
|
|
15066
15186
|
"script": `
|
|
15187
|
+
console.log("lookup-tree-event.data:",event.data);
|
|
15188
|
+
console.log("lookup-tree-event.data.value.label:",event.data.value.label);
|
|
15189
|
+
console.log("lookup-tree-event.data.value.value:",event.data.value.value);
|
|
15067
15190
|
const scope = event.context.scoped;
|
|
15068
|
-
var
|
|
15191
|
+
var treeFilterFormValues={
|
|
15069
15192
|
"__searchable__organizations_parents":event.data.value.value
|
|
15070
15193
|
}
|
|
15071
|
-
var listView = scope.parent.getComponents().find(function(n){
|
|
15072
|
-
|
|
15194
|
+
// var listView = scope.parent.getComponents().find(function(n){
|
|
15195
|
+
// return n.props.type === "crud";
|
|
15196
|
+
// });
|
|
15197
|
+
// listView.handleFilterSubmit(Object.assign({}, filterFormValues));
|
|
15198
|
+
let __lookupField = event.data.__lookupField;
|
|
15199
|
+
let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
|
|
15200
|
+
var filterForm = scope.getComponents().find(function(n){
|
|
15201
|
+
return n.props.type === "form";
|
|
15073
15202
|
});
|
|
15074
|
-
|
|
15203
|
+
let filterFormValues = filterForm.getData();
|
|
15204
|
+
filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
|
|
15205
|
+
const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});
|
|
15206
|
+
Object.assign(changedFilterFormValues, treeFilterFormValues);
|
|
15207
|
+
// 同步__changedFilterFormValues中的值
|
|
15208
|
+
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
15209
|
+
if(__lookupField){
|
|
15210
|
+
let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
|
|
15211
|
+
if(__lookupField.reference_to_field){
|
|
15212
|
+
lookupTag += "__" + __lookupField.reference_to_field;
|
|
15213
|
+
}
|
|
15214
|
+
__changedFilterFormValuesKey += lookupTag;
|
|
15215
|
+
}
|
|
15216
|
+
if(crud){
|
|
15217
|
+
let crudData = crud.getData();
|
|
15218
|
+
crudData[__changedFilterFormValuesKey] = changedFilterFormValues;
|
|
15219
|
+
crud.setData(crudData);
|
|
15220
|
+
}
|
|
15221
|
+
filterForm.setData(treeFilterFormValues);
|
|
15222
|
+
filterForm.handleFormSubmit(event);
|
|
15075
15223
|
`
|
|
15076
15224
|
},
|
|
15077
15225
|
{
|
|
@@ -15289,6 +15437,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15289
15437
|
// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
15290
15438
|
let keywordsSearchBoxName = `__keywords_lookup__${field.name.replace(/\./g, "_")}__to__${refObjectConfig.name}`;
|
|
15291
15439
|
|
|
15440
|
+
const filterFormValues = field.filter_form_data;
|
|
15292
15441
|
source.requestAdaptor = `
|
|
15293
15442
|
let __changedFilterFormValuesKey = "__changedFilterFormValues";
|
|
15294
15443
|
let __lookupField = api.data.$self.__lookupField;
|
|
@@ -15331,7 +15480,20 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15331
15480
|
}
|
|
15332
15481
|
}
|
|
15333
15482
|
|
|
15334
|
-
|
|
15483
|
+
let filterFormValues = {};
|
|
15484
|
+
if (selfData.op !== 'loadOptions'){
|
|
15485
|
+
filterFormValues = ${_$1__namespace.isObject(filterFormValues) ? JSON.stringify(filterFormValues) : ('"' + filterFormValues + '"')} || {};
|
|
15486
|
+
const isAmisFormula = typeof filterFormValues === "string" && filterFormValues.indexOf("\${") > -1;
|
|
15487
|
+
if (isAmisFormula){
|
|
15488
|
+
filterFormValues = AmisCore.evaluate(filterFormValues, context) || {};
|
|
15489
|
+
}
|
|
15490
|
+
if (_.isObject(filterFormValues) || !_.isEmpty(filterFormValues)){
|
|
15491
|
+
let fields = api.data.$self.uiSchema && api.data.$self.uiSchema.fields;
|
|
15492
|
+
filterFormValues = SteedosUI.getSearchFilterFormValues(filterFormValues, fields);
|
|
15493
|
+
}
|
|
15494
|
+
}
|
|
15495
|
+
|
|
15496
|
+
var searchableFilter = SteedosUI.getSearchFilter(Object.assign({}, { ...filterFormValues }, selfData)) || [];
|
|
15335
15497
|
|
|
15336
15498
|
if(searchableFilter.length > 0){
|
|
15337
15499
|
if(filters.length > 0 ){
|
|
@@ -15521,7 +15683,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15521
15683
|
return payload;
|
|
15522
15684
|
`;
|
|
15523
15685
|
}
|
|
15524
|
-
let top =
|
|
15686
|
+
let top = 500;
|
|
15525
15687
|
|
|
15526
15688
|
if(refObjectConfig.paging && refObjectConfig.paging.enabled === false){
|
|
15527
15689
|
top = 1000;
|
|
@@ -15571,7 +15733,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15571
15733
|
keywordsSearchBoxName,
|
|
15572
15734
|
searchable_fields: field.searchable_fields,
|
|
15573
15735
|
auto_open_filter: field.auto_open_filter,
|
|
15574
|
-
show_left_filter: field.show_left_filter
|
|
15736
|
+
show_left_filter: field.show_left_filter,
|
|
15737
|
+
filter_form_data: field.filter_form_data
|
|
15575
15738
|
});
|
|
15576
15739
|
}
|
|
15577
15740
|
pickerSchema.data = Object.assign({}, pickerSchema.data, {
|
|
@@ -15605,7 +15768,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15605
15768
|
{
|
|
15606
15769
|
"actionType": "custom",
|
|
15607
15770
|
"script": `
|
|
15608
|
-
|
|
15771
|
+
// lookup字段弹出列表,点击新建按钮,新建记录成功后,触发@data.changed.xxx,
|
|
15772
|
+
// 此时context.props.data值是lookup字段所在表单数据,经测试多层lookup弹出列表新建记录成功后context.props.data始终取的是最近一层的lookup字段所在表单数据,符合预期
|
|
15773
|
+
const masterRecord = context.props.data;//event.data._master && event.data._master.record;
|
|
15609
15774
|
const fieldConfig = ${JSON.stringify(field)};
|
|
15610
15775
|
let reference_to = fieldConfig.reference_to;
|
|
15611
15776
|
let saveValue;
|
|
@@ -15615,7 +15780,6 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15615
15780
|
}
|
|
15616
15781
|
const saveField = fieldConfig.reference_to_field || '_id';
|
|
15617
15782
|
const saveFieldValue = newRecord[saveField];
|
|
15618
|
-
|
|
15619
15783
|
if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){
|
|
15620
15784
|
|
|
15621
15785
|
const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};
|
|
@@ -15635,8 +15799,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15635
15799
|
|
|
15636
15800
|
}else{
|
|
15637
15801
|
if(fieldConfig.multiple){
|
|
15638
|
-
//
|
|
15639
|
-
|
|
15802
|
+
// const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];
|
|
15803
|
+
// 连续新建多个记录时,因为masterRecord获取的主记录不是实时的,所以只会勾选最后一个新建的记录
|
|
15804
|
+
// 而下面context.context.component指向的是lookup picker组件,可以直接取到用户实时勾选的记录。
|
|
15805
|
+
const fieldValue = context.context.component.props.store.toJSON().selectedItems
|
|
15640
15806
|
saveValue = fieldValue.concat(saveFieldValue);
|
|
15641
15807
|
}else{
|
|
15642
15808
|
saveValue = saveFieldValue;
|
|
@@ -15644,7 +15810,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15644
15810
|
}
|
|
15645
15811
|
|
|
15646
15812
|
const ctx = ${JSON.stringify(ctx)};
|
|
15647
|
-
const componentId = ctx.defaults.formSchema.id;
|
|
15813
|
+
const componentId = ctx.defaults && ctx.defaults.formSchema && ctx.defaults.formSchema.id;
|
|
15648
15814
|
doAction({
|
|
15649
15815
|
actionType: 'setValue',
|
|
15650
15816
|
componentId: componentId,
|
|
@@ -16071,6 +16237,10 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
16071
16237
|
}
|
|
16072
16238
|
let amisSchema;
|
|
16073
16239
|
// 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式
|
|
16240
|
+
if(enableEnhancedLookup == true && field.amis && field.amis.type && field.amis.type !== 'picker'){
|
|
16241
|
+
// 如果配置了amis.type且其值不是picker,则不使用弹出增强模式
|
|
16242
|
+
enableEnhancedLookup = false;
|
|
16243
|
+
}
|
|
16074
16244
|
if(enableEnhancedLookup == true){
|
|
16075
16245
|
amisSchema = await lookupToAmisPicker(field, readonly, ctx);
|
|
16076
16246
|
}else if(refObject.enable_tree) {
|
|
@@ -17202,7 +17372,16 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
17202
17372
|
return convertData
|
|
17203
17373
|
}
|
|
17204
17374
|
// if(ctx.mode === 'edit'){
|
|
17205
|
-
let convertDataResult
|
|
17375
|
+
let convertDataResult;
|
|
17376
|
+
if(convertData.type == "steedos-field"){
|
|
17377
|
+
// 如果是steedos-field,不能把amis属性合并到steedos-field根属性中,要合并也是合并到steedos-field的config.amis中
|
|
17378
|
+
// 而steedos-field字段的amis属性本身就在config.amis中了,所以这里不需要再合并field.amis
|
|
17379
|
+
// 目前测试到受影响的是,把字段的amis属性配置为{"type": "checkboxes"}时,ObjectForm只读模式下,lookup字段返回的是type为steedos-field的组件,此时field.amis中的type不应该合并到steedos-field根属性中
|
|
17380
|
+
convertDataResult = Object.assign({}, baseData, convertData, { labelClassName: 'text-left', clearValueOnHidden: true, fieldName: field.name}, {name: baseData.name});
|
|
17381
|
+
}
|
|
17382
|
+
else {
|
|
17383
|
+
convertDataResult = Object.assign({}, baseData, convertData, { labelClassName: 'text-left', clearValueOnHidden: true, fieldName: field.name}, field.amis, {name: baseData.name});
|
|
17384
|
+
}
|
|
17206
17385
|
// 只读时file字段的外层control层若存在name,内部each组件存在问题
|
|
17207
17386
|
if(readonly && field.type == "file") {
|
|
17208
17387
|
convertDataResult.name = "";
|
|
@@ -25181,7 +25360,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
25181
25360
|
_reloadKey: _reloadKey,
|
|
25182
25361
|
data: _data,
|
|
25183
25362
|
style: style,
|
|
25184
|
-
className: "".concat(className, "
|
|
25363
|
+
className: "".concat(className, " h-full steedos-object-listview ").concat(displayAs === 'split' ? 'sm:border-r' : 'sm:bg-gray-50'),
|
|
25185
25364
|
body: [{
|
|
25186
25365
|
"type": "wrapper",
|
|
25187
25366
|
"size": "none",
|
|
@@ -25199,13 +25378,13 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
25199
25378
|
"className": sideSchema ? "flex-1 focus:outline-none lg:order-last w-96 h-full" : 'w-full h-full',
|
|
25200
25379
|
"body": {
|
|
25201
25380
|
type: "wrapper",
|
|
25202
|
-
className: "p-0
|
|
25381
|
+
className: "p-0 bg-white steedos-object-listview-content-wrapper flex flex-col ".concat(displayAs === 'split' ? '' : 'm-4 shadow rounded'),
|
|
25203
25382
|
body: __spreadArray(__spreadArray([], __read(headerSchema), false), [
|
|
25204
25383
|
{
|
|
25205
25384
|
"type": "service",
|
|
25206
25385
|
"id": "service_schema_api_" + objectApiName,
|
|
25207
25386
|
_reloadKey: _reloadKey,
|
|
25208
|
-
"className": " steedos-object-listview-content grow
|
|
25387
|
+
"className": " steedos-object-listview-content grow bg-white ".concat(displayAs === 'split' ? 'p-0 m-0' : 'px-3 py-0 m-1'),
|
|
25209
25388
|
"schemaApi": {
|
|
25210
25389
|
// 这里url上加objectApiName属性是因为设计器中切换对象时不会变更列表视图界面,不可以用objectName=${objectName}使用作用域中objectName变量是因为设计器那边不会监听识别data变化来render组件
|
|
25211
25390
|
"url": "${context.rootUrl}/graphql?objectName=" + objectApiName + "&listName=${listName}&display=${display}&rebuildOn=" + rebuildOn + _reloadKey,
|
|
@@ -26308,7 +26487,7 @@ var getNotificationBadgeButton = function () {
|
|
|
26308
26487
|
{
|
|
26309
26488
|
"type": "panel",
|
|
26310
26489
|
"title": instance.t('frontend_notifications'),
|
|
26311
|
-
"className": "steedos-header-toolbar-notifications-panel " + (isMobile ? "" : "min-w-[
|
|
26490
|
+
"className": "steedos-header-toolbar-notifications-panel border-0 shadow-none " + (isMobile ? "" : "min-w-[460px] max-w-md"),
|
|
26312
26491
|
"body": [
|
|
26313
26492
|
{
|
|
26314
26493
|
"type": "each",
|
|
@@ -26469,6 +26648,7 @@ var getNotificationBadgeButton = function () {
|
|
|
26469
26648
|
"className": "slds-button_icon slds-global-header__icon"
|
|
26470
26649
|
}
|
|
26471
26650
|
],
|
|
26651
|
+
"size": "small",
|
|
26472
26652
|
"count": "${unReadCount}"
|
|
26473
26653
|
},
|
|
26474
26654
|
],
|
|
@@ -26526,6 +26706,20 @@ var getNotificationBadgeButton = function () {
|
|
|
26526
26706
|
"open": false
|
|
26527
26707
|
};
|
|
26528
26708
|
};
|
|
26709
|
+
var getHeaderButtons = function () {
|
|
26710
|
+
if (window['BuilderLiveblocks']) {
|
|
26711
|
+
return [{
|
|
26712
|
+
type: 'rooms-provider',
|
|
26713
|
+
baseUrl: '',
|
|
26714
|
+
body: {
|
|
26715
|
+
type: 'rooms-inbox-popover',
|
|
26716
|
+
},
|
|
26717
|
+
}];
|
|
26718
|
+
}
|
|
26719
|
+
else {
|
|
26720
|
+
return [];
|
|
26721
|
+
}
|
|
26722
|
+
};
|
|
26529
26723
|
var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
26530
26724
|
var _a, className, data, _b, logoutScript, _c, customButtons, avatarSrc;
|
|
26531
26725
|
var _d, _e;
|
|
@@ -26540,7 +26734,7 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
|
|
|
26540
26734
|
"id": "u:9c3d279be31a",
|
|
26541
26735
|
"className": "steedos-global-header-toolbar leading-3\t".concat(className),
|
|
26542
26736
|
"size": "xs",
|
|
26543
|
-
"body": __spreadArray(__spreadArray([], __read(customButtons), false), [
|
|
26737
|
+
"body": __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(customButtons), false), [
|
|
26544
26738
|
{
|
|
26545
26739
|
"type": "button",
|
|
26546
26740
|
"hiddenOn": "${window:innerWidth < 768 || (window:Meteor.settings.public && window:Meteor.settings.public.platform && window:Meteor.settings.public.platform.is_oem)}",
|
|
@@ -26677,7 +26871,8 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
|
|
|
26677
26871
|
}
|
|
26678
26872
|
]
|
|
26679
26873
|
},
|
|
26680
|
-
getNotificationBadgeButton()
|
|
26874
|
+
getNotificationBadgeButton()
|
|
26875
|
+
], false), __read(getHeaderButtons()), false), [
|
|
26681
26876
|
{
|
|
26682
26877
|
"type": "steedos-dropdown",
|
|
26683
26878
|
"placement": "bottomRight",
|
|
@@ -26933,7 +27128,7 @@ var AmisGlobalHeader = function (props) { return __awaiter(void 0, void 0, void
|
|
|
26933
27128
|
{
|
|
26934
27129
|
"type": "steedos-global-header-toolbar",
|
|
26935
27130
|
"label": "Global Header",
|
|
26936
|
-
className: 'flex flex-nowrap gap-x-
|
|
27131
|
+
className: 'flex flex-nowrap gap-x-4 items-center',
|
|
26937
27132
|
logoutScript: "window.signOut();",
|
|
26938
27133
|
customButtons: customButtons
|
|
26939
27134
|
}
|
|
@@ -26988,7 +27183,7 @@ var AmisGlobalHeader = function (props) { return __awaiter(void 0, void 0, void
|
|
|
26988
27183
|
body: [
|
|
26989
27184
|
{
|
|
26990
27185
|
type: "wrapper",
|
|
26991
|
-
className: 'sidebar-wrapper px-0 pt-0 pb-16 fixed z-20 h-full h-fill ease-in-out duration-300 flex flex-col border-r overflow-y-auto bg-
|
|
27186
|
+
className: 'sidebar-wrapper px-0 pt-0 pb-16 fixed z-20 h-full h-fill ease-in-out duration-300 flex flex-col border-r overflow-y-auto bg-gray-100 border-gray-300 block -translate-x-0 sm:w-[220px] w-64',
|
|
26992
27187
|
visibleOn: '${!!appId}',
|
|
26993
27188
|
body: [
|
|
26994
27189
|
{
|
|
@@ -27094,24 +27289,34 @@ function getAmisStaticFieldType(type, data_type, options) {
|
|
|
27094
27289
|
}
|
|
27095
27290
|
function getLookupLinkOnClick(field, options) {
|
|
27096
27291
|
return __awaiter(this, void 0, void 0, function () {
|
|
27097
|
-
var recordPage, drawerRecordDetailSchema;
|
|
27292
|
+
var recordPage, objectName, recordId, drawerRecordDetailSchema;
|
|
27098
27293
|
return __generator(this, function (_a) {
|
|
27099
27294
|
switch (_a.label) {
|
|
27100
27295
|
case 0: return [4 /*yield*/, getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor })];
|
|
27101
27296
|
case 1:
|
|
27102
27297
|
recordPage = _a.sent();
|
|
27298
|
+
objectName = "${objectName}";
|
|
27299
|
+
recordId = "${value}";
|
|
27300
|
+
if (options.tableObjectName && field.is_name) {
|
|
27301
|
+
// 如果Lookup字段上配置了is_name,且是在表格(即tableObjectName有值,包括列表视图和子表)中
|
|
27302
|
+
// 则点击弹出的详细页面是表格行记录指向的记录详细页面,此时打开的详细页面对象是表格所属对象,_id是表格行记录的_id值
|
|
27303
|
+
// tableObjectName 没有值时说明lookup字段可能是在记录详细页面表单等地方,此时打开的详细页面lookup字段值指向的记录
|
|
27304
|
+
objectName = options.tableObjectName;
|
|
27305
|
+
recordId = "${_id}";
|
|
27306
|
+
}
|
|
27103
27307
|
drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
|
|
27104
|
-
"recordId":
|
|
27105
|
-
"data": __assign$2(__assign$2({}, recordPage.schema.data), { "_inDrawer": true, "recordLoaded": false })
|
|
27308
|
+
"recordId": recordId,
|
|
27309
|
+
"data": __assign$2(__assign$2({}, recordPage.schema.data), { "_inDrawer": true, "recordLoaded": false, "_tableObjectName": options.tableObjectName })
|
|
27106
27310
|
}) : {
|
|
27107
27311
|
"type": "steedos-record-detail",
|
|
27108
|
-
"objectApiName":
|
|
27109
|
-
"recordId":
|
|
27312
|
+
"objectApiName": objectName,
|
|
27313
|
+
"recordId": recordId,
|
|
27110
27314
|
"showBackButton": false,
|
|
27111
27315
|
"showButtons": true,
|
|
27112
27316
|
"data": {
|
|
27113
27317
|
"_inDrawer": true,
|
|
27114
|
-
"recordLoaded": false,
|
|
27318
|
+
"recordLoaded": false,
|
|
27319
|
+
"_tableObjectName": options.tableObjectName
|
|
27115
27320
|
}
|
|
27116
27321
|
};
|
|
27117
27322
|
return [2 /*return*/, {
|
|
@@ -27162,7 +27367,7 @@ function generateRandomString$1(length) {
|
|
|
27162
27367
|
return _$1.sampleSize(characters, length).join('');
|
|
27163
27368
|
}
|
|
27164
27369
|
var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
27165
|
-
var steedosField, field, _a, readonly, _b, ctx, config, fStatic, env, inInputTable, className, _c, appId, formFactor, editorClassName, lookupATagClick, defaultSource, source, fieldBaseProps, referenceTo_1, fieldValue, fieldRefObject, _d, _e, _f, _g, res, valueOptions_1, fieldValue, values, disPlayValue_1, _h, _j, _k, _l, schema, fieldSchema, fieldValue, fieldHtml_1, schema, map, tableFields, _m, _o, subField, subFieldName, fieldAmis, schema, error_1;
|
|
27370
|
+
var steedosField, field, _a, readonly, _b, ctx, config, fStatic, env, inInputTable, className, tableObjectName, _c, appId, formFactor, editorClassName, lookupATagClick, defaultSource, source, fieldBaseProps, referenceTo_1, fieldValue, fieldRefObject, _d, _e, _f, _g, res, valueOptions_1, fieldValue, values, disPlayValue_1, _h, _j, _k, _l, schema, fieldSchema, fieldValue, fieldHtml_1, schema, map, tableFields, _m, _o, subField, subFieldName, fieldAmis, schema, error_1;
|
|
27166
27371
|
var _p, _q, _r, _s, _t, _u, _v, _w, _x, e_1, _y;
|
|
27167
27372
|
var _z, _0, _1, _2, _3, _4, _5;
|
|
27168
27373
|
return __generator(this, function (_6) {
|
|
@@ -27201,7 +27406,7 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
27201
27406
|
props.config.name = "f".concat(generateRandomString$1(5));
|
|
27202
27407
|
}
|
|
27203
27408
|
steedosField = null;
|
|
27204
|
-
field = props.field, _a = props.readonly, readonly = _a === void 0 ? false : _a, _b = props.ctx, ctx = _b === void 0 ? {} : _b, config = props.config, props.$schema, fStatic = props.static, env = props.env, inInputTable = props.inInputTable, className = props.className;
|
|
27409
|
+
field = props.field, _a = props.readonly, readonly = _a === void 0 ? false : _a, _b = props.ctx, ctx = _b === void 0 ? {} : _b, config = props.config, props.$schema, fStatic = props.static, env = props.env, inInputTable = props.inInputTable, className = props.className, tableObjectName = props.tableObjectName;
|
|
27205
27410
|
_c = props.data || {}, appId = _c.appId, formFactor = _c.formFactor;
|
|
27206
27411
|
editorClassName = "";
|
|
27207
27412
|
if (props.$$editor) {
|
|
@@ -27358,7 +27563,8 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
27358
27563
|
case 4: return [4 /*yield*/, getLookupLinkOnClick(steedosField, {
|
|
27359
27564
|
appId: appId,
|
|
27360
27565
|
objectName: referenceTo_1,
|
|
27361
|
-
formFactor: formFactor
|
|
27566
|
+
formFactor: formFactor,
|
|
27567
|
+
tableObjectName: tableObjectName
|
|
27362
27568
|
})];
|
|
27363
27569
|
case 5:
|
|
27364
27570
|
_g = _6.sent();
|
|
@@ -27371,17 +27577,18 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
27371
27577
|
_s),
|
|
27372
27578
|
_r)
|
|
27373
27579
|
],
|
|
27374
|
-
_q), {
|
|
27580
|
+
_q), (!!!tableObjectName ? {
|
|
27375
27581
|
type: 'static',
|
|
27376
27582
|
tpl: '-',
|
|
27377
27583
|
className: "".concat(fieldBaseProps.className || '', " text-muted !border-b-0"),
|
|
27378
27584
|
hiddenOn: "${_display.".concat(steedosField.name, "}"),
|
|
27379
|
-
},
|
|
27380
|
-
|
|
27381
|
-
|
|
27382
|
-
|
|
27383
|
-
|
|
27384
|
-
|
|
27585
|
+
} : null),
|
|
27586
|
+
(steedosField.description ?
|
|
27587
|
+
{
|
|
27588
|
+
type: 'tpl',
|
|
27589
|
+
tpl: "<span class='antd-TplField antd-Form-description'><span>".concat(steedosField.description, "</span></span>"),
|
|
27590
|
+
hidden: _$1.isEmpty(steedosField.description) ? true : false
|
|
27591
|
+
} : null)],
|
|
27385
27592
|
_p)]));
|
|
27386
27593
|
return [3 /*break*/, 13];
|
|
27387
27594
|
case 7: return [4 /*yield*/, env.fetcher(source, props.data)];
|
|
@@ -28462,7 +28669,7 @@ var PageObject = function (props) { return __awaiter(void 0, void 0, void 0, fun
|
|
|
28462
28669
|
});
|
|
28463
28670
|
}); };
|
|
28464
28671
|
|
|
28465
|
-
var __assign=function(){return (__assign=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var o=this.object;if(r)return r.allowCreate&&o.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}},standard_export_excel:{visible:function(e,t,r){return !1}}}}},authRequest=function(e,t){var a=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],o={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){a=e;},error:function(e,t,r){var o,n;e.responseJSON&&e.responseJSON.error?(o=e.responseJSON.error,n=void(a={error:o}),n=o.reason||o.message||o,console.error(n)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},o,t)),a}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,o=arguments[t];for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r]);}return e}).apply(this,arguments)}const newFunctionComponent=n=>e=>{const[t,r]=React.useState(!0);var o=()=>{r(!1);};return _$1.has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:o}),React__default["default"].createElement(n,_extends({visible:t,onCancel:o,onClose:o},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,o)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React__default["default"].createElement(newFunctionComponent(o),e);ReactDOM.createRoot(t).render(e);},Modal=_$1.assign(newComponentRender("modal",antd.Modal),{info:antd.Modal.info,success:antd.Modal.success,error:antd.Modal.error,warning:antd.Modal.warning,confirm:antd.Modal.confirm}),Drawer=newComponentRender("drawer",antd.Drawer),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),_$1.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let o="";t=[`id: "${t}"`];return `{record:${e}__findOne${o=0<t.length?`(${t.join(",")})`:o}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t),r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):_$1.isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:o,foreignKey:n}){return `/app/${e}/${t}/${r}/${o}/grid?related_field_name=`+n}};var withModalWrap=function(t,e){return function(e){return React__namespace.createElement(t,e)}},render=function(e,t,r,o){e=withModalWrap(e),e=React__namespace.createElement(e,__assign({},t));return ReactDOM__default["default"].render(e,r)};const safeRunFunction=(t,r,o,n)=>{try{let e=[];return _$1.isNil(r)||(e=_$1.isArray(r)?r:[r]),t.bind(n||{})(...e)}catch(e){return console.log(e),o}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},getMoment=()=>window.amisRequire?window.amisRequire("moment"):window.moment||void 0,getGlobalNowData=()=>{var e=new Date,t=getMoment();let r=t().utc(),o=(r.set("hours",0),r.set("minutes",0),r.set("seconds",0),r.set("milliseconds",0),r=r.toDate(),t());return o.set("year",1970),o.set("month",0),o.set("date",1),o.set("hours",o.hours()+o.utcOffset()/60),o.set("seconds",0),o.set("milliseconds",0),o=o.toDate(),{now:e,today:r,timeNow:o}},parseSingleExpression=function(t,e,r,o){var n,a;if(o&&Object.assign(o,getGlobalNowData()),a=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{},"string"!=typeof t)return t;n="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,n)).replace(/\bglobal\b/g,JSON.stringify(o)).replace(new RegExp("\\b"+n+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(a));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,getGlobalNowData:getGlobalNowData,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(express,multiple)=>{const reg=/^\{\w+(\.*\w+)*\}$/,reg2=/^{{[\s\S]*}}$/;let result=express;if(reg.test(express)&&(result=-1<express.indexOf("userId")||-1<express.indexOf("spaceId")||-1<express.indexOf("user.")||-1<express.indexOf("now")||-1<express.indexOf("today")||-1<express.indexOf("timeNow")?`{${express}}`.replace("{{","{{global."):`{${express}}`.replace("{{","{{formData."),multiple&&(result=result.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),reg2.test(express)&&(-1<express.indexOf("function")||-1<express.indexOf("=>"))){let regex=/\{\{([\s\S]*)\}\}/,matches=regex.exec(express);if(matches&&1<matches.length){let functionCode=matches[1];result=eval("("+functionCode+")")();}}return result},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),_$1.isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),_$1__namespace.isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var o=isExpression(r);switch(o&&("date"===e.type?r=r.replace(/\bglobal.now\b/g,"global.today"):"time"===e.type&&(r=r.replace(/\bglobal.now\b/g,"global.timeNow")),r=parseSingleExpression(r,{},"#",t)),e.type){case"select":var n=e.data_type||"text";!r||o||e.multiple||("text"!==n||_$1.isString(r)?"number"===n&&_$1.isString(r)?r=Number(r):"boolean"===n&&_$1.isString(r)&&(r="true"===r.toLowerCase()||"1"===r):r=String(r));break;case"number":_$1.isString(r)&&(r=Number(r));break;case"boolean":_$1.isString(r)?r="true"===r.toLowerCase()||"1"===r:_$1.isBoolean(r)||(r=!1);break;case"time":if(_$1.isDate(r))return moment(r).format("1970-01-01THH:mm:00.000[Z]");case"date":if(_$1.isDate(r))return moment(r).format("YYYY-MM-DDT00:00:00.000[Z]");case"datetime":if(_$1.isDate(r))return moment(r).format("YYYY-MM-DDTHH:mm:00.000Z")}return r};function getTreeOptions(t,e){const n=e?.valueField||"value",r=(e?.labelField,e?.unfoldedNum||1),o=[],a=(e,t,r,o)=>{return e.children&&"object"==typeof e.children[0]?e.children:r?(e=_.filter(t,e=>_.includes(r,e[n])),_.each(e,e=>{1<=o?(e.unfolded=!0,e.children&&(e.children=a(e,t,e.children,o-1))):e.children&&(e.children=a(e,t,e.children,o));}),e):void 0};for(var s=t,i=0;i<s.length;i++)if(s[i].noParent=0,s[i].unfolded=!1,s[i].parent){let e=1;for(var l=0;l<s.length;l++)s[i].parent==s[l][n]&&(e=0);1==e&&(s[i].noParent=1);}else s[i].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,o.push(Object.assign({},e,{children:a(e,t,e.children,r-1)}))):o.push(Object.assign({},e,{children:a(e,t,e.children,r)})));}),o}function getClosestAmisComponentByType(t,r,o){let n=(o=o||{}).name;var e=o.direction||"up";let a=t.getComponents().find(function(e){return e.props.type===r&&(!n||e.props.name===n)});if(a)return a;if("down"===e){if(t.children&&t.children.length){for(let e=0;e<t.children.length&&!(a=getClosestAmisComponentByType(t.children[e],r,o));e++);return a}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,r,o)}function isFilterFormValuesEmpty(e){let t=!0;var e=_.pickBy(e,function(e,t){return /^__searchable__/g.test(t)});return _.isEmpty(e)||(e=_.omitBy(e,function(e){return _.isNil(e)||_.isObject(e)&&_.isEmpty(e)||_.isArray(e)&&_.isEmpty(e.filter(function(e){return !_.isNil(e)}))||_.isString(e)&&0===e.length}),_.isEmpty(e)||(t=!1)),t}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:antd.message,notification:antd.notification,components:{Button:antd.Button,Space:antd.Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty,getSearchFilter:e=>{var n=[];return _.each(e,(e,t)=>{var r,o;_.isEmpty(e)&&!_.isBoolean(e)||(_.startsWith(t,"__searchable__between__")?n.push([""+t.replace("__searchable__between__",""),"between",e]):_.startsWith(t,"__searchable__")&&(_.isString(e)?n.push([""+t.replace("__searchable__",""),"contains",e]):_.isObject(e)&&e.o?(o=[[(r=""+t.replace("__searchable__",""))+"/o","=",e.o]],e.ids.length&&o.push([r+"/ids","=",e.ids]),n.push(o)):n.push([""+t.replace("__searchable__",""),"=",e])));}),n},getKeywordsSearchFilter:(e,t)=>{const n=[];var a;return e&&t&&(a=e.split(/\s+/),a=_$1.compact(a),t.forEach(function(r,e){let o=[];1==a.length?o=[r,"contains",a[0]]:a.forEach(function(e,t){o.push([r,"contains",e]),t<a.length-1&&o.push("and");}),o.length&&(n.push(o),e<t.length-1&&n.push("or"));})),n},getFormulaVariables:(e,t=!0)=>{const r=[];return _$1.isEmpty(e)||(r.push({label:"表单字段",children:[]}),lodash.forEach(e,function(e){r[0].children.push({label:e.label,value:e.value});})),t&&r.push({label:"全局变量",children:[{label:"用户ID",value:"global['userId']"},{label:"工作区ID",value:"global['spaceId']"},{label:"用户",children:[{label:"姓名",value:"global['user']['name']"},{label:"邮件",value:"global['user']['email']"},{label:"语言",value:"global['user']['language']"},{label:"简档",value:"global['user']['profile']"},{label:"权限集",value:"global['user']['roles']"},{label:"主部门ID",value:"global['user']['organization']['_id']"},{label:"部门(含上级)",value:"global['user']['organizations_parents']"},{label:"主分部ID",value:"global['user']['company_id']"},{label:"分部(多选)",value:"global['user']['company_ids']"},{label:"人员ID",value:"global['user']['spaceUserId']"},{label:"是否是工作区管理员",value:"global['user']['is_space_admin']"}]}]}),r},traverseNestedArrayFormula:(t,r)=>{var o=window.amisRequire&&window.amisRequire("amis")||Amis;for(let e=0;e<t.length;e++)if(Array.isArray(t[e]))SteedosUI$1.traverseNestedArrayFormula(t[e],r);else if(/\$\{([^}]*)\}/.test(t[e]))try{t[e]=o.evaluate(t[e],r);}catch(e){console.error("运行过滤器公式时出现错误:",e);}}});var _STANDARD_SPRITE_IDS="account,account_info,action_list_component,actions_and_buttons,activation_target,activations,address,agent_home,agent_session,aggregation_policy,all,announcement,answer_best,answer_private,answer_public,apex,apex_plugin,app,approval,apps,apps_admin,article,asset_action,asset_action_source,asset_audit,asset_downtime_period,asset_object,asset_relationship,asset_state_period,asset_warranty,assigned_resource,assignment,attach,avatar,avatar_loading,bot,bot_training,branch_merge,brand,budget,budget_allocation,bundle_config,bundle_policy,business_hours,buyer_account,buyer_group,calculated_insights,calibration,call,call_coaching,call_history,campaign,campaign_members,cancel_checkout,canvas,capacity_plan,care_request_reviewer,carousel,case,case_change_status,case_comment,case_email,case_log_a_call,case_milestone,case_transcript,case_wrap_up,catalog,category,change_request,channel_program_history,channel_program_levels,channel_program_members,channel_programs,chart,checkout,choice,client,cms,coaching,code_playground,code_set,code_set_bundle,collection,collection_variable,connected_apps,constant,contact,contact_list,contact_request,contract,contract_line_item,contract_payment,coupon_codes,currency,currency_input,custom,custom_component_task,custom_notification,customer_360,customer_lifecycle_analytics,customer_portal_users,customers,dashboard,dashboard_component,dashboard_ea,data_integration_hub,data_mapping,data_model,data_streams,datadotcom,dataset,date_input,date_time,decision,default,delegated_account,device,discounts,display_rich_text,display_text,document,document_reference,drafts,duration_downscale,dynamic_record_choice,education,einstein_replies,email,email_chatter,employee,employee_asset,employee_contact,employee_job,employee_job_position,employee_organization,empty,endorsement,entitlement,entitlement_policy,entitlement_process,entitlement_template,entity,entity_milestone,environment_hub,event,events,expense,expense_report,expense_report_entry,feed,feedback,field_sales,file,filter,filter_criteria,filter_criteria_rule,first_non_empty,flow,folder,forecasts,form,formula,fulfillment_order,generic_loading,global_constant,goals,group_loading,groups,guidance_center,hierarchy,high_velocity_sales,historical_adherence,holiday_operating_hours,home,household,identifier,immunization,incident,individual,insights,instore_locations,investment_account,invocable_action,iot_context,iot_orchestrations,javascript_button,job_family,job_position,job_profile,kanban,key_dates,knowledge,lead,lead_insights,lead_list,letterhead,lightning_component,lightning_usage,link,list_email,live_chat,live_chat_visitor,location,location_permit,log_a_call,logging,loop,macros,maintenance_asset,maintenance_plan,maintenance_work_rule,marketing_actions,med_rec_recommendation,med_rec_statement_recommendation,medication,medication_dispense,medication_ingredient,medication_reconciliation,medication_statement,merge,messaging_conversation,messaging_session,messaging_user,metrics,multi_picklist,multi_select_checkbox,network_contract,news,note,number_input,observation_component,omni_supervisor,operating_hours,opportunity,opportunity_contact_role,opportunity_splits,orchestrator,order_item,orders,outcome,output,partner_fund_allocation,partner_fund_claim,partner_fund_request,partner_marketing_budget,partners,password,past_chat,patient_medication_dosage,payment_gateway,people,performance,person_account,person_language,person_name,photo,picklist_choice,picklist_type,planogram,poll,portal,portal_roles,portal_roles_and_subordinates,post,practitioner_role,price_book_entries,price_books,pricebook,pricing_workspace,problem,procedure,procedure_detail,process,process_exception,product,product_consumed,product_consumed_state,product_item,product_item_transaction,product_quantity_rules,product_request,product_request_line_item,product_required,product_service_campaign,product_service_campaign_item,product_transfer,product_transfer_state,product_warranty_term,product_workspace,products,promotion_segments,promotions,promotions_workspace,propagation_policy,proposition,qualifications,question_best,question_feed,queue,quick_text,quip,quip_sheet,quotes,radio_button,read_receipts,recent,recipe,record,record_create,record_delete,record_lookup,record_signature_task,record_update,recycle_bin,related_list,relationship,reply_text,report,report_type,resource_absence,resource_capacity,resource_preference,resource_skill,restriction_policy,return_order,return_order_line_item,reward,rtc_presence,sales_cadence,sales_cadence_target,sales_channel,sales_path,sales_value,salesforce_cms,scan_card,schedule_objective,scheduling_constraint,scheduling_policy,screen,search,section,segments,selling_model,serialized_product,serialized_product_transaction,service_appointment,service_appointment_capacity_usage,service_contract,service_crew,service_crew_member,service_report,service_request,service_request_detail,service_resource,service_territory,service_territory_location,service_territory_member,service_territory_policy,settings,shift,shift_pattern,shift_pattern_entry,shift_preference,shift_scheduling_operation,shift_template,shift_type,shipment,skill,skill_entity,skill_requirement,slack,slider,sms,snippet,snippets,sobject,sobject_collection,social,solution,sort,sort_policy,sossession,stage,stage_collection,steps,store,store_group,story,strategy,survey,swarm_request,swarm_session,system_and_global_variable,tableau,task,task2,team_member,template,text,text_template,textarea,textbox,thanks,thanks_loading,timesheet,timesheet_entry,timeslot,today,toggle,topic,topic2,tour,tour_check,trailhead,trailhead_alt,travel_mode,unified_health_score,unmatched,user,user_role,variable,variation_attribute_setup,variation_products,video,visit_templates,visits,visualforce_page,voice_call,waits,warranty_term,webcart,work_capacity_limit,work_capacity_usage,work_contract,work_forecast,work_order,work_order_item,work_plan,work_plan_rule,work_plan_template,work_plan_template_entry,work_queue,work_step,work_step_template,work_type,work_type_group,workforce_engagement";const sldsIcons={standard:_STANDARD_SPRITE_IDS.split(",")};var organizationsTree={getSearchableFields:function(e){var n=["text","textarea","autonumber","url","email"];var a=[],s=e.context.uiSchema;return s&&_$1__namespace.each(s.fields,function(e){var t,r,o;t=e,r=s.NAME_FIELD_KEY,(o=!1!==(o=t.searchable)&&t.name===r?!0:o)&&-1<n.indexOf(t.type)&&a.push(e.name);}),a},getApiRequestAdaptor:function(e,t,r){var o="__keywords",n=t.__lookupField;if((r=void 0===r?{}:r).isLookup){if("loadOptions"===t.op)return s=[["_id","=",t.value]],Object.assign({},e,{method:"post",url:"/graphql",data:{query:"{rows:organizations(filters: "+JSON.stringify(s)+', top: 5000, skip: 0, sort: "sort_no desc"){_id,fullname,name,sort_no,_display:_ui{sort_no},parent,children}}'}});n?o="__keywords_lookup__".concat(n.name.replace(/\./g,"_"),"__to__").concat(n.reference_to):(o="",console.error("lookup字段快速搜索异常,作用域中未找到变量__lookupField"));}var a,t=this.getSearchableFields(e),s=[],i=(r.isLookup&&(a=n.inFilterForm,(l=n.listviewFilter)&&l.length&&!a&&(s=l)),JSON.parse(JSON.stringify(e.context))),l=SteedosUI$1.getSearchFilter(i)||[],l=(0<l.length&&(s=0<s.length?[s,"and",l]:l),t&&t.forEach(function(e){var t=i[e];_$1__namespace.isString(t)?s.push([e,"contains",t]):(_$1__namespace.isArray(t)||_$1__namespace.isBoolean(t)||t)&&s.push([e,"=",t]);}),SteedosUI$1.getKeywordsSearchFilter(i[o],t)),n=(l&&0<l.length&&s.push(l),r.isLookup&&((o=n.filters)&&o.length&&(SteedosUI$1.traverseNestedArrayFormula(o,e.context),s.push(o)),a=n.inFilterForm,"string"==typeof(t=n.listviewFiltersFunction)&&(t=new Function("return ".concat(t))()),"string"==typeof(l=n.filtersFunction||n._filtersFunction)&&(l=new Function("return ".concat(l))()),t&&!a&&(r=t(s,e.context))&&r.length&&s.push(r),l&&!a&&(o=l(s,e.context))&&0<o.length&&s.push(o)),e.data={},0<s.length&&Object.assign(e.data,{filters:JSON.stringify(s)}),e.body&&e.body.queryFields);return n&&Object.assign(e.data,{fields:n}),e.body.$self&&(e.body.$self.context&&e.body.$self.context.rootUrl,e.url="/service/api/organizations/root"),e},getApiAdaptor:function(e,t,r,o,n){return (n=void 0===n?{}:n).isLookup&&"loadOptions"===o.op?(n=_$1__namespace.map(e.data.rows,function(e){return delete e.children,delete e.parent,e}),e.data.rows=n):(o=r.data&&r.data.filters,e.data=__assign(__assign({},e.data),{isFilter:!!o}),e.data.__rootQueryFields=r.data&&r.data.fields,(e.data.rows||[]).forEach(function(e){e.__rootQueryFields=r.data&&r.data.fields;})),e},getDeferApiRequestAdaptor:function(e,t,r){var o=[],n=JSON.parse(JSON.stringify(e.context))._id,n=(n&&(o=[["parent","=",n]]),t&&t.__rootQueryFields||"_id,fullname,name,sort_no,hidden,_display:_ui{sort_no,hidden},parent,children");return Object.assign({},e,{data:{query:"{rows:organizations(filters: "+JSON.stringify(o)+', top: 5000, skip: 0, sort: "sort_no desc"){'+n+"}}"}})},getDeferApiAdaptor:function(e,t,r,o,n){var a=e.data;return a.children||(a.rows=a.rows.map(function(e){return e.defer=!(!e.children||!e.children.length),delete e.children,e}),a.children=a.rows,delete a.rows,delete a.count),e}},getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({resources:{sldsIcons:sldsIcons},organizationsTree:organizationsTree,getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"!=typeof window&&(window.Steedos?window.Steedos=Object.assign(Steedos$1,window.Steedos):window.Steedos=Steedos$1),"undefined"!=typeof window&&(window.SteedosUI?window.SteedosUI=Object.assign(SteedosUI$1,window.SteedosUI):window.SteedosUI=SteedosUI$1);
|
|
28672
|
+
var __assign=function(){return (__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var n=this.object;if(r)return r.allowCreate&&n.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}},standard_export_excel:{visible:function(e,t,r){return !1}}}}},authRequest=function(e,t){var a=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],n={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){a=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(a={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),a}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=React.useState(!0);var n=()=>{r(!1);};return _$1.has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React__default["default"].createElement(o,_extends({visible:t,onCancel:n,onClose:n},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,n)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React__default["default"].createElement(newFunctionComponent(n),e);ReactDOM.createRoot(t).render(e);},Modal=_$1.assign(newComponentRender("modal",antd.Modal),{info:antd.Modal.info,success:antd.Modal.success,error:antd.Modal.error,warning:antd.Modal.warning,confirm:antd.Modal.confirm}),Drawer=newComponentRender("drawer",antd.Drawer),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),_$1.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let n="";t=[`id: "${t}"`];return `{record:${e}__findOne${n=0<t.length?`(${t.join(",")})`:n}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t),r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):_$1.isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:n,foreignKey:o}){return `/app/${e}/${t}/${r}/${n}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return React__namespace.createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=React__namespace.createElement(e,__assign({},t));return ReactDOM__default["default"].render(e,r)};const safeRunFunction=(t,r,n,o)=>{try{let e=[];return _$1.isNil(r)||(e=_$1.isArray(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),n}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},getMoment=()=>window.amisRequire?window.amisRequire("moment"):window.moment||void 0,getGlobalNowData=()=>{var e=new Date,t=getMoment();let r=t().utc(),n=(r.set("hours",0),r.set("minutes",0),r.set("seconds",0),r.set("milliseconds",0),r=r.toDate(),t());return n.set("year",1970),n.set("month",0),n.set("date",1),n.set("hours",n.hours()+n.utcOffset()/60),n.set("seconds",0),n.set("milliseconds",0),n=n.toDate(),{now:e,today:r,timeNow:n}},parseSingleExpression=function(t,e,r,n){var o,a;if(n&&Object.assign(n,getGlobalNowData()),a=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{},"string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(n)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(a));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,getGlobalNowData:getGlobalNowData,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(express,multiple)=>{const reg=/^\{\w+(\.*\w+)*\}$/,reg2=/^{{[\s\S]*}}$/;let result=express;if(reg.test(express)&&(result=-1<express.indexOf("userId")||-1<express.indexOf("spaceId")||-1<express.indexOf("user.")||-1<express.indexOf("now")||-1<express.indexOf("today")||-1<express.indexOf("timeNow")?`{${express}}`.replace("{{","{{global."):`{${express}}`.replace("{{","{{formData."),multiple&&(result=result.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),reg2.test(express)&&(-1<express.indexOf("function")||-1<express.indexOf("=>"))){let regex=/\{\{([\s\S]*)\}\}/,matches=regex.exec(express);if(matches&&1<matches.length){let functionCode=matches[1];result=eval("("+functionCode+")")();}}return result},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),_$1.isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),_$1__namespace.isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var n=isExpression(r);switch(n&&("date"===e.type?r=r.replace(/\bglobal.now\b/g,"global.today"):"time"===e.type&&(r=r.replace(/\bglobal.now\b/g,"global.timeNow")),r=parseSingleExpression(r,{},"#",t)),e.type){case"select":var o=e.data_type||"text";!r||n||e.multiple||("text"!==o||_$1.isString(r)?"number"===o&&_$1.isString(r)?r=Number(r):"boolean"===o&&_$1.isString(r)&&(r="true"===r.toLowerCase()||"1"===r):r=String(r));break;case"number":_$1.isString(r)&&(r=Number(r));break;case"boolean":_$1.isString(r)?r="true"===r.toLowerCase()||"1"===r:_$1.isBoolean(r)||(r=!1);break;case"time":if(_$1.isDate(r))return moment(r).format("1970-01-01THH:mm:00.000[Z]");case"date":if(_$1.isDate(r))return moment(r).format("YYYY-MM-DDT00:00:00.000[Z]");case"datetime":if(_$1.isDate(r))return moment(r).format("YYYY-MM-DDTHH:mm:00.000Z")}return r};function getTreeOptions(t,e){const o=e?.valueField||"value",r=(e?.labelField,e?.unfoldedNum||1),n=[],a=(e,t,r,n)=>{return e.children&&"object"==typeof e.children[0]?e.children:r?(e=_.filter(t,e=>_.includes(r,e[o])),_.each(e,e=>{1<=n?(e.unfolded=!0,e.children&&(e.children=a(e,t,e.children,n-1))):e.children&&(e.children=a(e,t,e.children,n));}),e):void 0};for(var s=t,i=0;i<s.length;i++)if(s[i].noParent=0,s[i].unfolded=!1,s[i].parent){let e=1;for(var l=0;l<s.length;l++)s[i].parent==s[l][o]&&(e=0);1==e&&(s[i].noParent=1);}else s[i].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,n.push(Object.assign({},e,{children:a(e,t,e.children,r-1)}))):n.push(Object.assign({},e,{children:a(e,t,e.children,r)})));}),n}function getClosestAmisComponentByType(t,r,n){let o=(n=n||{}).name;var e=n.direction||"up";let a=t.getComponents().find(function(e){return e.props.type===r&&(!o||e.props.name===o)});if(a)return a;if("down"===e){if(t.children&&t.children.length){for(let e=0;e<t.children.length&&!(a=getClosestAmisComponentByType(t.children[e],r,n));e++);return a}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,r,n)}function isFilterFormValuesEmpty(e){let t=!0;var e=_.pickBy(e,function(e,t){return /^__searchable__/g.test(t)});return _.isEmpty(e)||(e=_.omitBy(e,function(e){return _.isNil(e)||_.isObject(e)&&_.isEmpty(e)||_.isArray(e)&&_.isEmpty(e.filter(function(e){return !_.isNil(e)}))||_.isString(e)&&0===e.length}),_.isEmpty(e)||(t=!1)),t}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:antd.message,notification:antd.notification,components:{Button:antd.Button,Space:antd.Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty,getSearchFilter:e=>{var o=[];return _.each(e,(e,t)=>{var r,n;_.isEmpty(e)&&!_.isBoolean(e)||(_.startsWith(t,"__searchable__between__")?o.push([""+t.replace("__searchable__between__",""),"between",e]):_.startsWith(t,"__searchable__")&&(_.isString(e)?o.push([""+t.replace("__searchable__",""),"contains",e]):_.isObject(e)&&e.o?(n=[[(r=""+t.replace("__searchable__",""))+"/o","=",e.o]],e.ids.length&&n.push([r+"/ids","=",e.ids]),o.push(n)):o.push([""+t.replace("__searchable__",""),"=",e])));}),o},getSearchFilterFormValues:(t,o)=>{if(!_.isObject(t)&&_.isEmpty(t))return t;{let e=t;return o&&(e=_.pickBy(t,function(e,t){return !!o[t]})),_.mapKeys(e,function(e,t){let r="__searchable__";var n;return !o||"number"!==(n=o[t]?.type)&&"currency"!==n&&"date"!==n&&"datetime"!==n&&"time"!==n||(r+="between__"),r+t})}},getKeywordsSearchFilter:(e,t)=>{const o=[];var a;return e&&t&&(a=e.split(/\s+/),a=_$1.compact(a),t.forEach(function(r,e){let n=[];1==a.length?n=[r,"contains",a[0]]:a.forEach(function(e,t){n.push([r,"contains",e]),t<a.length-1&&n.push("and");}),n.length&&(o.push(n),e<t.length-1&&o.push("or"));})),o},getFormulaVariables:(e,t=!0)=>{const r=[];return _$1.isEmpty(e)||(r.push({label:"表单字段",children:[]}),lodash.forEach(e,function(e){r[0].children.push({label:e.label,value:e.value});})),t&&r.push({label:"全局变量",children:[{label:"用户ID",value:"global['userId']"},{label:"工作区ID",value:"global['spaceId']"},{label:"用户",children:[{label:"姓名",value:"global['user']['name']"},{label:"邮件",value:"global['user']['email']"},{label:"语言",value:"global['user']['language']"},{label:"简档",value:"global['user']['profile']"},{label:"权限集",value:"global['user']['roles']"},{label:"主部门ID",value:"global['user']['organization']['_id']"},{label:"部门(含上级)",value:"global['user']['organizations_parents']"},{label:"主分部ID",value:"global['user']['company_id']"},{label:"分部(多选)",value:"global['user']['company_ids']"},{label:"人员ID",value:"global['user']['spaceUserId']"},{label:"是否是工作区管理员",value:"global['user']['is_space_admin']"}]}]}),r},traverseNestedArrayFormula:(t,r)=>{var n=window.amisRequire&&window.amisRequire("amis")||Amis;for(let e=0;e<t.length;e++)if(Array.isArray(t[e]))SteedosUI$1.traverseNestedArrayFormula(t[e],r);else if(/\$\{([^}]*)\}/.test(t[e]))try{t[e]=n.evaluate(t[e],r);}catch(e){console.error("运行过滤器公式时出现错误:",e);}}});var _STANDARD_SPRITE_IDS="account,account_info,action_list_component,actions_and_buttons,activation_target,activations,address,agent_home,agent_session,aggregation_policy,all,announcement,answer_best,answer_private,answer_public,apex,apex_plugin,app,approval,apps,apps_admin,article,asset_action,asset_action_source,asset_audit,asset_downtime_period,asset_object,asset_relationship,asset_state_period,asset_warranty,assigned_resource,assignment,attach,avatar,avatar_loading,bot,bot_training,branch_merge,brand,budget,budget_allocation,bundle_config,bundle_policy,business_hours,buyer_account,buyer_group,calculated_insights,calibration,call,call_coaching,call_history,campaign,campaign_members,cancel_checkout,canvas,capacity_plan,care_request_reviewer,carousel,case,case_change_status,case_comment,case_email,case_log_a_call,case_milestone,case_transcript,case_wrap_up,catalog,category,change_request,channel_program_history,channel_program_levels,channel_program_members,channel_programs,chart,checkout,choice,client,cms,coaching,code_playground,code_set,code_set_bundle,collection,collection_variable,connected_apps,constant,contact,contact_list,contact_request,contract,contract_line_item,contract_payment,coupon_codes,currency,currency_input,custom,custom_component_task,custom_notification,customer_360,customer_lifecycle_analytics,customer_portal_users,customers,dashboard,dashboard_component,dashboard_ea,data_integration_hub,data_mapping,data_model,data_streams,datadotcom,dataset,date_input,date_time,decision,default,delegated_account,device,discounts,display_rich_text,display_text,document,document_reference,drafts,duration_downscale,dynamic_record_choice,education,einstein_replies,email,email_chatter,employee,employee_asset,employee_contact,employee_job,employee_job_position,employee_organization,empty,endorsement,entitlement,entitlement_policy,entitlement_process,entitlement_template,entity,entity_milestone,environment_hub,event,events,expense,expense_report,expense_report_entry,feed,feedback,field_sales,file,filter,filter_criteria,filter_criteria_rule,first_non_empty,flow,folder,forecasts,form,formula,fulfillment_order,generic_loading,global_constant,goals,group_loading,groups,guidance_center,hierarchy,high_velocity_sales,historical_adherence,holiday_operating_hours,home,household,identifier,immunization,incident,individual,insights,instore_locations,investment_account,invocable_action,iot_context,iot_orchestrations,javascript_button,job_family,job_position,job_profile,kanban,key_dates,knowledge,lead,lead_insights,lead_list,letterhead,lightning_component,lightning_usage,link,list_email,live_chat,live_chat_visitor,location,location_permit,log_a_call,logging,loop,macros,maintenance_asset,maintenance_plan,maintenance_work_rule,marketing_actions,med_rec_recommendation,med_rec_statement_recommendation,medication,medication_dispense,medication_ingredient,medication_reconciliation,medication_statement,merge,messaging_conversation,messaging_session,messaging_user,metrics,multi_picklist,multi_select_checkbox,network_contract,news,note,number_input,observation_component,omni_supervisor,operating_hours,opportunity,opportunity_contact_role,opportunity_splits,orchestrator,order_item,orders,outcome,output,partner_fund_allocation,partner_fund_claim,partner_fund_request,partner_marketing_budget,partners,password,past_chat,patient_medication_dosage,payment_gateway,people,performance,person_account,person_language,person_name,photo,picklist_choice,picklist_type,planogram,poll,portal,portal_roles,portal_roles_and_subordinates,post,practitioner_role,price_book_entries,price_books,pricebook,pricing_workspace,problem,procedure,procedure_detail,process,process_exception,product,product_consumed,product_consumed_state,product_item,product_item_transaction,product_quantity_rules,product_request,product_request_line_item,product_required,product_service_campaign,product_service_campaign_item,product_transfer,product_transfer_state,product_warranty_term,product_workspace,products,promotion_segments,promotions,promotions_workspace,propagation_policy,proposition,qualifications,question_best,question_feed,queue,quick_text,quip,quip_sheet,quotes,radio_button,read_receipts,recent,recipe,record,record_create,record_delete,record_lookup,record_signature_task,record_update,recycle_bin,related_list,relationship,reply_text,report,report_type,resource_absence,resource_capacity,resource_preference,resource_skill,restriction_policy,return_order,return_order_line_item,reward,rtc_presence,sales_cadence,sales_cadence_target,sales_channel,sales_path,sales_value,salesforce_cms,scan_card,schedule_objective,scheduling_constraint,scheduling_policy,screen,search,section,segments,selling_model,serialized_product,serialized_product_transaction,service_appointment,service_appointment_capacity_usage,service_contract,service_crew,service_crew_member,service_report,service_request,service_request_detail,service_resource,service_territory,service_territory_location,service_territory_member,service_territory_policy,settings,shift,shift_pattern,shift_pattern_entry,shift_preference,shift_scheduling_operation,shift_template,shift_type,shipment,skill,skill_entity,skill_requirement,slack,slider,sms,snippet,snippets,sobject,sobject_collection,social,solution,sort,sort_policy,sossession,stage,stage_collection,steps,store,store_group,story,strategy,survey,swarm_request,swarm_session,system_and_global_variable,tableau,task,task2,team_member,template,text,text_template,textarea,textbox,thanks,thanks_loading,timesheet,timesheet_entry,timeslot,today,toggle,topic,topic2,tour,tour_check,trailhead,trailhead_alt,travel_mode,unified_health_score,unmatched,user,user_role,variable,variation_attribute_setup,variation_products,video,visit_templates,visits,visualforce_page,voice_call,waits,warranty_term,webcart,work_capacity_limit,work_capacity_usage,work_contract,work_forecast,work_order,work_order_item,work_plan,work_plan_rule,work_plan_template,work_plan_template_entry,work_queue,work_step,work_step_template,work_type,work_type_group,workforce_engagement";const sldsIcons={standard:_STANDARD_SPRITE_IDS.split(",")};var organizationsTree={getSearchableFields:function(e){var o=["text","textarea","autonumber","url","email"];var a=[],s=e.context.uiSchema;return s&&_$1__namespace.each(s.fields,function(e){var t,r,n;t=e,r=s.NAME_FIELD_KEY,(n=!1!==(n=t.searchable)&&t.name===r?!0:n)&&-1<o.indexOf(t.type)&&a.push(e.name);}),a},getApiRequestAdaptor:function(e,t,r){var n="__keywords",o=t.__lookupField;if((r=void 0===r?{}:r).isLookup){if("loadOptions"===t.op)return s=[["_id","=",t.value]],Object.assign({},e,{method:"post",url:"/graphql",data:{query:"{rows:organizations(filters: "+JSON.stringify(s)+', top: 5000, skip: 0, sort: "sort_no desc"){_id,fullname,name,sort_no,_display:_ui{sort_no},parent,children}}'}});o?n="__keywords_lookup__".concat(o.name.replace(/\./g,"_"),"__to__").concat(o.reference_to):(n="",console.error("lookup字段快速搜索异常,作用域中未找到变量__lookupField"));}var a,t=this.getSearchableFields(e),s=[],i=(r.isLookup&&(a=o.inFilterForm,(l=o.listviewFilter)&&l.length&&!a&&(s=l)),JSON.parse(JSON.stringify(e.context))),l=SteedosUI$1.getSearchFilter(i)||[],l=(0<l.length&&(s=0<s.length?[s,"and",l]:l),t&&t.forEach(function(e){var t=i[e];_$1__namespace.isString(t)?s.push([e,"contains",t]):(_$1__namespace.isArray(t)||_$1__namespace.isBoolean(t)||t)&&s.push([e,"=",t]);}),SteedosUI$1.getKeywordsSearchFilter(i[n],t)),o=(l&&0<l.length&&s.push(l),r.isLookup&&((n=o.filters)&&n.length&&(SteedosUI$1.traverseNestedArrayFormula(n,e.context),s.push(n)),a=o.inFilterForm,"string"==typeof(t=o.listviewFiltersFunction)&&(t=new Function("return ".concat(t))()),"string"==typeof(l=o.filtersFunction||o._filtersFunction)&&(l=new Function("return ".concat(l))()),t&&!a&&(r=t(s,e.context))&&r.length&&s.push(r),l&&!a&&(n=l(s,e.context))&&0<n.length&&s.push(n)),e.data={},0<s.length&&Object.assign(e.data,{filters:JSON.stringify(s)}),e.body&&e.body.queryFields);return o&&Object.assign(e.data,{fields:o}),e.body.$self&&(e.body.$self.context&&e.body.$self.context.rootUrl,e.url="/service/api/organizations/root"),e},getApiAdaptor:function(e,t,r,n,o){return (o=void 0===o?{}:o).isLookup&&"loadOptions"===n.op?(o=_$1__namespace.map(e.data.rows,function(e){return delete e.children,delete e.parent,e}),e.data.rows=o):(n=r.data&&r.data.filters,e.data=__assign(__assign({},e.data),{isFilter:!!n}),e.data.__rootQueryFields=r.data&&r.data.fields,(e.data.rows||[]).forEach(function(e){e.__rootQueryFields=r.data&&r.data.fields;})),e},getDeferApiRequestAdaptor:function(e,t,r){var n=[],o=JSON.parse(JSON.stringify(e.context))._id,o=(o&&(n=[["parent","=",o]]),t&&t.__rootQueryFields||"_id,fullname,name,sort_no,hidden,_display:_ui{sort_no,hidden},parent,children");return Object.assign({},e,{data:{query:"{rows:organizations(filters: "+JSON.stringify(n)+', top: 5000, skip: 0, sort: "sort_no desc"){'+o+"}}"}})},getDeferApiAdaptor:function(e,t,r,n,o){var a=e.data;return a.children||(a.rows=a.rows.map(function(e){return e.defer=!(!e.children||!e.children.length),delete e.children,e}),a.children=a.rows,delete a.rows,delete a.count),e}},getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({resources:{sldsIcons:sldsIcons},organizationsTree:organizationsTree,getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"!=typeof window&&(window.Steedos?window.Steedos=Object.assign(Steedos$1,window.Steedos):window.Steedos=Steedos$1),"undefined"!=typeof window&&(window.SteedosUI?window.SteedosUI=Object.assign(SteedosUI$1,window.SteedosUI):window.SteedosUI=SteedosUI$1);
|
|
28466
28673
|
|
|
28467
28674
|
var index_esm = /*#__PURE__*/Object.freeze({
|
|
28468
28675
|
__proto__: null,
|