@steedos-widgets/amis-lib 1.2.43 → 1.3.0-beta.10
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/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +155 -126
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +155 -126
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +569 -13914
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/toolbar.d.ts +4 -1
- package/dist/types/schema/standard_export_excel.amis.d.ts +8 -2
- package/dist/types/standard/button.d.ts +8 -2
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -814,7 +814,7 @@ function getScriptForRemoveUrlPrefixForImgFields(fields){
|
|
|
814
814
|
if(imgFields[item].multiple){
|
|
815
815
|
if(imgFieldValue instanceof Array){
|
|
816
816
|
formData[item] = imgFieldValue.map((value)=>{
|
|
817
|
-
let itemValue = value
|
|
817
|
+
let itemValue = value && value.split('/');
|
|
818
818
|
return itemValue[itemValue.length - 1];
|
|
819
819
|
});
|
|
820
820
|
}
|
|
@@ -1041,6 +1041,7 @@ var frontend_listview_control_rename_title$1 = "Rename List View";
|
|
|
1041
1041
|
var frontend_listview_control_share$1 = "Sharing Settings";
|
|
1042
1042
|
var frontend_listview_control_sort$1 = "Default sorting rule";
|
|
1043
1043
|
var frontend_export_excel$1 = "Export Excel";
|
|
1044
|
+
var frontend_export_excel_toast$1 = "Exporting, please wait";
|
|
1044
1045
|
var frontend_operation$1 = "Operation";
|
|
1045
1046
|
var frontend_import_data$1 = "Import data";
|
|
1046
1047
|
var frontend_import_data_object_name$1 = "Import object";
|
|
@@ -1125,6 +1126,7 @@ var en_us = {
|
|
|
1125
1126
|
frontend_listview_control_share: frontend_listview_control_share$1,
|
|
1126
1127
|
frontend_listview_control_sort: frontend_listview_control_sort$1,
|
|
1127
1128
|
frontend_export_excel: frontend_export_excel$1,
|
|
1129
|
+
frontend_export_excel_toast: frontend_export_excel_toast$1,
|
|
1128
1130
|
frontend_operation: frontend_operation$1,
|
|
1129
1131
|
frontend_import_data: frontend_import_data$1,
|
|
1130
1132
|
frontend_import_data_object_name: frontend_import_data_object_name$1,
|
|
@@ -1211,6 +1213,7 @@ var frontend_listview_control_rename_title = "重命名 列表视图";
|
|
|
1211
1213
|
var frontend_listview_control_share = "共享设置";
|
|
1212
1214
|
var frontend_listview_control_sort = "默认排序规则";
|
|
1213
1215
|
var frontend_export_excel = "导出";
|
|
1216
|
+
var frontend_export_excel_toast = "正在导出,请稍后...";
|
|
1214
1217
|
var frontend_operation = "操作";
|
|
1215
1218
|
var frontend_import_data = "导入数据";
|
|
1216
1219
|
var frontend_import_data_object_name = "导入对象";
|
|
@@ -1296,6 +1299,7 @@ var zh_cn = {
|
|
|
1296
1299
|
frontend_listview_control_share: frontend_listview_control_share,
|
|
1297
1300
|
frontend_listview_control_sort: frontend_listview_control_sort,
|
|
1298
1301
|
frontend_export_excel: frontend_export_excel,
|
|
1302
|
+
frontend_export_excel_toast: frontend_export_excel_toast,
|
|
1299
1303
|
frontend_operation: frontend_operation,
|
|
1300
1304
|
frontend_import_data: frontend_import_data,
|
|
1301
1305
|
frontend_import_data_object_name: frontend_import_data_object_name,
|
|
@@ -2285,7 +2289,7 @@ const getSchema$2 = (uiSchema) => {
|
|
|
2285
2289
|
"Bearer ${context.tenantId},${context.authToken}",
|
|
2286
2290
|
},
|
|
2287
2291
|
requestAdaptor:
|
|
2288
|
-
"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value
|
|
2292
|
+
"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",
|
|
2289
2293
|
adaptor:
|
|
2290
2294
|
"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n ",
|
|
2291
2295
|
},
|
|
@@ -2464,7 +2468,7 @@ const getSchema$2 = (uiSchema) => {
|
|
|
2464
2468
|
* @Author: baozhoutao@steedos.com
|
|
2465
2469
|
* @Date: 2022-11-07 17:00:38
|
|
2466
2470
|
* @LastEditors: baozhoutao@steedos.com
|
|
2467
|
-
* @LastEditTime:
|
|
2471
|
+
* @LastEditTime: 2023-08-24 16:44:42
|
|
2468
2472
|
* @Description:
|
|
2469
2473
|
*/
|
|
2470
2474
|
|
|
@@ -2484,7 +2488,7 @@ const getSchema$1 = (uiSchema)=>{
|
|
|
2484
2488
|
"componentId": "",
|
|
2485
2489
|
"args": {
|
|
2486
2490
|
"blank": false,
|
|
2487
|
-
"url": "/app/${app_id}/${objectName}/view/${_id}"
|
|
2491
|
+
"url": "/app/${app_id}/${objectName}/view/${_id}?side_object=${objectName}&side_listview_id=${listName}"
|
|
2488
2492
|
},
|
|
2489
2493
|
"actionType": "link"
|
|
2490
2494
|
}
|
|
@@ -2501,90 +2505,69 @@ const getSchema$1 = (uiSchema)=>{
|
|
|
2501
2505
|
};
|
|
2502
2506
|
|
|
2503
2507
|
const getSchema = async (uiSchema, ctx) => {
|
|
2504
|
-
const requestAdaptor =
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
if (sortField.field_name == undefined)
|
|
2525
|
-
sort.push(sortField);
|
|
2526
|
-
else sort.push([sortField.field_name, sortField.order]);
|
|
2527
|
-
})
|
|
2528
|
-
|
|
2529
|
-
let orders = [];
|
|
2530
|
-
_.map(sort, (value) => {
|
|
2531
|
-
let order_tmp = [];
|
|
2532
|
-
if (value[1] == "desc")
|
|
2533
|
-
order_tmp = value[0] + ' desc';
|
|
2534
|
-
else
|
|
2535
|
-
order_tmp = value[0];
|
|
2536
|
-
orders.push(order_tmp);
|
|
2537
|
-
});
|
|
2538
|
-
let order = orders.join(',');
|
|
2539
|
-
|
|
2540
|
-
let filename = uiSchema.label + "-" + list_views[list_views_name].label;
|
|
2541
|
-
|
|
2542
|
-
url_tmp = api.url.split('?')[0];
|
|
2543
|
-
api.url = url_tmp + "?$select=" + encodeURIComponent(select.toString()) + "&filename=" + encodeURIComponent(filename);
|
|
2544
|
-
|
|
2545
|
-
// 判断sort 和 filters
|
|
2546
|
-
if (sort.length > 0) {
|
|
2547
|
-
api.url += "&$orderby=" + encodeURIComponent(order);
|
|
2548
|
-
}
|
|
2549
|
-
let filters = list_views[list_views_name].filters;
|
|
2550
|
-
if (filters && filters.length > 0) {
|
|
2551
|
-
api.url = api.url + "&filters=" + encodeURIComponent(JSON.stringify(filters));
|
|
2552
|
-
}
|
|
2553
|
-
return api;
|
|
2554
|
-
`;
|
|
2508
|
+
const requestAdaptor = function () {
|
|
2509
|
+
let uiSchema = api.body.uiSchema;
|
|
2510
|
+
let list_views_name = api.body.listName;
|
|
2511
|
+
let list_views = uiSchema.list_views;
|
|
2512
|
+
const listViewPropsStoreKey = location.pathname + "/crud/query";
|
|
2513
|
+
const query = JSON.parse(sessionStorage.getItem(listViewPropsStoreKey));
|
|
2514
|
+
const { filters, sort, fields: select } = query;
|
|
2515
|
+
let filename = uiSchema.label + "-" + list_views[list_views_name].label;
|
|
2516
|
+
|
|
2517
|
+
var url_tmp = api.url.split('?')[0];
|
|
2518
|
+
api.url = url_tmp + "?$select=" + encodeURIComponent(select.toString()) + "&filename=" + encodeURIComponent(filename);
|
|
2519
|
+
// 判断sort 和 filters
|
|
2520
|
+
if (sort.length > 0) {
|
|
2521
|
+
api.url += "&$orderby=" + encodeURIComponent(sort);
|
|
2522
|
+
}
|
|
2523
|
+
if (filters && filters.length > 0) {
|
|
2524
|
+
api.url = api.url + "&filters=" + encodeURIComponent(JSON.stringify(filters));
|
|
2525
|
+
}
|
|
2526
|
+
return api;
|
|
2527
|
+
};
|
|
2555
2528
|
return {
|
|
2556
2529
|
"type": "service",
|
|
2557
|
-
"body": [
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
"
|
|
2564
|
-
|
|
2565
|
-
"
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
"
|
|
2574
|
-
"
|
|
2575
|
-
"
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
"
|
|
2530
|
+
"body": [
|
|
2531
|
+
{
|
|
2532
|
+
"type": "button",
|
|
2533
|
+
"label": i18next__default["default"].t('frontend_export_excel'),
|
|
2534
|
+
"id": "u:standard_export_excel",
|
|
2535
|
+
"level": "default",
|
|
2536
|
+
"disabledTip": i18next__default["default"].t('frontend_export_excel_toast'),
|
|
2537
|
+
"onEvent": {
|
|
2538
|
+
"click": {
|
|
2539
|
+
"weight": 0,
|
|
2540
|
+
"actions": [{
|
|
2541
|
+
"componentId": "u:standard_export_excel",
|
|
2542
|
+
"actionType": "disabled"
|
|
2543
|
+
},
|
|
2544
|
+
{
|
|
2545
|
+
"args": {
|
|
2546
|
+
"api": {
|
|
2547
|
+
"url": "${context.rootUrl}/api/record/export/${objectName}",
|
|
2548
|
+
"method": "get",
|
|
2549
|
+
"messages": {},
|
|
2550
|
+
"requestAdaptor": requestAdaptor.toString().match(/function[^{]+\{([\s\S]*)\}$/)[1],
|
|
2551
|
+
"data": {
|
|
2552
|
+
"uiSchema": "${uiSchema}",
|
|
2553
|
+
"listName": "${listName}"
|
|
2554
|
+
},
|
|
2555
|
+
"headers": {
|
|
2556
|
+
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2557
|
+
}
|
|
2579
2558
|
}
|
|
2580
|
-
}
|
|
2559
|
+
},
|
|
2560
|
+
"actionType": "download"
|
|
2581
2561
|
},
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2562
|
+
{
|
|
2563
|
+
"componentId": "u:standard_export_excel",
|
|
2564
|
+
"actionType": "enabled"
|
|
2565
|
+
}
|
|
2566
|
+
]
|
|
2567
|
+
}
|
|
2585
2568
|
}
|
|
2586
2569
|
}
|
|
2587
|
-
|
|
2570
|
+
]
|
|
2588
2571
|
}
|
|
2589
2572
|
};
|
|
2590
2573
|
|
|
@@ -3667,7 +3650,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
|
3667
3650
|
const selfData = api.body.$self;
|
|
3668
3651
|
const uiSchema = selfData.uiSchema;
|
|
3669
3652
|
const fields = uiSchema.fields;
|
|
3670
|
-
const options = (payload.data
|
|
3653
|
+
const options = ((payload.data && payload.data.options) || []).filter(function(item){
|
|
3671
3654
|
let field = fields[item.value];
|
|
3672
3655
|
// TODO: 暂时禁用location类型字段的列表搜索
|
|
3673
3656
|
return !!field && window.isFieldTypeSearchable(field.type) && field.type !== 'location'
|
|
@@ -4070,7 +4053,7 @@ async function getObjectRecordDetailHeader(objectSchema, recordId, options) {
|
|
|
4070
4053
|
"actions": [
|
|
4071
4054
|
{
|
|
4072
4055
|
"actionType": "custom",
|
|
4073
|
-
"script": "
|
|
4056
|
+
"script": "window.goBack()"
|
|
4074
4057
|
}
|
|
4075
4058
|
]
|
|
4076
4059
|
}
|
|
@@ -4946,10 +4929,10 @@ function apiRequestAdaptor$1(){
|
|
|
4946
4929
|
const recordId_tmp = api.body.recordId;
|
|
4947
4930
|
|
|
4948
4931
|
if (typeof formData_tmp.columns == 'string') {
|
|
4949
|
-
formData_tmp.columns = formData_tmp.columns
|
|
4932
|
+
formData_tmp.columns = formData_tmp.columns && formData_tmp.columns.split(',');
|
|
4950
4933
|
}
|
|
4951
4934
|
if (typeof formData_tmp.mobile_columns == 'string') {
|
|
4952
|
-
formData_tmp.mobile_columns = formData_tmp.mobile_columns
|
|
4935
|
+
formData_tmp.mobile_columns = formData_tmp.mobile_columns && formData_tmp.mobile_columns.split(',');
|
|
4953
4936
|
}
|
|
4954
4937
|
|
|
4955
4938
|
// 数据格式转换
|
|
@@ -5082,7 +5065,7 @@ function apiRequestAdaptor(){
|
|
|
5082
5065
|
const recordId = api.body.recordId;
|
|
5083
5066
|
//数据格式转换
|
|
5084
5067
|
if (typeof formData.sort == 'string') {
|
|
5085
|
-
formData.sort = formData.sort
|
|
5068
|
+
formData.sort = formData.sort && formData.sort.split(',');
|
|
5086
5069
|
}
|
|
5087
5070
|
formData.sort = lodash.map(formData.sort, (item) => {
|
|
5088
5071
|
const arr = item.split(':');
|
|
@@ -5272,7 +5255,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5272
5255
|
|
|
5273
5256
|
function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
|
|
5274
5257
|
const searchableFieldsLabel = [];
|
|
5275
|
-
_.each(fields, function (field) {
|
|
5258
|
+
_.each(mainObject.fields, function (field) {
|
|
5276
5259
|
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
5277
5260
|
searchableFieldsLabel.push(field.label);
|
|
5278
5261
|
}
|
|
@@ -5464,8 +5447,14 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
5464
5447
|
|
|
5465
5448
|
function getObjectFooterToolbar(mainObject, formFactor, options) {
|
|
5466
5449
|
if (formFactor === 'SMALL') {
|
|
5450
|
+
// return [
|
|
5451
|
+
// "load-more",
|
|
5452
|
+
// ]
|
|
5467
5453
|
return [
|
|
5468
|
-
|
|
5454
|
+
{
|
|
5455
|
+
"type": "pagination",
|
|
5456
|
+
"maxButtons": 5
|
|
5457
|
+
}
|
|
5469
5458
|
]
|
|
5470
5459
|
}
|
|
5471
5460
|
else {
|
|
@@ -5864,13 +5853,16 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5864
5853
|
})){
|
|
5865
5854
|
i++;
|
|
5866
5855
|
tableFields.push(field);
|
|
5867
|
-
if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
|
|
5868
|
-
searchableFields.push(field.name);
|
|
5869
|
-
}
|
|
5870
5856
|
}
|
|
5871
5857
|
}
|
|
5872
5858
|
});
|
|
5873
5859
|
|
|
5860
|
+
___namespace.each(refObjectConfig.fields, function (field) {
|
|
5861
|
+
if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
|
|
5862
|
+
searchableFields.push(field.name);
|
|
5863
|
+
}
|
|
5864
|
+
});
|
|
5865
|
+
|
|
5874
5866
|
const fields = {
|
|
5875
5867
|
[referenceTo.labelField.name]: referenceTo.labelField,
|
|
5876
5868
|
[referenceTo.valueField.name]: referenceTo.valueField
|
|
@@ -5922,7 +5914,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5922
5914
|
if(api.data.$term){
|
|
5923
5915
|
filters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
5924
5916
|
}else if(selfData.op === 'loadOptions' && selfData.value){
|
|
5925
|
-
if(selfData.value
|
|
5917
|
+
if(selfData.value && selfData.value.indexOf(',') > 0){
|
|
5926
5918
|
fieldValue = selfData.value.split(',');
|
|
5927
5919
|
filters = [["${referenceTo.valueField.name}", "=", fieldValue]];
|
|
5928
5920
|
}else{
|
|
@@ -6117,7 +6109,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6117
6109
|
{
|
|
6118
6110
|
"actionType": "custom",
|
|
6119
6111
|
"script": `
|
|
6120
|
-
const masterRecord = event.data._master
|
|
6112
|
+
const masterRecord = event.data._master && event.data._master.record;
|
|
6121
6113
|
const fieldConfig = ${JSON.stringify(field)};
|
|
6122
6114
|
let reference_to = fieldConfig.reference_to;
|
|
6123
6115
|
let saveValue;
|
|
@@ -6500,7 +6492,7 @@ async function getIdsPickerSchema(field, readonly, ctx){
|
|
|
6500
6492
|
var pageNo = api.data.pageNo || 1;
|
|
6501
6493
|
var skip = (pageNo - 1) * pageSize;
|
|
6502
6494
|
if(selfData.op === 'loadOptions' && selfData.value){
|
|
6503
|
-
if(selfData.value
|
|
6495
|
+
if(selfData.value && selfData.value.indexOf(',') > 0){
|
|
6504
6496
|
filters = [["${referenceTo.valueField.name}", "=", selfData.value.split(',')]];
|
|
6505
6497
|
}else{
|
|
6506
6498
|
filters = [["${referenceTo.valueField.name}", "=", selfData.value]];
|
|
@@ -6703,6 +6695,9 @@ function getAmisStaticFieldType(type, readonly, options){
|
|
|
6703
6695
|
return type;
|
|
6704
6696
|
}
|
|
6705
6697
|
if(___namespace.includes(['text','image'], type)){
|
|
6698
|
+
if('text' === type && options && options.amis && options.amis.tpl){
|
|
6699
|
+
return 'static';
|
|
6700
|
+
}
|
|
6706
6701
|
if('image' === type && options && options.multiple){
|
|
6707
6702
|
return `static-images`;
|
|
6708
6703
|
}
|
|
@@ -6973,7 +6968,7 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
6973
6968
|
// }
|
|
6974
6969
|
switch (field.type) {
|
|
6975
6970
|
case 'text':
|
|
6976
|
-
convertData.type = getAmisStaticFieldType('text', readonly);
|
|
6971
|
+
convertData.type = getAmisStaticFieldType('text', readonly, field);
|
|
6977
6972
|
break;
|
|
6978
6973
|
case 'textarea':
|
|
6979
6974
|
convertData.type = getAmisStaticFieldType('textarea', readonly);
|
|
@@ -7739,7 +7734,7 @@ async function getQuickEditSchema(field, options){
|
|
|
7739
7734
|
case "number":
|
|
7740
7735
|
case "currency":
|
|
7741
7736
|
TempDisplayField = `
|
|
7742
|
-
_display["${field.name}"] = event.data.value
|
|
7737
|
+
_display["${field.name}"] = event.data.value && event.data.value.toFixed(${field.scale});
|
|
7743
7738
|
`;
|
|
7744
7739
|
quickEditSchema.body[0].onEvent["change"] = quickEditOnEvent(TempDisplayField);
|
|
7745
7740
|
|
|
@@ -7927,13 +7922,15 @@ async function getTableColumns(fields, options){
|
|
|
7927
7922
|
}
|
|
7928
7923
|
},
|
|
7929
7924
|
"actionType": "download",
|
|
7930
|
-
"expression": "!!!window?.nw?.require"//浏览器上直接下载
|
|
7925
|
+
// "expression": "!!!window?.nw?.require"//浏览器上直接下载
|
|
7926
|
+
"expression": "!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
|
|
7931
7927
|
},
|
|
7932
7928
|
{
|
|
7933
7929
|
"args": {},
|
|
7934
7930
|
"actionType": "custom",
|
|
7935
7931
|
"script": previewFileScript,
|
|
7936
|
-
|
|
7932
|
+
// "expression": "!!window?.nw?.require" //PC客户端预览附件
|
|
7933
|
+
"expression": "!!!(window && window.nw && window.nw.require)"//PC客户端预览附件
|
|
7937
7934
|
}
|
|
7938
7935
|
]
|
|
7939
7936
|
}
|
|
@@ -8054,7 +8051,7 @@ async function getTableColumns(fields, options){
|
|
|
8054
8051
|
*/
|
|
8055
8052
|
function getMobileLines(tpls){
|
|
8056
8053
|
let lines = [];
|
|
8057
|
-
let maxLineCount =
|
|
8054
|
+
let maxLineCount = 3;
|
|
8058
8055
|
let lineChildren = [];
|
|
8059
8056
|
let isNewLine = false;
|
|
8060
8057
|
let isLeft = true;
|
|
@@ -8072,10 +8069,10 @@ function getMobileLines(tpls){
|
|
|
8072
8069
|
}
|
|
8073
8070
|
if(isLeft){
|
|
8074
8071
|
// 左侧半行
|
|
8075
|
-
lineChildrenClassName = "steedos-listview-item-left
|
|
8072
|
+
lineChildrenClassName = "steedos-listview-item-left truncate";
|
|
8076
8073
|
if(item.field.is_wide){
|
|
8077
|
-
//
|
|
8078
|
-
lineChildrenClassName = "steedos-listview-item-wide
|
|
8074
|
+
// 左侧全行样式可以单独写,如果需要配置两行省略号效果,可以加样式类 two-lines-truncate
|
|
8075
|
+
lineChildrenClassName = "steedos-listview-item-wide";
|
|
8079
8076
|
}
|
|
8080
8077
|
if(lines.length === 0){
|
|
8081
8078
|
// 第一个字段加粗黑色显示
|
|
@@ -8083,7 +8080,7 @@ function getMobileLines(tpls){
|
|
|
8083
8080
|
}
|
|
8084
8081
|
}
|
|
8085
8082
|
else {
|
|
8086
|
-
//
|
|
8083
|
+
// 右侧半行,这里加样式类 flex flex-shrink-0,是为了省略号只显示在左半行,右半行文字一般比较短,如果也加省略号效果的话,左侧文字多的话,右侧没几个字就显示省略号了
|
|
8087
8084
|
lineChildrenClassName = "steedos-listview-item-right truncate ml-2 flex flex-shrink-0";
|
|
8088
8085
|
}
|
|
8089
8086
|
lineChildren.push({
|
|
@@ -8137,7 +8134,8 @@ async function getMobileTableColumns(fields, options){
|
|
|
8137
8134
|
tpl = await getFieldTpl(field, options);
|
|
8138
8135
|
}
|
|
8139
8136
|
if(!tpl){
|
|
8140
|
-
|
|
8137
|
+
//qhd需求简易处理,加上raw以支持审批王名称字段通过颜色区分缓急,若之后手机端列表支持配置amis,则可以去掉
|
|
8138
|
+
tpl = `\${${field.name} | raw}`;
|
|
8141
8139
|
}
|
|
8142
8140
|
if(!field.hidden && !field.extra){
|
|
8143
8141
|
tpls.push({ field, tpl });
|
|
@@ -8328,6 +8326,7 @@ async function getTableOperation(ctx){
|
|
|
8328
8326
|
|
|
8329
8327
|
async function getTableSchema$1(fields, options){
|
|
8330
8328
|
let isLookup = options && options.isLookup;
|
|
8329
|
+
let hiddenColumnOperation = options && options.hiddenColumnOperation;
|
|
8331
8330
|
if(!options){
|
|
8332
8331
|
options = {};
|
|
8333
8332
|
}
|
|
@@ -8337,10 +8336,11 @@ async function getTableSchema$1(fields, options){
|
|
|
8337
8336
|
}
|
|
8338
8337
|
else {
|
|
8339
8338
|
columns = await getTableColumns(fields, options);
|
|
8340
|
-
if(!isLookup){
|
|
8339
|
+
if(!isLookup && !hiddenColumnOperation){
|
|
8341
8340
|
columns.push(await getTableOperation(options));
|
|
8342
8341
|
}
|
|
8343
8342
|
}
|
|
8343
|
+
|
|
8344
8344
|
return {
|
|
8345
8345
|
mode: "table",
|
|
8346
8346
|
name: "thelist",
|
|
@@ -8388,7 +8388,7 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8388
8388
|
baseFilters = filter;
|
|
8389
8389
|
}
|
|
8390
8390
|
|
|
8391
|
-
___namespace.each(fields, function (field) {
|
|
8391
|
+
___namespace.each(mainObject.fields, function (field) {
|
|
8392
8392
|
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
8393
8393
|
searchableFields.push(field.name);
|
|
8394
8394
|
}
|
|
@@ -8450,7 +8450,9 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8450
8450
|
// 如果是第一次加载组件始终让翻页页码从本地存储中取值
|
|
8451
8451
|
let formFactor = "${options.formFactor}";
|
|
8452
8452
|
// 移动端不识别本地存储中的翻页页码,否则点击加载更多按钮后无法刷新回第一页
|
|
8453
|
-
api.data.pageNo = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
|
|
8453
|
+
// api.data.pageNo = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
|
|
8454
|
+
// 移动端暂时去除加载更多,放开翻页
|
|
8455
|
+
api.data.pageNo = localListViewProps.page || 1;
|
|
8454
8456
|
}
|
|
8455
8457
|
}
|
|
8456
8458
|
}
|
|
@@ -8571,7 +8573,17 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8571
8573
|
api.data = {
|
|
8572
8574
|
query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())
|
|
8573
8575
|
}
|
|
8574
|
-
${options.requestAdaptor || ''}
|
|
8576
|
+
${options.requestAdaptor || ''};
|
|
8577
|
+
|
|
8578
|
+
//写入本次存储filters、sort
|
|
8579
|
+
const listViewPropsStoreKey = location.pathname + "/crud/query";
|
|
8580
|
+
sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({
|
|
8581
|
+
filters: filters,
|
|
8582
|
+
sort: sort.trim(),
|
|
8583
|
+
pageSize: pageSize,
|
|
8584
|
+
skip: skip,
|
|
8585
|
+
fields: ${JSON.stringify(___namespace.map(fields, 'name'))}
|
|
8586
|
+
}));
|
|
8575
8587
|
return api;
|
|
8576
8588
|
`;
|
|
8577
8589
|
api.adaptor = `
|
|
@@ -8650,7 +8662,8 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8650
8662
|
// 如果是第一次加载组件始终让翻页页码从本地存储中取值
|
|
8651
8663
|
let formFactor = "${options.formFactor}";
|
|
8652
8664
|
// 移动端不识别本地存储中的翻页页码,否则点击加载更多按钮后无法刷新回第一页
|
|
8653
|
-
selfData.page = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
|
|
8665
|
+
// selfData.page = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
|
|
8666
|
+
selfData.page = localListViewProps.page || 1;
|
|
8654
8667
|
}
|
|
8655
8668
|
}
|
|
8656
8669
|
delete selfData.context;
|
|
@@ -8668,7 +8681,13 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8668
8681
|
const setDataToComponentId = "${setDataToComponentId}";
|
|
8669
8682
|
if(setDataToComponentId){
|
|
8670
8683
|
//https://github.com/baidu/amis/pull/6807 .parent的改动是为适应3.2getComponentById的规则改动,不影响2.9
|
|
8671
|
-
SteedosUI.getRef(api.body.$self.$scopeId)
|
|
8684
|
+
var scope = SteedosUI.getRef(api.body.$self.$scopeId);
|
|
8685
|
+
var scopeParent = scope && scope.parent;
|
|
8686
|
+
var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);
|
|
8687
|
+
if(setDataToComponent){
|
|
8688
|
+
setDataToComponent.setData({$count: payload.data.count});
|
|
8689
|
+
}
|
|
8690
|
+
// SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
|
|
8672
8691
|
};
|
|
8673
8692
|
${options.adaptor || ''}
|
|
8674
8693
|
return payload;
|
|
@@ -8954,7 +8973,7 @@ async function getEditFormInitApi(object, recordId, fields, options){
|
|
|
8954
8973
|
var uiSchema = api.body.uiSchema;
|
|
8955
8974
|
var defaultData = api.body.defaultData;
|
|
8956
8975
|
var defaultValues = {};
|
|
8957
|
-
_.each(uiSchema
|
|
8976
|
+
_.each(uiSchema && uiSchema.fields, function(field){
|
|
8958
8977
|
var value = SteedosUI.getFieldDefaultValue(field, api.body.global);
|
|
8959
8978
|
if(value){
|
|
8960
8979
|
defaultValues[field.name] = value;
|
|
@@ -9173,7 +9192,12 @@ async function getCalendarApi(mainObject, fields, options) {
|
|
|
9173
9192
|
window.postMessage(Object.assign({type: "listview.loaded"}), "*");
|
|
9174
9193
|
const setDataToComponentId = "${setDataToComponentId}";
|
|
9175
9194
|
if(setDataToComponentId){
|
|
9176
|
-
SteedosUI.getRef(api.body.$self.scopeId)
|
|
9195
|
+
var scope = SteedosUI.getRef(api.body.$self.scopeId);
|
|
9196
|
+
var setDataToComponent = scope && scope.getComponentById(setDataToComponentId);
|
|
9197
|
+
if(setDataToComponent){
|
|
9198
|
+
setDataToComponent.setData({$count: payload.data.count});
|
|
9199
|
+
}
|
|
9200
|
+
// SteedosUI.getRef(api.body.$self.scopeId)?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
|
|
9177
9201
|
}
|
|
9178
9202
|
const rows = payload.data.rows || [];
|
|
9179
9203
|
const selfData = api.data.$self;
|
|
@@ -9920,6 +9944,10 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
9920
9944
|
}
|
|
9921
9945
|
}
|
|
9922
9946
|
`;
|
|
9947
|
+
let autoFillHeight = true;
|
|
9948
|
+
if(options.isRelated || Steedos.isMobile()){
|
|
9949
|
+
autoFillHeight = false;
|
|
9950
|
+
}
|
|
9923
9951
|
|
|
9924
9952
|
body = Object.assign({}, table, {
|
|
9925
9953
|
type: 'crud',
|
|
@@ -9930,7 +9958,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
9930
9958
|
keepItemSelectionOnPageChange: true,
|
|
9931
9959
|
api: await getTableApi(objectSchema, fields, options),
|
|
9932
9960
|
hiddenOn: options.tableHiddenOn,
|
|
9933
|
-
autoFillHeight
|
|
9961
|
+
autoFillHeight,
|
|
9934
9962
|
className: `flex-auto ${crudClassName || ""}`,
|
|
9935
9963
|
bodyClassName: "bg-white",
|
|
9936
9964
|
crudClassName: crudClassName,
|
|
@@ -10173,7 +10201,7 @@ async function getObjectDetail(objectSchema, recordId, ctx){
|
|
|
10173
10201
|
// "blank": false
|
|
10174
10202
|
// },
|
|
10175
10203
|
"actionType": "custom",
|
|
10176
|
-
"script": "
|
|
10204
|
+
"script": "window.goBack()",
|
|
10177
10205
|
"expression": "this.__deletedRecord === true"
|
|
10178
10206
|
}
|
|
10179
10207
|
]
|
|
@@ -10636,8 +10664,8 @@ async function getRelatedListSchema(
|
|
|
10636
10664
|
/*
|
|
10637
10665
|
* @Author: baozhoutao@steedos.com
|
|
10638
10666
|
* @Date: 2022-07-05 15:55:39
|
|
10639
|
-
* @LastEditors:
|
|
10640
|
-
* @LastEditTime: 2023-08-
|
|
10667
|
+
* @LastEditors: liaodaxue
|
|
10668
|
+
* @LastEditTime: 2023-08-25 11:55:15
|
|
10641
10669
|
* @Description:
|
|
10642
10670
|
*/
|
|
10643
10671
|
|
|
@@ -10902,7 +10930,7 @@ async function getListSchema(
|
|
|
10902
10930
|
* 本次存储代码段
|
|
10903
10931
|
*/
|
|
10904
10932
|
try {
|
|
10905
|
-
const listViewPropsStoreKey = location.pathname + "/crud
|
|
10933
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
10906
10934
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
10907
10935
|
/**
|
|
10908
10936
|
* localListViewProps规范来自crud请求api中api.data.$self参数值的。
|
|
@@ -10924,11 +10952,12 @@ async function getListSchema(
|
|
|
10924
10952
|
if(localListViewProps.orderDir){
|
|
10925
10953
|
listSchema.orderDir = localListViewProps.orderDir;
|
|
10926
10954
|
}
|
|
10927
|
-
|
|
10928
|
-
|
|
10929
|
-
|
|
10930
|
-
|
|
10931
|
-
|
|
10955
|
+
|
|
10956
|
+
if(localListViewProps.perPage){
|
|
10957
|
+
listSchema.defaultParams = {
|
|
10958
|
+
perPage: localListViewProps.perPage
|
|
10959
|
+
};
|
|
10960
|
+
}
|
|
10932
10961
|
defaults.listSchema = _$1.defaultsDeep({}, listSchema, defaults.listSchema || {});
|
|
10933
10962
|
}
|
|
10934
10963
|
}
|
|
@@ -12281,7 +12310,7 @@ const getNextStepUsersInput = async (instance) => {
|
|
|
12281
12310
|
id: "u:ffff15b76c89",
|
|
12282
12311
|
className: "b-a b-1x p-xs m-b-none m-l-none m-r-none m-t-sm",
|
|
12283
12312
|
subFormMode: "",
|
|
12284
|
-
hiddenOn: "!!!this.new_next_step || this.new_next_step
|
|
12313
|
+
hiddenOn: "!!!this.new_next_step || (this.new_next_step && this.new_next_step.step_type === 'end')"
|
|
12285
12314
|
};
|
|
12286
12315
|
};
|
|
12287
12316
|
|
|
@@ -13201,7 +13230,7 @@ const getFieldReadonlyTpl = async (field, label)=>{
|
|
|
13201
13230
|
map[item.value] = item.label;
|
|
13202
13231
|
});
|
|
13203
13232
|
tpl.type = 'static';
|
|
13204
|
-
tpl.tpl = `<% var options = ${JSON.stringify(map)}; return options
|
|
13233
|
+
tpl.tpl = `<% var options = ${JSON.stringify(map)}; return (options && options[data.${field.code}]) || ''%>`;
|
|
13205
13234
|
}else if(field.type === 'odata'){
|
|
13206
13235
|
tpl.type = 'static';
|
|
13207
13236
|
tpl.tpl = `<div>\${${field.code}['@label']}</div>`;
|
|
@@ -13231,7 +13260,7 @@ const getFieldReadonlyTpl = async (field, label)=>{
|
|
|
13231
13260
|
if(field.is_multiselect){
|
|
13232
13261
|
tpl.tpl = `\${_.map(${field.code}, 'name')}`;
|
|
13233
13262
|
}else {
|
|
13234
|
-
tpl.tpl = `\${${field.code}
|
|
13263
|
+
tpl.tpl = `\${${field.code} && ${field.code}.name}`;
|
|
13235
13264
|
}
|
|
13236
13265
|
}else if(field.type === 'group'){
|
|
13237
13266
|
tpl.type = 'static';
|