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.
Files changed (90) hide show
  1. package/dist/plain-design.commonjs.min.js +3 -3
  2. package/dist/plain-design.min.js +3 -3
  3. package/dist/report.html +2 -2
  4. package/package.json +1 -1
  5. package/src/packages/components/$file/index.tsx +1 -1
  6. package/src/packages/components/$message/image.service.utils.tsx +2 -2
  7. package/src/packages/components/$object/createObjectService.tsx +3 -3
  8. package/src/packages/components/$upload/createUploadService.tsx +1 -1
  9. package/src/packages/components/Application/theme/theme.ts +1 -1
  10. package/src/packages/components/AutoTable/filter/useTableOption.filter.form.tsx +3 -3
  11. package/src/packages/components/AutoTable/filter/useTableOption.filter.search.tsx +2 -2
  12. package/src/packages/components/AutoTable/setting/useTableOption.setting.all.fitler.tsx +4 -4
  13. package/src/packages/components/AutoTable/setting/useTableOption.setting.cache.tsx +16 -16
  14. package/src/packages/components/AutoTable/setting/useTableOption.setting.config.tsx +11 -11
  15. package/src/packages/components/AutoTable/setting/useTableOption.setting.export.tsx +20 -20
  16. package/src/packages/components/AutoTable/setting/useTableOption.setting.import.tsx +1 -1
  17. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.filter.tsx +10 -10
  18. package/src/packages/components/AutoTable/setting/useTableOption.setting.senior.sort.tsx +7 -7
  19. package/src/packages/components/AutoTable/setting/useTableOption.setting.tsx +2 -2
  20. package/src/packages/components/AutoTable/use/useTableOption.buttons.tsx +18 -18
  21. package/src/packages/components/AutoTable/use/useTableOption.cache.ts +1 -1
  22. package/src/packages/components/AutoTable/use/useTableOption.check.tsx +1 -1
  23. package/src/packages/components/AutoTable/use/useTableOption.column.popper.tsx +8 -8
  24. package/src/packages/components/AutoTable/use/useTableOption.confirm.tsx +3 -3
  25. package/src/packages/components/AutoTable/use/useTableOption.loading.tsx +1 -1
  26. package/src/packages/components/AutoTable/use/useTableOption.methods.tsx +17 -17
  27. package/src/packages/components/AutoTable/use/useTableOption.pagination.tsx +3 -3
  28. package/src/packages/components/AutoTable/use/useTableOption.sort.ts +5 -5
  29. package/src/packages/components/AutoTable/use/useTableOption.tips.tsx +1 -1
  30. package/src/packages/components/Cascade/createMultipleCascadeRender.tsx +1 -1
  31. package/src/packages/components/Cascade/createSingleCascadeRender.tsx +1 -1
  32. package/src/packages/components/CascadePanel/flat/createCascadeFlatRender.tsx +1 -1
  33. package/src/packages/components/Checkbox/index.tsx +1 -1
  34. package/src/packages/components/CheckboxGroup/index.tsx +2 -2
  35. package/src/packages/components/DatePicker/date.utils.tsx +2 -2
  36. package/src/packages/components/DatePicker/panel/DatePanelDate.tsx +7 -7
  37. package/src/packages/components/DatePicker/panel/DatePanelMonth.tsx +12 -12
  38. package/src/packages/components/Dialog/index.tsx +3 -3
  39. package/src/packages/components/Empty/index.tsx +1 -1
  40. package/src/packages/components/FilterFormMultiple/index.tsx +2 -2
  41. package/src/packages/components/FilterFormSingle/index.tsx +2 -2
  42. package/src/packages/components/FilterService/filter/filter.city.tsx +4 -4
  43. package/src/packages/components/FilterService/filter/filter.date.tsx +4 -4
  44. package/src/packages/components/FilterService/filter/filter.datetime.tsx +2 -2
  45. package/src/packages/components/FilterService/filter/filter.district.tsx +4 -4
  46. package/src/packages/components/FilterService/filter/filter.number.tsx +1 -1
  47. package/src/packages/components/FilterService/filter/filter.province.tsx +4 -4
  48. package/src/packages/components/FilterService/filter/filter.select.tsx +3 -3
  49. package/src/packages/components/FilterService/filter/filter.text.tsx +4 -4
  50. package/src/packages/components/FilterService/filter/fitler.object.tsx +4 -4
  51. package/src/packages/components/FilterService/index.tsx +7 -7
  52. package/src/packages/components/Form/types/any.tsx +6 -6
  53. package/src/packages/components/Form/types/array.tsx +7 -7
  54. package/src/packages/components/Form/types/date.tsx +6 -6
  55. package/src/packages/components/Form/types/email.tsx +1 -1
  56. package/src/packages/components/Form/types/idcard.tsx +1 -1
  57. package/src/packages/components/Form/types/number.tsx +7 -7
  58. package/src/packages/components/Form/types/phone.tsx +1 -1
  59. package/src/packages/components/Form/types/qq.tsx +1 -1
  60. package/src/packages/components/Form/types/string.tsx +7 -7
  61. package/src/packages/components/Formatter/index.tsx +1 -1
  62. package/src/packages/components/Image/index.tsx +3 -3
  63. package/src/packages/components/ImageUploader/index.tsx +2 -2
  64. package/src/packages/components/Object/createObjectRender.multiple.tsx +1 -1
  65. package/src/packages/components/Object/createObjectRender.single.tsx +1 -1
  66. package/src/packages/components/PageThemeUtils/deepmerge.ts +21 -0
  67. package/src/packages/components/PageThemeUtils/index.tsx +108 -53
  68. package/src/packages/components/Pagination/index.tsx +4 -4
  69. package/src/packages/components/Select/SelectPanel.tsx +1 -1
  70. package/src/packages/components/Select/createMultipleSelectRender.tsx +4 -4
  71. package/src/packages/components/Table/editor/PlcAddress.tsx +4 -4
  72. package/src/packages/components/Table/standard/PlcCheck/PlcCheck.multiple.tsx +4 -4
  73. package/src/packages/components/Table/standard/PlcExpand.tsx +2 -2
  74. package/src/packages/components/Table/standard/PlcIndex.tsx +1 -1
  75. package/src/packages/components/Table/standard/PlcOperation/OuterOperation.tsx +1 -1
  76. package/src/packages/components/Table/standard/PlcOperation/PlcOperation.tsx +4 -4
  77. package/src/packages/components/Table/standard/PlcTree/PlcTree.renderNode.tsx +4 -4
  78. package/src/packages/components/Table/table/use/useTableFormEditor.tsx +2 -2
  79. package/src/packages/components/Table/table/use/useTableModifyEditor.tsx +6 -6
  80. package/src/packages/components/ThemeEditor/index.tsx +32 -27
  81. package/src/packages/components/Tree/RenderTreeNode.tsx +1 -1
  82. package/src/packages/components/Upload/index.tsx +12 -12
  83. package/src/packages/components/VirtualTable/index.tsx +1 -1
  84. package/src/packages/components/useDialog/DialogService.tsx +2 -2
  85. package/src/packages/components/useImage/ImageService.tsx +8 -8
  86. package/src/packages/components/useNotice/index.tsx +1 -1
  87. package/src/packages/i18n/i18n.utils.ts +172 -120
  88. package/src/packages/i18n/index.ts +4 -3
  89. package/src/packages/i18n/lang/en-us.ts +4 -3
  90. package/src/packages/i18n/lang/zh-cn.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plain-design",
3
- "version": "1.0.0-beta.49",
3
+ "version": "1.0.0-beta.50",
4
4
  "description": "",
5
5
  "main": "dist/plain-design.min.js",
6
6
  "module": "dist/plain-design.commonjs.min.js",
@@ -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.selectDataToExport').d('自定义选择导出需要的数据'),
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 (