Commit 9dc3250a authored by lijin's avatar lijin

文案管理增加语言录入

parent e6d6c59b
...@@ -35,6 +35,17 @@ ...@@ -35,6 +35,17 @@
<el-form-item label="分类"> <el-form-item label="分类">
<app-category-selector v-model="condition.category" @change="fetchData" /> <app-category-selector v-model="condition.category" @change="fetchData" />
</el-form-item> </el-form-item>
<el-form-item label="语言">
<el-select v-model="condition.language" placeholder="语言" @change="fetchData" clearable>
<el-option
v-for="option in languageOptions"
:key="option.value"
:label="option.label"
:value="option.value">
</el-option>
</el-select>
</el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -77,6 +88,13 @@ ...@@ -77,6 +88,13 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="language" label="语言" width="100">
<template slot-scope="scope">
<el-tag type="info" size="small">
{{ getLanguageName(scope.row.language) }}
</el-tag>
</template>
</el-table-column>
<el-table-column prop="datadate" label="创建时间" width="180"></el-table-column> <el-table-column prop="datadate" label="创建时间" width="180"></el-table-column>
</el-table> </el-table>
...@@ -101,6 +119,7 @@ import { ...@@ -101,6 +119,7 @@ import {
getSelectApps getSelectApps
} from "@/api/cloud"; } from "@/api/cloud";
import AppCategorySelector from "@/components/Selectors/AppCategorySelector"; import AppCategorySelector from "@/components/Selectors/AppCategorySelector";
import { languageOptions, getLanguageName } from "@/const/language";
export default { export default {
name: 'TextTableSelecter', name: 'TextTableSelecter',
...@@ -121,6 +140,8 @@ export default { ...@@ -121,6 +140,8 @@ export default {
}, },
data() { data() {
return { return {
// 语言选项
languageOptions,
// 表格数据 // 表格数据
tableData: [], tableData: [],
loading: false, loading: false,
...@@ -134,7 +155,8 @@ export default { ...@@ -134,7 +155,8 @@ export default {
type: "", type: "",
startDate: "", startDate: "",
endDate: "", endDate: "",
category: "" category: "",
language: ""
}, },
// 应用选择器数据 // 应用选择器数据
...@@ -265,7 +287,8 @@ export default { ...@@ -265,7 +287,8 @@ export default {
type: this.condition.type || '', type: this.condition.type || '',
startDate: this.condition.startDate || '', startDate: this.condition.startDate || '',
endDate: this.condition.endDate || '', endDate: this.condition.endDate || '',
category: this.condition.category || '' category: this.condition.category || '',
language: this.condition.language || ''
}; };
const response = await getBusinText(params); const response = await getBusinText(params);
...@@ -352,6 +375,7 @@ export default { ...@@ -352,6 +375,7 @@ export default {
this.$emit('input', []); this.$emit('input', []);
this.$emit('change', []); this.$emit('change', []);
console.log('Selection cleared'); console.log('Selection cleared');
} }
} }
}; };
......
/**
* 语言配置文件
* 用于统一管理系统中使用的语言选项
*/
// 语言代码到名称的映射
export const languageMap = {
en: "英语",
zh: "中文",
ja: "日语",
ko: "韩语",
fr: "法语",
de: "德语",
es: "西班牙语",
pt: "葡萄牙语",
ru: "俄语",
hi: "印地语"
};
// 语言选项,用于下拉菜单
export const languageOptions = [
{ label: "英语", value: "en" },
{ label: "中文", value: "zh" },
{ label: "日语", value: "ja" },
{ label: "韩语", value: "ko" },
{ label: "法语", value: "fr" },
{ label: "德语", value: "de" },
{ label: "西班牙语", value: "es" },
{ label: "葡萄牙语", value: "pt" },
{ label: "俄语", value: "ru" },
{ label: "印地语", value: "hi" }
];
// 默认语言
export const defaultLanguage = "en";
// 根据语言代码获取语言名称
export const getLanguageName = (code) => {
return languageMap[code] || code;
};
\ No newline at end of file
...@@ -26,6 +26,21 @@ ...@@ -26,6 +26,21 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="语言">
<el-select v-model="condition.language" placeholder="语言" @change="fetchData" clearable>
<el-option label="英语" value="en"></el-option>
<el-option label="中文" value="zh"></el-option>
<el-option label="日语" value="ja"></el-option>
<el-option label="韩语" value="ko"></el-option>
<el-option label="法语" value="fr"></el-option>
<el-option label="德语" value="de"></el-option>
<el-option label="西班牙语" value="es"></el-option>
<el-option label="葡萄牙语" value="pt"></el-option>
<el-option label="俄语" value="ru"></el-option>
<el-option label="印地语" value="hi"></el-option>
</el-select>
</el-form-item>
<el-form-item label="分类"> <el-form-item label="分类">
<app-category-selector v-model="condition.category" @change="fetchData" /> <app-category-selector v-model="condition.category" @change="fetchData" />
</el-form-item> </el-form-item>
...@@ -61,6 +76,13 @@ ...@@ -61,6 +76,13 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="language" label="语言" width="100">
<template slot-scope="scope">
<el-tag type="info" size="small">
{{ getLanguageName(scope.row.language) }}
</el-tag>
</template>
</el-table-column>
<el-table-column prop="datadate" label="创建时间" width="180"></el-table-column> <el-table-column prop="datadate" label="创建时间" width="180"></el-table-column>
<el-table-column label="操作" align="center" width="180"> <el-table-column label="操作" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -99,6 +121,21 @@ ...@@ -99,6 +121,21 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="语言" prop="language">
<el-select v-model="form.language" placeholder="请选择语言">
<el-option label="英语" value="en"></el-option>
<el-option label="中文" value="zh"></el-option>
<el-option label="日语" value="ja"></el-option>
<el-option label="韩语" value="ko"></el-option>
<el-option label="法语" value="fr"></el-option>
<el-option label="德语" value="de"></el-option>
<el-option label="西班牙语" value="es"></el-option>
<el-option label="葡萄牙语" value="pt"></el-option>
<el-option label="俄语" value="ru"></el-option>
<el-option label="印地语" value="hi"></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联应用"> <el-form-item label="关联应用">
<el-select v-model="form.appId" filterable placeholder="请选择关联应用"> <el-select v-model="form.appId" filterable placeholder="请选择关联应用">
<el-option <el-option
...@@ -176,7 +213,8 @@ export default { ...@@ -176,7 +213,8 @@ export default {
type: "1", type: "1",
startDate: "", startDate: "",
endDate: "", endDate: "",
category: "" category: "",
language: ""
}, },
// 应用选择器数据 // 应用选择器数据
...@@ -238,7 +276,8 @@ export default { ...@@ -238,7 +276,8 @@ export default {
text: [], text: [],
type: "1", type: "1",
appId: "", appId: "",
category: "" category: "",
language: "en"
}, },
rules: { rules: {
text: [ text: [
...@@ -336,7 +375,8 @@ export default { ...@@ -336,7 +375,8 @@ export default {
type: this.condition.type || '', type: this.condition.type || '',
startDate: this.condition.startDate || '', startDate: this.condition.startDate || '',
endDate: this.condition.endDate || '', endDate: this.condition.endDate || '',
category: this.condition.category || '' category: this.condition.category || '',
language: this.condition.language || ''
}; };
const response = await getBusinText(params); const response = await getBusinText(params);
...@@ -373,7 +413,8 @@ export default { ...@@ -373,7 +413,8 @@ export default {
text: [], text: [],
type: "1", type: "1",
appId: "", appId: "",
category: "" category: "",
language: "en"
}; };
this.dialogVisible = true; this.dialogVisible = true;
}, },
...@@ -387,7 +428,8 @@ export default { ...@@ -387,7 +428,8 @@ export default {
text: row.text || "", text: row.text || "",
type: row.type + "", type: row.type + "",
appId: row.appId || "", appId: row.appId || "",
category: row.category || "" category: row.category || "",
language: row.language || "en"
}; };
this.dialogVisible = true; this.dialogVisible = true;
}, },
...@@ -429,7 +471,8 @@ export default { ...@@ -429,7 +471,8 @@ export default {
text: this.form.text, text: this.form.text,
type: this.form.type, type: this.form.type,
appId: this.form.appId, appId: this.form.appId,
category: this.form.category category: this.form.category,
language: this.form.language
}); });
} else { } else {
// 新增 // 新增
...@@ -437,7 +480,8 @@ export default { ...@@ -437,7 +480,8 @@ export default {
textList: this.form.text, textList: this.form.text,
type: this.form.type, type: this.form.type,
appId: this.form.appId, appId: this.form.appId,
category: this.form.category category: this.form.category,
language: this.form.language
}); });
} }
...@@ -454,6 +498,22 @@ export default { ...@@ -454,6 +498,22 @@ export default {
} }
} }
}); });
},
getLanguageName(language) {
const languageNames = {
en: "英语",
zh: "中文",
ja: "日语",
ko: "韩语",
fr: "法语",
de: "德语",
es: "西班牙语",
pt: "葡萄牙语",
ru: "俄语",
hi: "印地语"
};
return languageNames[language] || language;
} }
} }
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment