plain-design 1.0.0-beta.49 → 1.0.0-beta.50
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/plain-design.commonjs.min.js +3 -3
- package/dist/plain-design.min.js +3 -3
- package/dist/report.html +2 -2
- package/package.json +1 -1
- package/src/packages/components/$file/index.tsx +1 -1
- package/src/packages/components/$message/image.service.utils.tsx +2 -2
- package/src/packages/components/$object/createObjectService.tsx +3 -3
- package/src/packages/components/$upload/createUploadService.tsx +1 -1
- package/src/packages/components/Application/theme/theme.ts +1 -1
- package/src/packages/components/AutoTable/filter/useTableOption.filter.form.tsx +3 -3
- package/src/packages/components/AutoTable/filter/useTableOption.filter.search.tsx +2 -2
- package/src/packages/components/AutoTable/setting/useTableOption.setting.all.fitler.tsx +4 -4
- package/src/packages/components/AutoTable/setting/useTableOption.setting.cache.tsx +16 -16
- package/src/packages/components/AutoTable/setting/useTableOption.setting.config.tsx +11 -11
- package/src/packages/components/AutoTable/setting/useTableOption.setting.export.tsx +20 -20
- package/src/packages/components/AutoTable/setting/useTableOption.setting.import.tsx +1 -1
- package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.filter.tsx +10 -10
- package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.sort.tsx +7 -7
- package/src/packages/components/AutoTable/setting/useTableOption.setting.tsx +2 -2
- package/src/packages/components/AutoTable/use/useTableOption.buttons.tsx +18 -18
- package/src/packages/components/AutoTable/use/useTableOption.cache.ts +1 -1
- package/src/packages/components/AutoTable/use/useTableOption.check.tsx +1 -1
- package/src/packages/components/AutoTable/use/useTableOption.column.popper.tsx +8 -8
- package/src/packages/components/AutoTable/use/useTableOption.confirm.tsx +3 -3
- package/src/packages/components/AutoTable/use/useTableOption.loading.tsx +1 -1
- package/src/packages/components/AutoTable/use/useTableOption.methods.tsx +17 -17
- package/src/packages/components/AutoTable/use/useTableOption.pagination.tsx +3 -3
- package/src/packages/components/AutoTable/use/useTableOption.sort.ts +5 -5
- package/src/packages/components/AutoTable/use/useTableOption.tips.tsx +1 -1
- package/src/packages/components/Cascade/createMultipleCascadeRender.tsx +1 -1
- package/src/packages/components/Cascade/createSingleCascadeRender.tsx +1 -1
- package/src/packages/components/CascadePanel/flat/createCascadeFlatRender.tsx +1 -1
- package/src/packages/components/Checkbox/index.tsx +1 -1
- package/src/packages/components/CheckboxGroup/index.tsx +2 -2
- package/src/packages/components/DatePicker/date.utils.tsx +2 -2
- package/src/packages/components/DatePicker/panel/DatePanelDate.tsx +7 -7
- package/src/packages/components/DatePicker/panel/DatePanelMonth.tsx +12 -12
- package/src/packages/components/Dialog/index.tsx +3 -3
- package/src/packages/components/Empty/index.tsx +1 -1
- package/src/packages/components/FilterFormMultiple/index.tsx +2 -2
- package/src/packages/components/FilterFormSingle/index.tsx +2 -2
- package/src/packages/components/FilterService/filter/filter.city.tsx +4 -4
- package/src/packages/components/FilterService/filter/filter.date.tsx +4 -4
- package/src/packages/components/FilterService/filter/filter.datetime.tsx +2 -2
- package/src/packages/components/FilterService/filter/filter.district.tsx +4 -4
- package/src/packages/components/FilterService/filter/filter.number.tsx +1 -1
- package/src/packages/components/FilterService/filter/filter.province.tsx +4 -4
- package/src/packages/components/FilterService/filter/filter.select.tsx +3 -3
- package/src/packages/components/FilterService/filter/filter.text.tsx +4 -4
- package/src/packages/components/FilterService/filter/fitler.object.tsx +4 -4
- package/src/packages/components/FilterService/index.tsx +7 -7
- package/src/packages/components/Form/types/any.tsx +6 -6
- package/src/packages/components/Form/types/array.tsx +7 -7
- package/src/packages/components/Form/types/date.tsx +6 -6
- package/src/packages/components/Form/types/email.tsx +1 -1
- package/src/packages/components/Form/types/idcard.tsx +1 -1
- package/src/packages/components/Form/types/number.tsx +7 -7
- package/src/packages/components/Form/types/phone.tsx +1 -1
- package/src/packages/components/Form/types/qq.tsx +1 -1
- package/src/packages/components/Form/types/string.tsx +7 -7
- package/src/packages/components/Formatter/index.tsx +1 -1
- package/src/packages/components/Image/index.tsx +3 -3
- package/src/packages/components/ImageUploader/index.tsx +2 -2
- package/src/packages/components/Object/createObjectRender.multiple.tsx +1 -1
- package/src/packages/components/Object/createObjectRender.single.tsx +1 -1
- package/src/packages/components/PageThemeUtils/deepmerge.ts +21 -0
- package/src/packages/components/PageThemeUtils/index.tsx +108 -53
- package/src/packages/components/Pagination/index.tsx +4 -4
- package/src/packages/components/Select/SelectPanel.tsx +1 -1
- package/src/packages/components/Select/createMultipleSelectRender.tsx +4 -4
- package/src/packages/components/Table/editor/PlcAddress.tsx +4 -4
- package/src/packages/components/Table/standard/PlcCheck/PlcCheck.multiple.tsx +4 -4
- package/src/packages/components/Table/standard/PlcExpand.tsx +2 -2
- package/src/packages/components/Table/standard/PlcIndex.tsx +1 -1
- package/src/packages/components/Table/standard/PlcOperation/OuterOperation.tsx +1 -1
- package/src/packages/components/Table/standard/PlcOperation/PlcOperation.tsx +4 -4
- package/src/packages/components/Table/standard/PlcTree/PlcTree.renderNode.tsx +4 -4
- package/src/packages/components/Table/table/use/useTableFormEditor.tsx +2 -2
- package/src/packages/components/Table/table/use/useTableModifyEditor.tsx +6 -6
- package/src/packages/components/ThemeEditor/index.tsx +32 -27
- package/src/packages/components/Tree/RenderTreeNode.tsx +1 -1
- package/src/packages/components/Upload/index.tsx +12 -12
- package/src/packages/components/VirtualTable/index.tsx +1 -1
- package/src/packages/components/useDialog/DialogService.tsx +2 -2
- package/src/packages/components/useImage/ImageService.tsx +8 -8
- package/src/packages/components/useNotice/index.tsx +1 -1
- package/src/packages/i18n/i18n.utils.ts +172 -120
- package/src/packages/i18n/index.ts +4 -3
- package/src/packages/i18n/lang/en-us.ts +4 -3
- package/src/packages/i18n/lang/zh-cn.ts +1 -0
package/package.json
CHANGED
@@ -76,7 +76,7 @@ export function createFileService() {
|
|
76
76
|
if (!!config!.validator && !config!.validator(file)) return;
|
77
77
|
if (!!config!.max && file.calcSize > config!.max) {
|
78
78
|
return $message.error(
|
79
|
-
i18n('file.oversize', { filename: file.name, filesize: file.calcSize, max: config!.max }).d(`[${file.name}]大小为${file.calcSize}MB,超过最大限制${config!.max}MB`),
|
79
|
+
i18n.$it('file.oversize', { filename: file.name, filesize: file.calcSize, max: config!.max }).d(`[${file.name}]大小为${file.calcSize}MB,超过最大限制${config!.max}MB`),
|
80
80
|
{ time: 5000 });
|
81
81
|
}
|
82
82
|
files.push(file);
|
@@ -149,11 +149,11 @@ export const imageCompress = (() => {
|
|
149
149
|
}*/
|
150
150
|
let image = await urlToImage(url);
|
151
151
|
if (!!config.maxHeight || !!config.maxWidth) {
|
152
|
-
let file = await compressByMeasure(image, config, `${i18n('image.compressByImageMeasure').d('根据尺寸压缩图片')}.png`);
|
152
|
+
let file = await compressByMeasure(image, config, `${i18n.$it('image.compressByImageMeasure').d('根据尺寸压缩图片')}.png`);
|
153
153
|
return !file ? null : fileToDataURL(file);
|
154
154
|
}
|
155
155
|
if (!!config.maxSize) {
|
156
|
-
let file = await compressByMaxSize(image, config.maxSize, `${i18n('image.compressByImageCapacity').d('根据大小压缩图片')}.png`);
|
156
|
+
let file = await compressByMaxSize(image, config.maxSize, `${i18n.$it('image.compressByImageCapacity').d('根据大小压缩图片')}.png`);
|
157
157
|
return !file ? null : fileToDataURL(file);
|
158
158
|
}
|
159
159
|
throw new Error('compress: maxSize, maxHeight, maxWidth is empty!');
|
@@ -20,7 +20,7 @@ export function createObjectService(defaultConfig: iObjectServiceDefaultConfig)
|
|
20
20
|
|
21
21
|
const publicDialogOption: iDialogServiceOption = {
|
22
22
|
headAlign: 'left',
|
23
|
-
title: i18n('base.selectData').d('选择数据'),
|
23
|
+
title: i18n.$it('base.selectData').d('选择数据'),
|
24
24
|
confirmButton: true,
|
25
25
|
cancelButton: true,
|
26
26
|
noContentPadding: true,
|
@@ -83,7 +83,7 @@ export function createObjectService(defaultConfig: iObjectServiceDefaultConfig)
|
|
83
83
|
handleConfirm: async () => {
|
84
84
|
const { selected } = state;
|
85
85
|
if (!selected) {
|
86
|
-
$message(i18n('base.selectPieceOfData').d('请选择一条数据'));
|
86
|
+
$message(i18n.$it('base.selectPieceOfData').d('请选择一条数据'));
|
87
87
|
return false;
|
88
88
|
}
|
89
89
|
const flag = config.beforeConfirm?.(selected);
|
@@ -173,7 +173,7 @@ export function createObjectService(defaultConfig: iObjectServiceDefaultConfig)
|
|
173
173
|
handleConfirm: async () => {
|
174
174
|
const { selected } = state;
|
175
175
|
if (!selected || selected.length === 0) {
|
176
|
-
$message(i18n('base.selectAtLeastOnePieceOfData').d('请至少选择一条数据'));
|
176
|
+
$message(i18n.$it('base.selectAtLeastOnePieceOfData').d('请至少选择一条数据'));
|
177
177
|
return false;
|
178
178
|
}
|
179
179
|
const flag = config.beforeConfirm?.(selected);
|
@@ -44,7 +44,7 @@ export function createUploadService(config: iUploadServiceConfig) {
|
|
44
44
|
});
|
45
45
|
uploadConfig.onSuccess?.(response);
|
46
46
|
} catch (e) {
|
47
|
-
$notice.error(`${i18n('file.uploadFailed').d('上传失败')},` + String(e).toString());
|
47
|
+
$notice.error(`${i18n.$it('file.uploadFailed').d('上传失败')},` + String(e).toString());
|
48
48
|
uploadConfig.onError?.(e as any);
|
49
49
|
throw e;
|
50
50
|
}
|
@@ -249,7 +249,7 @@ export function createThemeConfigurationData(prefix: string | null, config?: Dee
|
|
249
249
|
...secondaryColorList,
|
250
250
|
...createGrayColors(dark, false),
|
251
251
|
...createGrayColors(dark, true),
|
252
|
-
...base.primary === '#ffffff' ? { 'pbfc': 'black' } : { 'pbfc': 'white' },
|
252
|
+
...base.primary.toLowerCase() === '#ffffff' ? { 'pbfc': 'black' } : { 'pbfc': 'white' },
|
253
253
|
...dark ? {
|
254
254
|
'background-hover': '#3c3c4d',
|
255
255
|
'scrollbar-color': '#141414',
|
@@ -95,7 +95,7 @@ export const useTableOptionFilterForm = AutoModule.createRegistration((
|
|
95
95
|
filterState.useState<iFilterFormMultipleData & { show: boolean }>({
|
96
96
|
seq: 1,
|
97
97
|
key: 'form-filter',
|
98
|
-
title: i18n('table.formFilter').d('表单筛选'),
|
98
|
+
title: i18n.$it('table.formFilter').d('表单筛选'),
|
99
99
|
getActiveFilterCount: () => {
|
100
100
|
const length = state.data?.filterQueryParam.queries?.length;
|
101
101
|
return length == null ? 0 : length;
|
@@ -146,7 +146,7 @@ export const useTableOptionFilterForm = AutoModule.createRegistration((
|
|
146
146
|
hooks.onRenderLeftOperation.use({
|
147
147
|
processor: ({ list, render }) => {list.push({ key: 'form-filter-expander', seq: 1, render });},
|
148
148
|
render: () => (
|
149
|
-
<Tooltip message={i18n('table.formQuery').d('表单查询')}><Button icon="pi-find-replace" onClick={methods.toggleShow}/></Tooltip>
|
149
|
+
<Tooltip message={i18n.$it('table.formQuery').d('表单查询')}><Button icon="pi-find-replace" onClick={methods.toggleShow}/></Tooltip>
|
150
150
|
),
|
151
151
|
});
|
152
152
|
|
@@ -172,7 +172,7 @@ export const useTableOptionFilterForm = AutoModule.createRegistration((
|
|
172
172
|
column={config.filterFormColumn}
|
173
173
|
v-slots={{
|
174
174
|
operation: () => (
|
175
|
-
<Button label={i18n('base.collapse').d('收起')} icon="pi-shrink" onClick={methods.toggleShow}/>
|
175
|
+
<Button label={i18n.$it('base.collapse').d('收起')} icon="pi-shrink" onClick={methods.toggleShow}/>
|
176
176
|
)
|
177
177
|
}}
|
178
178
|
/>
|
@@ -77,7 +77,7 @@ export const useTableOptionFilterSearch = AutoModule.createRegistration((
|
|
77
77
|
filterState.useState<iFilterFormSingleData>({
|
78
78
|
seq: 1,
|
79
79
|
key: 'search-filter',
|
80
|
-
title: i18n('table.searchBar').d('搜索栏'),
|
80
|
+
title: i18n.$it('table.searchBar').d('搜索栏'),
|
81
81
|
getActiveFilterCount: () => {
|
82
82
|
const length = state.data?.filterQueryParam.queries?.length;
|
83
83
|
return length == null ? 0 : length;
|
@@ -153,7 +153,7 @@ export const useTableOptionFilterSearch = AutoModule.createRegistration((
|
|
153
153
|
return TableOptionUtils.createTableOptionTipMeta({
|
154
154
|
filterOption,
|
155
155
|
formData: data.formData,
|
156
|
-
onClick: () => {$message(i18n('table.pleaseEditSearchParam').d('请直接编辑搜索栏筛选参数'));},
|
156
|
+
onClick: () => {$message(i18n.$it('table.pleaseEditSearchParam').d('请直接编辑搜索栏筛选参数'));},
|
157
157
|
onClear: () => {
|
158
158
|
data.filterQueryParam = {};
|
159
159
|
refs.filter?.update({ ...data, });
|
@@ -38,7 +38,7 @@ export const useTableOptionSettingAllFilter = AutoModule.createRegistration((
|
|
38
38
|
|
39
39
|
setting.useTableOptionSettingInner({
|
40
40
|
key: eTableOptionSettingView.allFilter,
|
41
|
-
title: i18n('table.allFilter').d('所有筛选'),
|
41
|
+
title: i18n.$it('table.allFilter').d('所有筛选'),
|
42
42
|
seq: 0.9,
|
43
43
|
contentPending: false,
|
44
44
|
beforeOpen: () => {
|
@@ -51,12 +51,12 @@ export const useTableOptionSettingAllFilter = AutoModule.createRegistration((
|
|
51
51
|
<div className="auto-table-setting-all-filter">
|
52
52
|
{state.renderFilters.length === 0 && (
|
53
53
|
<div className="auto-table-setting-all-filter-empty">
|
54
|
-
<Empty label={i18n('table.noFilter').d('暂无筛选')}/>
|
54
|
+
<Empty label={i18n.$it('table.noFilter').d('暂无筛选')}/>
|
55
55
|
</div>
|
56
56
|
)}
|
57
57
|
{state.renderFilters.length > 0 && (
|
58
58
|
<div>
|
59
|
-
<Button label={i18n('table.clearAll').d('全部清空')} icon="pi-delete" status="error" onClick={removeAll}/>
|
59
|
+
<Button label={i18n.$it('table.clearAll').d('全部清空')} icon="pi-delete" status="error" onClick={removeAll}/>
|
60
60
|
</div>
|
61
61
|
)}
|
62
62
|
{state.renderFilters.map(({ filter, display }, index) => {
|
@@ -64,7 +64,7 @@ export const useTableOptionSettingAllFilter = AutoModule.createRegistration((
|
|
64
64
|
<div key={index} className="auto-table-setting-all-filter-item">
|
65
65
|
<div className="auto-table-setting-all-filter-item-head">
|
66
66
|
<span>{filter.title}</span>
|
67
|
-
<Button icon="pi-close-circle" label={i18n('base.edit.remove').d('删除')} status="error" onClick={() => removeFilter(filter)} mode="text"/>
|
67
|
+
<Button icon="pi-close-circle" label={i18n.$it('base.edit.remove').d('删除')} status="error" onClick={() => removeFilter(filter)} mode="text"/>
|
68
68
|
</div>
|
69
69
|
<div className="auto-table-setting-all-filter-item-body">
|
70
70
|
{display()}
|
@@ -44,13 +44,13 @@ export const useTableOptionSettingCache = AutoModule.createRegistration((
|
|
44
44
|
editType: 'input',
|
45
45
|
status: null,
|
46
46
|
editValue: initialName,
|
47
|
-
title: i18n('table.pleaseInputThConfigurationName').d('请输入配置名称'),
|
47
|
+
title: i18n.$it('table.pleaseInputThConfigurationName').d('请输入配置名称'),
|
48
48
|
confirmButton: true,
|
49
49
|
cancelButton: true,
|
50
50
|
size: config.size,
|
51
51
|
handleConfirm: async ({ editValue }) => {
|
52
52
|
if (editValue == null || String(editValue).trim().length === 0) {
|
53
|
-
$message(i18n('table.pleaseEnterNewConfigName').d('请输入新配置名称'));
|
53
|
+
$message(i18n.$it('table.pleaseEnterNewConfigName').d('请输入新配置名称'));
|
54
54
|
return Promise.reject('invalid value!');
|
55
55
|
} else {
|
56
56
|
dfd.resolve(String(editValue));
|
@@ -78,12 +78,12 @@ export const useTableOptionSettingCache = AutoModule.createRegistration((
|
|
78
78
|
};
|
79
79
|
|
80
80
|
const copyConfig = async (cacheItemData: iTableOptionCacheItemData) => {
|
81
|
-
cache.copyCache(cacheItemData.id, await getConfigName(cacheItemData.title + '.' + i18n('table.bak').d('副本')));
|
81
|
+
cache.copyCache(cacheItemData.id, await getConfigName(cacheItemData.title + '.' + i18n.$it('table.bak').d('副本')));
|
82
82
|
state.editCacheData = deepcopy(cache.state.cacheData);
|
83
83
|
};
|
84
84
|
|
85
85
|
const overrideCache = async (cacheItemData: iTableOptionCacheItemData) => {
|
86
|
-
await $dialog.confirm({ message: i18n('table.areYouSureToOverrideTheConfiguration', { title: cacheItemData.title }).d('确定要覆盖配置"{title}"为当前最新的配置吗?') }, { size: config.size });
|
86
|
+
await $dialog.confirm({ message: i18n.$it('table.areYouSureToOverrideTheConfiguration', { title: cacheItemData.title }).d('确定要覆盖配置"{title}"为当前最新的配置吗?') }, { size: config.size });
|
87
87
|
cache.overrideCache(cacheItemData.id);
|
88
88
|
state.editCacheData = deepcopy(cache.state.cacheData);
|
89
89
|
};
|
@@ -94,16 +94,16 @@ export const useTableOptionSettingCache = AutoModule.createRegistration((
|
|
94
94
|
};
|
95
95
|
|
96
96
|
const innerOperationConfigs: iTableInnerOperationConfig[] = [
|
97
|
-
{ label: i18n('base.edit.apply').d('应用'), position: 'inner', handler: ({ row }) => {applyCache(row as any);} },
|
98
|
-
{ label: i18n('base.edit.rename').d('重命名'), position: 'inner', handler: ({ row }) => {renameCache(row as any);} },
|
99
|
-
{ label: i18n('base.edit.remove').d('删除'), position: 'inner', handler: ({ row }) => {deleteCache(row as any);} },
|
100
|
-
{ label: i18n('base.edit.override').d('覆盖'), position: 'inner', handler: ({ row }) => {overrideCache(row as any);} },
|
101
|
-
{ label: i18n('base.edit.copy').d('复制'), position: 'inner', handler: ({ row }) => {copyConfig(row as any);} },
|
97
|
+
{ label: i18n.$it('base.edit.apply').d('应用'), position: 'inner', handler: ({ row }) => {applyCache(row as any);} },
|
98
|
+
{ label: i18n.$it('base.edit.rename').d('重命名'), position: 'inner', handler: ({ row }) => {renameCache(row as any);} },
|
99
|
+
{ label: i18n.$it('base.edit.remove').d('删除'), position: 'inner', handler: ({ row }) => {deleteCache(row as any);} },
|
100
|
+
{ label: i18n.$it('base.edit.override').d('覆盖'), position: 'inner', handler: ({ row }) => {overrideCache(row as any);} },
|
101
|
+
{ label: i18n.$it('base.edit.copy').d('复制'), position: 'inner', handler: ({ row }) => {copyConfig(row as any);} },
|
102
102
|
];
|
103
103
|
|
104
104
|
setting.useTableOptionSettingInner({
|
105
105
|
key: eTableOptionSettingView.cache,
|
106
|
-
title: i18n('table.cacheSetting').d('缓存设置'),
|
106
|
+
title: i18n.$it('table.cacheSetting').d('缓存设置'),
|
107
107
|
seq: 4,
|
108
108
|
beforeOpen: () => {
|
109
109
|
state.editCacheData = deepcopy(cache.state.cacheData);
|
@@ -112,10 +112,10 @@ export const useTableOptionSettingCache = AutoModule.createRegistration((
|
|
112
112
|
return (
|
113
113
|
<div className="auto-table-setting-cache">
|
114
114
|
<div className="auto-table-setting-cache-operation">
|
115
|
-
<Tooltip message={i18n('table.clearFilterSortAndConfiguration').d("不使用任何筛选、排序以及个性配置,相当于恢复原始状态")}>
|
116
|
-
<Button label={i18n('table.withoutAnyConfiguration').d('不使用任何缓存配置')} icon="pi-drive-file" style={{ marginLeft: '8px' }} onClick={() => applyCache()}/>
|
115
|
+
<Tooltip message={i18n.$it('table.clearFilterSortAndConfiguration').d("不使用任何筛选、排序以及个性配置,相当于恢复原始状态")}>
|
116
|
+
<Button label={i18n.$it('table.withoutAnyConfiguration').d('不使用任何缓存配置')} icon="pi-drive-file" style={{ marginLeft: '8px' }} onClick={() => applyCache()}/>
|
117
117
|
</Tooltip>
|
118
|
-
<Button label={i18n('table.saveToNewConfiguration').d('保存当前状态为新的缓存配置')} icon="pi-save" onClick={newCache} mode="fill"/>
|
118
|
+
<Button label={i18n.$it('table.saveToNewConfiguration').d('保存当前状态为新的缓存配置')} icon="pi-save" onClick={newCache} mode="fill"/>
|
119
119
|
</div>
|
120
120
|
<Table
|
121
121
|
key="cache"
|
@@ -125,7 +125,7 @@ export const useTableOptionSettingCache = AutoModule.createRegistration((
|
|
125
125
|
<PlcIndex/>
|
126
126
|
<Plc
|
127
127
|
align="center"
|
128
|
-
title={i18n('base.main').d('主要')}
|
128
|
+
title={i18n.$it('base.main').d('主要')}
|
129
129
|
width={50}
|
130
130
|
noPadding
|
131
131
|
order={-9999}
|
@@ -134,8 +134,8 @@ export const useTableOptionSettingCache = AutoModule.createRegistration((
|
|
134
134
|
return <Radio modelValue={row.id === state.editCacheData.activeId} customReadonly onClick={() => applyCache(row as any)}/>;
|
135
135
|
}
|
136
136
|
}}/>
|
137
|
-
<PlcTextarea title={i18n('table.cacheName').d('缓存名称')} field="title" fit width={120}/>
|
138
|
-
<Plc title={i18n('table.createTime').d('创建时间')} field="time" width={180}/>
|
137
|
+
<PlcTextarea title={i18n.$it('table.cacheName').d('缓存名称')} field="title" fit width={120}/>
|
138
|
+
<Plc title={i18n.$it('table.createTime').d('创建时间')} field="time" width={180}/>
|
139
139
|
<PlcOperation operations={innerOperationConfigs}/>
|
140
140
|
</Table>
|
141
141
|
</div>
|
@@ -164,7 +164,7 @@ export const useTableOptionSettingConfig = AutoModule.createRegistration((
|
|
164
164
|
|
165
165
|
setting.useTableOptionSettingInner({
|
166
166
|
key: eTableOptionSettingView.config,
|
167
|
-
title: i18n('table.customSetting').d('个性设置'),
|
167
|
+
title: i18n.$it('table.customSetting').d('个性设置'),
|
168
168
|
seq: 3,
|
169
169
|
beforeOpen: () => {
|
170
170
|
utils.resetData();
|
@@ -172,23 +172,23 @@ export const useTableOptionSettingConfig = AutoModule.createRegistration((
|
|
172
172
|
render: () => (
|
173
173
|
<div className="auto-table-setting-config">
|
174
174
|
<div className="auto-table-setting-config-button">
|
175
|
-
<Button label={i18n('base.reset').d('重置')} onClick={handler.reset}/>
|
176
|
-
<Button label={i18n('base.edit.apply').d('应用')} mode="fill" onClick={handler.apply}/>
|
175
|
+
<Button label={i18n.$it('base.reset').d('重置')} onClick={handler.reset}/>
|
176
|
+
<Button label={i18n.$it('base.edit.apply').d('应用')} mode="fill" onClick={handler.apply}/>
|
177
177
|
</div>
|
178
178
|
<Table key="config" data={state.data} showRows={Math.max(5, state.data.length)} defaultEditable editSourceData>
|
179
179
|
<PlcIndex/>
|
180
180
|
<PlcDraggier v-model={state.data}/>
|
181
|
-
<PlcInput title={i18n('table.title').d('标题')} field="title"/>
|
182
|
-
<PlcSelect title={i18n('table.alignType').d('对齐方式')} field="align" width={100}>
|
183
|
-
<SelectOption label={i18n('table.alignLeft').d('左对齐')} val="left"/>
|
184
|
-
<SelectOption label={i18n('table.alignCenter').d('居中对齐')} val="center"/>
|
185
|
-
<SelectOption label={i18n('table.alignRight').d('右对齐')} val="right"/>
|
181
|
+
<PlcInput title={i18n.$it('table.title').d('标题')} field="title"/>
|
182
|
+
<PlcSelect title={i18n.$it('table.alignType').d('对齐方式')} field="align" width={100}>
|
183
|
+
<SelectOption label={i18n.$it('table.alignLeft').d('左对齐')} val="left"/>
|
184
|
+
<SelectOption label={i18n.$it('table.alignCenter').d('居中对齐')} val="center"/>
|
185
|
+
<SelectOption label={i18n.$it('table.alignRight').d('右对齐')} val="right"/>
|
186
186
|
</PlcSelect>
|
187
|
-
<PlcNumber title={i18n('base.width').d('宽度')} field="width" width={130}/>
|
188
|
-
<Plc title={i18n('base.fixed').d('固定')} width={60} align="center" field="fixed" addEditPadding v-slots={{
|
187
|
+
<PlcNumber title={i18n.$it('base.width').d('宽度')} field="width" width={130}/>
|
188
|
+
<Plc title={i18n.$it('base.fixed').d('固定')} width={60} align="center" field="fixed" addEditPadding v-slots={{
|
189
189
|
normal: ({ row }) => <Checkbox modelValue={row.fixed === 'left'} customReadonly onClick={() => (row.fixed = (row.fixed === 'left' ? undefined : 'left'), handler.onFixed(row as any))}/>
|
190
190
|
}}/>
|
191
|
-
<Plc title={i18n('base.hide').d('隐藏')} width={60} align="center" field="hide" addEditPadding v-slots={{
|
191
|
+
<Plc title={i18n.$it('base.hide').d('隐藏')} width={60} align="center" field="hide" addEditPadding v-slots={{
|
192
192
|
normal: ({ row }) => <Checkbox modelValue={row.hide === true} customReadonly onClick={() => (row.hide = (row.hide === true ? undefined : true))}/>
|
193
193
|
}}/>
|
194
194
|
<Plc title={' '} fit width={10}/>
|
@@ -133,8 +133,8 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
133
133
|
|
134
134
|
const exportPage: ExportOption = {
|
135
135
|
type: 'export-page',
|
136
|
-
title: i18n('table.exportCurrentPageData').d('导出当前页数据'),
|
137
|
-
desc: i18n('table.exportDataInTable').d('导出表格当前显示的数据'),
|
136
|
+
title: i18n.$it('table.exportCurrentPageData').d('导出当前页数据'),
|
137
|
+
desc: i18n.$it('table.exportDataInTable').d('导出表格当前显示的数据'),
|
138
138
|
handler: async (exportPlcData) => {
|
139
139
|
await save(tableState.list, exportPlcData);
|
140
140
|
}
|
@@ -142,8 +142,8 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
142
142
|
|
143
143
|
const exportAll: ExportOption = {
|
144
144
|
type: 'export-all',
|
145
|
-
title: '导出当前所有数据',
|
146
|
-
desc: i18n('table.exportAllDataWithFilterSortMaybeFailedWithLargeData').d('根据当前的筛选排序条件导出所有数据(数据量比较大的话可能会导出失败)'),
|
145
|
+
title: i18n.$it('table.exportCurrentAllData').d('导出当前所有数据'),
|
146
|
+
desc: i18n.$it('table.exportAllDataWithFilterSortMaybeFailedWithLargeData').d('根据当前的筛选排序条件导出所有数据(数据量比较大的话可能会导出失败)'),
|
147
147
|
handler: async (exportPlcData) => {
|
148
148
|
// if (!freezeState.loadDataConfig) {return;}
|
149
149
|
// let { request, requestConfig } = freezeState.loadDataConfig!;
|
@@ -168,8 +168,8 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
168
168
|
|
169
169
|
const exportSelected: ExportOption = {
|
170
170
|
type: 'export-selected',
|
171
|
-
title: '选择需要导出的数据',
|
172
|
-
desc: i18n('table.
|
171
|
+
title: i18n.$it('table.selectDataToExport').d('选择需要导出的数据'),
|
172
|
+
desc: i18n.$it('table.customSelectDataToExport').d('自定义选择导出需要的数据'),
|
173
173
|
handler: async (exportPlcData) => {
|
174
174
|
setting.closeSetting();
|
175
175
|
await delay(400);
|
@@ -184,14 +184,14 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
184
184
|
switch (state.step) {
|
185
185
|
case 0:
|
186
186
|
if (!state.exportType) {
|
187
|
-
return $message.error(i18n('table.selectExportType').d('请选择导出方式'));
|
187
|
+
return $message.error(i18n.$it('table.selectExportType').d('请选择导出方式'));
|
188
188
|
}
|
189
189
|
state.step++;
|
190
190
|
break;
|
191
191
|
case 1:
|
192
192
|
state.selectPlcList = (refs.check!.getSelected() as ExportPlcData[]).sort((a, b) => state.plcList.indexOf(a) - state.plcList.indexOf(b));
|
193
193
|
if (state.selectPlcList.length === 0) {
|
194
|
-
return $message.error(i18n('table.exportFields').d('请选择导出的字段'));
|
194
|
+
return $message.error(i18n.$it('table.exportFields').d('请选择导出的字段'));
|
195
195
|
}
|
196
196
|
state.step++;
|
197
197
|
const exportType = exportOptions.find(i => i.type === state.exportType)!;
|
@@ -226,7 +226,7 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
226
226
|
|
227
227
|
setting.useTableOptionSettingInner({
|
228
228
|
key: eTableOptionSettingView.export,
|
229
|
-
title: i18n('table.exportData').d('导出数据'),
|
229
|
+
title: i18n.$it('table.exportData').d('导出数据'),
|
230
230
|
seq: 5,
|
231
231
|
beforeOpen() {
|
232
232
|
restart();
|
@@ -234,9 +234,9 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
234
234
|
render: () => (
|
235
235
|
<div className="auto-table-setting-export">
|
236
236
|
<ArrowStepGroup style={{ marginBottom: '20px' }} current={state.step} currentStatus={state.stepStatus}>
|
237
|
-
<ArrowStep title={i18n('table.exportType').d('导出方式')}/>
|
238
|
-
<ArrowStep title={i18n('table.exportFields').d('导出字段')}/>
|
239
|
-
<ArrowStep title={i18n('table.exportData').d('导出数据')}/>
|
237
|
+
<ArrowStep title={i18n.$it('table.exportType').d('导出方式')}/>
|
238
|
+
<ArrowStep title={i18n.$it('table.exportFields').d('导出字段')}/>
|
239
|
+
<ArrowStep title={i18n.$it('table.exportData').d('导出数据')}/>
|
240
240
|
</ArrowStepGroup>
|
241
241
|
<div>
|
242
242
|
{state.step === 0 && (
|
@@ -253,7 +253,7 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
253
253
|
))}
|
254
254
|
</RadioGroup>
|
255
255
|
<div className="auto-table-setting-export-display-checker">
|
256
|
-
<Checkbox v-model={state.exportDisplayValue} label={i18n('table.exportShowData').d('导出显示值')}/>
|
256
|
+
<Checkbox v-model={state.exportDisplayValue} label={i18n.$it('table.exportShowData').d('导出显示值')}/>
|
257
257
|
</div>
|
258
258
|
</div>
|
259
259
|
)}
|
@@ -265,25 +265,25 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
265
265
|
field="field"
|
266
266
|
v-model={state.selectPlcList}
|
267
267
|
/>
|
268
|
-
<Plc title={i18n('table.fieldName').d('字段名称')} field="title"/>
|
268
|
+
<Plc title={i18n.$it('table.fieldName').d('字段名称')} field="title"/>
|
269
269
|
</Table>
|
270
270
|
)}
|
271
271
|
{state.step === 2 && (
|
272
272
|
<div className="auto-table-setting-export-loading">
|
273
273
|
{!state.stepStatus && <>
|
274
274
|
<Loading status="primary"/>
|
275
|
-
<span>{i18n('table.exportingData').d('正在导出数据')}</span>
|
275
|
+
<span>{i18n.$it('table.exportingData').d('正在导出数据')}</span>
|
276
276
|
</>}
|
277
277
|
{state.stepStatus === 'success' && <>
|
278
278
|
<Icon icon="pi-check-circle-fill" status="success"/>
|
279
|
-
<span>{i18n('table.exportCompleted').d('导出完毕')}</span>
|
279
|
+
<span>{i18n.$it('table.exportCompleted').d('导出完毕')}</span>
|
280
280
|
</>}
|
281
281
|
{state.stepStatus === 'error' && <>
|
282
282
|
<Icon icon="pi-check-circle-fill" status="error"/>
|
283
|
-
<span>{i18n('table.exportFailed').d('导出失败')}</span>
|
283
|
+
<span>{i18n.$it('table.exportFailed').d('导出失败')}</span>
|
284
284
|
</>}
|
285
285
|
{!!state.stepStatus && (
|
286
|
-
<Button label={i18n('table.exportAgain').d('再次导出')} onClick={restart}/>
|
286
|
+
<Button label={i18n.$it('table.exportAgain').d('再次导出')} onClick={restart}/>
|
287
287
|
)}
|
288
288
|
</div>
|
289
289
|
)}
|
@@ -292,12 +292,12 @@ export const useTableOptionSettingExport = AutoModule.createRegistration((
|
|
292
292
|
{state.step === 1 && (
|
293
293
|
<Button onClick={prevStep}>
|
294
294
|
<Icon icon="pi-left"/>
|
295
|
-
<span>{i18n('base.prevStep').d('上一步')}</span>
|
295
|
+
<span>{i18n.$it('base.prevStep').d('上一步')}</span>
|
296
296
|
</Button>
|
297
297
|
)}
|
298
298
|
{state.step < 2 && (
|
299
299
|
<Button mode="fill" onClick={nextStep}>
|
300
|
-
<span>{i18n('base.nextStep').d('下一步')}</span>
|
300
|
+
<span>{i18n.$it('base.nextStep').d('下一步')}</span>
|
301
301
|
<Icon icon="pi-right"/>
|
302
302
|
</Button>
|
303
303
|
)}
|
@@ -82,7 +82,7 @@ export const useTableOptionSettingImport = AutoModule.createRegistration((
|
|
82
82
|
|
83
83
|
setting.useTableOptionSettingInner({
|
84
84
|
key: eTableOptionSettingView.import,
|
85
|
-
title: i18n('table.importData').d('导入数据'),
|
85
|
+
title: i18n.$it('table.importData').d('导入数据'),
|
86
86
|
seq: 4,
|
87
87
|
beforeOpen() {
|
88
88
|
state.uploadFiles = [];
|
@@ -82,7 +82,7 @@ export const useTableOptionSettingSeniorFilter = AutoModule.createRegistration((
|
|
82
82
|
const metas = !isSettingSeniorOpen() ? edit.state.metas : dataList.map((data, index) => ({ data, id: edit.state.metas[index].id }));
|
83
83
|
const invalidIndex = metas.findIndex(i => !i.data || !i.data.filterQueryParam || !i.data.filterQueryParam.queries?.length);
|
84
84
|
if (invalidIndex > -1) {
|
85
|
-
$message.error(i18n('table.pleaseEnterCompleteParamsForCondition').d(`第${invalidIndex + 1}个条件请输入完整参数!`));
|
85
|
+
$message.error(i18n.$it('table.pleaseEnterCompleteParamsForCondition').d(`第${invalidIndex + 1}个条件请输入完整参数!`));
|
86
86
|
return;
|
87
87
|
}
|
88
88
|
state.metas = metas;
|
@@ -176,7 +176,7 @@ export const useTableOptionSettingSeniorFilter = AutoModule.createRegistration((
|
|
176
176
|
|
177
177
|
const { isOpen: isSettingSeniorOpen } = setting.useTableOptionSettingInner({
|
178
178
|
key: eTableOptionSettingView.seniorFilter,
|
179
|
-
title: i18n('table.seniorFilter').d('高级筛选'),
|
179
|
+
title: i18n.$it('table.seniorFilter').d('高级筛选'),
|
180
180
|
seq: 1,
|
181
181
|
beforeOpen: () => {
|
182
182
|
edit.state.metas = deepcopy(query.state.metas);
|
@@ -189,14 +189,14 @@ export const useTableOptionSettingSeniorFilter = AutoModule.createRegistration((
|
|
189
189
|
<div className="auto-table-setting-senior-filter">
|
190
190
|
<div className="auto-table-setting-senior-filter-button">
|
191
191
|
<div>
|
192
|
-
<Button label={i18n('base.edit.apply').d('应用')} onClick={query.apply} mode="fill" icon="pi-find-replace"/>
|
193
|
-
<Button label={i18n('base.edit.add').d('添加')} onClick={edit.add} icon="pi-plus"/>
|
192
|
+
<Button label={i18n.$it('base.edit.apply').d('应用')} onClick={query.apply} mode="fill" icon="pi-find-replace"/>
|
193
|
+
<Button label={i18n.$it('base.edit.add').d('添加')} onClick={edit.add} icon="pi-plus"/>
|
194
194
|
</div>
|
195
|
-
<Button label={i18n('base.clear').d('清空')} icon="pi-delete" status="error" onClick={edit.clear}/>
|
195
|
+
<Button label={i18n.$it('base.clear').d('清空')} icon="pi-delete" status="error" onClick={edit.clear}/>
|
196
196
|
</div>
|
197
197
|
<div className="auto-table-setting-senior-filter-list">
|
198
198
|
{edit.state.metas.length === 0 ? (
|
199
|
-
<Empty noData label={i18n('table.pleaseAddFilterCondition').d('请添加筛选条件')}/>
|
199
|
+
<Empty noData label={i18n.$it('table.pleaseAddFilterCondition').d('请添加筛选条件')}/>
|
200
200
|
) : (
|
201
201
|
edit.state.metas.map((meta, index) => (
|
202
202
|
<div key={meta.id} className="auto-table-setting-senior-filter-list-item">
|
@@ -217,10 +217,10 @@ export const useTableOptionSettingSeniorFilter = AutoModule.createRegistration((
|
|
217
217
|
)}
|
218
218
|
</div>
|
219
219
|
<div className="auto-table-setting-senior-filter-expression-header">
|
220
|
-
<div className="auto-table-setting-senior-filter-expression-title">{i18n('table.expression').d('表达式')}</div>
|
220
|
+
<div className="auto-table-setting-senior-filter-expression-title">{i18n.$it('table.expression').d('表达式')}</div>
|
221
221
|
</div>
|
222
222
|
<Input textarea v-model={edit.state.expression} disabled={!edit.state.isCustomExpression}/>
|
223
|
-
<Checkbox label={i18n('base.custom').d('自定义')} v-model={edit.state.isCustomExpression} onChange={utils.resetOperator}/>
|
223
|
+
<Checkbox label={i18n.$it('base.custom').d('自定义')} v-model={edit.state.isCustomExpression} onChange={utils.resetOperator}/>
|
224
224
|
</div>
|
225
225
|
);
|
226
226
|
},
|
@@ -276,12 +276,12 @@ export const useTableOptionSettingSeniorFilter = AutoModule.createRegistration((
|
|
276
276
|
filterState.useState<any>({
|
277
277
|
seq: Infinity,
|
278
278
|
key: 'senior-filter',
|
279
|
-
title: i18n('table.seniorQuery').d('高级查询'),
|
279
|
+
title: i18n.$it('table.seniorQuery').d('高级查询'),
|
280
280
|
applyCache: () => null,
|
281
281
|
getCache: () => null,
|
282
282
|
getDisplay: () => () => (
|
283
283
|
<Button onClick={() => setting.openSetting(eTableOptionSettingView.seniorFilter)}>
|
284
|
-
<span>{i18n('table.configSeniorFilter').d('配置高级筛选')}</span>
|
284
|
+
<span>{i18n.$it('table.configSeniorFilter').d('配置高级筛选')}</span>
|
285
285
|
<Icon icon="pi-arrow-right"/>
|
286
286
|
</Button>
|
287
287
|
),
|
@@ -47,7 +47,7 @@ export const useTableOptionSettingSeniorSort = AutoModule.createRegistration((
|
|
47
47
|
|
48
48
|
const innerOperations: iTableInnerOperationConfig[] = [
|
49
49
|
{
|
50
|
-
label: i18n('base.edit.remove').d('删除'),
|
50
|
+
label: i18n.$it('base.edit.remove').d('删除'),
|
51
51
|
position: 'inner',
|
52
52
|
type: 'delete',
|
53
53
|
handler: ({ node }) => {handler.remove(node.state.index);},
|
@@ -68,7 +68,7 @@ export const useTableOptionSettingSeniorSort = AutoModule.createRegistration((
|
|
68
68
|
|
69
69
|
setting.useTableOptionSettingInner({
|
70
70
|
key: eTableOptionSettingView.sort,
|
71
|
-
title: i18n('table.seniorSort').d('高级排序'),
|
71
|
+
title: i18n.$it('table.seniorSort').d('高级排序'),
|
72
72
|
seq: 2,
|
73
73
|
beforeOpen: async () => {
|
74
74
|
const sourceFlatPlcList = await methods.getSourceFlatPlcList();
|
@@ -88,11 +88,11 @@ export const useTableOptionSettingSeniorSort = AutoModule.createRegistration((
|
|
88
88
|
<div className="auto-table-setting-senior-sort" key="senior-sort">
|
89
89
|
<div className="auto-table-setting-senior-sort-header">
|
90
90
|
<div>
|
91
|
-
<Button label={i18n('base.edit.apply').d("应用")} mode="fill" icon="pi-find-replace" onClick={handler.apply}/>
|
91
|
+
<Button label={i18n.$it('base.edit.apply').d("应用")} mode="fill" icon="pi-find-replace" onClick={handler.apply}/>
|
92
92
|
{!!availablePlcOptions.value.length && (
|
93
93
|
<Dropdown
|
94
94
|
v-slots={{
|
95
|
-
reference: () => <Button label={i18n('base.edit.add').d('添加')} icon="pi-plus"/>,
|
95
|
+
reference: () => <Button label={i18n.$it('base.edit.add').d('添加')} icon="pi-plus"/>,
|
96
96
|
popper: () => availablePlcOptions.value.map((i) => (
|
97
97
|
<DropdownOption key={i.field} label={i.title} onClick={() => handler.add(i)}/>
|
98
98
|
))
|
@@ -100,12 +100,12 @@ export const useTableOptionSettingSeniorSort = AutoModule.createRegistration((
|
|
100
100
|
/>
|
101
101
|
)}
|
102
102
|
</div>
|
103
|
-
<Button label={i18n('base.clear').d("清空")} icon="pi-delete" status="error" onClick={handler.clear}/>
|
103
|
+
<Button label={i18n.$it('base.clear').d("清空")} icon="pi-delete" status="error" onClick={handler.clear}/>
|
104
104
|
</div>
|
105
105
|
<Table data={state.data} defaultEditable editSourceData>
|
106
106
|
<PlcDraggier v-model={state.data}/>
|
107
|
-
<Plc field="title" title={i18n('table.title').d('标题')}/>
|
108
|
-
<PlcCheckbox field="desc" title={i18n('table.ascOrDesc').d('升序还是降序')} trueValue={true} falseValue={false}/>
|
107
|
+
<Plc field="title" title={i18n.$it('table.title').d('标题')}/>
|
108
|
+
<PlcCheckbox field="desc" title={i18n.$it('table.ascOrDesc').d('升序还是降序')} trueValue={true} falseValue={false}/>
|
109
109
|
<PlcOperation operations={innerOperations}/>
|
110
110
|
</Table>
|
111
111
|
</div>
|
@@ -52,9 +52,9 @@ export const useTableOptionSetting = AutoModule.createRegistration((
|
|
52
52
|
footAlign: 'left',
|
53
53
|
noContentPadding: true,
|
54
54
|
externalClass: getComponentCls('auto-table-setting-dialog'),
|
55
|
-
title: i18n('base.setting').d('设置'),
|
55
|
+
title: i18n.$it('base.setting').d('设置'),
|
56
56
|
cancelButton: true,
|
57
|
-
cancelButtonText: i18n('base.close').d('关闭'),
|
57
|
+
cancelButtonText: i18n.$it('base.close').d('关闭'),
|
58
58
|
onHide: () => {state.closeSetting = null;},
|
59
59
|
render: () => {
|
60
60
|
return (
|