@steedos-widgets/amis-lib 1.2.42 → 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 +161 -126
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +161 -126
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +569 -13908
- 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
|
}
|
|
@@ -7992,6 +7989,12 @@ async function getTableColumns(fields, options){
|
|
|
7992
7989
|
if(field.type === 'textarea'){
|
|
7993
7990
|
className += 'min-w-56';
|
|
7994
7991
|
}
|
|
7992
|
+
if(field.type === 'date'){
|
|
7993
|
+
className += 'date-min-w';
|
|
7994
|
+
}
|
|
7995
|
+
if(field.type === 'datetime'){
|
|
7996
|
+
className += 'datetime-min-w';
|
|
7997
|
+
}
|
|
7995
7998
|
if(!field.hidden && !field.extra){
|
|
7996
7999
|
columnItem = Object.assign({}, {
|
|
7997
8000
|
name: field.name,
|
|
@@ -8048,12 +8051,12 @@ async function getTableColumns(fields, options){
|
|
|
8048
8051
|
*/
|
|
8049
8052
|
function getMobileLines(tpls){
|
|
8050
8053
|
let lines = [];
|
|
8051
|
-
let maxLineCount =
|
|
8054
|
+
let maxLineCount = 3;
|
|
8052
8055
|
let lineChildren = [];
|
|
8053
8056
|
let isNewLine = false;
|
|
8054
8057
|
let isLeft = true;
|
|
8055
8058
|
let lineChildrenClassName = "";
|
|
8056
|
-
let lineClassName = "flex items-center justify-between
|
|
8059
|
+
let lineClassName = "flex items-center justify-between";
|
|
8057
8060
|
tpls.forEach(function(item){
|
|
8058
8061
|
if(isNewLine && lines.length < maxLineCount){
|
|
8059
8062
|
lines.push({
|
|
@@ -8068,8 +8071,8 @@ function getMobileLines(tpls){
|
|
|
8068
8071
|
// 左侧半行
|
|
8069
8072
|
lineChildrenClassName = "steedos-listview-item-left truncate";
|
|
8070
8073
|
if(item.field.is_wide){
|
|
8071
|
-
//
|
|
8072
|
-
lineChildrenClassName = "steedos-listview-item-wide
|
|
8074
|
+
// 左侧全行样式可以单独写,如果需要配置两行省略号效果,可以加样式类 two-lines-truncate
|
|
8075
|
+
lineChildrenClassName = "steedos-listview-item-wide";
|
|
8073
8076
|
}
|
|
8074
8077
|
if(lines.length === 0){
|
|
8075
8078
|
// 第一个字段加粗黑色显示
|
|
@@ -8077,7 +8080,7 @@ function getMobileLines(tpls){
|
|
|
8077
8080
|
}
|
|
8078
8081
|
}
|
|
8079
8082
|
else {
|
|
8080
|
-
//
|
|
8083
|
+
// 右侧半行,这里加样式类 flex flex-shrink-0,是为了省略号只显示在左半行,右半行文字一般比较短,如果也加省略号效果的话,左侧文字多的话,右侧没几个字就显示省略号了
|
|
8081
8084
|
lineChildrenClassName = "steedos-listview-item-right truncate ml-2 flex flex-shrink-0";
|
|
8082
8085
|
}
|
|
8083
8086
|
lineChildren.push({
|
|
@@ -8131,7 +8134,8 @@ async function getMobileTableColumns(fields, options){
|
|
|
8131
8134
|
tpl = await getFieldTpl(field, options);
|
|
8132
8135
|
}
|
|
8133
8136
|
if(!tpl){
|
|
8134
|
-
|
|
8137
|
+
//qhd需求简易处理,加上raw以支持审批王名称字段通过颜色区分缓急,若之后手机端列表支持配置amis,则可以去掉
|
|
8138
|
+
tpl = `\${${field.name} | raw}`;
|
|
8135
8139
|
}
|
|
8136
8140
|
if(!field.hidden && !field.extra){
|
|
8137
8141
|
tpls.push({ field, tpl });
|
|
@@ -8322,6 +8326,7 @@ async function getTableOperation(ctx){
|
|
|
8322
8326
|
|
|
8323
8327
|
async function getTableSchema$1(fields, options){
|
|
8324
8328
|
let isLookup = options && options.isLookup;
|
|
8329
|
+
let hiddenColumnOperation = options && options.hiddenColumnOperation;
|
|
8325
8330
|
if(!options){
|
|
8326
8331
|
options = {};
|
|
8327
8332
|
}
|
|
@@ -8331,10 +8336,11 @@ async function getTableSchema$1(fields, options){
|
|
|
8331
8336
|
}
|
|
8332
8337
|
else {
|
|
8333
8338
|
columns = await getTableColumns(fields, options);
|
|
8334
|
-
if(!isLookup){
|
|
8339
|
+
if(!isLookup && !hiddenColumnOperation){
|
|
8335
8340
|
columns.push(await getTableOperation(options));
|
|
8336
8341
|
}
|
|
8337
8342
|
}
|
|
8343
|
+
|
|
8338
8344
|
return {
|
|
8339
8345
|
mode: "table",
|
|
8340
8346
|
name: "thelist",
|
|
@@ -8382,7 +8388,7 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8382
8388
|
baseFilters = filter;
|
|
8383
8389
|
}
|
|
8384
8390
|
|
|
8385
|
-
___namespace.each(fields, function (field) {
|
|
8391
|
+
___namespace.each(mainObject.fields, function (field) {
|
|
8386
8392
|
if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
|
|
8387
8393
|
searchableFields.push(field.name);
|
|
8388
8394
|
}
|
|
@@ -8444,7 +8450,9 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8444
8450
|
// 如果是第一次加载组件始终让翻页页码从本地存储中取值
|
|
8445
8451
|
let formFactor = "${options.formFactor}";
|
|
8446
8452
|
// 移动端不识别本地存储中的翻页页码,否则点击加载更多按钮后无法刷新回第一页
|
|
8447
|
-
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;
|
|
8448
8456
|
}
|
|
8449
8457
|
}
|
|
8450
8458
|
}
|
|
@@ -8565,7 +8573,17 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8565
8573
|
api.data = {
|
|
8566
8574
|
query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())
|
|
8567
8575
|
}
|
|
8568
|
-
${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
|
+
}));
|
|
8569
8587
|
return api;
|
|
8570
8588
|
`;
|
|
8571
8589
|
api.adaptor = `
|
|
@@ -8644,7 +8662,8 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8644
8662
|
// 如果是第一次加载组件始终让翻页页码从本地存储中取值
|
|
8645
8663
|
let formFactor = "${options.formFactor}";
|
|
8646
8664
|
// 移动端不识别本地存储中的翻页页码,否则点击加载更多按钮后无法刷新回第一页
|
|
8647
|
-
selfData.page = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
|
|
8665
|
+
// selfData.page = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
|
|
8666
|
+
selfData.page = localListViewProps.page || 1;
|
|
8648
8667
|
}
|
|
8649
8668
|
}
|
|
8650
8669
|
delete selfData.context;
|
|
@@ -8662,7 +8681,13 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8662
8681
|
const setDataToComponentId = "${setDataToComponentId}";
|
|
8663
8682
|
if(setDataToComponentId){
|
|
8664
8683
|
//https://github.com/baidu/amis/pull/6807 .parent的改动是为适应3.2getComponentById的规则改动,不影响2.9
|
|
8665
|
-
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})
|
|
8666
8691
|
};
|
|
8667
8692
|
${options.adaptor || ''}
|
|
8668
8693
|
return payload;
|
|
@@ -8948,7 +8973,7 @@ async function getEditFormInitApi(object, recordId, fields, options){
|
|
|
8948
8973
|
var uiSchema = api.body.uiSchema;
|
|
8949
8974
|
var defaultData = api.body.defaultData;
|
|
8950
8975
|
var defaultValues = {};
|
|
8951
|
-
_.each(uiSchema
|
|
8976
|
+
_.each(uiSchema && uiSchema.fields, function(field){
|
|
8952
8977
|
var value = SteedosUI.getFieldDefaultValue(field, api.body.global);
|
|
8953
8978
|
if(value){
|
|
8954
8979
|
defaultValues[field.name] = value;
|
|
@@ -9167,7 +9192,12 @@ async function getCalendarApi(mainObject, fields, options) {
|
|
|
9167
9192
|
window.postMessage(Object.assign({type: "listview.loaded"}), "*");
|
|
9168
9193
|
const setDataToComponentId = "${setDataToComponentId}";
|
|
9169
9194
|
if(setDataToComponentId){
|
|
9170
|
-
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})
|
|
9171
9201
|
}
|
|
9172
9202
|
const rows = payload.data.rows || [];
|
|
9173
9203
|
const selfData = api.data.$self;
|
|
@@ -9914,6 +9944,10 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
9914
9944
|
}
|
|
9915
9945
|
}
|
|
9916
9946
|
`;
|
|
9947
|
+
let autoFillHeight = true;
|
|
9948
|
+
if(options.isRelated || Steedos.isMobile()){
|
|
9949
|
+
autoFillHeight = false;
|
|
9950
|
+
}
|
|
9917
9951
|
|
|
9918
9952
|
body = Object.assign({}, table, {
|
|
9919
9953
|
type: 'crud',
|
|
@@ -9924,7 +9958,7 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
9924
9958
|
keepItemSelectionOnPageChange: true,
|
|
9925
9959
|
api: await getTableApi(objectSchema, fields, options),
|
|
9926
9960
|
hiddenOn: options.tableHiddenOn,
|
|
9927
|
-
autoFillHeight
|
|
9961
|
+
autoFillHeight,
|
|
9928
9962
|
className: `flex-auto ${crudClassName || ""}`,
|
|
9929
9963
|
bodyClassName: "bg-white",
|
|
9930
9964
|
crudClassName: crudClassName,
|
|
@@ -10167,7 +10201,7 @@ async function getObjectDetail(objectSchema, recordId, ctx){
|
|
|
10167
10201
|
// "blank": false
|
|
10168
10202
|
// },
|
|
10169
10203
|
"actionType": "custom",
|
|
10170
|
-
"script": "
|
|
10204
|
+
"script": "window.goBack()",
|
|
10171
10205
|
"expression": "this.__deletedRecord === true"
|
|
10172
10206
|
}
|
|
10173
10207
|
]
|
|
@@ -10630,8 +10664,8 @@ async function getRelatedListSchema(
|
|
|
10630
10664
|
/*
|
|
10631
10665
|
* @Author: baozhoutao@steedos.com
|
|
10632
10666
|
* @Date: 2022-07-05 15:55:39
|
|
10633
|
-
* @LastEditors:
|
|
10634
|
-
* @LastEditTime: 2023-08-
|
|
10667
|
+
* @LastEditors: liaodaxue
|
|
10668
|
+
* @LastEditTime: 2023-08-25 11:55:15
|
|
10635
10669
|
* @Description:
|
|
10636
10670
|
*/
|
|
10637
10671
|
|
|
@@ -10896,7 +10930,7 @@ async function getListSchema(
|
|
|
10896
10930
|
* 本次存储代码段
|
|
10897
10931
|
*/
|
|
10898
10932
|
try {
|
|
10899
|
-
const listViewPropsStoreKey = location.pathname + "/crud
|
|
10933
|
+
const listViewPropsStoreKey = location.pathname + "/crud";
|
|
10900
10934
|
let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
|
|
10901
10935
|
/**
|
|
10902
10936
|
* localListViewProps规范来自crud请求api中api.data.$self参数值的。
|
|
@@ -10918,11 +10952,12 @@ async function getListSchema(
|
|
|
10918
10952
|
if(localListViewProps.orderDir){
|
|
10919
10953
|
listSchema.orderDir = localListViewProps.orderDir;
|
|
10920
10954
|
}
|
|
10921
|
-
|
|
10922
|
-
|
|
10923
|
-
|
|
10924
|
-
|
|
10925
|
-
|
|
10955
|
+
|
|
10956
|
+
if(localListViewProps.perPage){
|
|
10957
|
+
listSchema.defaultParams = {
|
|
10958
|
+
perPage: localListViewProps.perPage
|
|
10959
|
+
};
|
|
10960
|
+
}
|
|
10926
10961
|
defaults.listSchema = _$1.defaultsDeep({}, listSchema, defaults.listSchema || {});
|
|
10927
10962
|
}
|
|
10928
10963
|
}
|
|
@@ -12275,7 +12310,7 @@ const getNextStepUsersInput = async (instance) => {
|
|
|
12275
12310
|
id: "u:ffff15b76c89",
|
|
12276
12311
|
className: "b-a b-1x p-xs m-b-none m-l-none m-r-none m-t-sm",
|
|
12277
12312
|
subFormMode: "",
|
|
12278
|
-
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')"
|
|
12279
12314
|
};
|
|
12280
12315
|
};
|
|
12281
12316
|
|
|
@@ -13195,7 +13230,7 @@ const getFieldReadonlyTpl = async (field, label)=>{
|
|
|
13195
13230
|
map[item.value] = item.label;
|
|
13196
13231
|
});
|
|
13197
13232
|
tpl.type = 'static';
|
|
13198
|
-
tpl.tpl = `<% var options = ${JSON.stringify(map)}; return options
|
|
13233
|
+
tpl.tpl = `<% var options = ${JSON.stringify(map)}; return (options && options[data.${field.code}]) || ''%>`;
|
|
13199
13234
|
}else if(field.type === 'odata'){
|
|
13200
13235
|
tpl.type = 'static';
|
|
13201
13236
|
tpl.tpl = `<div>\${${field.code}['@label']}</div>`;
|
|
@@ -13225,7 +13260,7 @@ const getFieldReadonlyTpl = async (field, label)=>{
|
|
|
13225
13260
|
if(field.is_multiselect){
|
|
13226
13261
|
tpl.tpl = `\${_.map(${field.code}, 'name')}`;
|
|
13227
13262
|
}else {
|
|
13228
|
-
tpl.tpl = `\${${field.code}
|
|
13263
|
+
tpl.tpl = `\${${field.code} && ${field.code}.name}`;
|
|
13229
13264
|
}
|
|
13230
13265
|
}else if(field.type === 'group'){
|
|
13231
13266
|
tpl.type = 'static';
|