yh-i18n 2.3.0 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/excelTool.ts +5 -4
- package/index.d.ts +1 -1
- package/index.js +4 -4
- package/list.vue +18 -18
- package/package.json +1 -1
package/excelTool.ts
CHANGED
|
@@ -63,6 +63,7 @@ export async function exportExcel(total) {
|
|
|
63
63
|
th: '泰语',
|
|
64
64
|
vi: '越南语',
|
|
65
65
|
tr: '土耳其语',
|
|
66
|
+
fa_IR: '波斯语',
|
|
66
67
|
};
|
|
67
68
|
Config.i18nList.forEach((item) => {
|
|
68
69
|
columns.push({
|
|
@@ -77,8 +78,8 @@ export async function exportExcel(total) {
|
|
|
77
78
|
sheet.addRow(title);
|
|
78
79
|
sheet.addRows(
|
|
79
80
|
records.map((item) => {
|
|
80
|
-
let {
|
|
81
|
-
let row = [
|
|
81
|
+
let {id, name} = item;
|
|
82
|
+
let row = [id, name];
|
|
82
83
|
Config.i18nList.forEach((valKey) => {
|
|
83
84
|
row.push(item[valKey]);
|
|
84
85
|
});
|
|
@@ -215,14 +216,14 @@ export async function importExcel(e, getDataList) {
|
|
|
215
216
|
let dataList: any[] = [];
|
|
216
217
|
sheet.getRows(2, len)?.forEach((row) => {
|
|
217
218
|
let id = row.getCell(1).value;
|
|
218
|
-
let
|
|
219
|
+
let name = row.getCell(2).value;
|
|
219
220
|
let content: any = {};
|
|
220
221
|
Config.i18nList.forEach((item, index) => {
|
|
221
222
|
content[item] = row.getCell(index + 3).value;
|
|
222
223
|
});
|
|
223
224
|
dataList.push({
|
|
224
225
|
id,
|
|
225
|
-
|
|
226
|
+
name,
|
|
226
227
|
content: JSON.stringify(content),
|
|
227
228
|
});
|
|
228
229
|
});
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -50,15 +50,15 @@ Object.keys(zhCNBase).forEach((key) => {
|
|
|
50
50
|
|
|
51
51
|
const unHandle = [];
|
|
52
52
|
|
|
53
|
-
function addTranslate (
|
|
54
|
-
if (
|
|
53
|
+
function addTranslate (name) {
|
|
54
|
+
if (name && name.indexOf("vxe") === -1) {
|
|
55
55
|
try {
|
|
56
56
|
axios.request({
|
|
57
57
|
url: "/translate/insert",
|
|
58
58
|
method: "POST",
|
|
59
59
|
data: {
|
|
60
|
-
|
|
61
|
-
content: `{"zh_CN":"${
|
|
60
|
+
name,
|
|
61
|
+
content: `{"zh_CN":"${name}"}`,
|
|
62
62
|
},
|
|
63
63
|
});
|
|
64
64
|
} catch (error) {
|
package/list.vue
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<el-form inline>
|
|
6
6
|
<el-form-item :label="ct('翻译键名')">
|
|
7
7
|
<el-input
|
|
8
|
-
v-model="listForm.
|
|
8
|
+
v-model="listForm.name"
|
|
9
9
|
@keyup.enter.stop.prevent="getDataList(true)"
|
|
10
10
|
:placeholder="ct('键入以筛选键名')"></el-input>
|
|
11
11
|
</el-form-item>
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
ref="i18nList"
|
|
49
49
|
stripe
|
|
50
50
|
:data="dataList"
|
|
51
|
-
row-key="
|
|
51
|
+
row-key="id"
|
|
52
52
|
@row-click="rowClickHandler">
|
|
53
53
|
<el-table-column
|
|
54
54
|
type="selection"
|
|
@@ -76,13 +76,13 @@
|
|
|
76
76
|
<el-button
|
|
77
77
|
link
|
|
78
78
|
type="danger"
|
|
79
|
-
@click="delOne(row.
|
|
79
|
+
@click="delOne(row.id)">
|
|
80
80
|
{{ ct('删除') }}
|
|
81
81
|
</el-button>
|
|
82
82
|
</template>
|
|
83
83
|
</el-table-column>
|
|
84
84
|
<el-table-column
|
|
85
|
-
prop="
|
|
85
|
+
prop="name"
|
|
86
86
|
min-width="140"
|
|
87
87
|
fixed="left"
|
|
88
88
|
:label="ct('翻译键名')"></el-table-column>
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
v-model="formShow"
|
|
107
107
|
@close="cancelForm"
|
|
108
108
|
draggable
|
|
109
|
-
:title="formData.
|
|
109
|
+
:title="formData.id ? ct('编辑翻译') : ct('新增翻译')">
|
|
110
110
|
<vxe-form
|
|
111
111
|
title-align="right"
|
|
112
112
|
title-width="100px"
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
title-colon
|
|
115
115
|
:data="formData"
|
|
116
116
|
:items="formItems"
|
|
117
|
-
:rules="
|
|
117
|
+
:rules="formRules"></vxe-form>
|
|
118
118
|
<template #footer>
|
|
119
119
|
<div class="yh-i18n-form-actions">
|
|
120
120
|
<el-button
|
|
@@ -160,7 +160,7 @@ const deleteUrl = '/translate/deleteTranslate';
|
|
|
160
160
|
|
|
161
161
|
const i18nList = ref();
|
|
162
162
|
const listForm = reactive({
|
|
163
|
-
|
|
163
|
+
name: '',
|
|
164
164
|
pageNum: 1,
|
|
165
165
|
pageSize: 10,
|
|
166
166
|
total: 0,
|
|
@@ -168,7 +168,7 @@ const listForm = reactive({
|
|
|
168
168
|
const listColumns = reactive<any>([]);
|
|
169
169
|
const dataList = ref<any>([]);
|
|
170
170
|
function getDataList(isReset = false) {
|
|
171
|
-
let {
|
|
171
|
+
let {name, pageNum, pageSize} = listForm;
|
|
172
172
|
if (isReset) {
|
|
173
173
|
pageNum = 1;
|
|
174
174
|
}
|
|
@@ -180,7 +180,7 @@ function getDataList(isReset = false) {
|
|
|
180
180
|
url: '/translate/select',
|
|
181
181
|
method: 'post',
|
|
182
182
|
data: {
|
|
183
|
-
|
|
183
|
+
name,
|
|
184
184
|
pageNum,
|
|
185
185
|
pageSize,
|
|
186
186
|
},
|
|
@@ -231,7 +231,7 @@ function rowClickHandler(row) {
|
|
|
231
231
|
}
|
|
232
232
|
|
|
233
233
|
function resetList() {
|
|
234
|
-
listForm.
|
|
234
|
+
listForm.name = '';
|
|
235
235
|
listForm.pageNum = 1;
|
|
236
236
|
listForm.total = 0;
|
|
237
237
|
getDataList();
|
|
@@ -286,21 +286,21 @@ function nextOne() {
|
|
|
286
286
|
}
|
|
287
287
|
|
|
288
288
|
function saveOne() {
|
|
289
|
-
let isAdd = !!formData.
|
|
289
|
+
let isAdd = !!formData.id;
|
|
290
290
|
let url = updateUrl;
|
|
291
291
|
vxeFormRef?.value?.validate().then((errMap) => {
|
|
292
292
|
if (!errMap) {
|
|
293
293
|
let data: any = {
|
|
294
|
-
|
|
294
|
+
name: formData.name,
|
|
295
295
|
content: {},
|
|
296
296
|
};
|
|
297
297
|
if (isAdd) {
|
|
298
298
|
url = insertUrl;
|
|
299
299
|
} else {
|
|
300
|
-
data.id = formData.
|
|
300
|
+
data.id = formData.id;
|
|
301
301
|
}
|
|
302
302
|
for (const key in formData) {
|
|
303
|
-
if (key !== '
|
|
303
|
+
if (key !== 'name' && langList.includes(key)) {
|
|
304
304
|
const val = formData[key];
|
|
305
305
|
data.content[key] = val;
|
|
306
306
|
}
|
|
@@ -354,7 +354,7 @@ function delOne(id) {
|
|
|
354
354
|
|
|
355
355
|
function delMore() {
|
|
356
356
|
ElMessageBox.confirm('确认删除选中的翻译记录吗?').then(async () => {
|
|
357
|
-
let ids = i18nList.value?.getSelectionRows().map((row) => row.
|
|
357
|
+
let ids = i18nList.value?.getSelectionRows().map((row) => row.id);
|
|
358
358
|
if (ids && ids.length) {
|
|
359
359
|
let len = ids.length;
|
|
360
360
|
let loading = ElLoadingService({
|
|
@@ -379,7 +379,7 @@ function delMore() {
|
|
|
379
379
|
|
|
380
380
|
const formItems = reactive<VxeFormPropTypes.Items>([
|
|
381
381
|
{
|
|
382
|
-
field: '
|
|
382
|
+
field: 'name',
|
|
383
383
|
span: 24,
|
|
384
384
|
title: '翻译键值',
|
|
385
385
|
itemRender: {
|
|
@@ -389,8 +389,8 @@ const formItems = reactive<VxeFormPropTypes.Items>([
|
|
|
389
389
|
},
|
|
390
390
|
]);
|
|
391
391
|
|
|
392
|
-
const
|
|
393
|
-
|
|
392
|
+
const formRules = reactive<VxeFormPropTypes.Rules>({
|
|
393
|
+
name: [{required: true, type: 'string', message: '请输入翻译键值'}],
|
|
394
394
|
});
|
|
395
395
|
|
|
396
396
|
let needInit = true;
|