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
@@ -22,7 +22,7 @@ export function checkStringValidation(
|
|
22
22
|
);
|
23
23
|
|
24
24
|
if (!isEmpty && typeof value != "string" && typeof value != "number") {
|
25
|
-
return getMessage(i18n('base.validate.valueShouldBeStringOrNumber').d('值类型应该为字符串或者数字'));
|
25
|
+
return getMessage(i18n.$it('base.validate.valueShouldBeStringOrNumber').d('值类型应该为字符串或者数字'));
|
26
26
|
}
|
27
27
|
|
28
28
|
if (!isEmpty) {if (typeof value === "number") {value = String(value);}}
|
@@ -30,7 +30,7 @@ export function checkStringValidation(
|
|
30
30
|
/*any值的必填校验*/
|
31
31
|
if (required) {
|
32
32
|
if (isEmpty) {
|
33
|
-
return getMessage(i18n('base.validate.require').d('必填'));
|
33
|
+
return getMessage(i18n.$it('base.validate.require').d('必填'));
|
34
34
|
}
|
35
35
|
}
|
36
36
|
|
@@ -41,28 +41,28 @@ export function checkStringValidation(
|
|
41
41
|
if (!isEmpty && !!patterns.length) {
|
42
42
|
const failPattern = patterns.find((i) => !i!.test(String(value)));
|
43
43
|
if (!!failPattern) {
|
44
|
-
return getMessage(config?.patternMessage || `${i18n('base.validate.notMatchPattern').d('不符合表达式')}:${failPattern.source}`);
|
44
|
+
return getMessage(config?.patternMessage || `${i18n.$it('base.validate.notMatchPattern').d('不符合表达式')}:${failPattern.source}`);
|
45
45
|
}
|
46
46
|
}
|
47
47
|
|
48
48
|
/*最小值*/
|
49
49
|
if (rule.min != null && !isEmpty && value.length < rule.min) {
|
50
|
-
return getMessage(i18n('base.validate.minimunCharacters', { num: rule.min }).d(`最少${rule.min}个字符`));
|
50
|
+
return getMessage(i18n.$it('base.validate.minimunCharacters', { num: rule.min }).d(`最少${rule.min}个字符`));
|
51
51
|
}
|
52
52
|
/*最大值*/
|
53
53
|
if (rule.max != null && !isEmpty && value.length > rule.max) {
|
54
|
-
return getMessage(i18n('base.validate.maximunCharacters', { num: rule.max }).d(`最多${rule.max}个字符`));
|
54
|
+
return getMessage(i18n.$it('base.validate.maximunCharacters', { num: rule.max }).d(`最多${rule.max}个字符`));
|
55
55
|
}
|
56
56
|
/*固定长度*/
|
57
57
|
if (rule.len != null && !isEmpty && value.length !== rule.len) {
|
58
|
-
return getMessage(i18n('base.validate.fixedCharacters', { num: rule.len }).d(`固定${rule.len}个字符`));
|
58
|
+
return getMessage(i18n.$it('base.validate.fixedCharacters', { num: rule.len }).d(`固定${rule.len}个字符`));
|
59
59
|
}
|
60
60
|
|
61
61
|
/*枚举范围(取值范围)*/
|
62
62
|
const _enum = rule.enum;
|
63
63
|
if (_enum && !isEmpty) {
|
64
64
|
if (toArray(value).some(i => _enum.indexOf(i) === -1)) {
|
65
|
-
return getMessage(i18n('base.validate.outOfRange', { value, range: _enum }).d(`值${value}超出了范围${_enum}`));
|
65
|
+
return getMessage(i18n.$it('base.validate.outOfRange', { value, range: _enum }).d(`值${value}超出了范围${_enum}`));
|
66
66
|
}
|
67
67
|
}
|
68
68
|
}
|
@@ -48,7 +48,7 @@ export const Formatter: Record<string, undefined | ((...args: any[]) => string |
|
|
48
48
|
cny: (value: string | number | null | undefined) => {
|
49
49
|
if (value == null || value === 0) {return `¥0`;}
|
50
50
|
value = Number(value);
|
51
|
-
if (isNaN(value)) {return i18n('base.invalidAmount').d('无效金额');}
|
51
|
+
if (isNaN(value)) {return i18n.$it('base.invalidAmount').d('无效金额');}
|
52
52
|
return `¥ ${Formatter.money!(value)}`;
|
53
53
|
},
|
54
54
|
/**
|
@@ -125,9 +125,9 @@ export const Image = designComponent({
|
|
125
125
|
});
|
126
126
|
|
127
127
|
const tip = {
|
128
|
-
[eImageStatus.empty]: i18n('image.noPicture').d('无图片'),
|
129
|
-
[eImageStatus.pending]: i18n('base.loading').d('加载中'),
|
130
|
-
[eImageStatus.error]: i18n('base.loadFailed').d('加载失败'),
|
128
|
+
[eImageStatus.empty]: i18n.$it('image.noPicture').d('无图片'),
|
129
|
+
[eImageStatus.pending]: i18n.$it('base.loading').d('加载中'),
|
130
|
+
[eImageStatus.error]: i18n.$it('base.loadFailed').d('加载失败'),
|
131
131
|
};
|
132
132
|
|
133
133
|
const handler = {
|
@@ -201,11 +201,11 @@ export const ImageUploader = designComponent({
|
|
201
201
|
)}
|
202
202
|
{state.status === eImageUploaderStatus.empty && <div className="image-uploader-empty" onClick={handler.onClick}>
|
203
203
|
<Icon icon="pi-image"/>
|
204
|
-
<span>{i18n('file.toBeUpload').d('待上传')}</span>
|
204
|
+
<span>{i18n.$it('file.toBeUpload').d('待上传')}</span>
|
205
205
|
</div>}
|
206
206
|
{state.status === eImageUploaderStatus.fail && <div className="image-uploader-fail" onClick={handler.onClick}>
|
207
207
|
<Icon icon="pi-image-close"/>
|
208
|
-
<span>{i18n('file.uploadFailed').d('上传失败')}</span>
|
208
|
+
<span>{i18n.$it('file.uploadFailed').d('上传失败')}</span>
|
209
209
|
</div>}
|
210
210
|
<div className="image-uploader-button-group">
|
211
211
|
<div className="image-uploader-button" onClick={handler.onClick}>
|
@@ -241,7 +241,7 @@ export function createObjectRenderMultiple(
|
|
241
241
|
/*禁用select的输入筛选,让select不处理搜索关键词避免隐藏部分option选项*/
|
242
242
|
disableFilter: true,
|
243
243
|
/*没有关键词的时候,提示输入关键词,已经有关键词并且没有选项的情况下提示placeholder*/
|
244
|
-
noDataLabel: !inputHandler.state.multipleText && state.option == null ? (props.searchPlaceholder || i18n('table.pleaseEnterSearchKey').d('请输入搜索关键词')) : undefined
|
244
|
+
noDataLabel: !inputHandler.state.multipleText && state.option == null ? (props.searchPlaceholder || i18n.$it('table.pleaseEnterSearchKey').d('请输入搜索关键词')) : undefined
|
245
245
|
}));
|
246
246
|
return { state, popperAttrs, onSelectChange, selectAttrs, reset };
|
247
247
|
|
@@ -163,7 +163,7 @@ export function createObjectRenderSingle(
|
|
163
163
|
/*禁用select的输入筛选,让select不处理搜索关键词避免隐藏部分option选项*/
|
164
164
|
disableFilter: true,
|
165
165
|
/*没有关键词的时候,提示输入关键词,已经有关键词并且没有选项的情况下提示placeholder*/
|
166
|
-
noDataLabel: !inputHandler.state.inputValue && state.option == null ? (props.searchPlaceholder || i18n('table.pleaseEnterSearchKey').d('请输入搜索关键词')) : undefined
|
166
|
+
noDataLabel: !inputHandler.state.inputValue && state.option == null ? (props.searchPlaceholder || i18n.$it('table.pleaseEnterSearchKey').d('请输入搜索关键词')) : undefined
|
167
167
|
}));
|
168
168
|
return { state, popperAttrs, onSelectChange, selectAttrs };
|
169
169
|
})();
|
@@ -0,0 +1,21 @@
|
|
1
|
+
export function deepmerge(...list: any[]): any {
|
2
|
+
list = list.filter(i => i != null);
|
3
|
+
if (!list.length || list.length == 1) {
|
4
|
+
return list[0];
|
5
|
+
}
|
6
|
+
let result: any = {};
|
7
|
+
list.forEach((item) => {
|
8
|
+
for (let key in item) {
|
9
|
+
if (typeof item[key] !== "object") {
|
10
|
+
result[key] = item[key];
|
11
|
+
} else {
|
12
|
+
if (result[key] == undefined) {
|
13
|
+
result[key] = item[key];
|
14
|
+
} else {
|
15
|
+
result[key] = deepmerge(result[key], item[key]);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
});
|
20
|
+
return result;
|
21
|
+
}
|
@@ -3,6 +3,9 @@ import {createCache} from "../../utils/createCache";
|
|
3
3
|
import {InputMode, ThemeMode, ThemeShape, ThemeSize} from "../../uses/useStyle";
|
4
4
|
import {DeepPartial} from "../../utils/type";
|
5
5
|
import {iApplicationConfiguration} from "../Application/utils/application.utils";
|
6
|
+
import {iThemeConfiguration} from "../Application/theme/theme";
|
7
|
+
import {deepmerge} from "./deepmerge";
|
8
|
+
import {PlainObject} from "plain-utils/utils/event";
|
6
9
|
|
7
10
|
export const PageThemeUtils = (() => {
|
8
11
|
|
@@ -34,41 +37,19 @@ export const PageThemeUtils = (() => {
|
|
34
37
|
|
35
38
|
config.theme.dark = !!dark;
|
36
39
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
const themeConfig = !primaryKey ? undefined : ((): DeepPartial<Omit<iThemeConfiguration, 'dark'>> | undefined => {
|
41
|
+
let themeConfig = ThemePrimaryColors[primaryKey]?.themeConfig;
|
42
|
+
if (themeConfig == undefined) {return undefined;}
|
43
|
+
if (typeof themeConfig === "string") {
|
44
|
+
return {
|
45
|
+
base: { primary: themeConfig }
|
46
|
+
};
|
47
|
+
} else {
|
48
|
+
return themeConfig[dark ? 'dark' : 'light'];
|
42
49
|
}
|
43
|
-
}
|
44
|
-
|
45
|
-
config.theme.base.primary = !primaryKey ? undefined : ThemePrimaryColors[primaryKey]?.primary;
|
46
|
-
|
47
|
-
if (primaryKey === 'dark') {
|
48
|
-
Object.assign(config.theme.vars!, {
|
49
|
-
'primary-light-1': '#f2f3f5',
|
50
|
-
'primary-1': '#f2f3f5',
|
51
|
-
'primary-light-2': '#e1e2e7',
|
52
|
-
'primary-2': '#e1e2e7',
|
53
|
-
'primary-light-3': '#c9cdd4',
|
54
|
-
'primary-3': '#c9cdd4',
|
55
|
-
'primary-light-4': '#a9aeb8',
|
56
|
-
'primary-4': '#a9aeb8',
|
57
|
-
'primary-light-5': '#86909c',
|
58
|
-
'primary-5': '#86909c',
|
59
|
-
'primary-light-6': '#0c0e10',
|
60
|
-
'primary-6': '#0b0b0b',
|
61
|
-
'primary-light-7': '#464f5e',
|
62
|
-
'primary-7': '#464f5e',
|
63
|
-
'primary-light-8': '#272e3b',
|
64
|
-
'primary-8': '#272e3b',
|
65
|
-
'primary-light-9': '#1d2129',
|
66
|
-
'primary-9': '#111318',
|
67
|
-
'primary-light-10': '#0c0e10',
|
68
|
-
'primary-10': '#0b0b0b',
|
69
|
-
});
|
70
|
-
}
|
50
|
+
})();
|
71
51
|
|
52
|
+
config.theme = deepmerge(config.theme, themeConfig) as PlainObject;
|
72
53
|
|
73
54
|
if (!config.default) {
|
74
55
|
config.default = {};
|
@@ -78,11 +59,11 @@ export const PageThemeUtils = (() => {
|
|
78
59
|
}
|
79
60
|
if (!!shape) {
|
80
61
|
config.default.shape = shape;
|
81
|
-
if (!config.theme
|
82
|
-
config.theme
|
62
|
+
if (!config.theme!.vars) {
|
63
|
+
config.theme!.vars = {};
|
83
64
|
}
|
84
65
|
if (shape === 'square') {
|
85
|
-
Object.assign(config.theme
|
66
|
+
Object.assign(config.theme!.vars, {
|
86
67
|
'box-size-mini-border-radius': '2px',
|
87
68
|
'box-size-small-border-radius': '2px',
|
88
69
|
'box-size-normal-border-radius': '4px',
|
@@ -90,7 +71,7 @@ export const PageThemeUtils = (() => {
|
|
90
71
|
});
|
91
72
|
}
|
92
73
|
if (shape === 'none') {
|
93
|
-
Object.assign(config.theme
|
74
|
+
Object.assign(config.theme!.vars, {
|
94
75
|
'box-size-mini-border-radius': '0',
|
95
76
|
'box-size-small-border-radius': '0',
|
96
77
|
'box-size-normal-border-radius': '0',
|
@@ -161,22 +142,96 @@ export const PageThemeUtils = (() => {
|
|
161
142
|
};
|
162
143
|
})();
|
163
144
|
|
164
|
-
export const ThemePrimaryColors: Record<string, {
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
145
|
+
export const ThemePrimaryColors: Record<string, {
|
146
|
+
label: string,
|
147
|
+
themeConfig: {
|
148
|
+
dark: DeepPartial<Omit<iThemeConfiguration, 'dark'>>,
|
149
|
+
light: DeepPartial<Omit<iThemeConfiguration, 'dark'>>
|
150
|
+
} | undefined | string
|
151
|
+
} | undefined> = {
|
152
|
+
default: { label: '默认主题', themeConfig: undefined, },
|
153
|
+
dustRed: {
|
154
|
+
label: '薄暮', themeConfig: '#f5222d'
|
155
|
+
},
|
156
|
+
volcano: {
|
157
|
+
label: '火山', themeConfig: '#fa541c'
|
158
|
+
},
|
159
|
+
subset: {
|
160
|
+
label: '日暮', themeConfig: '#fa8c16'
|
161
|
+
},
|
162
|
+
gold: {
|
163
|
+
label: '金盏花', themeConfig: '#faad14'
|
164
|
+
},
|
165
|
+
sunrise: {
|
166
|
+
label: '日出', themeConfig: '#fadb14'
|
167
|
+
},
|
168
|
+
lime: {
|
169
|
+
label: '青柠', themeConfig: '#a0d911'
|
170
|
+
},
|
171
|
+
polar: {
|
172
|
+
label: '极光绿', themeConfig: '#42b883'
|
173
|
+
},
|
174
|
+
cyan: {
|
175
|
+
label: '明青', themeConfig: '#13c2c2'
|
176
|
+
},
|
177
|
+
daybreak: {
|
178
|
+
label: '拂晓蓝', themeConfig: '#1677ff'
|
179
|
+
},
|
180
|
+
geek: {
|
181
|
+
label: '极客蓝', themeConfig: '#2f54eb'
|
182
|
+
},
|
183
|
+
purple: {
|
184
|
+
label: '酱紫', themeConfig: {
|
185
|
+
dark: {
|
186
|
+
base: { primary: '#7643ff', }
|
187
|
+
},
|
188
|
+
light: {
|
189
|
+
base: { primary: '#6a00ff', }
|
190
|
+
},
|
191
|
+
}
|
192
|
+
},
|
193
|
+
magenta: {
|
194
|
+
label: '洋红', themeConfig: {
|
195
|
+
dark: {
|
196
|
+
base: { primary: '#eb2f96', }
|
197
|
+
},
|
198
|
+
light: {
|
199
|
+
base: { primary: '#d90178', }
|
200
|
+
},
|
201
|
+
}
|
202
|
+
},
|
203
|
+
dark: {
|
204
|
+
label: '极夜', themeConfig: {
|
205
|
+
dark: {
|
206
|
+
base: { primary: '#FFFFFF', },
|
207
|
+
},
|
208
|
+
light: {
|
209
|
+
base: { primary: '#000000', },
|
210
|
+
vars: {
|
211
|
+
'primary-light-1': '#f2f3f5',
|
212
|
+
'primary-1': '#f2f3f5',
|
213
|
+
'primary-light-2': '#e1e2e7',
|
214
|
+
'primary-2': '#e1e2e7',
|
215
|
+
'primary-light-3': '#c9cdd4',
|
216
|
+
'primary-3': '#c9cdd4',
|
217
|
+
'primary-light-4': '#a9aeb8',
|
218
|
+
'primary-4': '#a9aeb8',
|
219
|
+
'primary-light-5': '#86909c',
|
220
|
+
'primary-5': '#86909c',
|
221
|
+
'primary-light-6': '#0c0e10',
|
222
|
+
'primary-6': '#0b0b0b',
|
223
|
+
'primary-light-7': '#464f5e',
|
224
|
+
'primary-7': '#464f5e',
|
225
|
+
'primary-light-8': '#272e3b',
|
226
|
+
'primary-8': '#272e3b',
|
227
|
+
'primary-light-9': '#1d2129',
|
228
|
+
'primary-9': '#111318',
|
229
|
+
'primary-light-10': '#0c0e10',
|
230
|
+
'primary-10': '#0b0b0b',
|
231
|
+
}
|
232
|
+
},
|
233
|
+
}
|
234
|
+
},
|
180
235
|
};
|
181
236
|
|
182
237
|
export default PageThemeUtils;
|
@@ -252,7 +252,7 @@ export const Pagination = designComponent({
|
|
252
252
|
onChange={emit.onSizeChange as any}
|
253
253
|
>
|
254
254
|
{(props.pageSizes || []).map((item) => (
|
255
|
-
<SelectOption label={i18n('table.rowPerPage', { num: item }).d(`${item} 条/页`)} val={item} key={item}/>
|
255
|
+
<SelectOption label={i18n.$it('table.rowPerPage', { num: item }).d(`${item} 条/页`)} val={item} key={item}/>
|
256
256
|
))}
|
257
257
|
</Select>
|
258
258
|
);
|
@@ -270,8 +270,8 @@ export const Pagination = designComponent({
|
|
270
270
|
onEnter={handler.onJumperChange}
|
271
271
|
>
|
272
272
|
{{
|
273
|
-
prefix: () => <span style={{ whiteSpace: 'nowrap' }}>{i18n('base.go').d('前往')}</span>,
|
274
|
-
suffix: () => <span>{i18n('base.page').d('页')}</span>,
|
273
|
+
prefix: () => <span style={{ whiteSpace: 'nowrap' }}>{i18n.$it('base.go').d('前往')}</span>,
|
274
|
+
suffix: () => <span>{i18n.$it('base.page').d('页')}</span>,
|
275
275
|
}}
|
276
276
|
</InputNumber>
|
277
277
|
</div>
|
@@ -303,7 +303,7 @@ export const Pagination = designComponent({
|
|
303
303
|
);
|
304
304
|
|
305
305
|
const blank = (<div className="pagination-blank" key="blank"/>);
|
306
|
-
const total = props.total == null ? null : (<div className="pagination-total" key="total"><span>{i18n('base.totalPage', { total: props.total }).d(`总共${props.total}条数据`)}</span></div>);
|
306
|
+
const total = props.total == null ? null : (<div className="pagination-total" key="total"><span>{i18n.$it('base.totalPage', { total: props.total }).d(`总共${props.total}条数据`)}</span></div>);
|
307
307
|
const slot = !slots.default.isExist() ? null : (<div className="pagination-slot" key="slot">{slots.default()}</div>);
|
308
308
|
const loading = !editComputed.value.loading ? null : (
|
309
309
|
<div className="pagination-loading" key="loading">
|
@@ -46,7 +46,7 @@ export const SelectPanel = designComponent({
|
|
46
46
|
content = slots.loadingContent(
|
47
47
|
<div className="select-panel-loading">
|
48
48
|
<Loading type="delta"/>
|
49
|
-
<span>{i18n('base.loading').d('加载中')}</span>
|
49
|
+
<span>{i18n.$it('base.loading').d('加载中')}</span>
|
50
50
|
</div>
|
51
51
|
);
|
52
52
|
} else if (props.dataLength === 0) {
|
@@ -83,11 +83,11 @@ export function createMultipleSelectRender(params: iSelectCompositionParams) {
|
|
83
83
|
<>
|
84
84
|
{editComputed.value.editable && (
|
85
85
|
<div className="select-panel-header">
|
86
|
-
{/*<Button onClick={handler.handleCheckAll} size="mini">{i18n('base.select.all').d('全选')}</Button>
|
87
|
-
<Button onClick={handler.handleUncheckALl} size="mini">{i18n('base.clear').d('清空')}</Button>
|
88
|
-
<Button onClick={handler.handleCheckReverse} size="mini">{i18n('base.select.reverse').d('反选')}</Button>*/}
|
86
|
+
{/*<Button onClick={handler.handleCheckAll} size="mini">{i18n.$it('base.select.all').d('全选')}</Button>
|
87
|
+
<Button onClick={handler.handleUncheckALl} size="mini">{i18n.$it('base.clear').d('清空')}</Button>
|
88
|
+
<Button onClick={handler.handleCheckReverse} size="mini">{i18n.$it('base.select.reverse').d('反选')}</Button>*/}
|
89
89
|
<Checkbox checkStatus={checkStatus} customReadonly label={
|
90
|
-
checkStatus !== CheckboxStatus.check ? i18n('base.select.all').d('全选') : i18n('base.clear').d('清空')
|
90
|
+
checkStatus !== CheckboxStatus.check ? i18n.$it('base.select.all').d('全选') : i18n.$it('base.clear').d('清空')
|
91
91
|
} onClick={() => {
|
92
92
|
checkStatus !== CheckboxStatus.check ? handler.handleCheckAll() : handler.handleUncheckALl();
|
93
93
|
}}/>
|
@@ -11,11 +11,11 @@ export const PlcAddress = designComponent({
|
|
11
11
|
types: { type: String, default: 'pcd' },
|
12
12
|
service: { type: Object as PropType<iAddressService> },
|
13
13
|
|
14
|
-
provinceTitle: { type: String, default: () => i18n('base.province').d('省') },
|
14
|
+
provinceTitle: { type: String, default: () => i18n.$it('base.province').d('省') },
|
15
15
|
provinceField: { type: String, default: 'province' },
|
16
|
-
cityTitle: { type: String, default: () => i18n('base.city').d('市') },
|
16
|
+
cityTitle: { type: String, default: () => i18n.$it('base.city').d('市') },
|
17
17
|
cityField: { type: String, default: 'city' },
|
18
|
-
districtTitle: { type: String, default: () => i18n('base.district').d('区县') },
|
18
|
+
districtTitle: { type: String, default: () => i18n.$it('base.district').d('区县') },
|
19
19
|
districtField: { type: String, default: 'district' },
|
20
20
|
},
|
21
21
|
setup({ props }) {
|
@@ -37,7 +37,7 @@ export const PlcAddress = designComponent({
|
|
37
37
|
field={props.provinceField}
|
38
38
|
province
|
39
39
|
editColSpan={props.types.length}
|
40
|
-
formLabel={i18n('base.address').d("地址")}
|
40
|
+
formLabel={i18n.$it('base.address').d("地址")}
|
41
41
|
filterType="province"
|
42
42
|
filterHandler="like"
|
43
43
|
v-slots={{
|
@@ -249,11 +249,11 @@ export function usePlcCheckMultiple(
|
|
249
249
|
</Badge>
|
250
250
|
),
|
251
251
|
popper: () => <>
|
252
|
-
<DropdownOption label={i18n('base.select.all').d('全选')} icon="pi-select-all" onClick={methods.checkAll}/>
|
253
|
-
<DropdownOption label={i18n('base.clear').d('清空')} icon="pi-menu" onClick={methods.uncheckAll}/>
|
252
|
+
<DropdownOption label={i18n.$it('base.select.all').d('全选')} icon="pi-select-all" onClick={methods.checkAll}/>
|
253
|
+
<DropdownOption label={i18n.$it('base.clear').d('清空')} icon="pi-menu" onClick={methods.uncheckAll}/>
|
254
254
|
{!!model.value?.length && <>
|
255
|
-
<DropdownOption label={i18n('base.select.reverse').d('反选')} icon="pi-unordered-list" onClick={methods.reverse}/>
|
256
|
-
{!props.hideShowAllButton && <DropdownOption label={i18n('base.lookUp').d('查看')} icon="pi-ordered-list" onClick={methods.showAll}/>}
|
255
|
+
<DropdownOption label={i18n.$it('base.select.reverse').d('反选')} icon="pi-unordered-list" onClick={methods.reverse}/>
|
256
|
+
{!props.hideShowAllButton && <DropdownOption label={i18n.$it('base.lookUp').d('查看')} icon="pi-ordered-list" onClick={methods.showAll}/>}
|
257
257
|
</>}
|
258
258
|
</>
|
259
259
|
}}
|
@@ -169,8 +169,8 @@ export const PlcExpand = designComponent({
|
|
169
169
|
</div>
|
170
170
|
),
|
171
171
|
popper: () => <>
|
172
|
-
<DropdownOption label={i18n('base.edit.expandAll').d('全部展开')} icon="pi-expand" onClick={methods.expandAll}/>
|
173
|
-
<DropdownOption label={i18n('base.edit.collapseAll').d('全部收起')} icon="pi-shrink" onClick={methods.collapseAll}/>
|
172
|
+
<DropdownOption label={i18n.$it('base.edit.expandAll').d('全部展开')} icon="pi-expand" onClick={methods.expandAll}/>
|
173
|
+
<DropdownOption label={i18n.$it('base.edit.collapseAll').d('全部收起')} icon="pi-shrink" onClick={methods.collapseAll}/>
|
174
174
|
</>
|
175
175
|
}}
|
176
176
|
</Dropdown>
|
@@ -17,7 +17,7 @@ export const PlcIndex = designComponent({
|
|
17
17
|
noFilter: true,
|
18
18
|
noSort: true,
|
19
19
|
}),
|
20
|
-
summaryText: { type: String, default: () => i18n('base.edit.summary').d('合计') },
|
20
|
+
summaryText: { type: String, default: () => i18n.$it('base.edit.summary').d('合计') },
|
21
21
|
start: { type: Number, default: 0 },
|
22
22
|
},
|
23
23
|
scopeSlots: PlcScopeSlotsOptions,
|
@@ -166,7 +166,7 @@ export const OuterOperation = designComponent({
|
|
166
166
|
v-slots={{
|
167
167
|
default: () => (
|
168
168
|
<ButtonGroup>
|
169
|
-
<Button label={i18n('base.more').d('更多')}/>
|
169
|
+
<Button label={i18n.$it('base.more').d('更多')}/>
|
170
170
|
<Button icon="pi-down"/>
|
171
171
|
</ButtonGroup>
|
172
172
|
),
|
@@ -25,7 +25,7 @@ export const PlcOperation = designComponent({
|
|
25
25
|
width: null as any,
|
26
26
|
align: 'left',
|
27
27
|
hideInForm: true,
|
28
|
-
title: (() => i18n('base.operation').d('操作')) as any,
|
28
|
+
title: (() => i18n.$it('base.operation').d('操作')) as any,
|
29
29
|
noFilter: true,
|
30
30
|
noSort: true,
|
31
31
|
}),
|
@@ -305,13 +305,13 @@ export const PlcOperation = designComponent({
|
|
305
305
|
<Button
|
306
306
|
mode="text"
|
307
307
|
key="save"
|
308
|
-
label={i18n('base.edit.save').d('保存')}
|
308
|
+
label={i18n.$it('base.edit.save').d('保存')}
|
309
309
|
onClick={() => event.emit.onClickNodeSaveOperation(node)}
|
310
310
|
/>
|
311
311
|
<Button
|
312
312
|
mode="text"
|
313
313
|
key="cancel"
|
314
|
-
label={i18n('base.cancel').d('取消')}
|
314
|
+
label={i18n.$it('base.cancel').d('取消')}
|
315
315
|
onClick={() => event.emit.onClickNodeCancelOperation(node)}
|
316
316
|
/>
|
317
317
|
</>;
|
@@ -349,7 +349,7 @@ export const PlcOperation = designComponent({
|
|
349
349
|
mode="text"
|
350
350
|
key="more"
|
351
351
|
>
|
352
|
-
<span>{i18n('base.more').d('更多')}</span>
|
352
|
+
<span>{i18n.$it('base.more').d('更多')}</span>
|
353
353
|
<Icon icon="pi-down"/>
|
354
354
|
</Button>
|
355
355
|
),
|
@@ -40,11 +40,11 @@ export function usePlcTreeRenderNode(
|
|
40
40
|
const renderTreeHead = () => (
|
41
41
|
<>
|
42
42
|
<PlcTreeHeader table={table} buttonStyles={buttonStyles.value} getPlcRefer={getPlcRefer}>
|
43
|
-
<DropdownOption label={i18n('base.edit.expandAll').d('全部展开')} icon="pi-expand" onClick={treeCore.methods.expandAll}/>
|
44
|
-
<DropdownOption label={i18n('base.edit.collapseAll').d('全部收起')} icon="pi-shrink" onClick={treeCore.methods.collapseAll}/>
|
43
|
+
<DropdownOption label={i18n.$it('base.edit.expandAll').d('全部展开')} icon="pi-expand" onClick={treeCore.methods.expandAll}/>
|
44
|
+
<DropdownOption label={i18n.$it('base.edit.collapseAll').d('全部收起')} icon="pi-shrink" onClick={treeCore.methods.collapseAll}/>
|
45
45
|
{props.multiple && <>
|
46
|
-
<DropdownOption label={i18n('table.checkAll').d('全部选中')} icon="pi-select-all" onClick={treeCore.methods.checkAll}/>
|
47
|
-
<DropdownOption label={i18n('table.clearAll').d('清空选中')} icon="pi-unordered-list" onClick={treeCore.methods.unCheckAll}/>
|
46
|
+
<DropdownOption label={i18n.$it('table.checkAll').d('全部选中')} icon="pi-select-all" onClick={treeCore.methods.checkAll}/>
|
47
|
+
<DropdownOption label={i18n.$it('table.clearAll').d('清空选中')} icon="pi-unordered-list" onClick={treeCore.methods.unCheckAll}/>
|
48
48
|
</>}
|
49
49
|
</PlcTreeHeader>
|
50
50
|
{props.title}
|
@@ -104,10 +104,10 @@ export function useTableFormEditor(
|
|
104
104
|
return (
|
105
105
|
<Dialog
|
106
106
|
v-model={state.show}
|
107
|
-
title={title || i18n('base.edit.edit').d('编辑')}
|
107
|
+
title={title || i18n.$it('base.edit.edit').d('编辑')}
|
108
108
|
confirmButton
|
109
109
|
cancelButton
|
110
|
-
confirmButtonText={i18n('base.edit.save').d('保存')}
|
110
|
+
confirmButtonText={i18n.$it('base.edit.save').d('保存')}
|
111
111
|
handleConfirm={handler.handleConfirm}
|
112
112
|
handleCancel={handler.handleCancel}
|
113
113
|
position="right"
|
@@ -74,7 +74,7 @@ export function useTableModifyEditor(
|
|
74
74
|
const handler = {
|
75
75
|
handleConfirm: async () => {
|
76
76
|
if (!state.node) {
|
77
|
-
$message.warn(i18n('table.pleaseClickNext').d('请点击下一步'));
|
77
|
+
$message.warn(i18n.$it('table.pleaseClickNext').d('请点击下一步'));
|
78
78
|
return Promise.reject('next step');
|
79
79
|
}
|
80
80
|
await refs.form?.validate();
|
@@ -92,10 +92,10 @@ export function useTableModifyEditor(
|
|
92
92
|
<>
|
93
93
|
<Table data={availablePlcList.value}>
|
94
94
|
<PlcCheck field="index" v-model={state.modifyPlcIndexList} toggleOnClickRow/>
|
95
|
-
<Plc title={i18n('table.columnTitle').d('列标题')} field="title"/>
|
95
|
+
<Plc title={i18n.$it('table.columnTitle').d('列标题')} field="title"/>
|
96
96
|
</Table>
|
97
97
|
<div className="table-modify-dialog-operations">
|
98
|
-
<Button label={i18n('base.nextStep').d('下一步')} onClick={utils.renderModifyForm}/>
|
98
|
+
<Button label={i18n.$it('base.nextStep').d('下一步')} onClick={utils.renderModifyForm}/>
|
99
99
|
</div>
|
100
100
|
</>
|
101
101
|
);
|
@@ -133,8 +133,8 @@ export function useTableModifyEditor(
|
|
133
133
|
})}
|
134
134
|
</Form>
|
135
135
|
<div className="table-modify-dialog-operations">
|
136
|
-
<Button label={i18n('base.prevStep').d('上一步')} onClick={utils.renderSelectPlcList}/>
|
137
|
-
<Button label={i18n('base.edit.done').d('完成')} mode="fill" onClick={handler.handleConfirm}/>
|
136
|
+
<Button label={i18n.$it('base.prevStep').d('上一步')} onClick={utils.renderSelectPlcList}/>
|
137
|
+
<Button label={i18n.$it('base.edit.done').d('完成')} mode="fill" onClick={handler.handleConfirm}/>
|
138
138
|
</div>
|
139
139
|
</>
|
140
140
|
);
|
@@ -150,7 +150,7 @@ export function useTableModifyEditor(
|
|
150
150
|
render: () => {
|
151
151
|
const option = state.optionGetter?.();
|
152
152
|
if (!option) {return null;}
|
153
|
-
const title = option.title || i18n('table.batchModify').d('批量修改');
|
153
|
+
const title = option.title || i18n.$it('table.batchModify').d('批量修改');
|
154
154
|
const plcList = option.plcList || getFlatPlcList();
|
155
155
|
if (!plcList) {return null;}
|
156
156
|
return (
|